基于Modelsim行为仿真实现课件.ppt
《基于Modelsim行为仿真实现课件.ppt》由会员分享,可在线阅读,更多相关《基于Modelsim行为仿真实现课件.ppt(59页珍藏版)》请在三一办公上搜索。
1、本章详细介绍了设计综合和行为仿真的流程和法。 在设计综合部分,介绍了综合的概念、综合属性配置方法和综合实现,以及RTL原理图查看。在行为仿真部分,介绍了测试向量的生成、行为仿真工具、基于Modelsim软件的行为仿真和基于ISE仿真器的行为仿真的实现,同时还介绍了使用波形和VHDL语言建立测试向量的方法。,第八章,第8章,设计综合和行为仿真-主要内容,本章详细介绍了设计综合和行为仿真的流程和法。第,设计综合和行为仿真-行为综合,在集成电路设计领域,综合是指设计人员使用高级设计语言对系统逻辑功能的描述,在一个包含众多结构、功能、性能均已知的逻辑元件的逻辑单元库的支持下,将其转换成使用这些基本的逻
2、辑单元组成的逻辑网络结构实现。这个过程一方面是在保证系统逻辑功能的情况下进行高级设计语言到逻辑网表的转换,另一方面是根据约束条件对逻辑网表进行时序和面积的优化。,第八章,设计综合和行为仿真-行为综合 在集成电路设计,设计综合和行为仿真-行为综合,行为级综合可以自动将系统直接从行为级描述综合为寄存器传输级描述。 行为级综合的输入为系统的行为级描述,输出为寄存器传输级描述的数据通路。 行为级综合工具可以让设计者从更加接近系统概念模型的角度来设计系统。同时,行为级综合工具能让设计者对于最终设计电路的面积、性能、功耗以及可测性进行很方便地优化。 行为级综合所需要完成的任务从广义上来说可以分为分配、调度
3、以及绑定。,第八章,设计综合和行为仿真-行为综合 行为级综合可以自,设计综合和行为仿真-行为综合,分配包括决定系统实现所需要的各个功能组件的个数以及种类。这些组件以及资源来自采用寄存器传输级描述的元件库,包括诸如运算逻辑单元、加法器、乘法器和多路复用器等。分配同时也决定了系统中总线的数量、宽度、以及类型。,第八章,设计综合和行为仿真-行为综合 分配包括决定系,设计综合和行为仿真-行为综合,调度为行为级描述中的每个操作指派时间间隙,这也成为控制执行步骤。数据流从一级寄存器流向下一级寄存器并按调度所指定的执行步骤在功能单元上执行。每一个执行步骤的时间长度通常为一个时钟周期,并且在这一个执行步骤中的
4、操作被绑定到特定寄存器传输级描述的组件上。上述这些操作都完成后,系统所完成的功能被分配到各个功能单元模块,变量被存储在各个存储单元,并且不同功能单元之间的互连关系也建立起来了。 在实际的PLD设计流程中,逻辑综合将使用硬件逻辑描述语言如Verilog、VHDL等描述的寄存器传输级(RTL)描述,转换成使用逻辑单元库中基本逻辑单元描述的门级网表电路。,第八章,设计综合和行为仿真-行为综合 调度为行为级描,设计综合和行为仿真-基于XST的综合,当所有的设计完成,并且进行完语法检查后,就可以使用Xilinx的XST工具或Synplify工具进行综合了,综合工具使用HDL代码,然后生成支持的网表格式E
5、DIF或NGC,然后Xilinx的实现工具将使用这些网表文件完成随后的处理过程。 综合工具在对设计的综合过程中,主要执行以下三个步骤: 1、语法检查过程,检查设计文件语法是否有错误; 2、编译过程,翻译和优化HDL代码,将其转换为综合工具可以识别的元件序列; 3、映射过程,将这些可识别的元件序列转换为可识别的目标技术的基本元件;,第八章,设计综合和行为仿真-基于XST的综合 当所有,设计综合和行为仿真-基于XST的综合,在ISE的主界面的处理子窗口的synthesis的工具可以完成下面的任务:查看综合报告(view Synthesis Report)、查看RTL原理图(View RTL sch
6、ematic)、查看技术原理图(View Technology Schematic)、检查语法(Check Syntax)和产生综合后仿真模型(Generate Post-Synthesis Simulation Model)。,第八章,设计综合和行为仿真-基于XST的综合 在,设计综合和行为仿真-约束及设计综合的实现,XST支持用户约束文件格式(UCF,User Constraint File),该文件主要是用于综合和时序的约束。这种文件格式叫Xilinx的约束文件(XCF,Xilinx Constraint File)。下面介绍该设计中所用到的用户文件的生成和插入设计的步骤: 1、在ISE
7、主界面,选择Project-Add source,选择stopwatch.xcf文件,并打开; 2、stopwatch.xcf文件作为用户文档添加到用户的设计文件中; 3、打开该文件,下面是对于该设计的约束描述: NET CLK TNM_NET = CLK_GROUP;,第八章,设计综合和行为仿真-约束及设计综合的实现,设计综合和行为仿真-约束及设计综合的实现,TIMESPEC TS_CLK = PERIOD CLK_GROUP 20 ns; /时序约束 BEGIN MODEL stopwatch /以下是管脚约束 NET clk LOC = E12; NET sf_d LOC = Y15;
8、NET sf_d LOC = AB16; NET sf_d LOC = Y16;,第八章,设计综合和行为仿真-约束及设计综合的实现 TIMESPE,设计综合和行为仿真-约束及设计综合的实现,NET sf_d LOC = AA12; NET sf_d LOC = AB12; NET sf_d LOC = AB17; NET sf_d LOC = AB18; NET sf_d LOC = Y13;END;,第八章,设计综合和行为仿真-约束及设计综合的实现 NE,设计综合和行为仿真-约束及设计综合的实现,4、关闭该文件; 5、在工程管理窗口,选择stopwatch.vhd文件。在处理子窗口,选择Sy
9、nthesis,并单击鼠标的右键选择Properity属性; 6、在Synthesis Options标签下,单击Synthesis Constraints File属性域,输入stopwatch.xcf; 7、选中写时序检查(Write Timing Contraints)选项,单击OK; 8、选中stopwatch.vhd文件,并在处理子窗口用鼠标双击Synthesize选项; 通过上面的步骤,完成对约束文件的配置过程。,第八章,设计综合和行为仿真-约束及设计综合的实现,设计综合和行为仿真-RTL符号的查看,在综合完成后,XST将产生RTL的原理图(RTL Schematic)。可以通过R
10、TL原理图查看工具,看到综合后的逻辑连接关系。 RTL原理图(RTL Schmatic)是优化前的HDL代码的逻辑; 技术原理图(Technology Schematic)是HDL综合完成后的设计和目标技术的映射。,第八章,设计综合和行为仿真-RTL符号的查看,设计综合和行为仿真-RTL符号的查看,通过下面的步骤,查看RTL对HDL设计的描述过程: 在处理子窗口,点击+ Synthesize XST选项,将其下面的功能分层展开; 双击 View RTL Schematic 或View Technology Schematic选择。如图6.11,RTL的查看工具将显示出HDL的顶层设计的符号描述
11、; 双击该图标,可以更进一步的看到底层模块的连接关系。,第八章,设计综合和行为仿真-RTL符号的查看 通,设计综合和行为仿真-RTL符号的查看,第八章,设计综合和行为仿真-RTL符号的查看第八章,设计综合和行为仿真-行为仿真的实现,VHDL还可以描述变化的测试信号。描述测试信号的变化和测试过程的模块叫做测试平台(Testbench),它可以对任何一个Verilog/VHDL模块进行动态的全面测试。通过对被测试模块的输出信号的测试,可以验证逻辑系统的设计和结构,并对发现的问题及时修改。 测试平台是为逻辑设计仿真而编写的代码,它能直接与逻辑设计接口。如图8.2所示,通过向逻辑设计施加激励,检测被测
12、模块的输出信号。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 VHDL,设计综合和行为仿真-行为仿真的实现,测试平台通常使用VHDL、Verilog、e或者Open Vera编写,同时还能调用外部的文件和C函数。测试平台可以使用同逻辑设计不同的描述语言,仿真器通常提供支持不同描述语言的混合仿真功能。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 测试平,设计综合和行为仿真-行为仿真的实现,硬件描述语言如Verilog和VHDL等,都提供了两种基本的建模方式:行为级和寄存器传输级。寄存器传输级是对硬件逻辑进行可综合性的描述,使用的是VHDL语言中可综合逻辑设计激励响应测
13、试平台结果显示平台的描述部分。 寄存器传输级代码可以由逻辑综合工具直接转换成门级电路。 行为级描述是对硬件逻辑更为灵活和抽象的描述,描述的重点在于硬件逻辑的功能,通常不考虑时序问题。行为级代码通常不能被逻辑综合工具转换成门级电路。 测试平台以行为级描述为主,不使用寄存器传输级的描述形式。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 硬,设计综合和行为仿真-行为仿真的实现,测试平台主要由两个组件构成:激励生成和响应检测。 它们同被测单元(DUT, Device Under Test)的关系如图8.3所示。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 测试平台主要,设计
14、综合和行为仿真-行为仿真的实现,DUT是待测的逻辑电路。通常,DUT是使用硬件逻辑描述语言HDL编写的寄存器传输级电路。 激励生成模块的主要功能是根据DUT输入接口的信号时序,对DUT产生信号激励,将测试信号向量输入到DUT中。响应检测模块根据DUT输入接口的信号时序,响应DUT的输出请求,并检查输出结果的正确性。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 DUT是,设计综合和行为仿真-行为仿真的实现,建立测试平台时,首先应针对DUT的功能定义测试向量;然后根据每一个测试向量的要求分别设计激励生成和响应检测模块,要求激励生成模块能够能在DUT的接口上产生该测试向量所需的信号激励
15、,响应检测模块能够对DUT在这种信号激励下的结果输出进行响应和检测;最后将激励生成模块、DUT和响应检测模块相连,组成验证环境,在仿真器上进行仿真,根据响应检测模块的检测报告来判断测试向量是否通过测试。,第八章,生成测试向量,设计综合和行为仿真-行为仿真的实现 建立测试,设计综合和行为仿真-设置仿真工具,Xilinx的ISE工具提供了集成设计流程,该设计流程支持基于Mentor Graphics公司Modelsim仿真工具和ISE仿真工具,这两种仿真工具均可从工程向导中运行。 只有安装Modelsim软件才能使用Modelsim仿真工具,ModelSim PE和ModelSim SE是Ment
16、or Graphics公司ModelSim软件的完全版本。为配合ISE9.2库的仿真,需要使用ModelSim6.0或更高版本。ModelSim XE是基于ModelSim PE的ModelSim Xinlinx版本。 当安装ISE软件时,ISE仿真工具就自动安装完成,所以不需要进行额外安装。,第八章,设计综合和行为仿真-设置仿真工具 Xili,设计综合和行为仿真-配置Xilinx仿真库,当设计中有需要例化的Xilinx基本元件、Core生成器元件和其它IP核时,必须要使用Xilinx的仿真库才能对这样的设计进行仿真。这些仿真库保存了每一个元件的模型。这些模型描述了每一个元件的功能,为仿真工具
17、提供了仿真时所需要的信息。 Modelsim软件使用modelsim.ini文件确定编译库的位置。比如,将UNISIM库编译到c:libUNISIM路径下,在该文件中必须有下面的映射描述:UNISIM=C:libUNISIM。,第八章,设计综合和行为仿真-配置Xilinx仿真库,设计综合和行为仿真-建立波形测试向量,这一部分介绍通过波形编辑器产生测试向量的过程。可以通过波形编辑器,以图形的方式输入激励信号,生成VHDL或Verilog 测试平台。 下面的过程给出了为子模块创建测试平台波形的步骤(当然波形编辑器也能为顶层设计生成一个激励源)。下面给出通过波形编辑器创建一个测试平台波形文件的步骤:
18、,第八章,设计综合和行为仿真-建立波形测试向量,设计综合和行为仿真-建立波形测试向量,1、在Source Tab选项卡中,选择time_cnt; 2、选择Project New Source; 3、在New Source向导中, 选择源类型为Test Bench Waveform.; 4、输入time_cnt_tb,单击Next; 需要注意的是,在选项对话框中, 文件time_cnt 为默认的源文件,这是因为在Source Tab选项卡中,选择了time_cnt;单击Next,单击Finish; 5、在ISE中打开波形编辑器。显示初始化时序对话框,可以设定仿真时间参数。时钟为高和低区域决定了时
19、钟周期。输入建立时间决定了输入有效起始时间,输出有效延迟定义了时钟有效后输出有效的起始时间;,第八章,设计综合和行为仿真-建立波形测试向量 1,设计综合和行为仿真-建立波形测试向量,6、初始化时序对话框,如下输入: Clock Time High: 10 Clock Time Low: 10 Input Setup Time: 5 Output Valid Delay: 5 7、在全局时钟部分选择GSR (FPGA) 8、将初始化的测试平台(TestBench)长度改为3000,单击Finish。 通过上面的步骤,完成建立测试向量的过程。,第八章,设计综合和行为仿真-建立波形测试向量 6、,设
20、计综合和行为仿真-波形测试向量的应用,在波形编辑器中,可以应用过渡带(High/Low),其宽度由Input setup delay 和the Output valid delay决定。对该测试产生如下激励输入: 1、单击CE在110 ns时为高 2、单击CLR在150 ns时为高 3、单击CLR在230 ns时为低 4、单击保存:新的测试平台波形源(time_cnt_tb.tbw)自动加入到工程中 5、在Source Tab选项卡中,选择time_cnt_tb.tbw图8.10 在波形编辑器中生成激励信号 6、双击Generate Self-Checking Test Bench,第八章,设
21、计综合和行为仿真-波形测试向量的应用 在波形,设计综合和行为仿真-波形测试向量的应用,一个包含输出数据和自检码的测试平台产生并添加到工程中,创建的测试平台文件可用于与仿真后的数据比较,图8.10 在波形编辑器中生成激励信号,第八章,设计综合和行为仿真-波形测试向量的应用图8.10 在波形编,设计综合和行为仿真-基于Modelsim行为仿真实现,下面所介绍的行为仿真是基于前面的秒表设计完成,并完成了设计综合。为了实现对该设计的行为仿真,需要下面的文件:设计文件,测试平台(Testbench)文件和Xinlinx仿真库。 1、设计文件:VHDL、Verilog或原理图文件。 2、Testbench
22、文件:仿真设计过程中需要一个测试平台文件作为仿真激励源。 3、Xinlinx仿真库:当在设计中涉及IP核时,应该创建Xinlinx仿真库,库中包含了DCM数字时钟管理和核产生器(CORE Generator)元件。,第八章,设计综合和行为仿真-基于Modelsim行为仿真实现,设计综合和行为仿真-添加HDL测试文件,下面给出添加测试平台文件步骤和过程: 1、如果建立一个新的测试平台文件,可选择ProjectNew Source,选择文件类型为VHDL Test Bench或Verilog Text Fixture,生成一个仿真文件,可以在这个文件中定义所需要的测试平台及其测试向量。 2、如果添
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Modelsim 行为 仿真 实现 课件

链接地址:https://www.31ppt.com/p-1714983.html