集成电路设计课件:9 modelsim仿真工具的使用_第1页
集成电路设计课件:9 modelsim仿真工具的使用_第2页
集成电路设计课件:9 modelsim仿真工具的使用_第3页
集成电路设计课件:9 modelsim仿真工具的使用_第4页
集成电路设计课件:9 modelsim仿真工具的使用_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、静态时序分析什么是静态时序分析(STA)FPGA设计哪些过程需要仿真?前仿真与后仿真Modelsim的不同版本Modelsim的仿真过程测试向量的编写Modelsim仿真工具设计规范设计综合布局布线时序分析系统验证系统产品设计输入RTL仿真门级仿真设计输入Modelsim仿真工具FPGA设计过程中,主要用到的仿真是RTL仿真、门级仿真;RTL仿真就是通常所说的前仿真或者功能仿真,它只考虑在理想情况下,用户代码的时序的正确性;用户可通过功能仿真,来检验逻辑功能的时序是否是期待的时序;门级仿真又叫后仿真,它是通过综合、布局布线生成网表后,把各种延时信息进行综合考虑的一种仿真;通过后仿真,用户可知道

2、实际电路运行的情况,及相关的时序信息;Modelsim仿真工具针对不同的应用,modelsim分modelsim XE、modelsim PE、modelsim SE、modelsim_altera等版本;a,modelsim XE针对xilinx的FPGA器件的仿真应用,用户使用时无须库编译;b,modelsim_altera 针对altear的FPGA器件的仿真应用,仿真库已经编译好,用户可直接使用; c,modelsim PE主要是做设计验证用,altera/Xilinx/lattice器件,都需要进行库编译与指定;modelsim PE不支持verilog与vhdl的混合仿真;相比SE

3、版本,仿真速度也不快;d,modelsim SE 也是做设计验证用,使用时,需要对不同厂家的器件库进行编译,并且要指定相应库路径;modelsim SE 支持混合设计及仿真;并且仿真速度很快;另外带许多其它附加功能,比如代码覆盖率等;Modelsim仿真工具窗口介绍workspaceobjectswavetranscriptModelsim仿真工具新建工程准备需要仿真的源文件及TB文件;启动modelsim_altera 6.4,新建工程:sim_tech_tt加载源文件及TB文件点击add exiting fileBrowseselect files源文件加载后的未编译状态文件未编译源文件加

4、载后的未编译状态文件未编译编译源文件及TB文件编译所有文件Compile All编译的文件编译出错当编译出错时,会指示哪个源文件出错查找错误通过点击出错的源文件,会找出源文件的错误点具体的错误定位通过点击错误行,就能定位到源文件中错误编译成功启动仿真源文件全编译成功后,就可加载仿真simulate加载库文件altera常用的库有:220_models/altear_mf/sgate不同的器件有不同的库加载OK的库开始仿真选择要观察的信号在objects栏时,选择要观察的信号;加入到wave窗口已加入的信号已加入的信号查看波形放大波形局部鼠标中键波形测量新增光标波形颜色设置formatcolor

5、多种颜色设置效果testbench编写测试向量文件测试文件(Testbench)以模拟的方式来验证逻辑时序的正确性;它以源的方式来激励用户编写的逻辑功能模块;测试激励源测试激励结果用户逻辑模块testbench编写TB文件结构TB文件只是用来测试的模块,对外没有输入输出信号引脚;timescale 1ns/100ps/时间精度module mii_top_tb(); endmodule时间精度格式:timescale reference_time/precisionreference_time:单位时间,根据用户模块的输入输出时钟周期来决定;precision:单位时间精确度,即参考时钟可达的

6、最大精度;示例:timescale 1ns/100ps单位时间为1ns,可精确到0.xx位;比如1.23/3.75;testbench编写激励端口相对于TB文件,被测模块的输入是TB的输出,而被测模块的输出是TB的输入;即在TB文件中,相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理。 module mii_top_tb();reg clk,rstwire mii_tx_en;wire 3:0mii_tx_dat;. endmoduleTB被测试模块testbench编写延时单位格式:#times ns/us/ms/min示例:#2n

7、s; #40;说明:延时2ns; 延时40个单位时间;在TB文件中,通过延时#,可以设置各个信号的赋值情况;initial beginreset = 0; #100; reset = 1; end t0 t100testbench编写时钟激励在TB中,时钟激励源的生成有好几种方式;比如生成50M时钟,周期为20ns,则可以用如下方式:timescale 1ns/100psparameter CLK_PERIOD = 20; always #(CLK_PERIOD / 2) clk_50m = clk50m; 或者: forever #(CLK_PERIOD / 2) clk_50m = clk

8、50m;testbench编写信号生成:单个控制信号可以采用延时语句来生成;比如: initial begin rst_n = 1b0; ld = 1b0; en = 1b0; #20; rst_n = 1b1; ld = 1b1; #20; ld = 1b0; en = 1b1; endDFFldqclkdenrst_n多个信号当有多个信号需要生成时,可根据各种事情来生成; 数据流数据流除了可以采用条件生成外,还可以通过$readmemh/readmemb语句生成;或者把数据包以*.mif/*.coe格式存放到ROM中来调用;initial $readmemh ( “*.mif“ , rom )$monitor/$displaymodelsim 可以通过一些系统函数来打印输出相关的信号;为仿真提供监测与比较;$timeformat(-9,1,ns,12);$display( Time clk rst_n ld en d q);$monitor(“%t %b %b %b %b %b %b“,$time,clk,rst_n,ld,en,d,q); 上面的语句是监视DFF各端口信号变化并打印;宏定义在TB 文件中,可以以宏定义语

温馨提示

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

评论

0/150

提交评论