VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件

上传人:沈*** 文档编号:136068513 上传时间:2022-08-16 格式:PPT 页数:220 大小:3.53MB
收藏 版权申诉 举报 下载
VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件_第1页
第1页 / 共220页
VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件_第2页
第2页 / 共220页
VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件_第3页
第3页 / 共220页
资源描述:

《VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件》由会员分享,可在线阅读,更多相关《VerilogHDL数字集成电路设计原理与应用第二版第7章仿真测试工具和综合工具ppt课件(220页珍藏版)》请在装配图网上搜索。

1、1第7章 仿真测试工具和综合工具 7.1 数字集成电路设计流程简介 7.2 测试和仿真工具 7.3 综合工具 7.4 规划布线工具及后仿真 7.5 Quartus 工具全流程运用 本章小结2在EDA技术高度兴隆的今天,没有一个设计工程师队伍可以用人工方法有效、全面、正确地设计和管理含有几百万个门的现代集成电路。利用EDA工具,工程师可以从概念、算法、协议等开场设计电子系统,7.1 数字集成电路设计流程简介数字集成电路设计流程简介3大量任务可以经过计算机完成,并可以将电子产品从系统规划、电路设计、性能分析到封装、幅员的整个过程在计算机上自动完成。这样做有利于缩短设计周期、提高设计正确性、降低设计

2、本钱、保证产品性能,尤其是可添加一次投片的胜利率,因此这种方法在大规模集成电路设计中曾经普遍被采用。利用EDA工具进展集成电路设计需求遵照一定的设计流程,这样才干保证设计义务高效率地完成。数字集成电路设计方法的典型流程如图7.1-1所示。下面分别引见各个设计阶段的主要义务。4图7.1-1 集成电路设计的典型流程57.1.1 设计规范设计规范设计流程从已写出的设计规范开场。设计规设计流程从已写出的设计规范开场。设计规范文件是一个包含功能、定时、硅片面积、功耗、范文件是一个包含功能、定时、硅片面积、功耗、可测性、缺点覆盖率以及其它的设计准那么的详可测性、缺点覆盖率以及其它的设计准那么的详细阐明书。

3、设计规范描画了工程完成的功能,确细阐明书。设计规范描画了工程完成的功能,确定了设计的总体方案,以平衡各个方面的要素,定了设计的总体方案,以平衡各个方面的要素,对整个工程有一个初步的规划。在系统设计阶段,对整个工程有一个初步的规划。在系统设计阶段,根据对设计面积、功耗、根据对设计面积、功耗、I/O和和IP运用等情况的估运用等情况的估算,确定所运用的芯片工艺和设计工具。有了设算,确定所运用的芯片工艺和设计工具。有了设计规范,就可以进展设方案分。计规范,就可以进展设方案分。67.1.2 设方案分设方案分设方案分过程就是把一个复杂设计逐渐划分设方案分过程就是把一个复杂设计逐渐划分成较小而且较为简单的功

4、能单元。这样一个过程成较小而且较为简单的功能单元。这样一个过程通常被称为自顶向下的设计方法,或者是分层设通常被称为自顶向下的设计方法,或者是分层设计法。计法。HDL可以为需求进展划分、综合和验证的可以为需求进展划分、综合和验证的大型复杂系统提供一个通用框架,它支持具有混大型复杂系统提供一个通用框架,它支持具有混合笼统级别的自顶向下设计,可以将大型设计中合笼统级别的自顶向下设计,可以将大型设计中的各部分链接在一同,来进展整个设计的功能和的各部分链接在一同,来进展整个设计的功能和性能验证。性能验证。77.1.3 设计输入设计输入设计输入是指将设方案分阶段定义好的模块设计输入是指将设方案分阶段定义好

5、的模块借助一定的设计输入手段转换为借助一定的设计输入手段转换为EDA工具能接受工具能接受的信息格式。目前主要的设计输入手段有高级硬的信息格式。目前主要的设计输入手段有高级硬件描画言语件描画言语HDL(Verilog HDL/VHDL)和原理图等。和原理图等。HDL言语支持不同层次的描画,不依赖于各个厂言语支持不同层次的描画,不依赖于各个厂家的工艺器件,便于修正。家的工艺器件,便于修正。逻辑输入工具的功能是把逻辑图、形状机、逻辑输入工具的功能是把逻辑图、形状机、真值表输入到计算机中,并进展语法、可综合性真值表输入到计算机中,并进展语法、可综合性检查等。目前主流工具有检查等。目前主流工具有Cade

6、nce公司的公司的Composer、Synopsys公司的公司的Leda以及以及UltraEdit、Vim等第三方编辑工具。等第三方编辑工具。8Leda是可编程的语法和设计规范检查工具,它可以对全芯片的VHDL和Verilog HDL描画或者对两者的混合描画进展检查,加速SoC的设计流程。Leda预先将IEEE可综合规范、可仿真规范、可测性规范和设计复用规范进展了集成,以提高设计者分析代码的才干。UltraEdit是一款功能强大的文本编辑器,可以编辑文字以及多种格式的代码,内建英文单词检查、C+及VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件,速度也不会慢。它是一个运用广泛的编辑器

7、,但它并不直接支持HDL。9读者可以经过官方网站的链接下载Verilog HDL/VHDL的语法文件,并把下载的文件复制到WordFile.txt文件中(在UltraEdit的安装目录下),普通加在最后。这样就可以运用UltraEdit编辑HDL源代码了。107.1.4 仿真仿真设计输入后,经设计输入后,经HDL编译器检查没有语法错编译器检查没有语法错误后,就可以对设计进展验证了。这里的验证是误后,就可以对设计进展验证了。这里的验证是指经过仿真软件验证其功能能否符合制定的设计指经过仿真软件验证其功能能否符合制定的设计规范,这一阶段的验证常被称为功能仿真或行为规范,这一阶段的验证常被称为功能仿真

8、或行为仿真。规划布线后,提取有关的器件延迟、连线仿真。规划布线后,提取有关的器件延迟、连线延迟等时序参数延迟等时序参数(这些信息在反标注文件中这些信息在反标注文件中)。在。在此根底上进展的仿真称为后仿真,也称时序仿真,此根底上进展的仿真称为后仿真,也称时序仿真,它是接近真实器件运转的仿真。它是接近真实器件运转的仿真。11仿真的结果取决于设计描画能否准确反映了设计的物理实现。仿真器不是一个静态工具,需求Stimulus(鼓励)和Response(输出)。Stimulus由模拟设计任务环境的Testbench 产生,Response为仿真的输出,由设计者确定输出的有效性。目前,仿真工具比较多,其中

9、Cadence公司的NC-Verilog HDL、Synopsys公司的VCS和Mentor公司的ModelSim都是业界广泛运用的仿真工具。127.1.5 综合综合利用综合器对利用综合器对HDL代码进展综合优化处置,代码进展综合优化处置,生成门级描画的网表文件,这是将高层次描画转生成门级描画的网表文件,这是将高层次描画转化为硬件电路的关键步骤。综合优化是针对化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进展的,所以综合的芯片供应商的某一产品系列进展的,所以综合的过程要在相应的厂家综合库支持下才干完成。过程要在相应的厂家综合库支持下才干完成。综合实践上是根据设计功能和实

10、现该设计的综合实践上是根据设计功能和实现该设计的约束条件约束条件(如面积、速度、功耗和本钱等如面积、速度、功耗和本钱等),将设,将设计描画计描画(如如HDL文件、原理图等文件、原理图等)变换成满足要求变换成满足要求的电路设计方案,该方案必需同时满足预期的功的电路设计方案,该方案必需同时满足预期的功能和约束条件。能和约束条件。13对于综合来说,满足要求的方案能够有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目的的优化过程,最后获得的电路构造与综合器的性能有关。这个阶段产生目的FPGA的规范单元网表和数据库,供规划布线运用。网表中包含了目的器件中的逻辑元件和互连信息。在

11、传统的IC设计流程中,前端综合或时序分析时没有准确的线和CELL延迟信息,这样就容易呵斥规划前后的时序不收敛。随着工艺的提高,线延迟占主导位置,时序收敛问题越来越严重。根本的处理方法是将前后端的设计流程整合起来。14物理综合就针对的是这种情况。物理综合处理0.18 m以下工艺技术的IC设计环境,将综合、规划、布线集成于一体,让RTL设计者可以在最短的时间内得到性能最高的电路。经过集成综合算法、规划算法和布线算法,在RTL到GDS-的设计流程中,提供可以确保IC设计的性能预估性和时序收敛性。目前常用的逻辑综合工具有Synopsys公司的Synplify和Design Compiler、Physi

12、cal Compiler,Cadence公司的RTL Compiler等。157.1.6 适配布线适配布线适配布线就是按照特定的工艺要求和约束条适配布线就是按照特定的工艺要求和约束条件利用适配器进展规划布线,最后生成幅员。件利用适配器进展规划布线,最后生成幅员。对于芯片设计来讲,这个过程通常分为对于芯片设计来讲,这个过程通常分为3步。步。规划规划:主要是规范单元、规划规划:主要是规范单元、I/O Pad和宏单元和宏单元的规划。的规划。I/O Pad预先给出了位置,而宏单元那么预先给出了位置,而宏单元那么根据时序要求进展摆放,规范单元那么给出了一根据时序要求进展摆放,规范单元那么给出了一定的区域

13、由工具自动摆放。规划规划后,芯片的定的区域由工具自动摆放。规划规划后,芯片的大小、大小、Core的面积、的面积、Row的方式、电源及地线的的方式、电源及地线的Ring和和Strip就都确定下来了。就都确定下来了。时钟树生成时钟树生成(lock Tree Synthesis,CTS)。规划布线。规划布线。16适配完成后,会产生多项设计结果。适配报告:包括芯片内部资源的利用情况、设计的布尔方程描画情况等。适配后的仿真模型。器件编程文件:根据适配后的仿真模型,可以进展适配后的时序仿真。由于此时曾经得到器件的实践硬件特性(如时延特性等),所以此仿真结果能比较准确地预期未来芯片的实践性能。在FPGA设计

14、中各个厂家都提供了相应的规划布线工具,例如Altera公司的Quartus,Xilinx公司的ISE等。在芯片设计领域,有Cadence公司提供的SoC Encounter和Synopsys公司的Astro等规划布线工具。177.1.7 时序分析时序分析时序分析的目的是检查设计中能否有时序上时序分析的目的是检查设计中能否有时序上的违规。同步电路的分析采用静态时序分析实现,的违规。同步电路的分析采用静态时序分析实现,异步电路的分析那么需求运转特殊仿真鼓励确认。异步电路的分析那么需求运转特殊仿真鼓励确认。仿真工具可以用前仿真所用的工具。仿真工具可以用前仿真所用的工具。静态时序分析静态时序分析(ST

15、A)的功能是根据设计规范的的功能是根据设计规范的要求检查一切能够途径的时序,不需求经过仿真要求检查一切能够途径的时序,不需求经过仿真或测试向量就可以有效地覆盖门级网表中的每一或测试向量就可以有效地覆盖门级网表中的每一条途径,在同步电路设计中快速地找出时序上的条途径,在同步电路设计中快速地找出时序上的异常。异常。18可以识别的时序缺点包括:建立/坚持和恢复/移除检查(包括反向建立/坚持),最小和最大跳变,时钟脉冲宽度和时钟畸变,门级时钟的瞬时脉冲检测,总线竞争与总线悬浮错误,不受约束的逻辑通道,计算经过导通晶体管、传输门和双向锁存的延迟,自动对关键途径、约束性冲突、异步时钟域和某些瓶颈逻辑进展识

16、别与分类。PrimeTime是Synopsys公司开发的进展静态时序分析的工具,它可以进展准确的RC延迟计算、先进的建模和时序验收。对于大型多时钟的设计,比如综合出的逻辑电路、嵌入式存储器和微处置器核的设计,Prime Time起到了关键性的作用。19动态时序分析主要是指门级(或对幅员参数提取结果)的仿真,它主要运用在异步逻辑、多周期途径、错误途径的验证中。随着设计向65 nm以下的工艺开展,只用静态分析工具将无法准确验证串扰等动态效应。经过动态时序分析与静态时序分析相结合可以验证时序逻辑的建立/坚持时间,并利用动态技术来处理串扰效应、动态模拟时钟网络等问题。207.1.8 物理验证物理验证物

17、理验证通常包括设计规那么检测物理验证通常包括设计规那么检测(DRC)、幅员与原理图对照幅员与原理图对照(LVS)和信号完好性分析和信号完好性分析(SI)等。其中等。其中DRC用来检查幅员设计能否满用来检查幅员设计能否满足工艺线可以加工的最小线宽、最小图形间距、足工艺线可以加工的最小线宽、最小图形间距、金属宽度、栅和有源区交叠的最小长度等。假设金属宽度、栅和有源区交叠的最小长度等。假设幅员设计违反设计规那么,那么极有能够导致芯幅员设计违反设计规那么,那么极有能够导致芯片在加工的过程中成为废品。片在加工的过程中成为废品。LVS那么用来保证那么用来保证幅员设计与其电路设计的匹配,保证它们的一致幅员设

18、计与其电路设计的匹配,保证它们的一致性。假设不一致,就需求修正幅员设计。性。假设不一致,就需求修正幅员设计。SI用来用来分析和调整芯片设计的一致性,防止串扰噪声、分析和调整芯片设计的一致性,防止串扰噪声、串扰延迟以及电迁移等问题。串扰延迟以及电迁移等问题。21目前主要的物理验证工具有Mentor公司的Calibre、Cadence公司的Dracula和Diva以及Synopsys公司的Hercules。此外,各大厂商也推出了针对信号完好性分析的工具。227.1.9 设计终了设计终了在一切设计约束都已满足,也到达了定时约在一切设计约束都已满足,也到达了定时约束条件的情况下,就会发出最终设计终了的

19、信号。束条件的情况下,就会发出最终设计终了的信号。这时可用于制造集成电路的掩膜集就预备好了。这时可用于制造集成电路的掩膜集就预备好了。掩膜集的描画是由几何数据掩膜集的描画是由几何数据(通常为通常为GDS-格式格式)构成的,这些数据决议了集成电路制造过程中光构成的,这些数据决议了集成电路制造过程中光掩膜步骤的顺序。掩膜步骤的顺序。将适配器规划布线后构成的器件编程文件经将适配器规划布线后构成的器件编程文件经过下载工具载入到详细的过下载工具载入到详细的FPGA或或CPLD芯片中,芯片中,可以方便地实现设计要求。假设是大批量产品的可以方便地实现设计要求。假设是大批量产品的开发那么经过改换相应的厂家综合

20、库,便可以转开发那么经过改换相应的厂家综合库,便可以转由由ASIC实现。实现。23用HDL描画完一个硬件系统后要进展仿真验证,而假设想在计算机终端看到硬件描画言语的输出,那么需求经过硬件描画言语的仿真器来完成。常用的HDL仿真器很多,例如VCS、NC、Verilog HDL-XL、ModelSim、ActiveHDL等。7.2 测试和仿真工具测试和仿真工具24根据所运用的编程言语的不同,可以将仿真器分为Verilog HDL言语仿真器和VHDL言语仿真器;根据任务方式的不同,可以分为事件驱动(event-driven)仿真器和时钟驱动(cycle-driven)仿真器;等等。这些工具中,有的偏

21、重于IC设计,如NC、VCS等;有的偏重于FPGA/CPLD的设计,如ModelSim和ActiveHDL等。ModelSim仿真器在FPGA/CPLD设计中运用广泛,这是由于ModelSim的出品公司为各种FPGA/CPLD厂家提供了OEM版本的ModelSim工具。ModelSim仿真器可以用于仿真Verilog HDL言语,也可以用于仿真VHDL言语,同时也支持两种言语的混合仿真。25NC(根据运用言语的不同,分为NC-Verilog和NC-VHDL)和VCS分别由知名的EDA工具厂商Cadence和Synopsys公司提供,在IC设计中运用广泛。根据设计阶段的不同,仿真可以分为RTL行

22、为级仿真、逻辑综合后门级仿真和时序仿真三大类型。在仿真的后两个阶段,除了Verilog HDL源代码外还需求添加两个文件,即工艺厂商提供的库单元文件和延时反标文件。267.2.1 ModelSim的运用的运用Mentor公司的公司的ModelSim是一种常用的是一种常用的HDL言语仿真软件,能提供友好的仿真环境,是业界言语仿真软件,能提供友好的仿真环境,是业界独一的单内核支持独一的单内核支持VHDL和和Verilog HDL混合仿真混合仿真的仿真器。它采用直接优化的编译技术、的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快,编技术和单一内核仿真技术,编译仿

23、真速度快,编译的代码与平台无关,便于维护译的代码与平台无关,便于维护IP核。个性化的核。个性化的图形界面和用户接口,为用户加快纠错提供了强图形界面和用户接口,为用户加快纠错提供了强有力的手段。有力的手段。27ModelSim的主要特点是:RTL和门级优化,本地编译构造,编译仿真速度快,跨平台、跨版本仿真;单内核VHDL和Verilog HDL混合仿真;源代码模版和助手,工程管理;集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;C和Tcl/

24、Tk接口,C调试;对SystemC直接支持,和HDL恣意混合;支持System Verilog的设计功能;全面支持System Verilog、SystemC这样的系统级描画言语。28ModelSim分为SE、PE、LE和OEM等几个版本,其中SE是最高级的版本,而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有较大差别,比如大家都关怀的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE比ModelSim XE

25、要快10倍;对于代码超越40000行的设计,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和Linux混合平台,提供全面、完善以及高性能的验证功能,全面支持业界广泛的规范。29ModelSim采用用户图形界面操作方式,有许多窗口,如Main窗口、Workplace窗口、Objects窗口、Wave窗口、Dataflow窗口、List窗口、Source窗口和Watch窗口。图7.2-1为ModelSim的运用界面。主(Main)窗口:是ModelSim独一的控制窗口,也是控制命令的输入窗口。窗口中显示了ModelSim执行仿真的动作以及相应的

26、信息。构造(Workplace)窗口:该窗口按层次关系列出了工程中一切模块之间的关系。在构造窗口中选择固定模块,在信号窗口中会相应地显示这一模块信号的信息。30图7.2-1 ModelSim运用界面31 信号(Objects)窗口:显示被选中模块的信号、信号类型以及信号值。波形(Wave)窗口:显示仿真的结果波形。数据流(Dataflow)窗口:用于追踪数据流,并以层次化、图形化的方式显示结果。列表(List)窗口:以表格的方式显示仿真数据。源代码(Source)窗口:显示工程中的相应源代码。察看(Watch)窗口:用于实时监测变量在仿真中的变化情况。32ModelSim有三种仿真流程,即根本

27、仿真流程(Basic Simulation Flow)、工程仿真流程(Project Simulation Flow)和多库仿真流程(Multi-library Simulation)。在较复杂的设计中,引荐运用工程仿真流程,这种流程更容易管理和维护设计中遇到的各种类型的文件,现实上工程仿真流程包含了根本仿真流程和多库仿真流程的中心内容。本节主要引见工程仿真流程。ModelSim工程仿真流程包括建立库、建立工程、将设计文档(包括源文件和测试文件)参与到工程中并编译、仿真、调试。331建立并映射库建立并映射库建立并映射库有两种方法。建立并映射库有两种方法。第一种方法:第一种方法:在在ModelS

28、im中选择中选择File/New/Library菜单命菜单命令,在弹出的对话框中填入库称号,点击令,在弹出的对话框中填入库称号,点击OK按钮按钮就完成了库的建立和映射。就完成了库的建立和映射。第二种方法:第二种方法:在在ModelSim提示符下运转命令:提示符下运转命令:vlib work2vmap work work234第一条命令实现的是建立新库,第二条命令实现的是映射新库。其中work2代表的是新建的任务库。运转终了后即完成了库的建立和映射操作。运转完vlib命令后会产生work库目录,目录里存放有_info文件,用于记录各种库中的各种模块。运转完vmap会将ModelSim安装目录下的

29、ModelSim.ini复制到当前的任务目录中并将库和目录对应起来,在Library中添加了work=work2语句。352新建工程工程选择File/New/Project菜单命令,新建一个工程。在Project Name中输入工程名,在Project Location下的对话框中输入保管该工程一切文件的文件夹的途径名。Default Library Name对话框运用默许设置work即可。363输入源代码输入源代码选择选择Main窗口的窗口的File/New/Source/Verilog HDL菜单命令,出现源代码编辑窗口,将源代码菜单命令,出现源代码编辑窗口,将源代码输入并保管。源代码文件

30、输入并保管。源代码文件shiftregist.v如下:如下: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 shiftregist_width-1:0 data_load;37input load,clk,rst_n,ctr_shiftright,ctr_shiftlef

31、t,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)38 data_out=data_shiftright,data_outshiftregist_width-1:1;else if(ctr_shiftleft)data_out=data_outshiftregist_width-2:0,d

32、ata_shiftleft;else data_out提示符下,输入提示符下,输入“run 500,仿真器会再进展另外,仿真器会再进展另外500 ns的仿真,合计的仿真,合计仿真了仿真了600 ns。在主菜单、波形窗口或源代码窗口的工具条在主菜单、波形窗口或源代码窗口的工具条上单击上单击run-all图标,仿真延续运转,直到被中断图标,仿真延续运转,直到被中断或在代码中遇到诸如或在代码中遇到诸如Verilog HDL中的中的$stop语句语句等,暂停仿真。假设单击等,暂停仿真。假设单击break图标,那么终止仿图标,那么终止仿真运转。真运转。51在Main窗口中,单击Simulate/End

33、Simulation选项,即可终了仿真。5211调试ModelSim的调试手段很多,主要包括在代码中设置断点、步进调试;察看Wave窗口,丈量时间;经过Dataflow窗口,分析物理衔接;经过Memory窗口,察看设计中存储器的数值;统计测试代码覆盖率;波形比较。Wave窗口、Dataflow窗口和List窗口是常用的分析手段。531)运用Wave窗口察看设计波形是调试设计的一种方法,加载仿真后,就可以运用Wave窗口了。经过View/Wave菜单命令翻开Wave窗口,如图7.2-3所示。在Wave窗口中可以采用多种手段进展调试,如向Wave窗口添加工程,对波形显示的图像缩放,在Wave窗口中

34、运用游标,设置断点,存储Wave窗口格式,将当前的仿真结果存储到波形记录格式文件(WLF)中等。54在Wave窗口中,游标用于指示仿真的时间位置。当ModelSim初次画波形时,自动地将一个游标放在0时辰的位置。运用游标可以丈量时间间隔,也可以查找信号跳变的位置。在Wave窗口中单击任何位置,游标将重新回到鼠标单击的位置。可以对游标进展添加、命名、锁定和删除等操作。对波形信号可以进展设置断点操作。断点调试主要是为了察看待定的数据变化。在Wave窗口中,对信号设置断点非常方便:选中要设置断点的变量,单击鼠标右键,选择“Insert Breakpoint选项,就完成了断点的设置。中选中的变量波形值

35、发生变化时,仿真自动暂停。55图7.2-3 Wave窗口56要养成保管波形文件的良好习惯,以便进展工程的检查和对比。ModelSim中可以保管的波形文件大致有以下三种。(1)Format文件。在Wave窗口的主菜单中选择File/Save命令保管wave format(波形格式),在新翻开的窗口中填入DO文件(仿真脚本文件)的存储途径E:/shiftregist/wave.do,单击OK按钮完成文件存储。57假设需求加载该文件,那么在翻开的Wave窗口中选择“File Open Format,然后在Open Format窗口中选择wave.do文件,单击Open按钮翻开该文件。ModelSim

36、将恢复该窗口的信号和游标的前一次形状。(2)WLF文件(Datasets)。ModelSim仿真结果也可以存储到一个波形格式记录文件中,用于以后阅读和与当前仿真结果的比较。通常运用术语“Datasets表示已创建并可重加载的WLF文件。58可在主菜单中选择“File/Datasets/Save as命令,在翻开的Save as对话框中输入要保管的波形文件称号,点击OK按钮就完成了波形文件的保管。假设运用File/Datasets/Open命令,在弹出的Open Dataset对话框中的Browse中输入Datasets的途径,那么可翻开已保管的波形文件。(3)VCD文件。VCD文件是IEEE

37、4规范(Verilog HDL言语规范)中定义的一种ASCII文件。它是一种EDA工具普遍支持的通用的波形信息记录文件。如何运用Verilog HDL中的系统函数来生成VCD文件请参考第5章。592)运用Dataflow窗口Dataflow窗口可以对VHDL信号或者Verilog HDL的线网型变量进展图示化追踪,在界面中驱动信号或驱动线网变量的进程显示在左边,反之被驱动信号显示在右边。双击Wave窗口中需求追踪的信号即可翻开Dataflow窗口,如图7.2-4所示。60图7.2-4 Dataflow窗口61Dataflow窗口有以下四个功能:(1)察看设计的延续性。可以检查设计的物理衔接性,

38、可以逐个单元地观测所关注的信号、互联网络或存放器的输入/输出情况。(2)追踪事件:跟踪一个非预期输出的事件,运用嵌入波形察看器,可以由一个信号的跳变回溯追踪,查到事件源头。62(3)追踪未知态:该功能是工程师比较青睐的,在Dataflow窗口中运用Trace/ChaseX功能,会不断往驱动级追踪不定态传送的源头。中选择ChaseX,图形界面不再变化时,就是不定态的源头了。之后就可以根据Dataflow窗口的结果,去定位源代码产生不定态的语句,并加以矫正。(4)显示层次构造:可以运用层次化实例显示设计的连通性。633)运用List窗口List窗口以表格化的方式显示数据,可以方便地经过搜索特殊值或

39、者特定条件的数据,简化分析数据的过程。选择菜单中的View/List命令翻开List窗口,如图7.2-5所示。List窗口的左边显示的是仿真的时间点,右边显示的是每个时间点对应的变量值。64图7.2-5 List窗口65当要搜索特定的数值时,可在List窗口中选择Edit/Search选项,在弹出的List Signal Search对话框中选择Search Type下的Search for Signal Value项,并输入想要搜索的数值。这种方式可以很方便地查找仿真中的特殊值,还可以确定特殊值在什么时间点发生,并以此时间点在Wave窗口中定位相应的波形。除此之外还可以设置条件搜索,方法是在

40、Search Type下的Search for Expression中点击后面的Builder建立搜索条件。条件可以是信号、事件、边沿等。66与Wave窗口一样,List窗口可以保管数据的列表格式和列表内容。在List窗口中选择File/Save菜单命令,在弹出的Save Format对话框中输入所保管列表的称号,点击保管即可。数据列表也是一个后缀名为.do的可执行脚本文件,经过命令do file_name.do可以翻开列表文件。在File/Write List选项下选择一种格式,可完成对列表内容的保管。列表内容文件是.lst格式的文件,要查看文件内容可经过记事本翻开该文件。6712ModeS

41、im常用交互命令ModelSim图形化界面提供了多种指令,既可以是单步指令,经过在主窗口的命令窗口中输入命令;也可以构成批处置文件(如DO文件),用来控制编辑、编译和仿真流程。下面引见ModelSim中用于仿真的一些常用指令,其它指令可参考ModelSim阐明书或协助。681)run指令指令格式:run 其中,参数timesteps(时间步长)和time_unit(时间单位)是可选项,time_unit可以是fs(10-15s)、ps(10-12s)、ns(10-9s)、ms(10-6s)、sec(s)等几种。例如:“run表示运转;“run 1000表示运转1000个默许的时间单元(ps);

42、“run 3500ns表示运转3500 ns;“run-continue表示继续运转;“run-all表示运转全程。692)force指令指令格式:force ,其中,参数item_name不能默许,它可以是端口信号,也可以是内部信号,而且还支持通配符号,但只能匹配一个;参数value也不能默许,其类型必需与item_name一致;time是可选项,支持时间单元。例如:“force clr 1 100表示阅历100个默许时间单元延迟后为clr赋值1;“force clr 1,0 1000表示为clr赋值1后,阅历1000个默许时间单元延迟后为clr赋值0。703)force-repeat指令指

43、令格式:force ,-repeat 指令功能:每隔一定的周期(period)反复一定的force指令。该指令常用来产生时钟信号。例如:“force clk 0 0,1 30-repeat 100(-repeat指令可以用-r替代)表示强迫clk从0时间单元开场,起始电平为0,终了电平为1,忽略时间(即0电平坚持时间)为30个默许时间单元,周期为100个默许时间单元,占空比为(100-30)/100=70%。714)force-cancel指令指令格式:force-cancel 指令功能:执行period周期时间后取消force指令。例如:“force clk 0 0,1 30-repeat

44、60-cancel 1000表示强迫clk从0时间单元开场,直到1000个时间单元终了。725)view指令指令格式:view窗口名指令功能:翻开ModelSim窗口。例如:“view source表示翻开源代码窗口;“view wave表示翻开波形窗口;“view dataflow表示翻开数据流窗口。7313DO文件创建DO文件就像在文本文件中输入命令行一样简单,当然也可以将主窗口的复本保管为DO文件。在ModelSim中创建一个DO文件,在该DO文件中向波形窗口添加信号,并给这些信号提供鼓励,而后进展仿真。74选择File/New/Source/Do菜单命令,创建一个DO文件。在窗口中输入

45、以下命令:vlib workvmap workvlog shiftregist.v testbench_shiftregist.vvsim shiftregist.v add wave/testbench_shiftregist.v/*run 2000view dataflow75将以上文件保管为shiftregist.do文件,每次运用命令do shiftregist.do即可自动执行想要的仿真动作。shiftregist.do的功能:新建work库,将work库映射到当前任务目录,编译shiftregist.v、testbench_shiftregist.v文件(默许编译到work库下),

46、仿真work库中名为testbench_shiftregist的模块将testbench_shiftregist的一切信号参与到波形图中。完成计数器仿真批处置文件的编辑后,以“shiftregist.do为文件名将其保管在与计数器设计文件一样的文件夹中,并经过ModelSim编译。76在ModelSim的命令窗口中执行“shiftregist.do命令,可完成对移位存放器的仿真。777.2.2 NC-Verilog的运用的运用Cadence NC-Verilog 是业界优秀的是业界优秀的Verilog HDL仿真器,提供了高性能、高容量的事务仿真器,提供了高性能、高容量的事务/信号信号视窗和集

47、成的覆盖率分析,并支持视窗和集成的覆盖率分析,并支持Verilog HDL 2001特性。特性。NC-Verilog 完全兼容完全兼容Incisive一体化平一体化平台台(unified platform),使得用户可以很容易实现,使得用户可以很容易实现纳米纳米(nanometer)工艺集成电路上系统设计的数字工艺集成电路上系统设计的数字化验证。化验证。NC-Verilog 为为Verilog HDL设计提供了业界优设计提供了业界优秀的仿真性能,它运用独特的本地秀的仿真性能,它运用独特的本地Incisive一体化一体化仿真器编译架构,从仿真器编译架构,从Verilog HDL直接生成高效的直接

48、生成高效的机器码用于高速执行。机器码用于高速执行。78一体化的NC-Verilog 仿真和调试环境,很容易管理多个设计的运转和分析设计与测试平台。它的事务/波形视窗和原理图追踪器能迅速追踪设计行为到源代码。NC-Verilog是全编译仿真器,它直接将Verilog HDL代码编译为机器码执行。其过程为:利用ncvlog命令来编译Verilog HDL源文件,按照编译指点(compile directive)检查语义及语法,产生中间数据;ncelab(描画)按照设计指示构造设计的数据构造,建立信号衔接,产生可执行代码和中间数据;ncsim(仿真)启动仿真核,核调入设计的数据构造,构造事件序列,调

49、度并执行事件的机器码。791任务方式的选择任务方式的选择运转运转NC-Verilog的命令是的命令是nclaunch。第一次。第一次运转的时候,需求用户选择任务方式。这里可供运转的时候,需求用户选择任务方式。这里可供选择的主要是选择的主要是Multiple Step和和Single Step,请选择,请选择Multiple方式,此方式对应的仿真流程是方式,此方式对应的仿真流程是ncvlog(编译编译)、ncelab(描画描画)、ncsim(仿真仿真)三步。三步。两种任务方式的详细阐明可见参考手册。图两种任务方式的详细阐明可见参考手册。图7.2-6为为NC-Verilog的启动界面。的启动界面。

50、80图7.2-6 NC-Verilog的启动界面812建立任务环境建立任务环境作为编译仿真工具,最中心的是源代码部分,作为编译仿真工具,最中心的是源代码部分,由于由于NC-Verilog的源文件编辑界面效果不佳,这的源文件编辑界面效果不佳,这里建议运用其它支持里建议运用其它支持VHDL/Verilog HDL言语的工言语的工具编写代码,在确保没有语法错误后再导入到具编写代码,在确保没有语法错误后再导入到NC-Verilog中进展编译。中进展编译。选择选择File/Set Design Directory菜单命令,在菜单命令,在弹出的对话框中设置如下选项。弹出的对话框中设置如下选项。82 Des

51、ign Directory:普通是工程所在的目录,即启动NCLaunch 时所在的目录。Library Mapping File:点击“Create cds.lib File按钮,会弹出一个“Create a cds.lib file对话框,其中的文件名是“cds.lib,选择“Save,此时在弹出的对话框中选择“Include Default Libraries,将会在当前工程目录下建立INCA_lib 文件夹用来保管整个设计中全部的库信息。Work Library:在建立了cds.lib 之后将出现worklib 的默许选项,无需更改。83需求阐明的是,当完成上述环境设置之后,在任务平台的

52、右上方将出现“Error:Unable to find an hdl.var file to load in的警告,暂时无需关注此警告,在进展恣意文件编译之后软件将自动生成hdl.var 文件,重新载入任务目录后(File/Set Design Directory)警告将消逝。843编译用鼠标左键选择NCLaunch界面左窗口中的源文件drink_machine.v和test_drink_machine.v。假设有多个设计文件,可以按住Ctrl键的同时选择。第一次编译时选择Tool/Verilog HDL Compiler菜单项,以后可以直接点击工具栏中的vlog按钮。应特别留意的是,在编译胜

53、利第一个文件后应重新载入任务目录(File/Set Design Directory),以确保警告消逝。854载入设计文件用鼠标左键选择NCLaunch界面右窗口中任务目录(worklib)下的顶层实体worklib/counter_tb/module(必需提示的是:假设右边的worklib 前面没有出现“+,那么请首先检查右边任务平台上对应的的任务途径,确定任务途径曾经转换到了和左边一致的目录下),然后选择Tool/Elaborator菜单命令,在弹出的对话框里选中“Access visibility的Read属性,然后确定。载入设计文件后的NCLaunch界面如图7.2-7所示。86图7.

54、2-7 载入设计文件875仿真用鼠标左键选择NCLaunch界面右窗口中Snapshots下的顶层实体(snapshots/worklib.shiftregist_tb:module)。然后选择Tool/Simulator菜单命令,在弹出的对话框中单击“确定按钮,将弹出仿真器窗口。弹出的默许窗口有两个,点击Design Browser/SimVision窗口工具栏中的波形按钮,开启波形仿真窗口。展开Design Browser/SimVision窗口左边阅读器中的Simulator,在右边的列表中选择希望察看的信号。然后,点击鼠标右键选择send to Waveform Windows。88根

55、据实践波形的需求,在 Waveform/SimVision 窗口内把时间显示单位换成s、ns或ps,然后开场仿真,有两种方法:(1)选择Simulation/Run或者直接点击工具栏中的“开场按钮,开场波形仿真。假设参与了新的信号,需求重新仿真,点击复位,再次仿真。(2)在Console窗口直接输入命令使仿真一段时间,如输入run 2000 ns。89仿真验证在整个工程的过程中有着重要的意义,科学合理的仿真方法和仿真技巧可以到达事半功倍的效果;反之,假设只是一味地进展实际分析而不会利用多种工具的优点,那么能够会使实践工程寸步难行。设计者在设计过程中应时辰仿真验证本人的设计。一个系统由很多模块构

56、成,建议每个模块完成后都进展完好的仿真测试,不要等到整个系统完成了再仿真。这样可以缩短整个设计的周期,提高设计效率。90逻辑综合是前端电路模块设计的重要步骤之一。逻辑综合是在规范单元库和特定设计约束的根底上,把设计的高层次描画转换成优化的门级网表的过程。Design Compiler是Synopsys公司用于电路逻辑综合的中心工具,7.3 综综 合合 工工 具具91它可以方便地将HDL言语描画的电路转换到基于工艺库的门级网表,它是ASIC设计领域运用较多的逻辑综合工具之一。FPGA逻辑综合领域存在着多种逻辑综合工具,其中Synplify以其逻辑综合速度快、逻辑综合效果好而备受关注,成为FPGA

57、设计逻辑综合的常用工具。927.3.1 Synplify的运用的运用Synplify、Synplify Pro和和Synplify Premier是是Synplicity公司公司(Synopsys公司于公司于2021年收买了年收买了Synplicity公司公司)提供的专门针对提供的专门针对FPGA和和CPLD实实现的逻辑综合工具,现的逻辑综合工具,Synplicity的工具涵盖了可编的工具涵盖了可编程逻辑器件程逻辑器件(FPGAs、PLDs和和CPLDs)的综合、验的综合、验证、调试、物理综合及原型验证等领域。证、调试、物理综合及原型验证等领域。Synplify Pro是高性能的是高性能的FP

58、GA综合工具,为综合工具,为复杂可编程逻辑设计提供了优秀的复杂可编程逻辑设计提供了优秀的HDL综合处理综合处理方案:包含的方案:包含的BEST算法可对设计进展整体优化;算法可对设计进展整体优化;93自动对关键途径做Retiming,可以提高性能25%以上;支持VHDL和Verilog HDL的混合设计输入,并支持网表*.edn文件的输入;加强了对System Verilog的支持;Pipeline功能提高了乘法器和ROM的性能;有限形状机优化器可以自动找到最优的编码方法;在Timing报告和RTL视图及RTL源代码之间可进展交互索引;自动识别RAM,防止了繁复的RAM例化。94Synplify

59、 Premier是功能强大的FPGA综合环境。Synplify Premier不仅集成了Synplify Pro一切的优化选项,而且集成了专利的Graph-Based Physical Synthesis综合技术,并提供有Floor Plan选项,是业界领先的FPGA物理综合处理方案,能把高端FPGA性能发扬到最好,从而可以轻松应对复杂的高端FPGA设计和单芯片ASIC原型验证。这些特有的功能包括:全面兼容ASIC代码;支持Gated Clock的转换;支持Design Ware的转换。同时,由于整合了在线调试工具Identify,极大地方便了用户进展软硬件协同仿真,确保设计一次胜利,从而大大

60、缩短了整个软硬件开发和调试的周期。95Identify是RTL级调试工具,可以在FPGA运转时对其进展实时调试,加快整个FPGA验证的速度。Identify软件有Instrumentor和Debugger两部分。在调试前,经过Instrumentor设定需求观测的信号和断点信息,然后进展综合,规划布线。最后,经过Debugger进展在线调试。Synplify Premier HDL Analyst提供优秀的代码优化和图形化分析调试界面;Certify确保客户在运用多片FPGA进展ASIC/SoC验证时快速而高效地完成任务;如今Synopsys公司又推出了基于DSP算法的代码产生和综合工具Syn

61、plify DSP,架起了算法验证和RTL代码实现之间的桥梁;96HAPS是高性能的ASIC原型验证系统,大大减少了一次流片胜利的风险及节省了产品推向市场的时间。Synplify软件的界面如图7.3-1所示。97图7.3-1 Synplify软件的界面981创建工程选择File/New/Project File菜单项,然后填入工程名,点击OK按钮保管。创建工程后,其中的rev_1表示版本一。Synplify 允许对同一个设计根据不同的综合约束条件,创建多个不同的综合版本。992添加文件接下来的步骤是把设计的源文件添加到工程中,设计文件可以是一个,也可以是多个。详细方法是,选择Project/A

62、dd Source File菜单项或者单击界面左边的“Add File按钮,在弹出的对话框中选择要添加的源文件即可。假设事先没有源文件,可以选择新建VHDL或者Verilog HDL源文件,然后在HDL编辑器中编写代码并保管。1003保管工程点击工具栏中的save图标,对工程及源文件进展保管。4语法和综合检测可以用Run菜单中的“Syntax check和“Synthesis对源程序进展检测,检测的结果保管在“Syntax.log文件中。假设有错误将用红色标出,双击可以对错误进展定位。另外,在Run/Compiler Only菜单项中也可以对源文件进展检测。1015编译综合前的设置编译综合前的

63、设置选择选择Project/Implementation Options菜单项菜单项或者单击界面左侧的或者单击界面左侧的“Implementation Options按钮,即可出现设置对话框。在该对话框中设按钮,即可出现设置对话框。在该对话框中设计者可以选择器件、添加一些简单约束等。计者可以选择器件、添加一些简单约束等。选择选择“Altera Cyclone 器件,同时,还可器件,同时,还可以对与器件映射有关的选项进展设定,包括最大以对与器件映射有关的选项进展设定,包括最大扇出、扇出、IO、Pipelining等。等。102在Options中可以对Physical Synthesis、FSM

64、Compiler、Resource Sharing、Retiming等优化选项进展设定;在Constraints中可以对时钟频率进展约束;在Timing Report中可以设定关键途径的数量。在Verilog HDL的Top Level Module中填入shiftregist。1036编译选择Run/Compiler Only菜单项可以对设计进展单独编译。编译后产生的文件中,扩展名为.srr的文件是工程报告文件,包括工程检错、编译、综合和时序等一切工程信息;扩展名为.tlg的文件是工程组织构造信息文件;扩展名为.srs的为RTL视图文件,是设计者经常要检查的,双击该文件或者点击工具栏的图标,

65、移位存放器的RTL视图如图7.3-2所示。104图7.3-2 移位存放器的RTL视图105RTL视图由两部分组成,左边区域是模块、构造的分类目录,包括例化(Instances)、端口(Ports)、网线(Nets)和时钟树(Clock Tree)四部分。Instances目录下是本工程一切调用的模块的实例名和硬件原语,Ports是模块各个层次IO端口的组织关系,Nets是模块中一切连线称号,Clock Tree是以树状构造图显示的时钟依赖关系。RTL视图具有强大的CrossProbing互连切换功能,经过双击RTL视图的某一模块,可以衔接到产生该模块的RTL源代码处,这有利于用户了解代码与硬件

66、的对应关系,方便调试。1067综合选择Run/Synthesize菜单项或者单击面板上的Run按钮,就进展了综合。综合后主要产生了设计的门级网表,门级网表可以拿到规划布线工具中进展设计的最后实现。综合后还产生了一些其它的文件,包括综合报告、Log文件、脚本文件等。综合后曾经根据所选的器件产生了门级电路,设计者可以经过Technology视图功能察看门级电路,方法是选择HDL Analyst/RTL/Hierarchical View菜单项,或者点击工具栏的图标即可,这种方法可以查看层次构造以显示与工艺相关的综合结果。移位存放器的Technology视图如图7.3-3所示。107图7.3-3 移位存放器的Technology视图108在Technology视图下可以利用Push/Pop层次功能进入硬件的更底层,也可以在此图上显示关键途径;还可以把Technology视图展平成门级,方法是选择HDL Analyst/RTL/Flattened to Gates View项,如图7.3-4所示,可查看到与门级电路工艺相关综合结果。需求留意的是,之前引见的RTL Viewer看到的其实是综合工

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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