电子设计自动化基础-3课件_第1页
电子设计自动化基础-3课件_第2页
电子设计自动化基础-3课件_第3页
电子设计自动化基础-3课件_第4页
电子设计自动化基础-3课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子设计自动化基础-31内容Verilog结构描述模块调用与端口名对应方式分级结构(层次式结构)与分级名Verilog结构描述:门级描述基本门级元件基本门与连线延时表示连线驱动强度2哈尔滨工业大学微电子中心Verilog结构描述电路描述行为描述:侧重对模块行为功能的抽象描述结构描述:侧重对模块内部结构实现的具体描述门级描述:对由基本逻辑门(and、or…)互连而成的具有一定功能的电路模块的描述结构描述:将上述逻辑门用一个个功能模块替换,就拓展到一般意义的结构描述结构描述侧重对模块内部结构实现的具体描述3哈尔滨工业大学微电子中心Verilog结构描述模块调用模块调用是Verilog结构描述的基本构成方式通过调用其他模块来搭建新的模块如果当前模块不再被其他模块调用,此模块即称作顶层模块模块调用类型基本门调用module模块调用5哈尔滨工业大学微电子中心Verilog结构描述模块调用的基本形式:

模块名调用名(端口名表项);调用名是唯一的模块调的端口名对应方式位置对应端口名对应:.定义时的端口名(调用时与之相连的信号名)允许出现不连接的端口6哈尔滨工业大学微电子中心Verilog结构描述模块调用(元件例化)7哈尔滨工业大学微电子中心Verilog结构描述如果从逻辑电路图开始给电路图每个输入输出引脚赋以端口名给电路图每条内部连线取连线名给电路图每个逻辑单元取单元名(调用名)给本电路模块取模块名用module定义相应模块名的结构描述,并将图中所有输入输出端口名列入端口名列表中,再完成对各端口输入输出类型说明依照图中连接关系,确定单元之间端口信号连接9哈尔滨工业大学微电子中心Verilog结构描述注意:对于位宽大于1位的内部连线,需补充相应连线类型说明对于Verilog内含的基本门级元件调用,可以省略调用名,仿真系统在模拟过程中会给其自动赋予“基本门名$序列号”的缺省名对于Verilog内含的基本门级元件调用,允许在调用同时给出门的延时参数和驱动强度10哈尔滨工业大学微电子中心Verilog结构描述例:全加器//行为描述vs结构描述(b)门级11哈尔滨工业大学微电子中心Verilog结构描述全加器行为描述实例:modulefadder(sum,cout,a,b,cin);//--------端口声明outputsum,cout;inputa,b,cin;//--------数据类型声明regsum,cout;//--------行为级描述always@(aorborcin)//过程语句begin //过程块sum=a^b^cin; //过程赋值语句cout=(a&b)|(b&cin)|(cin&a);endendmodule13哈尔滨工业大学微电子中心Verilog结构描述全加器结构描述实例modulefadder(sum,cout,a,b,cin);//-----------端口声明outputsum,cout;inputa,b,cin;//-----------门级互连 xorU0(sum,a,b,cin); andU1(net1,a,b); andU2(net2,a,cin); andU3(net3,b,cin); orU4(cout,net1,net2,net3);endmodule14哈尔滨工业大学微电子中心Verilog结构描述分级结构(层次式结构)与分级名(HierarchicalName)顶层模块->次级模块->……不单以模块为分级依据:module、task、function、有名块,每一个都可作为分枝分级名:任何模块中的调用元件、task、function以及连线,都可依据从根出发经各个中间分枝的一条路径确定它在此设计中独有的标识名。15哈尔滨工业大学微电子中心本例子中完整的分级名:模块单元名:toptop.atop.a.amodtop.a.bmod有名块名: top.block1top.block1.block2top.a.amod.keeptop.a.bmod.keep信号线名: top.stim1top.stim2top.block1.block2.hold top.a.stim1top.a.stim2 op.a.amod.keep.hold op.a.bmod.keep.hold17哈尔滨工业大学微电子中心系统结构描述//topmodulemoduletest;//模块例化fadderU0(sum,cout,a,b,cin);fadder_stimstim1(a,b,cin);endmodule//应用激励modulefadder_stim(a,b,cin);outputa,b,cin;rega,b,cin;initialbegina=0;b=0;cin=0;#5cin=1;#5cin=0;b=1;#5cin=1;#5a=1;b=0;cin=0;#5cin=1;#5cin=0;b=1;#5cin=1;#10$finish;//结束仿真endendmodule18哈尔滨工业大学微电子中心Verilog结构描述:门级描述基本元件(BasicPrimitives):26种门级元件(gate-levelprimitives):14种开关级元件(switch-levelprimitives):12种19哈尔滨工业大学微电子中心Verilog结构描述:门级描述一、and、nand、or、nor、xor、nxor 门名(输出,输入1,输入2,……); 特点:只有一个输出二、buf、not 门名(输出1,输出2,……,输入) 特点:只有一个输入21哈尔滨工业大学微电子中心Verilog结构描述:门级描述三、bufif1、bufif0、notif1、notif0 门名(输出,输入,使能控制端); 特点:带有使能控制端->三态输出四、pullup、pulldown 门名(输出); 特点:只有输出端22哈尔滨工业大学微电子中心基本门元件调用的完整格式:门名

(对1驱动强度,对0驱动强度)#(延迟)调用名

(端口名表项);and(out,a,b);or(out,in1,in2,in3);//aprimitiveinstancewithout //instancenamebufU0(out,in);//specifytheinstancenamenotif0#5n0(out,in,enable);//specifythedelay注意端口名列表次序为先output再input。23哈尔滨工业大学微电子中心Verilog结构描述:门级描述基本门与连线的延时表示门级延时:输入端发生变化到输出发生变化的门传输延时assign语句延时:左端发生变化到右端发生变化的延时连线延时:信号在连线上的传输延时延时基本表示法: #(d1,d2,d3) d1:上升延时 d2:下降延时 d3:关断延时-针对三态输出25哈尔滨工业大学微电子中心(上升,下降,关断)延迟表示法0,x,orZto11,x,orZto00or1toZt_riset_fallt_turnoff26哈尔滨工业大学微电子中心and#(3,2)(out,in1,in2); //基本门延时assign#(3,2)out=in1&in2; //assign赋值延时wire#(3,2)out=in1&in2; //连线定义in1in2out32ttt1注意:如果只出现一个延时值,表示统一代表所有状态转移的延时;如果出现2个值,则代表d1,d227哈尔滨工业大学微电子中心Verilog结构描述:门级描述assign连续赋值语句的完整格式:assign

(对1驱动强度,对0驱动强度)#(延迟)赋值;连线类型说明的完整格式:连线类型

(对1驱动强度,对0驱动强度)#(延迟)连线名表项;trireg(电荷模式说明)#(延迟)连线名表项;基本门元件调用的完整格式:门名

(对1驱动强度,对0驱动强度)#(延迟)调用名

(端口名表项);29哈尔滨工业大学微电子中心连线驱动强度的表示StrengthNameStrengthElementModeled DeclarationPrintedLevel AbbreviationAbbreviation(%V)SuStPuLaWeMeSmHi SupplyDriveStrongDrivePullDriveLargeCapacitorWeakDriveMediumCapacitorSmallCapacitorHighImpedance76543210PowersupplyconnectionGateandassignoutputstrength(default)GateandassignoutputstrengthSizeoftriregnetcapacitorGateoftriregnetcapacitorSizeoftriregnetcapacitorSizeoftriregnetcapacitorNotapplicablesupplystrongpulllargeweakmediumsmallhighZ 30哈尔滨工业大学微电子中心当两个驱动强度不同的连线相连时,会以强度等级较高的连线输出为结果,例如:当没有使用强度时,Verilog的缺省值是StrongDrive,即(strong0,strong1)31哈尔滨工业大学微电子中心Verilog系统函数为了方便对仿真过程的控制与仿真结果的分析,Verilog提供了系统函数,统一以“$”开头输出控制:$display,$write,$monitor模拟时标:$time,$realtime进程控制:$finish,$stop文件读写:$readmem其它:$random……32哈尔滨工业大学微电子中心Verilog系统函数

$display与$write$write和$display列出所指定信号的值,它们的功能都相同,唯一不同点在$display输出结束后会自动换行,而$write不会换行。EX:$write("%b\t%h\t%d\t%o\n",a,b,c,d);$display("%b\t%h\t%d\t%o",a,b,c,d);33哈尔滨工业大学微电子中心输出格式说明符以及转义字符34哈尔滨工业大学微电子中心Verilog系统函数$monitor:输出变量的任何变化,都会输出一次结果;而$write和$display每调用一次执行一次EX:modulemonitor_test;regin;wireout;not#1U0(out,in);initial$monitor($time,"out=%bin=%b",out,in);initialbeginin=0;#10in=1;#10in=0;endendmodule35哈尔滨工业大学微电子中心Verilog系统函数$finish与$stop$finish终止仿真器

温馨提示

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

评论

0/150

提交评论