Verilog设计层次及风格.ppt

上传人:叶*** 文档编号:67229192 上传时间:2022-12-24 格式:PPT 页数:90 大小:2.39MB
返回 下载 相关 举报
Verilog设计层次及风格.ppt_第1页
第1页 / 共90页
Verilog设计层次及风格.ppt_第2页
第2页 / 共90页
点击查看更多>>
资源描述

《Verilog设计层次及风格.ppt》由会员分享,可在线阅读,更多相关《Verilog设计层次及风格.ppt(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Verilog设计层次及风格第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系7.1 Verilog设计的层次设计的层次Verilog HDL是是硬硬件件描描述述语语言言的的一一种种,用用于于数数字字电电子子系系统统设设计计。设设计计者者可可用用它它进进展展各各种种级级别别的的逻逻辑辑设设计计,可可用用它它进进展展数数字字逻逻辑辑系系统统的的仿仿真真验验证证、时时序序分分析析、逻逻辑辑综综合合。它它是是目目前前应应用用最最广广泛泛的的一一种种硬硬件件描描述语言。述语言。Verilog既既是是一一种种行行为为描描述述的的语语言言也也是

2、是一一种种构构造造描描述述语言。语言。Verilog 较较 为为 适适 合合 系系 统统 级级(System)、算算 法法 级级(Alogrithem)、存存放放器器传传输输级级(RTL)、逻逻辑辑(Logic)、门级门级(Gate)和电路开关级和电路开关级(Switch)的设计。的设计。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系Verilog描述的模型可以是实际电路五级不同级别的抽象:描述的模型可以是实际电路五级不同级别的抽象:系系统统级级(system level):用用高高级级语语言言构构造造如如case语语句句实实现

3、的设计模块外部性能的模型;现的设计模块外部性能的模型;算算法法级级(algorithmic level):用用高高级级语语言言构构造造实实现现的的设设计计算法模型写出逻辑表达式;算法模型写出逻辑表达式;RTL级级(register transfer level):描描述述数数据据在在存存放放器器之之间间流动和如何处理这些数据的模型;流动和如何处理这些数据的模型;门门级级(gate level):描描述述逻逻辑辑门门如如与与门门、非非门门、或或门门、与非门、三态门等以及逻辑门之间连接的模型;与非门、三态门等以及逻辑门之间连接的模型;开开关关级级(switch level):描描述述器器件件中中三

4、三极极管管和和储储存存节节点点及及其其之间连接的模型。之间连接的模型。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系Verilog设计的描述风格设计的描述风格(建模建模)分为分为3种:种:构构造造(Structural)描描述述:先先描描述述功功能能的的逻逻辑辑电电路路图图,再再调调用用库库中中的的标标准准元元器器件件或或已已设设计计好好的的模模块块加加以以描描述述,就就是是表表示示元元器器件件之之间间的的互互连连,将将它它们们组组装装起起来来,形成更为复杂的设计。形成更为复杂的设计。行行为为(Behavioural)描描述述:

5、对对设设计计实实体体按按算算法法的的路路径径来来描描述述,只只描描述述所所希希望望电电路路的的功功能能或或者者说说电电路路行行为为,而没有直接指明或涉及实现这些行为的硬件构造。而没有直接指明或涉及实现这些行为的硬件构造。数数据据流流(Data Flow)描描述述:以以规规定定设设计计中中的的各各种种存存放放器器形形式式为为特特征征,然然后后在在存存放放器器之之间间插插入入组组合合逻逻辑辑,描述数据流程的运动路径、运动方向和运动结果。描述数据流程的运动路径、运动方向和运动结果。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系7.2

6、用库元件实现构造描述用库元件实现构造描述调调用用Verilog HDL内内置置(内内部部预预先先定定义义好好的的)根根本本门门级级元元件件,或或用用户户自自定定义义根根本本元元件件(UDP)来来对对硬硬件件电电路进展构造描述。路进展构造描述。实现方法:实现方法:调用开关级元件;调用开关级元件;调用调用Verilog内置的根本门级元件;内置的根本门级元件;用用户户自自定定义义元元件件:根根据据不不同同用用户户的的需需要要,由由用用户户自自己己定定义义的的模模块块,定定义义好好以以后后可可以以象象内内置置根根本本门门级级元元件一样被调用;件一样被调用;通过例化方式调用以不同方式表述的模块元件。通过

7、例化方式调用以不同方式表述的模块元件。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系1.内置根本门级元件内置根本门级元件(14个个多输入门多输入门and与门与门nand与非门与非门or或门或门nor或非门或非门xor异或门异或门xnor异或非门异或非门多输出门多输出门buf缓冲器缓冲器not非门非门三态门三态门bufif0(低电平使能缓冲器低电平使能缓冲器bufif1(高电平使能缓冲器高电平使能缓冲器notif0(低电平使能非门低电平使能非门notif1(高电平使能非门高电平使能非门上拉、下拉电阻上拉、下拉电阻pullup(上拉

8、电阻上拉电阻pulldown(下拉电阻下拉电阻第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系根本门的逻辑真值表根本门的逻辑真值表 nand 有有0那么那么1,全,全1那么那么0,其它,其它x;nor 有有1那么那么0,全,全0那么那么1,其它,其它x;xor 01那那么么1,全全1那那么么0,全全0那那么么0,其其它它x;xnor 全全0那那么么1,全全1那那么么1,01那那么么0,其其它它x;buf 入出一样;入出一

9、样;not 01相反,其它相反,其它x;bufif1 0控那么控那么z,1控那么同;控那么同;bufif0 1控那么控那么z,0控那么同;控那么同;notif1 0控那么控那么z,1控那么反;控那么反;notif0 1控那么控那么z,0控那么反。控那么反。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系2.多输入门多输入门包括包括6种门级元件:种门级元件:and、nand、or、nor、xor、xnor。特点:有特点:有1个或多个输出,但只有个或多个输出,但只有1个输入。个输入。3.多输出门多输出门包括包括2种门级元件:种门级元件

10、:not 和和buf。特点:有特点:有1个或多个输出,但只有个或多个输出,但只有1个输入。个输入。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系4.三态门三态门有一个输出、一个数据输入和一个控制输入。有一个输出、一个数据输入和一个控制输入。特点:数据输出端可以实现三态输出特点:数据输出端可以实现三态输出。bufif0(低低电电平平使使能能缓缓冲冲器器):假假设设控控制制输输入入为为1,那那么么输输出出为为z(输输出出端端处处于于高高阻阻状状态态);假假设设控控制制输输入入为为0,输输入入数数据据被被传传输至输出端。输至输出端。b

11、ufif1(高高电电平平使使能能缓缓冲冲器器):假假设设控控制制输输入入为为1,那那么么输输入入数数据被传输至输出端;假设控制输入为据被传输至输出端;假设控制输入为0,那么输出为,那么输出为z。notif0(低低电电平平使使能能非非门门):假假设设控控制制输输入入为为1,那那么么输输出出为为z;假设控制输入为假设控制输入为0,那么输出端是输入数据值的逻辑非。,那么输出端是输入数据值的逻辑非。notif1(高高电电平平使使能能非非门门):假假设设控控制制输输入入为为1,那那么么输输出出端端是是输入数据值的逻辑非;假设控制输入为输入数据值的逻辑非;假设控制输入为0;那么输出为;那么输出为z。第七章

12、第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系5.上拉门、下拉门上拉门、下拉门(电阻电阻)上拉门:上拉门:pullup,将输出置为,将输出置为1。下拉门:下拉门:pulldown,将输出置为,将输出置为0。它们都只有一个输出端口而没有输入端口。它们都只有一个输出端口而没有输入端口。6.库元件调用格式:库元件调用格式:7.根本门元件名根本门元件名 ();8.列表顺序:列表顺序:(输出输出1,输出,输出2,输入,输入1,输入输入2,);9.端口连接须用位置关联法。端口连接须用位置关联法。第七章第七章 Verilog设计的层次与风格设计的层

13、次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系7.各门元件的调用各门元件的调用8.1多输入门端口列表顺序多输入门端口列表顺序9.(输出输出,输入输入1,输入输入2,输入输入3 );10.and a1(out,in1,in2,in3);11.2三态门端口列表顺序三态门端口列表顺序12.(输出输出,输入输入,使能控制端使能控制端);13.bufif1 mytri1(out,in,enable);14.3多输出门端口列表顺序多输出门端口列表顺序15.(输出输出1,输出输出2,输入输入);16.not N1(out1,out2,in);第七章第七章 Verilog设计的层次与风格设计的层

14、次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系8.门级构造描述门级构造描述用根本门实现的用根本门实现的4选选1 MUX原理图原理图 第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例【例7.1】调用用门元件元件实现的的4选1 MUXmodule mux4_1a(out,in1,in2,in3,in4,s0,s1);input in1,in2,in3,in4,s0,s1;output out;wire s0_n,s1_n,w,x,y,z;not(s0_n,s0),(s1_n,s1);and(w,in1,s0_n,s1

15、_n),(x,in2,s0_n,s1),(y,in3,s0,s1_n),(z,in4,s0,s1);or(out,w,x,y,z);endmodule第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系9.用户自定义元件用户自定义元件(UDP)(:P272)UDP:User Defined Primitive可可利利用用UDP来来定定义义有有自自己己特特色色的的用用于于仿仿真真的的根根本本逻辑元件模块并建立相应的原语库。逻辑元件模块并建立相应的原语库。使使用用UDP定定义义后后,就就能能够够象象调调用用根根本本门门元元件件一

16、一样样在模块中使用,但端口列表只能有位置关联。在模块中使用,但端口列表只能有位置关联。UDP在在ModelSimt和和Quartus 等等EDA工工具具可可综综合合,但在但在Pynplify Pro 等等EDA工具不可综合。工具不可综合。UDP模模块块的的构构造造与与一一般般模模块块类类似似,只只是是不不用用module而而 改改 用用 primitive关关 键键 词词 开开 场场,不不 用用endmodule而改用而改用endprimitive关键词完毕。关键词完毕。第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系与

17、与一般的模块相比,一般的模块相比,UDP模块具有下面一些特点:模块具有下面一些特点:1.UDP的的输输出出端端口口只只能能有有一一个个,且且必必须须位位于于端端口口列列表表的的第一项。只有输出端口能被定义为第一项。只有输出端口能被定义为reg类型。类型。2.UDP的的输输入入端端口口可可有有多多个个,一一般般时时序序电电路路UDP的的输输入入端口可多至端口可多至9个,组合电路个,组合电路UDP的输入端口可多至的输入端口可多至10个。个。3.所有的端口变量必须是所有的端口变量必须是1位标量。位标量。4.在在table表表项项中中,只只能能出出现现0、1、x三三种种状状态态,不不能能出出现现z状态

18、。状态。第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系1.UDP的定义的定义(primitiveendprimitive)2.primitive 元件名输出端口,输入端口元件名输出端口,输入端口1,输入端,输入端口口2,3.output 输出端口名;输出端口名;4.input 输入端口输入端口1,输入端口,输入端口2,;5.reg 输出端口名;输出端口名;6.initial begin7.输出端口或内部存放器赋初值输出端口或内部存放器赋初值0,1或或x;8.end9.table10./输入输入1 输入输入2 :输出:输

19、出11.真值列表真值列表12.endtable13.endprimitive只有一个输出端口只有一个输出端口第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系2.组合电路组合电路UDP元件元件primitive carry_udp(cout,cin,a,b);input cin,a,b;output cout;table/cin a b:cout /真值表真值表 0 0 0 :0;0 1 0 :0;0 0 1 :0;0 1 1 :1;1 0 0 :0;1 0 1 :1;1 1 0 :1;1 1 1 :1;endtablee

20、ndprimitive 【例例9.3】1位全加器进位输出位全加器进位输出UDP元件元件第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系primitive carry_udpx(cout,cin,a,b);input cin,a,b;output cout;table/cin a b :cout /真值表真值表 0 0 0 :0;0 1 0 :0;0 0 1 :0;0 1 1 :1;1 0 0 :0;1 0 1 :1;1 1 0 :1;1 1 1 :1;0 0 x :0;0 x 0 :0;x 0 0 :0;1 1 x :1;1 x

21、1 :1;x 1 1 :1;endtableendprimitive 【例例9.4】包含包含x态输入的态输入的1位全加器进位输出位全加器进位输出UDP元件元件第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例【例9.5】用简缩符】用简缩符“?表述的?表述的1位全加器进位输出位全加器进位输出UDP元件元件primitive carry_udpx(cout,cin,a,b);input cin,a,b;output cout;table/cin a b :cout /真值表真值表?0 0 :0;/只只要要有有两两个个输输入入为为0,

22、那那么么进进位位输出肯定为输出肯定为0 0?0 :0;0 0?:0;?1 1 :1;/只只要要有有两两个个输输入入为为1,那那么么进进位位输出肯定为输出肯定为1 1?1 :1;1 1?:1;endtableendprimitive第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系3.时序电路时序电路UDPprimitive latch(q,clk,reset,d);input clk,reset,d;output q;reg q;initial q=1b1;/初始化初始化table/clk reset d :state:q

23、?1?:?:0;0 0 0 :?:0;0 0 1 :?:1;1 0?:?:-;endtableendprimitive【例例9.6】电平敏感的电平敏感的1位数据锁存器位数据锁存器UDP元件元件第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例9.7】上升沿触发的上升沿触发的D触发器触发器UDP元件元件primitive dff_udp(q,d,clk);input d,clk;output q;reg q;table/clk d :state:q(01)0 :?:0;/上升沿到来,输出上升沿到来,输出q=d(01)1 :?:1

24、;(0 x)1 :1 :1;(0 x)0 :0 :0;(?0)?:?:-;/没有上升沿到来,输出没有上升沿到来,输出q保持原值保持原值?(?):?:-;/时钟不变,输出也不变时钟不变,输出也不变endtableendprimitive第五章第五章 Verilog运算符与结构描述语句运算符与结构描述语句 材料与能源学院微电子工程系材料与能源学院微电子工程系UDP中的缩记中的缩记符符第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系7.3 行为描述行为描述行为描述就是对设计实体的数学模型的描述,其抽行为描述就是对设计实体的数学模型的描述

25、,其抽象程度远高于构造描述方式。象程度远高于构造描述方式。行为描述类似于高级编程语言,当描述一个设计实行为描述类似于高级编程语言,当描述一个设计实体的行为时,无需知道具体电路的构造,只需要描体的行为时,无需知道具体电路的构造,只需要描述清楚输入与输出信号的行为,而不需要花费更多述清楚输入与输出信号的行为,而不需要花费更多的精力关注设计功能的门级实现。的精力关注设计功能的门级实现。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.2】用用case语句描述的语句描述的4选选1 MUXmodule mux4_1b(out,in1

26、,in2,in3,in4,s0,s1);input in1,in2,in3,in4,s0,s1;output reg out;always(*)/使用通配符使用通配符case(s0,s1)2b00:out=in1;2b01:out=in2;2b10:out=in3;2b11:out=in4;default:out=2bx;endcaseendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.3】行为描述的行为描述的4位计数器位计数器module count4(clk,clr,out);input clk,clr

27、;output3:0 out;reg3:0 out;always(posedge clk or posedge clr)beginif(clr)out=0;else out=out+1;endendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系采用行为描述方式时需注意:采用行为描述方式时需注意:用行为描述模式设计电路,可以降低设计难度。行用行为描述模式设计电路,可以降低设计难度。行为描述只需表示输入与输出之间的关系,不需要包为描述只需表示输入与输出之间的关系,不需要包含任何构造方面的信息。含任何构造方面的信息。设计者

28、只需写出源程序,而挑选电路方案的工作由设计者只需写出源程序,而挑选电路方案的工作由EDA软件自动完成。软件自动完成。在电路的规模较大或者需要描述复杂的逻辑关系时,在电路的规模较大或者需要描述复杂的逻辑关系时,应首先考虑用行为描述方式设计电路,如果设计的应首先考虑用行为描述方式设计电路,如果设计的结果不能满足资源占有率的要求,那么应改变描述结果不能满足资源占有率的要求,那么应改变描述方式。方式。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系 数据流描述数据流描述数据流描述方式主要使用持续赋值语句,多用于描数据流描述方式主要使用持续

29、赋值语句,多用于描述组合逻辑电路,其格式为:述组合逻辑电路,其格式为:assign LHS_net=RHS_expression;右边表达式中的操作数无论何时发生变化,都会引右边表达式中的操作数无论何时发生变化,都会引起表达式值的重新计算起表达式值的重新计算,并将重新计算后的值赋予并将重新计算后的值赋予左边表达式的左边表达式的net型变量。型变量。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.4】数据流描述的数据流描述的4选1 MUXmodule mux4_1c(out,in1,in2,in3,in4,s0,s1);i

30、nput in1,in2,in3,in4,s0,s1;output out;assign out=(in1&s0&s1)|(in2&s0&s1)|(in3&s0&s1)|(in4&s0&s1);endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系用数据流描述方式设计电路与用传统的逻辑方程设用数据流描述方式设计电路与用传统的逻辑方程设计电路很相似。设计中只要有了布尔代数表达式就计电路很相似。设计中只要有了布尔代数表达式就很容易将它用数据流方式表达出来。很容易将它用数据流方式表达出来。表达方法是用表达方法是用Verilo

31、g中的逻辑运算符置换布尔逻辑中的逻辑运算符置换布尔逻辑运算符即可。比方,如果逻辑表达式为:运算符即可。比方,如果逻辑表达式为:f=ab+cd,那么用数据流方式描述为:那么用数据流方式描述为:assign F=(a&b)|(c&d)数据流描述有时也表示行为,有时也含有构造信息,数据流描述有时也表示行为,有时也含有构造信息,因此,有的描述形式终究属于哪一种会很难界定,因此,有的描述形式终究属于哪一种会很难界定,但这绝对不会影响具体描述的应用。但这绝对不会影响具体描述的应用。下面是下面是2选选1MUX三种不同的描述。三种不同的描述。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能

32、源学院微电子工程系材料与能源学院微电子工程系【例【例7.6】门级构造描述的】门级构造描述的2选选1MUXmodule MUX2_1a(output out,input a,b,sel);wire sel_,a1,a2;not(sel_,sel);and(a1,a,sel_),(a2,b,sel);or(out,a1,a2);endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.7】行为描述的行为描述的2选选1MUXmodule MUX2_1b(out,a,b,sel);output out;input a,b

33、,sel;reg out;always(a or b or sel)beginif(sel)out=b;else out=a;endendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.8】数据流描述的数据流描述的2选选1MUXmodule MUX2_1c(out,a,b,sel);output out;input a,b,sel;assign out=sel?b:a;endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系 不同描述风

34、格的设计不同描述风格的设计对设计者而言,采用的描述级别越高,设计越容易;对设计者而言,采用的描述级别越高,设计越容易;对综合器而言,行为级的描述为综合器的优化提供对综合器而言,行为级的描述为综合器的优化提供了更大的空间,较之门级构造描述更能发挥综合器了更大的空间,较之门级构造描述更能发挥综合器的性能,所以在电路设计中,除非一些关键路径的的性能,所以在电路设计中,除非一些关键路径的设计采用门级构造描述外,一般更多地采用行为建设计采用门级构造描述外,一般更多地采用行为建模方式。模方式。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系

35、半加器设计半加器设计【例例7.10】数据流描述的数据流描述的1位半加器位半加器module h_add2(a,b,so,co);input a,b;output so,co;assign so=a b;assign co=a&b;endmodule【例【例7.9】门级构造描述的】门级构造描述的1位半加器位半加器module h_add1(a,b,so,co);input a,b;output sum,cout;and(co,a,b);xor(so,a,b);endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7

36、.11】行为描述的行为描述的1位半加器位半加器module h_add3(a,b,so,co);input a,b;output sum,cout;reg sum,cout;always(a or b)begin case(a,b)2b00:begin so=0;co=0;end 2b01:begin so=1;co=0;end 2b10:begin so=1;co=0;end 2b11:begin so=0;co=1;endendcaseendendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系1位全加器门级构造原

37、理图位全加器门级构造原理图 1位全位全加器设计加器设计第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例【例7.12】调用元件实现】调用元件实现(门级构造描述门级构造描述)的的1位全加器位全加器module full_add1(a,b,cin,sum,cout);input a,b,cin;output sum,cout;wire s1,m1,m2,m3;and(m1,a,b),(m2,b,cin),(m3,a,cin);xor(s1,a,b),(sum,s1,cin);or(cout,m1,m2,m3);endmodule第七

38、章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.13】数据流描述的数据流描述的1位全加器位全加器module full_add2(a,b,cin,sum,cout);input a,b,cin;output sum,cout;/方式方式1assign sum=a b cin;assign cout=(a&b)|(b&cin)|(cin&a);/方式方式2/assign cout,sum=a+b+cin;endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子

39、工程系【例例7.14】行为描述的行为描述的1位全加器位全加器module full_add4(a,b,cin,sum,cout);input a,b,cin;output sum,cout;reg sum,cout;reg m1,m2,m3;always(a or b or cin)beginsum=(a b)cin;m1=a&b;m2=b&cin;m3=a&cin;cout=(m1|m2)|m3;endendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系采用层次化方式设计采用层次化方式设计1位全加器位全加器两个半加

40、器和一个或门构成一个全加器:两个半加器和一个或门构成一个全加器:半加器为底层模块,全加器为顶层模块,在半加器为底层模块,全加器为顶层模块,在顶层模块中调用底层模块模块例化来构成整个顶层模块中调用底层模块模块例化来构成整个系统,类似在原理图设计中调用元器件。系统,类似在原理图设计中调用元器件。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.15】用模用模块例化方式例化方式设计的的1位全加器位全加器顶层设计顶层设计module full_add(ain,bin,cin,sum,cout);input ain,bin,cin;

41、output sum,cout;wire d,e,f;/用于内部用于内部连接的接的节点信号点信号half_add u1(ain,bin,e,d);/半加器模半加器模块调用,采用位置关用,采用位置关联方式方式half_add u2(e,cin,sum,f);or u3(cout,d,f);/或或门调用用endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.16】半加器定半加器定义module half_add(a,b,so,co);input a,b;output so,co;assign co=a&b;ass

42、ign so=ab;endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系4位全加器构造示意图位全加器构造示意图 4位全位全加器设计加器设计第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例【例7.17】构造描述的】构造描述的4位级联全加器位级联全加器include full_add1.vmodule add4_1(sum,cout,a,b,cin);output 3:0 sum;output cout;input 3:0 a,b;input cin;f

43、ull_add1 f0(a0,b0,cin,sum0,cin1);full_add1 f1(a1,b1,cin1,sum1,cin2);full_add1 f2(a2,b2,cin2,sum2,cin3);full_add1 f3(a3,b3,cin3,sum3,cout);endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系构造描述的构造描述的4位全加器位全加器RTL图图第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.18】数据流描述的数据流

44、描述的4位全加器位全加器module add4_2(cout,sum,a,b,cin);output3:0 sum;output cout;input3:0 a,b;input cin;assign cout,sum=a+b+cin;endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系【例例7.19】行为描述的行为描述的4位全加器位全加器module add4_3(cout,sum,a,b,cin);output3:0 sum;output cout;input3:0 a,b;input cin;reg3:0 sum

45、;reg cout;always(a or b or cin)begincout,sum=a+b+cin;endendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系行为和数据流描述的行为和数据流描述的4位全加器位全加器RTL图图第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系7.6 多层次构造电路的设计多层次构造电路的设计如如果果数数字字系系统统比比较较复复杂杂,可可采采用用“Top-down的的方方法进展设计。法进展设计。首首先先把把系系统统分分为为几

46、几个个模模块块,每每个个模模块块再再分分为为几几个个子子模块,以此类推,直到易于实现为止。模块,以此类推,直到易于实现为止。这这种种“Top-down的的方方法法能能够够把把复复杂杂的的设设计计分分解解为为许许多多简简单单的的逻逻辑辑来来实实现现,同同时时也也适适合合于于多多人人进进展展分分工合作,如同用工合作,如同用C语言编写大型软件一样。语言编写大型软件一样。Verilog语语言言能能够够很很好好地地支支持持这这种种“Top-down的的设计方法。设计方法。多多层层次次构构造造电电路路的的描描述述既既可可以以采采用用文文本本方方式式,也也可可以用图形和文本混合设计的方式。以用图形和文本混合

47、设计的方式。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系用一个用一个8位累加器的设计为例来说明这两种设计方式。位累加器的设计为例来说明这两种设计方式。图形与文本混合设计图形与文本混合设计:用用文文本本先先设设计计一一个个8位位全全加加器器和和一一个个8位位存存放放器,再用电路图连接起来。器,再用电路图连接起来。第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系8位全加器位全加器module add8(sum,cout,b,a,cin);output7:0 sum;o

48、utput cout;input7:0 a,b;input cin;assign cout,sum=a+b+cin;endmodule8位存放器位存放器module reg8(qout,in,clk,clear);output7:0 qout;input7:0 in;input clk,clear;reg7:0 qout;always(posedge clk or posedge clear)beginif(clear)qout=0;/异步清异步清0else qout=in;endendmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源

49、学院微电子工程系将设计工程设置成可调用的元件将设计工程设置成可调用的元件 将所需元件全部调入原理图编辑窗并连接好将所需元件全部调入原理图编辑窗并连接好第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系2.文本设计文本设计累加器顶层文本描述累加器顶层文本描述module acc(accout,cout,accin,cin,clk,clear);output7:0 accout;output cout;input7:0 accin;input cin,clk,clear;wire7:0 sum;add8 accadd8(sum,cout

50、,accout,accin,cin);/调用调用add8子模块子模块reg8 accreg8(accout,sum,clk,clear);/调用调用reg8子模块子模块endmodule第七章第七章 Verilog设计的层次与风格设计的层次与风格材料与能源学院微电子工程系材料与能源学院微电子工程系对对于于上上面面的的模模块块调调用用,可可采采用用位位置置对对应应的的方方式式,即即调调用用时时模模块块端端口口列列表表中中信信号号的的排排列列顺顺序序与与模模块块定定义义时时端端口口列列表表中中的的信信号号排排列列顺顺序序一一样样;也也可可以以采采用用信信号名对应方式,此时不必按顺序。号名对应方式,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁