版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章开发工具介绍12.1EDA基本工具12.2VerilogHDL开发工具12.3VeriLoggerPro概况12.4VeriLoggerPro使用指南12.1EDA基本工具集成电路技术的发展不断对EDA技术提出新的要求,并且促进了EDA技术的发展。但是总的来说,EDA系统的设计能力一直难以赶上集成电路技术发展的要求。EDA工具的发展经历了两大阶段:物理工具阶段和逻辑工具阶段。现在的EDA和系统设计工具正被理解成一个整体的概念——电子设计自动化。物理工具用来完成设计中的实际物理问题,如芯片布局、印刷电路板布线等。另外它还能提供一些设计的电气性能分析,如设计规则检查等。这些工作现在主要由芯片生产厂家来完成。逻辑工具是基于网表、布尔逻辑、传输时序等概念的。首先进行设计输入,包括原理图输入和硬件描述语言的输入,然后逻辑工具对设计输入进行逻辑综合、仿真、优化等操作,最后生成物理工具可以接受的网表和VHDL、VerilogHDL的结构化描述。在过去的30多年里,人们开发了大量的EDA工具来进行集成电路的设计,这些设计工具的分类如图12.1所示。图12.1设计工具分类12.1.1编辑器编辑器包括文字编辑器和图形编辑器。文件编辑器用来编辑硬件描述语言,比如VHDL和VerilogHDL。图形编辑器可用于硬件设计的各个层次。在版图级,图形编辑器可以用来编辑表示硅工艺加工过程的几何图形。在其它层次,图形编辑器还可以用来编辑硬件系统的方框图、原理图等。典型的原理图输入工具一般都具备下面三个功能:
(1)基本单元符号库,主要包括基本单元的图形符号和仿真模型。
(2)原理图编辑器的编辑功能。
(3)产生网表的功能。12.1.2仿真器仿真器又称模拟器,主要用来帮助设计者验证设计的正确性。硬件系统设计的各个层次都要用到仿真器。在数字系统中,硬件系统是由数字逻辑器件以及它们之间的互连来表示的。仿真器的用途是确定系统的输入/输出关系,所采用的方法是把每一个数字逻辑器件映射为一个或几个进程,把整个系统映射为由进程互连构成的进程网络,这种由进程互连组成的网络就是设计的仿真模型。12.1.3检查/分析工具在集成电路设计的各个层次都会用到检查/分析工具。在版图级,必须用设计规则检查工具来保证版图所表示的电路能被可靠地制造出来。在逻辑门级,检查/分析工具可以用来检查是否有违反“扇出规则”的连接关系。时序分析器一般用来检查最坏情况下电路中的最大和最小延时。12.1.4优化/综合工具优化/综合工具用来把一种硬件描述转换为另一种描述,这种转换通常伴随着某种设计上的改进。在逻辑门级,可以用逻辑最小化对布尔表达式进行简化。在RTL级,优化工具可以用来确定控制序列和数据路径的最优组合。各个层次的综合工具可以将硬件的高层次描述转换为低层次描述,也可以将硬件的行为描述转换为结构描述。12.2VerilogHDL开发工具12.2.1综合工具各公司的综合工具如表12.1所示。12.2.2仿真器各公司的仿真器及其网址如表12.2所示。12.3VeriLoggerPro概况
VeriLoggerPro是SynaptiCAD
公司开发的HDL语言仿真器,它支持VHDL与VerilogHDL两种硬件描述语言,并支持多种标准,适用于多种操作平台。它是EDA设计中不可缺少的一种有效工具,也是目前最流行的HDL语言仿真器之一。12.3.1VeriLoggerPro适用平台
VeriLoggerPro适用于以下平台:
(1) MicrosoftWindows95/98/NT。
(2) HPUX11。
(3) Solaris2.6/7.0/8.0。12.3.2VeriLoggerPro支持的标准
VeriLoggerPro支持多种标准,可归纳如下:
(1) IEEE1076—1987VHDL。
(2) IEEE1076—1993VHDL。
(3) IEEEStd1364—1995Verilog。12.3.3VeriLoggerPro进行仿真的基本步骤使用VeriLoggerPro进行仿真的基本步骤为:
(1)编写源程序文件。
(2)创建工程。
(3)向工程中添加文件。
(4)编译源代码。
(5)调试程序。
(6)进行仿真。12.3.4VeriLoggerPro的窗口构成如果VeriLoggerPro仿真器安装于Windows98操作系统下,当PC机引导进入操作系统后,桌面将出现VeriLoggerPro的图标,用鼠标双击该图标就使系统进入VeriLoggerPro仿真器的窗口,其窗口构成如图12.2所示。从图12.2中可以看出,VeriLoggerPro除了主菜单、工具栏、状态栏外,还有4个子窗口,它们分别是Project(工程)窗口、Parameter(参数)窗口、Diagram(时序图)窗口及Report(报告)窗口。主菜单中有13个选项,各选项下还有子菜单,某些重要的主菜单选项与工具栏中的图标相对应,用来快速操作。图12.2VeriLoggerPro的窗口构成12.4VeriLoggerPro使用指南12.4.1创建与编辑一个Verilog语言的文件与工程创建与编辑一个Verilog语言的文件与工程,是利用VeriLoggerPro仿真器进行仿真的第一步。
1.编写源程序文件通过前面几章的介绍,读者利用VerilogHDL编写源程序文件已经不成问题,这里不再赘述。下面主要介绍VeriLoggerPro仿真器中关于源程序文件的建立、保存、打开等问题。在屏幕上用鼠标单击Editor选项,此时出现如图12.3所示的子菜单。图12.3Editor选项的子菜单通过Editor选项的子菜单,我们可以很容易地完成源程序文件的建立、保存、打开等操作:
(1)建立:Editor>NewHDLFile。
(2)保存:Editor>SaveHDLFile。
(3)打开:Editor>OpenHDLFile。
(4)关闭:Editor>Close。利用前面几章所学的知识,并结合上面所述内容,分别建立两个源程序文件:add4.v与add4test.v,以用来进行后面的编译与仿真操作,从而说明VeriLoggerPro仿真器的使用方法。为了便于以后说明的方便,这里给出add4.v与add4test.v的源程序:add4.v的源程序://**FullAdder************************modulefulladder(sum,c_out,x,y,c_in);outputsum,c_out;inputx,y,c_in;wirea,b,c;
xor(a,x,y);
xor(sum,a,c_in);and(b,x,y);and(c,a,c_in);or(c_out,c,b);endmodule//**4-BitAdder*****************************moduleFourBitAdder(sum,c_out,x,y,c_in);output[3:0]sum;outputc_out;input[3:0]x,y;inputc_in;wirec1,c2,c3;
fulladderfa0(sum[0],c1,x[0],y[0],c_in);
fulladderfa1(sum[1],c2,x[1],y[1],c1);
fulladderfa2(sum[2],c3,x[2],y[2],c2);
fulladderfa3(sum[3],c_out,x[3],y[3],c3);endmoduleadd4test.v的源程序://*******************************************`timescale1ps/1psmoduletestbed();
reg
c_in;
reg[3:0]y;
reg[3:0]x;wirec_out;wire[3:0]sum;
FourBitAdderA1(sum,c_out,x,y,c_in);initialbegin//SIGNALxx=4'b0001;#25000x=4'b0001;#25000x=4'b0010;#25000x=4'b0001;#25000x=4'b0001;#25000x=4'b1000;
#25000x=4'b0001;#25000x=4'b0001;#25000x=4'b0010;#25000x=4'b0011;#25000;endinitialbegin//SIGNALyy=4'b0001;#25000y=4'b0010;#25000y=4'b0011;#25000y=4'b1111;#25000y=4'b1111;#25000y=4'b1111;
#25000y=4'b0001;#25000y=4'b0010;#25000y=4'b0011;#25000y=4'b1111;#25000;endinitialbegin//SIGNALc_in
c_in=1'b0;#100000
c_in=1'b1;#25000
c_in=1'b0;#25000
c_in=1'b1;#100000;endinitial#250000$finish;endmodule
2.创建工程在屏幕上用鼠标单击Project选项,此时出现如图12.4所示的子菜单。单击子菜单中的NewHDLProject项,这样就建立了一个无名的工程。图12.4Project选项的子菜单
3.保存工程用鼠标单击主菜单中的Project选项,选择子菜单中的SaveHDLProject项,屏幕上会弹出如图12.5所示的对话框。在对话框的文件名中输入test,单击保存按钮,该文件名就以文件名test.hpj保存在当前目录下。此时Project子窗口的标题如图12.6所示。图12.5保存对话框图12.6Project子窗口的标题
4.向工程中添加文件在建立了工程之后,必须向该工程中添加要仿真的源程序文件。在Project子窗口中单击鼠标右键,得到如图12.7所示的弹出式菜单。选择AddHDLFile(s)…项,屏幕上就出现AddFile(s)对话框,如图12.8所示。图12.7添加文件的弹出式菜单图12.8添加文件对话框按住Shift键,选择add4.v与add4test.v两个文件,并单击打开按钮,就将这两个文件添加到刚才建立的test.hpj工程中,此时的Project子窗口如图12.9所示。图12.9添加文件后的Project子窗口
5.修改文件如果需要修改源程序文件,只需用鼠标双击Project子窗口中相应的文件名,即可打开相应的文件,以便查看或修改。例如需要修改文件add4.v,则用鼠标双击Project子窗口中的D:\Vlogger\Examples\add4.v项,屏幕上就出现add4.v的源程序文件,如图12.10所示。对修改后的文件必须存盘,以保证更新原来的文件。图12.10add4.v的源程序文件12.4.2Verilog语言工程的编译在建立了新的工程并添加文件后,Project子窗口如图12.9所示,从图中只能看到文件名,而并不能看出VerilogHDL源程序中各模块的层次,这可通过对工程进行编译来实现。
1.工程编译方法
Verilog语言工程的编译方法有以下三种:
(1)利用工具栏上的按钮。
(2)利用Simulate选项下子菜单中的Build项。
(3)利用快捷键F7。以上三种方法是等效的。
2.编译工程利用上述三种编译方法中的任一种对工程test.hpj进行编译,编译后各子窗口的内容发生了以下变化。
Project子窗口不再是如图12.9所示的只有两个添加到工程中的文件名,而是经过编译后各源文件中模块的分级树状结构,如图12.11所示。从图中可以明显看出,每一个源程序文件由几个模块构成,模块包括的端口、信号与元件,以及端口与信号的类型。编译后的Diagram子窗口如图12.12所示,测试源程序文件add4test.v中顶层模块的信号均自动添加到该窗口中,而源程序文件add4.v中模块的端口、信号及元件并不能添加到该窗口中,这一点需要读者注意。这时信号并没有任何波形显示,因为还没有对工程中的源程序文件进行仿真操作,信号并未被赋值。图12.11编译后的Project子窗口图12.12编译后的Diagram子窗口如果需要观察测试源程序文件中顶层模块的元件或元件中的端口、信号的变化,则必须将相应的元件或元件中的端口、信号添加到Diagram子窗口中去,这可通过下面的操作来实现。在编译后的Project子窗口(如图12.11所示)中找到要添加的元件或元件中的端口、信号,单击鼠标右键,系统弹出如图12.13所示的上下文菜单,从中选择WatchComponents项即可。添加元件后的Diagram子窗口如图12.14所示。图12.13添加元件时的上下文菜单图12.14添加元件后的Diagram子窗口编译后的Report子窗口如图12.15所示,从图中我们可以得到有关编译时间、编译顺序及编译成功的信息。由此可以看到,工程编译分为以下三个步骤进行:
(1)读入源程序文件,并将其转换成内部数据结构,然后检查语法错误与语义错误,包括未定义的变量、端口及变量的非法使用。图12.15编译后的Report子窗口
(2)建立模块的分级结构,连接模块端口,给变量分配内存。如果某模块被多次调用,则它的结构也被复制多次。该步对模块的调用、模块参数的传递及内存分配等问题进行错误检查。
(3)在引入函数与任务的同时,对模块的分级结构重新排列,确定分级层次名及表达式的大小。如果出现端口大小不匹配、函数与任务非法调用、表达式的大小不正确等错误,则返回相应的错误信息。12.4.3Verilog语言工程的调试当编译失败后,Report子窗口中有两处可以得到错误信息。一是verilog.log文件,该文件中包含编译后的全部信息;二是Report子窗口中的Errors标签,它提供了有关错误的简明信息,包括出错位置及出错原因。利用Errors标签中的错误信息,很容易链接到源程序中相应的位置,只需双击出错信息即可。例如,将源程序文件add4.v稍作改动,然后重新编译,便得到如图12.16与图12.17所示的出错信息。改动后的add4.v源程序如下://**FullAdder************************modulefulladder(sum,c_out,x,y,c_in);outputsum,c_out;//inputx,y,c_in;(第一处改动:未定义输入端口)
wirea,b,c;
xor(a,x,y);
xor(sum,a,c_in);and(b,x,y);and(c,a,c_in);or(c_out,c,b);endmodule//**4-BitAdder*****************************moduleFourBitAdder(sum,c_out,x,y,c_in);output[3:0]sum;outputc_out;input[3:0]x,y;inputc_in;wirec1,c2,c3;
fulladerfa0(sum[0],c1,x[0],y[0],c_in);(第二处改动:fulladder
错写为fullader)
fulladderfa1(sum[1],c2,x[1],y[1],c1);
fulladder(sum[2],c3,x[2],y[2],c2);(第三处改动:漏掉模块调用名)
fulladderfa3(sum[3],c_out,x[3],y[3],c3);endmodule根据图12.16中verilog.log提供的出错信息,可知错误发生在编译过程的第一步,且图12.16与图12.17均说明了源程序中包含端口未定义的错误,修改第一处错误,然后重新编译,便可得到如图12.18与图12.19所示的出错信息。图12.16改动后第一次编译verilog.log提供的出错信息图12.17改动后第一次编译Errors提供的出错信息图12.18改动后第二次编译verilog.log提供的出错信息图12.19改动后第二次编译Errors提供的出错信息根据图12.18提供的出错信息,可知错误发生在编译过程的第二步,且图12.18与图12.19均说明了源程序中包含模块未定义与缺少模块调用名的错误。利用图12.19中的出错信息找到源程序中相应的出错位置,根据提示信息进行修改即可。将第二处与第三处的错误修改后,重新进行编译,便得到如图12.15所示的编译成功信息。12.4.4Verilog语言工程的仿真
1.工程仿真方法
VeriLoggerPro仿真器共有四种仿真方法:
(1)利用工具栏上的按钮。
(2)利用工具栏上的按钮,进行单步仿真。
(3)利用Simulate选项的子菜单中的Run项。
(4)利用快捷键F5。以上四种仿真方法作用相同,且均在DebugRun仿真模式下使用。
2.工程仿真模式
VeriLoggerPro仿真器支持两种仿真模式:AutoRun和DebugRun。两种仿真模式之间的变换通过工具栏上的按钮来实现。如果当前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋统编版(新)小学道德与法治一年级上册(全册)同步练习(附目录 含答案)
- 2026年发电机乘务员专项题库(附答案与解释)
- 2026年发电机设备安装工专项题库(附答案与解释)
- 投资承诺书(26篇)
- (正式版)DB45∕T 2229-2020 《水运工程验证性检测规范》
- 锑行业市场分析
- 通信网络基础知识复习题及答案
- 线上广告策划与推广服务合同2026
- 独立董事参与公司风险管理合同
- 创新产品市场合作协议2026
- 2026年河北省中考物理试卷(含答案及解析)
- 2026届贵州省遵义市凤冈县四年级数学下学期期末综合测试试题含解析
- 2026广东深圳市公安局第十四批招聘警务辅助人员考试参考题库及答案详解
- 2026天津市面向甘南籍未就业高校毕业生招聘事业单位40人笔试参考题库及答案详解
- 2026年小学心理专题活动设计方案
- 肩袖损伤规范化诊治临床指南 (2026 版)
- 中国咽炎防治指南2025版
- 2026年省级行业企业职业技能竞赛(家畜(猪)繁殖员)练习题及答案
- 2026年湖北省孝感市幼儿园教师招聘笔试参考题库及答案解析
- 胫腓骨骨折手术后功能锻炼指南
- 南京大学人工智能学院博士生培养方案
评论
0/150
提交评论