《EDA技术与Verilog_HDL第四章与第六章课后习题答案剖析课件.ppt》由会员分享,可在线阅读,更多相关《EDA技术与Verilog_HDL第四章与第六章课后习题答案剖析课件.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第4章章 Verilog HDL设计初步设计初步 习习 题题 4-1 举例说明,举例说明,Verilog HDL的操作符中,哪些操作符的运算结果总是一位的。的操作符中,哪些操作符的运算结果总是一位的。答:答:P74/74/80/924-2 wire型变量与型变量与reg型变量有什么本质区别,它们可用于什么类型语句中?型变量有什么本质区别,它们可用于什么类型语句中?答:书上答:书上P2612629.2 Verilog HDL数据类型数据类型reg主要是用于定义特定类型的变量,即寄存器型主要是用于定义特定类型的变量,即寄存器型(Register)变量变量(或称寄存器型数据类的或称寄存器型数据类
2、的变量变量)。如果没有在模块中显式地定义信号为网线型变量,。如果没有在模块中显式地定义信号为网线型变量,Verilog综合器都会将其默认定综合器都会将其默认定义为义为wire型。过程语句型。过程语句always引导的顺序语句中规定必须是引导的顺序语句中规定必须是reg型变量。型变量。wire型变量不允许有多个驱动源型变量不允许有多个驱动源 习习 题题 4-3 4-3 阻塞赋值和非阻塞赋值有何区别?阻塞赋值和非阻塞赋值有何区别?答:答:VerilogVerilog中,用普通等号中,用普通等号“=”作为阻塞式赋值语句的赋值符号,如作为阻塞式赋值语句的赋值符号,如y=by=b。VerilogVeri
3、log中,用普通等号中,用普通等号“=”作为非阻塞式赋值语句的赋值符号,如作为非阻塞式赋值语句的赋值符号,如y=by=b。阻塞式赋值的特点是,一旦执行完当前的赋值语句,赋值目标变量阻塞式赋值的特点是,一旦执行完当前的赋值语句,赋值目标变量y y即刻即刻获得来自等号右侧表达式的计算值。如果在一个块语句中含有多条阻塞式赋值获得来自等号右侧表达式的计算值。如果在一个块语句中含有多条阻塞式赋值语句,则当执行到其中某条赋值语句时,其他语句将禁止执行,即如同被阻塞语句,则当执行到其中某条赋值语句时,其他语句将禁止执行,即如同被阻塞了一样。了一样。非阻塞式赋值的特点是必须在块语句执行结束时才整体完成赋值操作
4、。非非阻塞式赋值的特点是必须在块语句执行结束时才整体完成赋值操作。非阻塞的含义可以理解为在执行当前语句时,对于块中的其他语句的执行情况一阻塞的含义可以理解为在执行当前语句时,对于块中的其他语句的执行情况一律不加限制,不加阻塞。这也可以理解为,在律不加限制,不加阻塞。这也可以理解为,在begin_endbegin_end块中的所有赋值语句都块中的所有赋值语句都可以并行运行。可以并行运行。4-4 举例说明,为什么使用条件叙述不完整的条件句能导致产生时序模块的综合结果?举例说明,为什么使用条件叙述不完整的条件句能导致产生时序模块的综合结果?答:答:当CLK发生了电平变化,但是从1变到0。这时无论D是
5、否变化,都将启动过程去执行if语句;但此时CLK=0,无法执行if语句,从而无法执行赋值语句Q=D,于是Q只能保持原值不变(这就意味着需要在设计模块中引入存储元件)。当CLK没有发生任何变化,且CLK一直为0,而敏感信号D发生了变化。这时也能启动过程,但由于CLK=0,无法执行if语句,从而也就无法执行赋值语句Q=D,导致Q只能保持原值(这也意味着需要在设计模块中引入存储元件)。在以上两种情况中,由于if语句不满足条件,于是将跳过赋值表达式Q=D,不执行此赋值表达式而结束if语句和过程对于这种语言现象,Velilog综合器解释为,对于不满足条件,跳过赋值语句Q=D不予执行,即意味着保持Q的原值
6、不变(保持前一次满足if条件时Q被更新的值)。对于数字电路来说,当输入改变后试图保持一个值不变,就意味着使用具有存储功能的元件,就是必须引进时序元件来保存Q中的原值,直到满足if语句的判断条件后才能更新Q中的值,于是便产生了时序元件。module LATCH1(CLK,D,Q);output Q;input CLK,D;reg Q;always(D or CLK)if(CLK)Q=D;/当CLK=1时D被锁入Qendmodule 4-5 用用Verilog设计一个设计一个3-8译码器,要求分别用译码器,要求分别用case语句和语句和if_else语句。比语句。比较这两种方式。较这两种方式。4-
7、5 用用Verilog设计一个设计一个3-8译码器,要求分别用译码器,要求分别用case语句和语句和if_else语句。比较这两种语句。比较这两种方式。方式。module decoder3_8(G1,Y,G2,A,G3);input G1,G2,G3;wire G1,G2,G3;input 2:0 A;wire 2:0 A;output 7:0 Y;reg 7:0 Y;reg s;always (A,G1,G2,G3)begin s=G2|G3;if(G1=0)Y=8b1111_1111;else if(s)Y=8b1111_1111;else case(A)3b000:Y=8b1111111
8、0;3b001:Y=8b11111101;3b010:Y=8b11111011;3b011:Y=8b11110111;3b100:Y=8b11101111;3b101:Y=8b11011111;3b110:Y=8b10111111;3b111:Y=8b01111111;default:Y=8bxxxxxxxx;endcase end endmodule 4-5 用用Verilog设计一个设计一个3-8译码器,要求分别用译码器,要求分别用case语句和语句和if_else语句。比较这两种语句。比较这两种方式。方式。module decoder3_8(G1,Y,G2,A,G3);input G1,
9、G2,G3;wire G1,G2,G3;input 2:0 A;wire 2:0 A;output 7:0 Y;reg 7:0 Y;reg s;always (A,G1,G2,G3)begin s=G2|G3;if(G1=0)Y=8b1111_1111;else if(s)Y=8b1111_1111;else begin if(A=3b000)Y=8b11111110;else if(A=3b001)Y=8b11111101;else if(A=3b010)Y=8b11111011;else if(A=3b011)Y=8b11110111;else if(A=3b100)Y=8b1110111
10、1;else if(A=3b101)Y=8b11011111;else if(A=3b110)Y=8b10111111;else if(A=3b111)Y=8b01111111;else Y=8bxxxxxxxx;end endendmodule/测试文件,测试文件,?部分请根据被测试的文件修改部分请根据被测试的文件修改module stimulus;reg 2:0A;wire7:0Y;reg G1,G2,G3;decoder3_8 DUT(G1,Y,G2,A,G3);initial begin$monitor($time,A=%d,G1=%b,G2=%b,G3=%b,Y=%dn,A,G1,G
11、2,G3,Y);endinitial begin G1=1;G2=1;G3=1;A=0;#10 G2=0;G1=0;#10 G2=0;G1=1;#10 G2=1;G1=0;G3=0;#10 G1=0;G1=1;G3=1;#10 G1=0;G1=0;G3=0;#10 G1=1;G2=0;G3=0;#50 A=0;#50 A=1;#50 A=2;#50 A=3;#50 A=4;#50 A=5;#50 A=6;#50 A=7;#50$finish;endendmodule习习 题题 4-6图图4-26所示的是双所示的是双2选选1多路选择器构成的电路多路选择器构成的电路MUXK。对于其中。对于其中MU
12、X21A,当,当s=0和和s=1时,分别有时,分别有y=a和和y=b。试在一个模块结构中用两个过程来表达此电路。试在一个模块结构中用两个过程来表达此电路。答:参考实验答:参考实验1图图4-26 含含2选选1多路选择器的模块多路选择器的模块module MUXK(a1,a2,a3,s0,s1,outy);input a1,a2,a3,s0,s1;output outy;wire outy;wire tmp;mux21a u1(.a(a2),.b(a3),.s(s0),.y(tmp);mux21a u2(.a(a1),.b(tmp),.s(s1),.y(outy);endmodule习习 题题 4
13、-7 4-7 给出给出1 1位全减器的位全减器的VHDLVHDL描述。要求:描述。要求:(1 1)首先设计)首先设计1 1位半减器,然后用例化语句将它们连接起来,图位半减器,然后用例化语句将它们连接起来,图4-284-28中中h_suberh_suber是半减器,是半减器,diffdiff是输出差,是输出差,s_outs_out是借位输出,是借位输出,sub_insub_in是借位输入。是借位输入。(2 2)根据图)根据图4-274-27设计设计1 1位全减器。位全减器。(3 3)以)以1 1位全减器为基本硬件,构成串行借位的位全减器为基本硬件,构成串行借位的8 8位减法器,要求用例化语句来位
14、减法器,要求用例化语句来完成此项设计。完成此项设计。图图4-27 1位全减器位全减器x xy ydiffdiffs_outs_out0000011110101100/一个二进制半减器半减器设计进行了阐述module h_suber(x,y,diff,s_out);input x,y;outputdiff,s_out;assign diff=xy;assign s_out=(x)&y;endmodule module f_suber(x,y,sub_in,diffr,sub_out);/一个二进制全减器全减器顶层设计进行了阐述 output diffr,sub_out;input x,y,sub
15、_in;wire e,d,f;h_suber u1(x,y,e,d);/h_suber u2(.x(e),.diff(diffr),.y(sub_in),.s_out(f);/or2a u3(.a(d),.b(f),.c(sub_out);endmodule xysub_indiffr sub_out0000000111010110110110010101001100011111x x为被减数,为被减数,y y为减数,为减数,sub_insub_in为为低位的借低位的借位,位,diffrdiffr为差,为差,sub_outsub_out为为向高位的向高位的借位。借位。习习 题题 习习 题题4-
16、8 给出一个给出一个4选选1多路选择器的多路选择器的Verilog描述。此器件与图描述。此器件与图4-1类似,但选通控制端有类似,但选通控制端有4个输入:个输入:S0、S1、S2、S3。当且仅当。当且仅当S0=0时:时:Y=A;S1=0时:时:Y=B;S2=0时:时:Y=C;S3=0时:时:Y=D。module MUX41a(A,B,C,D,S0,S1,S2,S3,Y);output Y;/定义定义Y为输出信号为输出信号 input A,B,C,D;input S0,S1,S2,S3;reg Y;/定义输出端口信号定义输出端口信号Y为寄存器型变量为寄存器型变量 always(A,B,C,S0,
17、S1,S2,S3)begin /块语句起始块语句起始 if(S0=0)Y=A;/当当S0=0成立,即成立,即(S0=0)=1时,时,Y=A;else if(S1=0)Y=B;/当当(S1=1)为真,则为真,则Y=B;else if(S2=0)Y=C;/当当(S2=2)为真,则为真,则Y=C;else if(S3=0)Y=D;/当当(S3=3)为真,即为真,即Y=D;end /块语句结束块语句结束endmodule4-9 把例把例4-21改成一异步清改成一异步清0,同步时钟使能和异步数据加载型,同步时钟使能和异步数据加载型8位二进制加位二进制加法计数器。法计数器。【例4-21】含有异步清0同步时
18、钟使能和同步数据加载功能的十进制计数器module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK,RST,EN,LOAD;/时钟,时钟使能,复位,数据加载控制信号输入口input 3:0DATA;/4位并行加载数据输入口output 3:0 DOUT;/计数数据输出信号口output COUT;/计数进位输出reg COUT;reg3:0 Q1;assign DOUT=Q1;/将内部寄存器的计数结果输出至DOUTalways(posedge CLK or negedge RST or negedge LOADor negedge LOADor
19、negedge LOADor negedge LOAD)/时序过程 beginif(!RST)Q1=0;/RST=0时,对内部寄存器单元异步清0 else if(!LOAD)Q1=DATA;else if(!LOAD)Q1=DATA;else if(!LOAD)Q1=DATA;else if(!LOAD)Q1=DATA;/当LOAD=0,异步向内部寄存器加载数据 else if(EN)beginelse if(EN)beginelse if(EN)beginelse if(EN)begin /同步使能EN=1,则允许加载或计数 if(Q19)Q1=Q1+1;if(Q19)Q1=Q1+1;if(
20、Q19)Q1=Q1+1;if(Q19)Q1=Q1+1;/当Q1小于9时,允许累加 else Q1=4b0000;else Q1=4b0000;else Q1=4b0000;else Q1=4b0000;/否则一个时钟后清0返回初值end endalways(Q1)/组合电路之过程if(Q1=4h9)COUT=1b1;/当Q1=1001时,COUT输出进位标志1else COUT=1b0;/否则,输出进位标志0endmodule 习习 题题 4-10 4-10 分频方法有多种,最简单的是二分频和偶数分频甚至奇数分频方法有多种,最简单的是二分频和偶数分频甚至奇数分频,这用触发器或指定计数模的计数器
21、即可办到。但对于现场实分频,这用触发器或指定计数模的计数器即可办到。但对于现场实现指定分频比或小数分频率的分频电路的设计就不是很简单了。现指定分频比或小数分频率的分频电路的设计就不是很简单了。试对习题试对习题4-94-9的设计稍作修改,将其进位输出的设计稍作修改,将其进位输出COUTCOUT与异步加载控与异步加载控制制LOADLOAD连在一起,构成一个自动加载型连在一起,构成一个自动加载型1616位二进制数计数器,也即位二进制数计数器,也即一个一个1616位可控的分频器,给出其位可控的分频器,给出其VerilogVerilog表述,并说明工作原理。表述,并说明工作原理。设输入频率设输入频率fi
22、=4MHzfi=4MHz,输出频率,输出频率fo=516.5fo=516.51Hz1Hz(允许误差(允许误差0.1Hz0.1Hz),),1616位加载数值位加载数值=?。?。(7744774477447744)module CNT10(CLK,RST,EN,COUT,DOUT,DATA);module CNT10(CLK,RST,EN,COUT,DOUT,DATA);input CLK,RST,EN;input CLK,RST,EN;/时钟,时钟使能,复位,数据加载控制信号输入口input3:0DATA;input3:0DATA;/4位并行加载数据输入口output3:0DOUT;output
23、3:0DOUT;/计数数据输出信号口output COUT;output COUT;/计数进位输出reg FULL;reg FULL;wire LD;wire LD;reg3:0 Q1;reg3:0 Q1;always(posedge CLK or posedge LD or negedge RST)always(posedge CLK or posedge LD or negedge RST)/时序过程 beginbegin if(!RST)begin Q1=0;FULL=0;end if(!RST)begin Q1=0;FULL=0;end else if(LD)begin Q1=DATA
24、;FULL=1;end else if(LD)begin Q1=DATA;FULL=1;end else if(EN)begin Q1=Q1+1;FULL=0;end else if(EN)begin Q1=Q1+1;FULL=0;end end endassign LD=(Q1=4B0000);assign LD=(Q1=4B0000);assign DOUT=Q1;assign DOUT=Q1;/将内部寄存器的计数结果输出至DOUTassign COUT=FULL;assign COUT=FULL;/输出进位标志0endmodule endmodule module CNT16(CLK,R
25、ST,EN,COUT,DOUT,DATA);module CNT16(CLK,RST,EN,COUT,DOUT,DATA);input CLK,RST,EN;input CLK,RST,EN;/时钟,时钟使能,复位,数据加载控制信号输入口input15:0DATA;input15:0DATA;/4位并行加载数据输入口output15:0DOUT;output15:0DOUT;/计数数据输出信号口output COUT;output COUT;/计数进位输出reg FULL;reg FULL;wire LD;wire LD;reg15:0 Q1;reg15:0 Q1;always(posedge
26、 CLK or posedge LD or negedge RST)always(posedge CLK or posedge LD or negedge RST)/时序过程 beginbegin if(!RST)begin Q1=0;FULL=0;end if(!RST)begin Q1=0;FULL=0;end else if(LD)begin Q1=DATA;FULL=1;end else if(LD)begin Q1=DATA;FULL=1;end else if(EN)begin Q1=Q1+1;FULL=0;end else if(EN)begin Q1=Q1+1;FULL=0;e
27、nd end endassign LD=(Q1=assign LD=(Q1=16d0);assign DOUT=Q1;assign DOUT=Q1;/将内部寄存器的计数结果输出至DOUTassign COUT=FULL;assign COUT=FULL;/输出进位标志0endmodule endmodule 4-11 用用Verilog设计一个功能类似设计一个功能类似74LS160的计数器。的计数器。同步十进制同步十进制计数器计数器74LS160管脚图:管脚图:管脚图:管脚图:引出端符号:引出端符号:引出端符号:引出端符号:TC 进位输出端 CP 时钟输入端(上升沿有效)CEP 计数控制端 /
28、MR异步清除输入端(低电平有效)Q0Q3 输出端 /PE同步并行置入控制端(低电平有效)CET 计数控制端 P0P3数据输入端功能表:功能表:说明:H高电平 L低电平 X任意 module CNT10(CP,MR,CET,CEP,PE,TC,Q,P);output 3:0 Q;/计数数据输出端 output TC;/TC进位输出端 input CP,MR,CET,PE,CEP;/时钟,复位,时钟使能,数据加载控制信号输入口 input 3:0 P;/4位并行加载数据输入口 reg3:0 Q;reg TC,s s;always(posedge CP or negedge MR )/CP 时钟输入
29、端(上升沿有效)begin s=s=CET&CEP;if(!MR)begin Q=0;end /MR 异步清除输入端(低电平有效)else begin if(!PE)begin Q=P;end/PE 同步并行置入控制端(低电平有效)else if(s)begin Q=Q+1;if(Q=4b1111)begin TC=1;end else begin TC=0;end end else begin Q=Q;end end end endmodule 4-11 用用Verilog设计一个功能类似设计一个功能类似74LS160的计数器。的计数器。同步十进制同步十进制计数器计数器74LS1604-11
30、 用用Verilog设计一个功能类似设计一个功能类似74LS160的计数器。的计数器。module stimulus;reg CP,MR,CET,CEP;reg 3:0P;/,Qreg PE;wire3:0 Q;wire TC;CNT10 r1(CP,MR,CET,CEP,PE,TC,Q,P);initialCP=1b0;/?CP?0always#5 CP=CP;/?5?initialbeginCET=1b0;MR=1b1;PE=1b1;P=4d0;CEP=1b0;#5 P=4d5;#5 CET=1b1;CEP=1b1;#10 MR=1b0;#10 MR=1b1;#30 P=4d7;#5 PE
31、=1b0;#5 PE=1b1;#50 PE=1b0;#3 PE=1b1;#20 P=4d9;#100 PE=1b0;#10 PE=1b0;#10 PE=1b1;#20 P=4d4;#20$finish;endinitial$monitor($time,CP=%b,MR=%b,CET=%b,CEP=%b,PE=%b,TC=%b,Q=%d,P=%d,CP,MR,CET,CEP,PE,TC,Q,P);endmodule习习 题题 4-12 给出含有异步清零和计数使能的给出含有异步清零和计数使能的16位二进制加减可控计数器的位二进制加减可控计数器的Verilog HDL描述。描述。module upd
32、owncnt16_v(q,cout,d,load,ena,clk,clr,up_down);input 15:0 d;input load,ena,clk,clrc,up_down;output 15:0 q;output cout;reg 15:0 q;always (posedge clk or negedge clr)begin if(!clr)q=16h00;/异步清零异步清零,低电平有效 else if(ena)begin /计数使能端,高电平有效 if(!load)q=d;/同步置数,高电平有效 if(up_down)q=q+1;/up_down=1时,加计数 else q=q-1
33、;end /up_down=0时,减计数 end assign cout=up_down?&q:|q;/cout=1cout=1表示进位输出表示进位输出表示进位输出表示进位输出或者cout=0cout=0表示借位表示借位表示借位表示借位输出输出输出输出 endmodule up_down=1(up_down=1(up_down=1(up_down=1(进行加法操作进行加法操作进行加法操作进行加法操作)且输出且输出且输出且输出q15:0=0 xFFFFhq15:0=0 xFFFFhq15:0=0 xFFFFhq15:0=0 xFFFFh时,时,时,时,cout=1cout=1cout=1cout
34、=1表示进位输出表示进位输出表示进位输出表示进位输出 up_down=0(up_down=0(up_down=0(up_down=0(进行减法操作进行减法操作进行减法操作进行减法操作)且且且且q15:0=0 x0000hq15:0=0 x0000hq15:0=0 x0000hq15:0=0 x0000h时,时,时,时,cout=0cout=0cout=0cout=0表示借位输出表示借位输出表示借位输出表示借位输出 4-13 分别给出以下分别给出以下6个个RTL图的图的Verilog描述,注意其中的描述,注意其中的D触发器和锁存器的表触发器和锁存器的表述。述。图图4-28 RTL图图1图图4-2
35、9 RTL图图2图图4-30 RTL图图3图图4-31 RTL图图4图图4-32 RTL图图5图图4-33 RTL图图64-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVerilog描述,注意其中的描述,注意其中的D D触发器和锁存器的表述。触发器和锁存器的表述。module RTL1(CLK,CL,OUT);output OUT;input CLK,CL;reg Q;wire D;/*用assign连续赋值语句不可以*/assign OUT=Q;assign D=(Q|CL);/*用门级电路可以*/not(OUT,Q);/nor(D,Q,CL);alw
36、ays(posedge CLK)Q=D;endmodule图图4-28 RTL图图1CycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM7000SM7000S也可以也可以也可以也可以4-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVerilog描述,注意描述,注意其中的其中的D D触发器和锁存器的表述。触发器和锁存器的表述。图图4-29 RTL图图2module RTL2(A,B,C,D,Y);output Y;input A,B,C,D;wire TP1,TP
37、2;reg Y;/or(TP1,A,B);/*用门级电路可以*/and(TP2,C,D);assign TP1=A|B;/*用assign连续赋值语句也可以*/assign TP2=C&D;always(TP1,TP2,A)begin if(TP1=1)Y=TP1TP2;else Y=A;end endmoduleCycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM7000SM7000S也可以也可以也可以也可以4-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVe
38、rilog描述,注意描述,注意其中的其中的D D触发器和锁存器的表述。触发器和锁存器的表述。图图4-30 RTL图图3module RTL3(D1,D2,CLK,Q);output Q;input D1,D2,CLK;wire AT;reg Q;always(D1 or CLK or D2)begin if(CLK)begin if(D1)Q=D2;else Q=CLK;end endendmoduleCycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM7000SM7000S也可以也可以也可以也可以图
39、图4-31 RTL4-31 RTL图图4 4?module RTL4(D,EN,CLK,SET,RESET,Q);output Q;input D,EN,CLK,SET,RESET;reg Q;always(posedge CLK or posedge RESET or posedge SET)begin if(RESET=1)Q=0;else if(SET=1)Q=1;else if(EN=1)Q=D;else Q=Q;endendmoduleCycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM70
40、00SM7000S不可以不可以不可以不可以4-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVerilog描述,注意其中的描述,注意其中的D D触发触发器和锁存器的表述。器和锁存器的表述。4-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVerilog描述,注意描述,注意其中的其中的D D触发器和锁存器的表述。触发器和锁存器的表述。图图4-32 RTL图图5module RTL5(D,EN,CLK,RST,Q1,Q);output Q1,Q;input D,EN,CLK,RST;reg Q1,Q;always(pose
41、dge CLK or negedge RST)begin if(!RST)Q=0;else if(EN)Q=D;Q1=(D&EN)|RST;end endmoduleCycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM7000SM7000S不可以不可以不可以不可以4-13 4-13 分别给出以下分别给出以下6 6个个RTLRTL图的图的VerilogVerilog描述,注意描述,注意其中的其中的D D触发器和锁存器的表述。触发器和锁存器的表述。图图4-33 RTL图图6module RTL6(CLK,D,Q,DOUT,RST);output Q,DOUT;input CLK,D,RST;reg Q,DOUT;always(posedge CLK)beginif(!RST)begin Q=D;end else Q=0;DOUT=DQDOUT=DQDOUT=DQDOUT=DQ;end endmoduleCycloneCycloneCycloneCyclone II II II II系列可以,系列可以,系列可以,系列可以,M7000SM7000SM7000SM7000S也可以也可以也可以也可以