《《Verilog设计入门》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Verilog设计入门》PPT课件.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章Verilog设计入门设计入门 3.1 组合电路的组合电路的Verilog描述描述 3.1.1 2选选1多路选择器及其多路选择器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 3.1.1 2选选1多路选择器及其多路选择器及其Verilog描述描述 1)关键字)关键字module endmodule引导的完整的电路模块描述。引导的完整的电路模块描述。2)标识符)标识符MUX21a是用户自定义电路名,有其命名规则是用户自定义电路名,有其命名规则。3)端口表的表述。)端口表的表述。5)关键字)关键字assign引导的赋值语句,条件语句的表述。引导的赋值语句,
2、条件语句的表述。4)关键字)关键字input output描述电路外部端口的信号类型和流动方向。描述电路外部端口的信号类型和流动方向。3.1 组合电路的组合电路的Verilog描述描述 3.1.1 2选选1多路选择器及其多路选择器及其Verilog描述描述 1模块表达模块表达 2端口语句、端口信号名和端口模式端口语句、端口信号名和端口模式 3.1 组合电路的组合电路的Verilog描述描述 3.1.1 2选选1多路选择器及其多路选择器及其Verilog描述描述 3赋值语句和条件操作符赋值语句和条件操作符 4关键字关键字 5标识符标识符 6规范的程序书写格式规范的程序书写格式 7文件取名和存盘文
3、件取名和存盘 第第3章章Verilog设计入门设计入门 本次课程的学习要点本次课程的学习要点 进一步掌握进一步掌握Verilog语言的语法特点:语言的语法特点:wire和和reg数据(信号)类型;数据(信号)类型;always引导的过程语句结构和引导的过程语句结构和assign引导的并行语句;引导的并行语句;case语句;语句;阻塞式赋值阻塞式赋值“=”和非阻塞式赋值和非阻塞式赋值“=”;If_else语句;语句;Verilog中的数字表达、并位操作及操作符的使用,包括逻辑操作符、中的数字表达、并位操作及操作符的使用,包括逻辑操作符、等式操作符、算术操作符;等式操作符、算术操作符;顶层文件的概
4、念和例化语句的使用。顶层文件的概念和例化语句的使用。3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 1reg型变量类型定义型变量类型定义 Verilog常用两种信号类型:常用两种信号类型:wire和和reg类型类型 1)信号类型定义:)信号类型定
5、义:3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 2)范围:)范围:3)特殊使用)特殊使用 可定义为可定义为wire类型的信号包括:所有输入信号、类型的信号包括:所有输入信号、assign引导的引导的连续赋值语句的输出信号、实体元件例化中的输出信号、连续赋值语句的输出信号、实体元件例化中的输出信号、assign语句语句中需要的端口以外的连线信号。中需要的端口以外的连线信号。可定义为可定义为reg类型的信号包括:类型的信号包括:always引导的块语句中被赋值的引导的块语句中被赋值的信号、时序逻辑电路中需要的
6、寄存器类型变量。信号、时序逻辑电路中需要的寄存器类型变量。以下两条语句:以下两条语句:可简化为:可简化为:3.1 组合电路的组合电路的Verilog描述描述 3.1.3 4选选1多路选择器及其数据流描述方式多路选择器及其数据流描述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 2always引导的过程语句结构引导的过程语句结构 1)两类语句一般表述)两类语句一般表述 2)
7、两类语句的特点)两类语句的特点always引导的过程语句的特点:引导的过程语句的特点:引导由引导由begin和和end扩起来的多条语句块,形成语句块;扩起来的多条语句块,形成语句块;块中各语句顺序执行;块中各语句顺序执行;块语句中被赋值的变量必须为块语句中被赋值的变量必须为reg类型。类型。Verilog常用两种语句结构:常用两种语句结构:always和和assign 3.1 组合电路的组合电路的Verilog描述描述 assign连续赋值语句的特点:连续赋值语句的特点:只能引导一条语句,多条语句要用多个只能引导一条语句,多条语句要用多个assign引导;引导;并行性,当驱动表达式中的变量发生
8、变化时,语句才被执行,否则不执行;并行性,当驱动表达式中的变量发生变化时,语句才被执行,否则不执行;assign引导的语句中的所有信号为引导的语句中的所有信号为wire型;型;同一目标变量名不允许有多个驱动源,例如以下表达方式不允许:同一目标变量名不允许有多个驱动源,例如以下表达方式不允许:3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选
9、择器及其case语句表述方式语句表述方式 5并位操作和数字表达并位操作和数字表达 4b0010=4B0010,表示,表示00103o5=3O5=3b101,表示,表示1014hA=4HA=4b1010,表示,表示10104d9=4D9=4b1001,表示,表示10013.1 组合电路的组合电路的Verilog描述描述 3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 4case条件语句和条件语句和4种逻辑状态种逻辑状态 注意:注意:1)表达式取值必须在)表达式取值必须在case以下列出的取值范围内,且数据类型匹配;以下列出的取值范围内,且数据类型匹配;2)允许)
10、允许case以下列出的多个值同时满足表达式,执行最先满足表达以下列出的多个值同时满足表达式,执行最先满足表达 式的分支项;式的分支项;3)default的使用。的使用。3.1 组合电路的组合电路的Verilog描述描述 两种过程赋值操作:两种过程赋值操作:(1)阻阻塞塞式式赋赋值值“=”:语语句句执执行行结结束束,右右侧侧表表达达式式的的值值立立刻刻赋赋给给左左侧侧目标变量。目标变量。(2)非阻塞式赋值)非阻塞式赋值“=”:对对于于always引引导导的的块块语语句句中中含含有有多多条条阻阻塞塞式式赋赋值值语语句句时时,当当执执行行某某一条语句时,其它语句不允许执行,被阻塞了,具有顺序执行的特
11、点。一条语句时,其它语句不允许执行,被阻塞了,具有顺序执行的特点。对对于于always引引导导的的块块语语句句中中含含有有多多条条非非阻阻塞塞式式赋赋值值语语句句时时,当当执执行行某某一一条条语语句句时时,对对于于块块中中的的其其它它语语句句的的执执行行不不被被阻阻塞塞,可可以以理理解解为为并并行行执行,但是块中所有信号的赋值是在块语句结束时同时进行的。执行,但是块中所有信号的赋值是在块语句结束时同时进行的。3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 6赋值操作符赋值操作符“=”,只能用于顺序语句,不能用于,只能用于顺序语句,不能用于assign引导引导的
12、并行语句的并行语句3.1 组合电路的组合电路的Verilog描述描述 例:例:always(A、B)begin M1=A;M2=B&M1;Q=M1|M2;endalways(A、B)begin M1=A;M2=B&M1;Q=M1|M2;end3.1.2 4选选1多路选择器及其多路选择器及其case语句表述方式语句表述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.3 4选选1多路选择器及其数据流描述方式多路选择器及其数据流描述方式 3.1 组合电路的组合电路的Verilog描述描述 3.1.3 4选选1多路选择器及其数据流描述方式多路选择器及其数据流描述方式 1按位逻辑操作符
13、按位逻辑操作符 注意:若两个操作数长度不同,则综合器自动将短的数据按左端补注意:若两个操作数长度不同,则综合器自动将短的数据按左端补0的规则的规则进行运算操作进行运算操作3.1 组合电路的组合电路的Verilog描述描述 3.1.3 4选选1多路选择器及其数据流描述方式多路选择器及其数据流描述方式 2等式操作符等式操作符 注意:注意:1)等式操作符的结果为)等式操作符的结果为1位逻辑值,真或伪;位逻辑值,真或伪;2)“=”的两个操作二进制数中有的两个操作二进制数中有“Z”或或“X”时,判为假;时,判为假;“=”将两个操作数中的将两个操作数中的“Z”或或“X”,当成确定值比较。,当成确定值比较。
14、3.1 组合电路的组合电路的Verilog描述描述 3.1.4 4选选1多路选择器及其多路选择器及其if语句描述方式语句描述方式3.1 组合电路的组合电路的Verilog描述描述 3.1.4 4选选1多路选择器及其多路选择器及其if语句描述方式语句描述方式1if_ else条件语句条件语句 if(表达式)(表达式)begin 语句语句1;语句;语句2;.语句语句n;endelse begin 语句语句n+1;语句;语句n+2;.语句语句n+n;end 3.1 组合电路的组合电路的Verilog描述描述 3.1.4 4选选1多路选择器及其多路选择器及其if语句描述方式语句描述方式2数据表示方式数
15、据表示方式 1)操作符两端数据类型不匹配时,)操作符两端数据类型不匹配时,Verilog能自动匹配;能自动匹配;2)当当所所赋赋的的值值大大于于被被赋赋值值信信号号的的最最大大值值时时,首首先先将将所所赋赋值值便便换换为为二二进进制,然后根据被赋值信号的位宽向左端截取多余位数。制,然后根据被赋值信号的位宽向左端截取多余位数。例:定义例:定义Y1:0,当执行,当执行Y=9时,时,Y得到的赋值是得到的赋值是2b01。3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 1.半加器描述半加器描述 3.1 组合电路的组合电路的Verilog描述描述
16、 3.1.5 加法器及其加法器及其Verilog描述描述 1.基于基于assign引导的赋值语句和逻辑操作符的描述引导的赋值语句和逻辑操作符的描述module h_adder(a,b,so,co);input a,b;output so,co;assign so=a b;assign co=a&b;endmodule3.1 组合电路的组合电路的Verilog描述描述 module h_adder2(a,b,so,co);input a,b;output so,co;reg so,co;always (a,b,so,co)begincase(a,b)0:begin so=0;co=1b0;end
17、1:begin so=1;co=1b0;end2:begin so=1;co=1b0;end3:begin so=0;co=1b1;enddefault:begin so=0;co=0;endendcaseendendmodule2.基于基于always 引导的过程语句和逻辑操作符的描述引导的过程语句和逻辑操作符的描述3.1.5 加法器及其加法器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 module h_adder(a,b,so,co);input a,b;output so,co;assign co,so=a+b;endmodule3.基于基于assig
18、n引导的连续赋值语句和算数操作符的描述引导的连续赋值语句和算数操作符的描述3.1.5 加法器及其加法器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 4.算数操作符的使用算数操作符的使用3.1 组合电路的组合电路的Verilog描述描述 5.全加器描述全加器描述-用半加器模块和或门模块描述用半加器模块和或门模块描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 5.全加器描述全加器描述-用半加器、或门模块及例化语句描述用半加器、或门模块及例化语句
19、描述 3.1.5 加法器及其加法器及其Verilog描述描述 module or2a(a,b,c);input a,b;output c;assign c=a|b;endmodule3.1 组合电路的组合电路的Verilog描述描述 5.全加器描述全加器描述-用半加器、或门模块及例化语句描述用半加器、或门模块及例化语句描述 3.1.5 加法器及其加法器及其Verilog描述描述 module f_adder(ain,bin,cin,sum,cout);input ain,bin,cin;output sum,cout;wire e,d,f;h_adder u1(ain,bin,e,d);/位置
20、例化法例化语句位置例化法例化语句 h_adder u2(.a(e),.b(cin),.so(sum),.co(f);/端口关联法例化语句端口关联法例化语句 or2a(.a(d),.b(f),.c(cout);/端口关联法例化语句端口关联法例化语句endmodule3.1 组合电路的组合电路的Verilog描述描述 5.全加器描述全加器描述-用半加器、或门模块及例化语句描述用半加器、或门模块及例化语句描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 5.全加器描述全加器描述-顶层文件及例化语句描述顶层文件及例化语句描述 3.1.5
21、加法器及其加法器及其Verilog描述描述 3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 5.全加器顶层文件设计和例化语句全加器顶层文件设计和例化语句 信号关联法例化语句:信号关联法例化语句:位置关联法例化语句:位置关联法例化语句:注意:被例化的元件可以是任何注意:被例化的元件可以是任何HDL语言描述的模块、语言描述的模块、FPGA库元件,甚至库元件,甚至IP核。核。(.例化元件端口例化元件端口(例化元件外接端口例化元件外接端口),);3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog
22、描述描述 6.8位加法器描述位加法器描述 module ADDER8B(A,B,CIN,DOUT,COUT);output7:0 DOUT;output COUT;input7:0 A,B;input CIN;wire8:0 DATA;assign DATA=A+B+CIN;assign COUT=DATA8;/注意数值表示注意数值表示assign DOUT=DATA7:0;/注意数值表示注意数值表示endmodule3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 6.8位加法器描述位加法器描述module ADDER8B(A,B,C
23、IN,COUT,DOUT);input 7:0 A,B;input CIN;output 7:0 DOUT;output COUT;assign COUT,DOUT=A+B+CIN;endmodule3.1 组合电路的组合电路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.8位加法器描述位加法器描述 作作 业业 习题习题3-6:1)用两个过程语句结构描述)用两个过程语句结构描述MUXK模块;模块;2)用例化语句描述)用例化语句描述 MUXK模块。模块。作作 业业 习题习题3-7:用:用Verilog描述减法器描述减法器(1 1)首先设计)首先设计1 1位半
24、减器,然后用例化语句将它们连接起位半减器,然后用例化语句将它们连接起来,图来,图3-303-30中中h_suberh_suber是半减器,是半减器,diffdiff是输出差,是输出差,s_outs_out是是借位输出,借位输出,sub_insub_in是借位输入。是借位输入。(2 2)根据图)根据图3-303-30设计设计1 1位全减器。位全减器。(3 3)以)以1 1位全减器为基本硬件,构成串行借位的位全减器为基本硬件,构成串行借位的8 8位减法位减法器,要求用例化语句来完成此项设计。器,要求用例化语句来完成此项设计。作作 业业 半减器的真值表:半减器的真值表:x xy ydiffdiffs
25、_outs_out0000011110101100diff =x y;s_out=(x)&y;表达式:表达式:case、if_else语句描述语句描述表达式、算数操作符描述表达式、算数操作符描述作作 业业 1)半半减减器器分分别别用用case语语句句、if_else语语句句、逻逻辑辑操操作符、算数操作符作符、算数操作符4种方式描述种方式描述用逻辑操作符半减器描述:用逻辑操作符半减器描述:作作 业业 2)1位全减器位全减器用半减器及例化语句描述用半减器及例化语句描述作作 业业 3)8位减法器位减法器用用1位全加器例化语句描述位全加器例化语句描述作作 业业 8位减法器仿真波形:位减法器仿真波形:3
26、.2 时序模块及其时序模块及其Verilog表述表述 3.2.1 边沿触发型触发器及其边沿触发型触发器及其Verilog表述表述 工作原理工作原理:时钟上升沿到来时,将时钟上升沿到来时,将D送入送入Q。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.1 边沿触发型触发器及其边沿触发型触发器及其Verilog表述表述 3.2 时序模块及其时序模块及其Verilog表述表述 3.2.1 边沿触发型触发器及其边沿触发型触发器及其Verilog表述表述 新语法:新语法:posedge定义:对上升沿敏感的表述。定义:对上升沿敏感的表述。作用:告诉综合器构建边沿触发型时序元件。作用:告诉综
27、合器构建边沿触发型时序元件。与与posedge对应的对应的negedge,下降沿敏感表述。,下降沿敏感表述。凡是边沿触发性质的时序元件必须在敏感信号表中凡是边沿触发性质的时序元件必须在敏感信号表中使用边沿敏感表述,而不用此表述产生的时序电路使用边沿敏感表述,而不用此表述产生的时序电路都是电平敏感时序电路。都是电平敏感时序电路。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.2 电平触发型锁存器及其电平触发型锁存器及其Verilog表述表述 当当CLK为为高高电电平平时时,Q随随着着D的的变变化化而而更更新新,当当CLK为低电平时,将保存其在高电平时锁入的数据。为低电平时,将保存
28、其在高电平时锁入的数据。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.2 电平触发型锁存器及其电平触发型锁存器及其Verilog表述表述 3.2 时序模块及其时序模块及其Verilog表述表述 3.2.2 电平触发型锁存器及其电平触发型锁存器及其Verilog表述表述 思考:思考:2)为什么综合结果是锁存器而不是触发器?)为什么综合结果是锁存器而不是触发器?1)描描述述方方式式与与纯纯组组合合逻逻辑辑电电路路相相似似,为为什什么么综综合合结结果果是时序电路?是时序电路?3)没没有有nesedge和和posedge同同样样可可以以综综合合出出时时序序电电路路,通过使用不完整的通
29、过使用不完整的if_else语句。语句。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.2 电平触发型锁存器及其电平触发型锁存器及其Verilog表述表述 工作原理工作原理:时钟上升沿到来时钟上升沿到来时,将时,将D送入送入Q,属于边沿,属于边沿触发,敏感信号表中触发,敏感信号表中posedge表述。表述。当当CLK=1,Q随随着着D的的变变化化而而更更新新,当当CLK=0时时,Q值值保保持持,属属于于电电平平触触发发,敏敏感信号表列电平信号。感信号表列电平信号。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.3 含异步复位含异步复位/时钟使能型触发器及其时钟使
30、能型触发器及其Verilog表述表述 异异步步:独独立立于于时时钟钟控控制制的的复复位位控控制制端端RST,在在任任意意时时刻刻,只只要要RST=0,D触触发发器器的的输输出出端端即即刻刻被被清清零零,与与时时钟钟的的状状态态无无关关。EN的的功功能能是是,只只有有当当EN=1时时,时时钟钟上上升升沿沿才有效。才有效。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.3 含异步复位含异步复位/时钟使能型触发器及其时钟使能型触发器及其Verilog表述表述 module DFF2(RST,CLK,EN,D,Q);input RST,CLK,EN,D;output Q;reg Q;a
31、lways(posedge CLK or negedge RST)beginif(!RST)Q=0;else if(EN)Q=D;endendmodule3.2 时序模块及其时序模块及其Verilog表述表述 3.2.3 含异步复位含异步复位/时钟使能型触发器及其时钟使能型触发器及其Verilog表述表述 复复位位信信号号RST=0时时,不不管管时时钟钟信信号号是是何何种种状状态态,Q即刻被清即刻被清0。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.4 同步复位型触发器及其同步复位型触发器及其Verilog表述表述 同同步步:指指RST信信号号只只有有在在时时钟钟信信号号有有
32、效效时时,才才能能起起作作用。用。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.4 同步复位型触发器及其同步复位型触发器及其Verilog表述表述 module DFF3(RST,CLK,D,Q);input RST,CLK,D;output Q;reg Q;always(posedge CLK)beginif(RST=1)Q=0;else Q=D;endendmodule3.2 时序模块及其时序模块及其Verilog表述表述 3.2.4 同步复位型触发器及其同步复位型触发器及其Verilog表述表述 复复位位信信号号RST=1时时,且且时时钟钟上上升升沿沿到到来来,才才对对
33、Q清清0;反反之之复复位位信信号号RST=1时时,时时钟钟上上升升沿沿没没有有到到来来,则则Q不能被清不能被清0。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.5 异步复位型锁存器及其异步复位型锁存器及其Verilog表述表述 异步复位:异步复位:RST独立于时钟的状态;独立于时钟的状态;锁存器:属电平敏感型电路,类似组合逻辑电路描述法。锁存器:属电平敏感型电路,类似组合逻辑电路描述法。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.5 异步复位型锁存器及其异步复位型锁存器及其Verilog表述表述 3.2 时序模块及其时序模块及其Verilog表述表述 3.
34、2.5 异步复位型锁存器及其异步复位型锁存器及其Verilog表述表述 RST=0时,不管时,不管CLK是何种状态,是何种状态,Q即刻被清即刻被清0。RST=1时时,CLK=1时时,Q随随D的的变变化化而而变变化化,CLK=0时,时,Q保持保持CLK=1时的值。时的值。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.6 Verilog的时钟过程表述的特点和规律的时钟过程表述的特点和规律 1)敏敏感感信信号号表表含含有有negedge和和posedge时时,选选择择性性地地改改变变敏敏感感信信号号的的放放置置是是可可以以影影响响综综合合结结果果的的,例例如如,同同步步复复位型触发
35、器和异步复位型触发器;位型触发器和异步复位型触发器;2)敏敏感感信信号号表表中中一一旦旦含含有有negedge或或posedge的的边边沿沿敏敏感感信信号号后后,所所有有其其他他电电平平敏敏感感型型信信号号都都不不能能放放在在敏敏感感信信号号表中;表中;3)如如果果在在同同一一模模块块中中含含有有独独立立于于主主时时钟钟的的时时序序或或组组合合逻逻辑,必须在另一过程描述。辑,必须在另一过程描述。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.6 Verilog的时钟过程表述的特点和规律的时钟过程表述的特点和规律 对于边沿触发型时序电路,遵循以下规律:对于边沿触发型时序电路,遵循
36、以下规律:1)如果将信号定义为边沿敏感信号,则必须在敏感信号表中用)如果将信号定义为边沿敏感信号,则必须在敏感信号表中用negedge或或posedge给出表述,给出表述,但在但在always过程结构中不能过程结构中不能再出现该信号了,例如,时钟触发器时钟再出现该信号了,例如,时钟触发器时钟CLK。2)如果一个对应于时钟的电平敏感的异步控制信号,则除了在)如果一个对应于时钟的电平敏感的异步控制信号,则除了在敏感信号表中给出对应的表述外,在敏感信号表中给出对应的表述外,在always过程结构中必须明过程结构中必须明示这一信号的逻辑功能,如异步示这一信号的逻辑功能,如异步RST。3)如果一个信号是
37、对应于时钟的同步控制信号,则不允许在敏)如果一个信号是对应于时钟的同步控制信号,则不允许在敏感信号表中出现,如同步感信号表中出现,如同步RST。4)敏感信号分为两种类型:电平敏感信号和边沿敏感信号,在)敏感信号分为两种类型:电平敏感信号和边沿敏感信号,在同一过程的敏感信号表中,只能放置一种敏感信号,不能混放。同一过程的敏感信号表中,只能放置一种敏感信号,不能混放。3.2 时序模块及其时序模块及其Verilog表述表述 3.2.7 异步时序模块的异步时序模块的Verilog表述表述 3.2 时序模块及其时序模块及其Verilog表述表述 3.2.7 异步时序模块的异步时序模块的Verilog表述
38、表述 module AMOD(D,A,CLK,Q);input D,A,CLK;output Q;reg Q,Q1;always(posedge CLK)begin Q1=(A|Q);end always(posedge Q1)begin Q=D;endendmodule3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.1 4位二进制计数器及其位二进制计数器及其Verilog表述表述 分分析析:最最简简单单的的4位位二二进进制制计计数数器器应应该该有有一一个个时时钟钟输输入入CLK,4位位二二进进制制的的计计数数值值输输出出Q3:0,每每进进入入一一个个时时钟钟,输输出出
39、数数据据Q将将增增加加1,随随着着时时钟钟CLK的的不不断断出出现现,计计数数值值Q从从0000至至1111循环输出值。循环输出值。3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.1 4位二进制计数器及其位二进制计数器及其Verilog表述表述 module CNT4(CLK,Q);input CLK;output 3:0 Q;reg 3:0Q1;always(posedge CLK)begin Q1=Q+1;end assign Q=Q1;endmodule3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.1 4位二进制计数器及其位二进制计数器及
40、其Verilog表述表述 3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.1 4位二进制计数器及其位二进制计数器及其Verilog表述表述 3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.2 功能更全面的计数器设计功能更全面的计数器设计 带有异步复位、同步使能和预置型十进制计数器。带有异步复位、同步使能和预置型十进制计数器。输入输出分析:输入输出分析:输入信号包括时钟信号输入信号包括时钟信号CLK、异步复位信号、异步复位信号RST,同步使能信,同步使能信号号EN,同步预置信号,同步预置信号LOAD,预置数,预置数DATA3:0。输出信号包括计数输
41、出输出信号包括计数输出DOUT3:0,计数溢出时的进位信号,计数溢出时的进位信号COUT。逻辑功能分析:逻辑功能分析:1)异步复位:任意时刻,只要)异步复位:任意时刻,只要RST为为0,计数器都有清,计数器都有清0;2)当)当RST=1、使能、使能EN=1,且,且CLK上升沿到来时,当上升沿到来时,当LOAD=0将将DATA预置给计数输出值;预置给计数输出值;LOAD为为1时,计数时,计数器正常计数,当计数值为器正常计数,当计数值为9时,时,COUT输出进位值输出进位值1。3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.2 功能更全面的计数器设计功能更全面的计数器设计 3.3 二进制计数器及其二进制计数器及其Verilog设计设计 3.3.2 功能更全面的计数器设计功能更全面的计数器设计 习习 题题 3-9 习习 题题 3-13 习习 题题 3-13 习习 题题 3-13 习习 题题 3-13