七章节仿真测试工具和综合工具.ppt
《七章节仿真测试工具和综合工具.ppt》由会员分享,可在线阅读,更多相关《七章节仿真测试工具和综合工具.ppt(72页珍藏版)》请在三一办公上搜索。
1、第七章 仿真测试工具和综合工具,6/28/2023,1,Microelectronics School Xidian University,7.1 数字集成电路设计流程简介,6/28/2023,2,Microelectronics School Xidian University,7.1.1 设计规范 设计规范文件是一个包含功能、定时、硅片面积、功耗、可测性、故障覆盖率以及其它的设计准则的详细说明书。设计规范描述了项目完成的功能,确定设计的总体方案,平衡各个方面的因素,对整个项目有一个初步的规划。在系统设计阶段,根据对设计面积、功耗、I/O和IP使用等情况进行估算,确定所使用的芯片工艺和设计工
2、具。7.1.2 设计划分 设计划分过程就是把一个复杂设计逐渐划分成较小而且较为简单的功能单元。这样一个过程通常被称为自顶向下的设计方法,或者是分层设计法。,6/28/2023,3,Microelectronics School Xidian University,7.1.3 设计输入设计输入是指将设计划分阶段定义好的模块借助一定的设计输入手段转换为EDA工具能接受的信息格式。目前主要的设计输入手段有:高级硬件描述语言HDL(Verilog HDL/VHDL)和原理图。HDL语言支持不同层次的描述,不依赖于各个厂家的工艺器件,便于修改。逻辑输入工具的功能是把逻辑图,状态机,真值表,输入到计算机中
3、,并进行语法、可综合性检查等。目前主流工具有Cadence公司的Composer,Synopsys公司Leda以及UltraEdit,Vim等第三方的编辑工具。,6/28/2023,4,Microelectronics School Xidian University,7.1.4仿真验证是指通过仿真软件验证其功能是否符合制定的设计规范,这一阶段的验证常被称为功能仿真或行为仿真。仿真的结果取决于设计描述是否准确反映了设计的物理实现。仿真器不是一个静态工具,需要Stimulus和Response。Stimulus由模拟设计工作环境的testbench 产生,Response为仿真的输出,由设计者确
4、定输出的有效性。目前,仿真工具比较多,其中Cadence公司的NC-Verilog HDL,Synopsys公司的VCS和Mentor公司的Modelsim都是业界广泛使用的仿真工具。7.1.5 综合综合实际上是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计描述(如HDL文件、原理图等)变换成满足要求的电路设计方案,该方案必须同时满足预期的功能和约束条件。目前常用的逻辑综合工具有Synopsys公司的Synplify和Design Compiler,Physical Compiler,Cadence公司的RTL Compiler等。,6/28/2023,5,Micro
5、electronics School Xidian University,7.1.6 适配布线按照特定的工艺要求和约束条件利用适配器进行布局布线,最后生成版图。对于芯片设计来讲,这个过程通常分3步:(1)布局规划。主要是标准单元、I/O Pad和宏单元的布局。(2)时钟树生成(CTS Clock Tree Synthesis)。(3)布局布线。适配完成后,产生多项设计结果:(1)适配报告。(2)适配后的仿真模型。(3)器件编程文件。在FPGA设计中各个厂家都提供了相应的布局布线工具,例如Altera公司的Quartus II,Xilinx公司的ISE等。在芯片设计领域,有Cadence公司提供
6、的SOC Encounter和Synopsys公司的Astro等布局布线工具。,6/28/2023,6,Microelectronics School Xidian University,7.1.7 时序分析时序验证的目的是为了检查设计中是否有时序上的违规。同步电路的验证采用静态时序分析实现,异步电路的验证则需要运行特殊仿真激励确认。仿真工具可以用前仿真所用的工具。静态时序分析(STA)的功能是根据设计规范的要求检查所有可能路径的时序,不需要通过仿真或测试向量就可以有效地覆盖门级网表中的每一条路径,在同步电路设计中快速地找出时序上的异常。可以识别的时序故障包括:建立/保持和恢复/移除检查(包括
7、反向建立/保持);最小和最大跳变;时钟脉冲宽度和时钟畸变;门级时钟的瞬时脉冲检测;总线竞争与总线悬浮错误;不受约束的逻辑通道;计算经过导通晶体管、传输门和双向锁存的延迟;自动对关键路径、约束性冲突、异步时钟域和某些瓶颈逻辑进行识别与分类。PrimeTime是Synopsys公司开发的进行静态时序分析(STA)的工具,它可以进行精确的RC延迟计算,先进的建模和时序验收,6/28/2023,7,Microelectronics School Xidian University,7.1.8 物理验证物理验证通常包括设计规则检测(DRC)、版图与原理图对照(LVS)和信号完整性分析(SI)等。目前主要
8、的物理验证工具有Mentor公司的Calibre,Cadence公司的Dracula和Diva以及Synopsys公司的Hercules。此外各大厂商也推出了针对信号完整性分析的工具。,6/28/2023,8,Microelectronics School Xidian University,7.1.9 设计结束在所有设计约束都已满足,也达到了定时约束条件的情况下,就会发出最终设计结束的信号。这时可用于制造集成电路的掩膜集就准备好了。掩膜集的描述是由几何数据(通常为GDS-II格式)构成的,这些数据决定了集成电路制造过程中的光掩膜步骤的顺序。将适配器布局布线后形成的器件编程文件通过下载工具载入
9、到具体的FPGA或CPLD芯片中,可以方便的实现设计要求。如果是大批量产品开发,通过更换相应的厂家综合库,便可以转由ASIC实现。,6/28/2023,9,Microelectronics School Xidian University,7.2 测试和仿真工具用HDL描述完一个硬件系统后要进行仿真验证,而想要在在计算机终端上看到硬件描述语言的输出的话,则需要通过硬件描述语言的仿真器来完成。常用的HDL仿真器有很多种,例如VCS,NCsim,Verilog HDL-XL,Modelsim,ActiveHDL等。根据所使用的编程语言不同可以将仿真器分为Verilog HDL语言仿真器和VHDL语
10、言仿真器;也可以根据工作方式不同分为事件驱动(event-driven)的仿真器和时钟驱动(cycle-driven)的仿真器等类型。这些工具中有的侧重于IC设计(如NCsim,VCS等),有的侧重于FPGA/CPLD的设计,如Modelsim和ActiveHDL等。,6/28/2023,10,Microelectronics School Xidian University,Modelsim仿真器在FPGA/CPLD设计中应用广泛,这是因为Modelsim的出品公司为各种FPGA/CPLD厂家提供了OEM版本的Modelsim工具。Modelsim仿真器可以用于仿真Verilog HDL语言
11、,也可以用于仿真VHDL语言,同时也支持两种语言混合仿真。NCsim(根据使用语言不同分为NC-Verilog和NC-VHDL)和VCS分别由知名的EDA工具厂商Cadence和Synopsys公司提供,在IC设计中应用广泛。,6/28/2023,11,Microelectronics School Xidian University,7.2.1 Modelsim的使用,6/28/2023,12,Microelectronics School Xidian University,1建立库并映射建立并映射库有两种方法:在Modelsim中选择File/New/Library,在弹出的对话框中填入
12、库名称,点击OK就完成了库的建立和映射。在Modelsim提示符下运行命令:vlib work2vmap work work22新建工程项目选择下拉菜单File/New/Project命令,新建一个工程。在Project Name中输入工程名,在Project Location下的对话框中,输入保存该工程所有文件的文件夹的路径名。Default Library Name对话框使用默认设置work即可。,6/28/2023,13,Microelectronics School Xidian University,3输入源代码选择主控Main窗口的下拉菜单File/New/Source/Veril
13、og HDL选项,出现源代码编辑窗口。将源代码输入并保存。源代码文件shiftregist.v如下:,6/28/2023,14,Microelectronics School Xidian University,module shiftregist(data_out,clk,rst_n,load,data_load,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft);parameter shiftregist_width=4;output shiftregist_width-1:0 data_out;input shiftr
14、egist_width-1:0 data_load;input load,clk,rst_n,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft;reg shiftregist_width-1:0 data_out;always(posedge clk or negedge rst_n)if(!rst_n)data_out=0;else if(load)data_out=data_load;else if(ctr_shiftright)data_out=data_shiftright,data_outshiftregist_w
15、idth-1:1;else if(ctr_shiftleft)data_out=data_outshiftregist_width-2:0,data_shiftleft;else data_out=data_out;endmodule,4将文件添加到工程中刚才输入的文件已经保存在当前Project的文件夹中。在Main窗口选择Project/Add to Project/Existing File选项将文件添加到工程中。5编译源代码在Workplace窗口Project对话框中选中shiftregist.v,然后在主控Main窗口中选中Compile/Compile selected选项对源代
16、码进行编译。编译成功后,transcript对话框中将报告“#Compile of shiftregist.v was successful”。如果当前工程中有多个.v文件,则可以选择Compile/Compile selected选项完成对源代码文件的批量编译,也可以一次选择多个文件进行编译。,6/28/2023,15,Microelectronics School Xidian University,6建立并添加测试文件用Verilog HDL编写测试激励文件,然后进行仿真的操作。先输入测试激励文件,然后进行仿真的操作。先输入测试激励文件的源代码,并存盘;然后将该文件添加到当前的工程项目中
17、,再对该文件进行编译,其操作过程与前面介绍的相同。带控制端的移位寄存器的测试激励源代码文件testbench_shiftregist.v如下:,6/28/2023,16,Microelectronics School Xidian University,module testbench_shiftregist;parameter shiftregist_width=4;reg shiftregist_width-1:0 data_load;reg load,clk,rst_n,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft
18、;wire shiftregist_width-1:0 data_out;always#5 clk=clk;initial begin data_load=0;load=0;rst_n=1;ctr_shiftright=0;ctr_shiftleft=0;clk=0;data_shiftright=0;data_shiftleft=0;end,initial begin#10 rst_n=0;#3 rst_n=1;endinitial begin#15 load=1;data_load=4b1010;#10 load=0;endinitial begin#30 ctr_shiftright=1
19、;#20 data_shiftright=1;#20 ctr_shiftright=0;#20 ctr_shiftleft=1;#25 data_shiftleft=1;#20 data_shiftleft=0;endshiftregist U1(.clk(clk),.rst_n(rst_n),.load(load),.ctr_shiftright(ctr_shiftright),.ctr_shiftleft(ctr_shiftleft),.data_shiftright(data_shiftright),.data_shiftleft(data_shiftleft),.data_load(d
20、ata_load),.data_out(data_out);endmodule,6/28/2023,17,Microelectronics School Xidian University,7打开仿真器在主控窗口中选择Simulate/Start Simulation命令,得到仿真设置对话框(注意:将当前工作库work前面的加号“+”点开,选择testbench_shiftregist作为顶层文件进行仿真)。在Design选项卡相应的库名下选择testbench_shiftregist模块,再单击OK按钮。下图显示的就是打开仿真器后的界面。,6/28/2023,18,Microelectron
21、ics School Xidian University,8打开调试窗口在Modelsim的Main窗口的View下面有各种全面反映用户设计模块的各个方面的特性与内容的窗口,非常便于用户管理和调试。用户对一个窗口的修改将会自动影响到相关窗口的变化,同时用户也可以方便地利用鼠标在窗口之间进行选择和拖放。打开窗口的操作方法是:在主控Main窗口的View下拉菜单中,单击相应的窗口名即可。已打开的窗口名前有“”符号提示,再次单击该窗口名将关闭相应窗口,前面的“”符号也将消失。例如,选择View/Wave命令,将打开仿真波形窗口等。,6/28/2023,19,Microelectronics Scho
22、ol Xidian University,9添加需要观察的信号 在Workplace窗口的sim对话框中单击需要观察的模块名,在Objects窗口中则会列出该模块的各个端口名及内部信号。可以单击选中其中一个需要观察的信号名,如果按住Ctrl键,则可以通过单击选中多个需要观察的信号名,然后在选择下拉菜单Add/Wave/Slected Instance命令打开Wave窗口,而且刚才被选中的信号已经被添加到Wave窗口中。设计者还可以根据调试和测试需要,删除Wave窗口中的信号,或向其中添加新的信号。,6/28/2023,20,Microelectronics School Xidian Univ
23、ersity,10运行仿真器在主控Main窗口的下拉菜单Simulate选项下有控制仿真器运行的多个命令选项。点击Simulate/Run,仿真会运行100ns(默认的仿真长度)后停止。在主窗口的VSIM提示符下,输入“run 500”,仿真器会再进行另外500ns的仿真,共计仿真了600ns。在主菜单、波形窗口或源代码窗口的工具条上,单击Run-all图标,仿真连续运行,直到被中断或在代码中遇到诸如Verilog HDL中的$stop语句等,暂停仿真。单击break图标,终止仿真运行。在主控Main窗口中,单击Simulate/End Simulation选项,即可结束仿真。,6/28/20
24、23,21,Microelectronics School Xidian University,11调试debugModelsim的调试手段有很多,主要包括:在代码中设置断点、步进调试;观察波形窗口(Wave),测量时间;通过数据流窗口(Dataflow),分析物理连接;通过Memory窗口,观察设计中存储器的数值;统计测试代码覆盖率;波形比较。利用Wave窗口、Dataflow窗口和List窗口是常用的分析手段。,6/28/2023,22,Microelectronics School Xidian University,(1)使用波形窗口观察设计波形是调试设计的一种方法,加载仿真后,就可以
25、使用波形窗口了。可以用菜单view/wave打开波形窗口,图7.2-3是波形窗口打开之后的界面。在波形窗口中可以采用向波形窗口添加项目,对波形显示的图像缩放,在波形窗口中使用游标,设置断点,存储波形窗口格式,将当前的仿真结果存储到波形记录格式文件(WLF)中等手段进行调试。,6/28/2023,23,Microelectronics School Xidian University,Modelsim中保存波形文件大致有以下三种方法:Format文件:在波形窗口的主菜单中选择File/Save保存wave format,在新打开的窗口中填入DO文件的存储路径E:/shiftregist/wave
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 仿真 测试 工具 综合
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5344879.html