verilog设计可综合的状态机的指导建议原则专题培训课件

上传人:文**** 文档编号:240641187 上传时间:2024-04-26 格式:PPT 页数:53 大小:168.50KB
收藏 版权申诉 举报 下载
verilog设计可综合的状态机的指导建议原则专题培训课件_第1页
第1页 / 共53页
verilog设计可综合的状态机的指导建议原则专题培训课件_第2页
第2页 / 共53页
verilog设计可综合的状态机的指导建议原则专题培训课件_第3页
第3页 / 共53页
资源描述:

《verilog设计可综合的状态机的指导建议原则专题培训课件》由会员分享,可在线阅读,更多相关《verilog设计可综合的状态机的指导建议原则专题培训课件(53页珍藏版)》请在装配图网上搜索。

1、verilogverilog设计可综合的状态机的指导建议设计可综合的状态机的指导建议原则原则同步有限状态机的要素同步有限状态机的要素状态:状态变量,划分逻辑顺序状态:状态变量,划分逻辑顺序输出:某一状态时完成的事输出:某一状态时完成的事输入:进入某个状态的条件输入:进入某个状态的条件有限状态机类型有限状态机类型米勒型状态机米勒型状态机米勒型状态机米勒型状态机摩尔型状态机摩尔型状态机摩尔型状态机摩尔型状态机Mealy Mealy 状态机状态机下一个状态下一个状态下一个状态下一个状态=F(=F(=F(=F(当前状态,输入信号当前状态,输入信号当前状态,输入信号当前状态,输入信号);输出信号输出信号

2、输出信号输出信号=G(=G(=G(=G(当前状态,输入信号当前状态,输入信号当前状态,输入信号当前状态,输入信号);图图1.时钟同步的状态机结构时钟同步的状态机结构(Mealy状态机状态机)下一状态下一状态的逻辑的逻辑 F F输出逻辑输出逻辑 G G状态状态寄存器寄存器时钟信号时钟信号时钟信号时钟信号时钟信号时钟信号clkclkclkclkclkclk clk 输入输入输入输入输入输出输出输出输出输出输出当前状态当前状态当前状态当前状态当前状态当前状态激励信号激励信号激励信号激励信号激励信号激励信号Moor Moor 状态机状态机下一个状态下一个状态=F(=F(当前状态,输入信号当前状态,输入

3、信号)输出信号输出信号=G(=G(当前状态当前状态);下一状下一状态的逻态的逻辑辑 F F输出逻辑输出逻辑 G G状态状态寄存器寄存器时钟信号时钟信号时钟信号时钟信号时钟信号时钟信号clkclkclkclkclkclkclkclk输入输入输入输入输入输入输入输入输出输出输出输出输出输出当前状态当前状态当前状态当前状态当前状态当前状态激励信号激励信号激励信号激励信号激励信号激励信号图2.时钟同步的状态机结构(Moor状态机)有限状态机有限状态机FSM标准标准FSMFSM要安全,稳定性高要安全,稳定性高FSMFSM速度高,满足设计的频率高速度高,满足设计的频率高FSMFSM面积小,满足设计的面积要

4、求面积小,满足设计的面积要求FSMFSM设计要清晰易懂、易维护设计要清晰易懂、易维护有限状态机的图形表示有限状态机的图形表示有限状态机的图形表示有限状态机的图形表示 图形表示:状态、转移、条件和逻辑开关图形表示:状态、转移、条件和逻辑开关图形表示:状态、转移、条件和逻辑开关图形表示:状态、转移、条件和逻辑开关图图3.4 3.4 状态转移图状态转移图IdleIdle StartStart Stop Stop Clear Clear A/K1=0A/K1=0 !A!A A/K2=1A/K2=1 !Reset!Reset/K2=0/K2=0 K1=0K1=0!Reset!Reset/K2=0/K2=

5、0 K1=0K1=0 (!Reset|!A!Reset|!A)/K2=0 K1=1/K2=0 K1=1!Reset/K2=0 K1=0!Reset/K2=0 K1=0有限状态机有限状态机HDL描述描述wirewirewirewire、regregregreg,状态编码用状态编码用状态编码用状态编码用regregregreg型型型型parameter parameter parameter parameter 用于描述状态名称,易读用于描述状态名称,易读用于描述状态名称,易读用于描述状态名称,易读;独热独热独热独热码好码好码好码好always:always:always:always:l l根据

6、主时钟沿完成同步时序的状态转移根据主时钟沿完成同步时序的状态转移根据主时钟沿完成同步时序的状态转移根据主时钟沿完成同步时序的状态转移l l根据信号敏感表完成组合逻辑输出根据信号敏感表完成组合逻辑输出根据信号敏感表完成组合逻辑输出根据信号敏感表完成组合逻辑输出l l根据时钟沿完成同步时序逻辑的输出根据时钟沿完成同步时序逻辑的输出根据时钟沿完成同步时序逻辑的输出根据时钟沿完成同步时序逻辑的输出case/case/case/case/endcaseendcaseendcaseendcase:完成进入每个状态的操作完成进入每个状态的操作完成进入每个状态的操作完成进入每个状态的操作defaultdefa

7、ultdefaultdefault:状态变量:状态变量:状态变量:状态变量=bxbxbxbx有限状态机的有限状态机的有限状态机的有限状态机的VerilogVerilogVerilogVerilog描述描述描述描述1.定义模块名和输入输出端口;定义模块名和输入输出端口;2.定义输入、输出变量或寄存器;定义输入、输出变量或寄存器;3.定义时钟和复位信号;定义时钟和复位信号;4.定义状态变量和状态寄存器;定义状态变量和状态寄存器;5.用时钟沿触发的用时钟沿触发的always块表示状态转移过程;块表示状态转移过程;6.在复位信号有效时给状态寄存器赋初始值;在复位信号有效时给状态寄存器赋初始值;7.描述

8、状态的转换过程:符合条件,从一个状态到描述状态的转换过程:符合条件,从一个状态到另外一个状态,否则留在原状态;另外一个状态,否则留在原状态;8.验证状态转移的正确性,必须完整和全面。验证状态转移的正确性,必须完整和全面。fsmfsmmodulefsm(Clock,Reset,A,K2,K1);modulefsm(Clock,Reset,A,K2,K1);endmoduleendmoduleClockResetAK2K1input Clock,Reset A;output K2,K1;regreg K2,K1;K2,K1;reg reg 1:0 state,nextstate;1:0 state

9、,nextstate;parameterparameter Idle =2b00,Idle =2b00,Start =2b01,Start =2b01,Stop =2b10,Stop =2b10,Clear =2b11;Clear =2b11;信号说明,引脚信号说明,引脚变量和常量变量和常量Mealy Mealy 状态机状态机下一个状态下一个状态下一个状态下一个状态=F(=F(=F(=F(当前状态,输入信号当前状态,输入信号当前状态,输入信号当前状态,输入信号);输出信号输出信号输出信号输出信号=G(=G(=G(=G(当前状态,输入信号当前状态,输入信号当前状态,输入信号当前状态,输入信号);

10、图图1.时钟同步的状态机结构时钟同步的状态机结构(Mealy状态机状态机)下一状态下一状态的逻辑的逻辑 F F输出逻辑输出逻辑 G G状态状态寄存器寄存器时钟信号时钟信号时钟信号时钟信号时钟信号时钟信号clkclkclkclkclkclk clk 输入输入输入输入输入输出输出输出输出输出输出当前状态当前状态当前状态当前状态当前状态当前状态激励信号激励信号激励信号激励信号激励信号激励信号modulefsm(Clock,Reset,A,K2,K1);endmodule表示方法之三(续)表示方法之三(续)表示方法之三(续)表示方法之三(续)信号变量、常量声明 每一个时钟沿产生一次可能的状态变化 st

11、ate 产生下一状态的组合逻辑 nextstate 产生输出K1的组合逻辑 产生输出产生输出K2K2的组合逻辑的组合逻辑表示方法之三(续)表示方法之三(续)表示方法之三(续)表示方法之三(续)/-/-每每每每一一一一个个个个时时时时钟钟钟钟沿沿沿沿产产产产生生生生一一一一次次次次可可可可能能能能的的的的状状状状态态态态变变变变化化化化-always(posedgeClock)always(posedgeClock)beginbeginif(!Reset)if(!Reset)state=Idle;state=Idle;elseelsestate=nextstate;state=nextstate

12、;endend/-/-表示方法之三(续)表示方法之三(续)表示方法之三(续)表示方法之三(续)/-/-产生下一状态的组合逻辑产生下一状态的组合逻辑产生下一状态的组合逻辑产生下一状态的组合逻辑-always(stateorA)always(stateorA)case(state)case(state)Idle:if(A)Idle:if(A)nextstate=Start;nextstate=Start;elsenextstate=Idle;elsenextstate=Idle;Start:if(!A)nextstate=Stop;Start:if(!A)nextstate=Stop;elsene

13、xtstate=Start;elsenextstate=Start;Stop:if(A)nextstate=Clear;Stop:if(A)nextstate=Clear;elsenextstate=Stop;elsenextstate=Stop;Clear:if(!A)nextstate=Idle;Clear:if(!A)nextstate=Idle;elsenextstate=Clear;elsenextstate=Clear;default:nextstate=2bxx;default:nextstate=2bxx;endcaseendcase表示方法之三(续)表示方法之三(续)表示方法

14、之三(续)表示方法之三(续)/-/-产生输出产生输出产生输出产生输出K1K1的组合逻辑的组合逻辑的组合逻辑的组合逻辑-always(stateorResetorA)always(stateorResetorA)if(!Reset)K1=0;if(!Reset)K1=0;elseelseif(state=Clear&!A)/if(state=Clear&!A)/从从从从ClearClear转向转向转向转向IdleIdleK1=1;K1=1;elseK1=0;elseK1=0;/-/-产生输出产生输出产生输出产生输出K2K2的组合逻辑的组合逻辑的组合逻辑的组合逻辑-always(stateorRe

15、setorA)always(stateorResetorA)if(!Reset)K2=0;if(!Reset)K2=0;elseelseif(state=Stop&A)/if(state=Stop&A)/从从从从StopStop转向转向转向转向ClearClearK2=1;K2=1;elseK2=0;elseK2=0;/-/-endmoduleendmodule 状态机状态机module mux2(clk,ina,out);input clk,ina;output out;reg out;reg 1:0 state;parameter s0=2b00,s1=2b01,s2=2b10,s3=2b

16、11;always (posedge clk)beginstate=s0;out=0;case(state)s0:begin state=(ina=1)?s1:s0;out=0;ends1:begin state=(ina=1)?s2:s0;out=0;ends2:begin state=(ina=1)?s3:s0;out=0;ends3:begin state=(ina=1)?s3:s0;out=1;end endcaseendendmodule 状态机的测试模块状态机的测试模块timescale1ns/1nstimescale1ns/1nsmodulet;modulet;rega;rega

17、;regclock,rst;regclock,rst;wirek2,k1;wirek2,k1;initial/initialinitial/initial常用于仿真时信号的给出。常用于仿真时信号的给出。常用于仿真时信号的给出。常用于仿真时信号的给出。beginbegina=0;a=0;rst=1;/rst=1;/给复位信号变量赋初始值给复位信号变量赋初始值给复位信号变量赋初始值给复位信号变量赋初始值clock=0;/clock=0;/给时钟变量赋初始值给时钟变量赋初始值给时钟变量赋初始值给时钟变量赋初始值#22rst=0;/#22rst=0;/使复位信号有效使复位信号有效使复位信号有效使复位信

18、号有效#133rst=1;/#133rst=1;/经过一个多周期后使复位信号无效经过一个多周期后使复位信号无效经过一个多周期后使复位信号无效经过一个多周期后使复位信号无效endend 状态机的测试模块状态机的测试模块 always#50clock=clock;/always#50clock=clock;/产生周期性的时钟产生周期性的时钟产生周期性的时钟产生周期性的时钟 always(posedgeclock)/always(posedgeclock)/在每次时钟正跳变沿时刻产生不同的在每次时钟正跳变沿时刻产生不同的在每次时钟正跳变沿时刻产生不同的在每次时钟正跳变沿时刻产生不同的a abegin

19、begin#30a=$random%2;/#30a=$random%2;/每次每次每次每次a a是是是是0 0还是还是还是还是1 1是随机的。是随机的。是随机的。是随机的。#(3*50+12);/a#(3*50+12);/a的值维持一段时间的值维持一段时间的值维持一段时间的值维持一段时间endendinitialinitialbegin#100000$stop;endbegin#100000$stop;end/系统任务,暂停仿真以便观察仿真波形。系统任务,暂停仿真以便观察仿真波形。系统任务,暂停仿真以便观察仿真波形。系统任务,暂停仿真以便观察仿真波形。/-/-调用被测试模块调用被测试模块调用被

20、测试模块调用被测试模块t.m-t.m-fsmm(.Clock(clock),.Reset(rst),.A(a),.K2(k2),.K1(k1);fsmm(.Clock(clock),.Reset(rst),.A(a),.K2(k2),.K1(k1);endmoduleendmodule13.2 13.2 典型状态机实例典型状态机实例宇宙飞船控制器宇宙飞船控制器宇宙飞船控制器宇宙飞船控制器宇宙飞船控制器宇宙飞船控制器just_launchedis_landedabort_missionall_systems_goclklaunch_shuttleland_shuttlestart_countdo

21、wnstart_trip_metercnt13.2 13.2 典型状态机实例典型状态机实例宇宙飞船控制器宇宙飞船控制器just_launchedis_landedabort_mission/launch_shuttle=1/land_shuttle=1/start_trip_meter=1HOLDSEQUENCELANDLAUNCHON_MISSIONcnt=0/start_countdown=1all_systems_gomodule statemachine(launch_shuttle,land_shuttle,start_countdown,start_trip_meter,clk,a

22、ll_systems_go,just_launched,is_landed,cnt,abort_mission);output launch_shuttle,land_shuttle,start_countdown;output start_trip_meter;input clk,just_launched,is_landed,abort_mission,all_systems_go;input 3:0 cnt;reg launch_shuttle,land_shuttle,start_countdown,start_trip_meter;/设置独热码状态的参数 parameter HOLD

23、=5b00001,SEQUENCE=5b00010,LAUNCH=5b00100,ON_MISSION=5b01000,LAND=5b10000;reg 4:0 state;always(negedge clk or posedge abort_mission)begin /检查异步reset的值,即abort_mission的值 if(abort_mission)launch_shuttle,land_shuttle,start_trip_meter,start_countdown=4b0000;state=LAND;else begin/*主状态机,状态变量state*/case(stat

24、e)HOLD:if(all_systems_go)begin state=SEQUENCE;start_countdown=1;end else state=HOLD;SEQUENCE:if(cnt=0)state=LAUNCH;else state=SEQUENCE;LAUNCH:begin state=ON_MISSION;launch_shuttle=1;end ON_MISSION:/取消使命前,一直留在使命状态 if(just_launched)start_trip_meter=1;else state=ON_MISSION;LAND:if(is_landed)state=HOLD;

25、else begin land_shuttle=1;state=LAND;end default:state=5bxxxxx;endcaseend end/end of alwaysendmoduleModule clk_3(clkin,reset,clkout);input clkin,reset;reg 1:0 state;reg clk1;always(posedge clkin or negedge reset)if(!reset)state=2b00;else case(state)2b00:state=2b01;2b01:state=2b11;2b11:state=2b00;def

26、ault:state=2b00;endcasealways(negedge clk or negedge reset)if(!reset)clk1=1b0;elseclk1y)begintmp=x;x=y;y=tmp;endendtaskendmodule【13.413.4】比较器的设计实例(利用赋值语句设】比较器的设计实例(利用赋值语句设计组合逻辑)计组合逻辑)modulecompare(equal,a,b);parametersize=1;outputequal;inputsize-1:0a,b;assignequal=(a=b)?1:0;endmodule【13.513.5】3-83-8

27、译码器设计实例(利用赋值语句译码器设计实例(利用赋值语句设计组合逻辑)设计组合逻辑)moduledecoder(out,in);output7:0out;input2:0in;assignout=1b1in;/*把最低位的把最低位的1左移左移in(根据从(根据从in口输入的值)口输入的值)位,并赋予位,并赋予out*/endmodule【13.613.6】8-3编码器的设计实例编码器的设计实例/编码器设计方案之一:编码器设计方案之一:moduleencoder1(none_on,out,in);outputnone_on;output2:0out;input7:0in;reg2:0out;re

28、gnone_on;always(in)begin:local/此处此处begin-end块必须有一模块名块必须有一模块名integeri;out=0;none_on=1;/*returnsthevalueofthehighestbitnumberturnedon*/for(i=0;i8;i=i+1)if(ini)beginout=i;none_on=0;endendendmodule【13.613.6】8-3编码器的设计实例编码器的设计实例/编码器设计方案之二:编码器设计方案之二:moduleencoder2(none_on,out2,out1,out0,h,g,f,e,d,c,b,a);in

29、puth,g,f,e,d,c,b,a;outputnone_on,out2,out1,out0;wire3:0outvec;assignoutvec=h?4b0111:g?4b0110:f?4b0101:e?4b0100:d?4b0011:c?4b0010:b?4b0001:a?4b0000:4b1000;assignnone_on=outvec3;assignout2=outvec2;assignout1=outvec1;assignout0=outvec0;endmodule【13.613.6】8-3编码器的设计实例(方案之三)编码器的设计实例(方案之三)moduleencoder3(no

30、ne_on,out2,out1,out0,h,g,f,e,d,c,b,a);inputh,g,f,e,d,c,b,a;outputout2,out1,out0,none_on;reg3:0outvec;assignnone_on,out2,out1,out0=outvec;always(aorborcordoreorforgorh)if(h)outvec=4b0111;elseif(g)outvec=4b0110;elseif(f)outvec=4b0101;elseif(e)outvec=4b0100;elseif(d)outvec=4b0011;elseif(c)outvec=4b0010

31、;elseif(b)outvec=4b0001;elseif(a)outvec=4b0000;elseoutvec=4b1000;endmodule【13.713.7】多路器的设计实例(方案之一)多路器的设计实例(方案之一)modulemux1(out,a,b,sel);outputout;inputa,b,sel;assignout=sel?a:b;endmodule使使用用连连续续赋赋值值、casecase语语句句或或if-elseif-else语语句句可可以以生生成成多多路路器器电电路路,如如果果条条件件语语句句(casecase或或if-elseif-else)中中分分支支条件是互斥的

32、话,综合器能自动地生成并行的多路器。条件是互斥的话,综合器能自动地生成并行的多路器。【13.713.7】多路器的设计实例(方案之二)多路器的设计实例(方案之二)modulemux2(out,a,b,sel);outputout;inputa,b,sel;regout;/用电平触发的用电平触发的always块来设计多路器的组合逻辑块来设计多路器的组合逻辑always(aorborsel)case(sel)1b1:out=a;1b0:out=b;default:out=bx;endcaseendmodule【13.713.7】多路器的设计实例(方案之三)多路器的设计实例(方案之三)modulemu

33、x3(out,a,b,sel);outputout;inputa,b,sel;regout;always(aorborsel)beginif(sel)out=a;elseout=b;endendmodule【13.813.8】奇偶校验位生成器设计实例奇偶校验位生成器设计实例moduleparity(even_numbits,odd_numbits,input_bus);outputeven_numbits,odd_numbits;input7:0input_bus;assignodd_numbits=input_bus;assigneven_numbits=odd_numbits;endmod

34、ule【13.913.9】三态输出驱动器设计实例三态输出驱动器设计实例(用连续赋值语句建立三态门模型)(用连续赋值语句建立三态门模型)三态输出驱动器设计方案之一三态输出驱动器设计方案之一:moduletrist1(out,in,enable);outputout;inputin,enable;assignout=enable?in:bz;endmodule【13.913.9】三态输出驱动器设计实例三态输出驱动器设计实例(bufif1bufif1是是 一个一个 Verilog Verilog门级原语门级原语(primitiveprimitive)三态输出驱动器设计方案之二三态输出驱动器设计方案之

35、二:moduletrist2(out,in,enable);outputout;inputin,enable;/bufif1是是一个一个Verilog门级原语(门级原语(primitive)bufif1mybuf1(out,in,enable);endmodule【13.1013.10】三态双向驱动器设计实例三态双向驱动器设计实例modulebidir(tri_inout,out,in,en,b);inouttri_inout;outputout;inputin,en,b;assigntri_inout=en?In:bz;assignout=tri_inoutb;endmodule【13.11

36、13.11】触发器设计实例触发器设计实例moduledff(q,data,clk);outputq;inputdata,clk;regq;always(posedgeclk)beginq=data;endendmodule【13.1213.12】电平敏感型锁存器设计实例之一电平敏感型锁存器设计实例之一modulelatch1(q,data,clk);outputq;inputdata,clk;assignq=clk?data:q;endmodule【13.1313.13】带置位和复位端的电平敏感型锁存带置位和复位端的电平敏感型锁存器设计实例之二器设计实例之二modulelatch2(q,dat

37、a,clk,set,reset);outputq;inputdata,clk,set,reset;assignq=reset?0:(set?1:(clk?data:q);endmodule【13.1413.14】电平敏感型锁存器设计实例之三电平敏感型锁存器设计实例之三modulelatch3(q,data,clk);outputq;inputdata,clk;regq;always(clkordata)if(clk)q=data;endmodule【13.1513.15】移位寄存器设计实例移位寄存器设计实例moduleshifter(din,clk,clr,dout);inputdin,clk

38、,clr;output7:0dout;reg7:0dout;always(posedgeclk)if(clr)/清零清零dout=8b0;elsebegindout=dout1;/左移一位左移一位dout0=din;/把输入信号放入寄存器的最低位把输入信号放入寄存器的最低位endendmodule【13.1613.16】八位计数器设计实例之一八位计数器设计实例之一modulecounter1(out,cout,data,load,cin,clk);output7:0out;outputcout;input7:0data;inputload,cin,clk;reg7:0out;always(po

39、sedgeclk)if(load)out=data;elseout=out+cin;assigncout=(&out)&cin;/只有当只有当out7:0的所有各位都为的所有各位都为1/并且进位并且进位cin也为也为1时才能产生进位时才能产生进位coutendmodule【13.1613.16】八位计数器设计实例之二八位计数器设计实例之二modulecounter2(out,cout,data,load,cin,clk);output7:0out;outputcout;input7:0data;inputload,cin,clk;reg7:0out,preout;regcout;always(

40、posedgeclk)out=preout;always(outordataorloadorcin)begincout,preout=out+cin;if(load)preout=data;endendmodule带异步高电平有效的置带异步高电平有效的置/复位端的复位端的D D触发器实例触发器实例moduledff2(q,qb,d,clk,set,reset);inputd,clk,set,reset;outputq,qb;regq,qb;always(posedgeclkorposedgereset)if(reset)beginq=0;qb=1;endelseif(set)beginq=1;qb=0;endelsebeginq=d;qb=d;endendmodule同步高电平有效的置位同步高电平有效的置位/复位端的复位端的D D触发器触发器moduledff2(q,qb,d,clk,set,reset);inputd,clk,set,reset;outputq,qb;regq,qb;always(posedgeclk)if(reset)beginq=0;qb=1;endelseif(set)beginq=1;qb=0;endelsebeginq=d;qb=d;endendmodule

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!