(笔记) 如何使用ModelSim作前仿真与后仿真 (SOC) (Quartus II) (ModelSim).doc_第1页
(笔记) 如何使用ModelSim作前仿真与后仿真 (SOC) (Quartus II) (ModelSim).doc_第2页
(笔记) 如何使用ModelSim作前仿真与后仿真 (SOC) (Quartus II) (ModelSim).doc_第3页
(笔记) 如何使用ModelSim作前仿真与后仿真 (SOC) (Quartus II) (ModelSim).doc_第4页
(笔记) 如何使用ModelSim作前仿真与后仿真 (SOC) (Quartus II) (ModelSim).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

(笔记) 如何使用ModelSim作前仿真与后仿真? (SOC) (Quartus II) (ModelSim)Abstract本文介绍使用ModelSim做前仿真,并搭配Quartus II与ModelSim作后仿真。Introduction使用环境:Quartus II 8.1 + ModelSim-Altera 6.3g由于FPGA可重复编程,所以不少开发人员就不写testbench,直接使用Quartus II的programmer烧进开发板看结果,或者使用Quartus II自带的Waveform Editor进行仿真,这种方式虽然可行,但仅适用于小project,若project越写越大,Quartus II光做fitter就很耗时间,一整天下来都在作Quartus II编译。比较建议的方式,还是学ASIC那招:写testbench先对每个module作前仿真,再对每个module作后仿真,最后再烧入FPGA测试。这种方式的优点是:1.testbench比waveform editor可更灵活的描述电路规格。2.testbench可使用Verilog的系统函数,如$display()、$fwrite().等。但要使用testbench作仿真,单独Qaurtus II并无法做到,就得使用ModelSim了,这又牵涉到前仿真与后仿真。所谓的前仿真,就是Quartus II的Functional Simulation,不考虑电路的门延迟与线延迟,重点在观察电路在理想环境下的行为与设计构想是否一致1。由于没经过fitter阶段,所以仿真速度很快。前仿真结果正确,并不表示将来结果结果正确,但若前仿真结果不正确,则将来结果一定不正确。所谓的后仿真,就是Quartus II的Timing Simulation,考虑了电路的门延迟与线延迟,由于经过fitter阶段,所以模拟结果最为精准。但fitter在Quartus II编译需耗费很多时间,所以建议前仿真正确后,再考虑后仿真。使用Quartus II的waveform editor作前仿真与后仿真,我就不再多谈,本文主要是谈如何使用ModelSim-Altera作前仿与后仿。1.使用GUI的方式在ModelSim-Altera作前仿真。2.使用DO macro在ModelSim-Altera作前仿真。3.使用Quartus II + ModelSim-Altera作后仿真。Counter.v / Verilog1/*2(C) OOMusou 2008 34Filename : Counter.v5Compiler : Quartus II 8.1 / ModelSim-Altera 6.3g6Description : simple counter7Release : 01/30/2009 1.08*/910timescale 1ns/100ps1112module Counter (13 input CLK,14 input RST_N,15 output 3:0 CNT16);1718reg 3:0 cnt;19assign CNT = cnt;2021always(posedge CLK, negedge RST_N) begin22 if (!RST_N) 23 cnt = #54h0;24 else25 cnt New ProjectStep 2:Add Existing File将Counter.v与Counter_tb.v加入Step 3:Compile All选择Counter.v或者Counter_tb.v,按鼠标右键,选择Compile-Compile All,编译所有Verilog code。编译成功。Step 4:Simulate在Library tab选择Counter_tb,按鼠标右键,选Simulate。Simulate成功。Step 5:Add Signal to Wave将欲观察的信号从Objects加入Wave,加入clk,rst_n与cnt。最后结果。Step 6:Run 300ns最后前仿结果。2.使用DO macro在ModelSim-Altera作前仿真ModelSim也提供macro的方式,以上所有的GUI操作,都可以使用TCL script描述。Step 1与Step 2与之前一样。Step 3:Execute MacroCounter_wave.do / ModelSim Macro 1#compile2vlog Counter.v3vlog Counter_tb.v45#simulate6vsim Counter_tb78#probe signals9add wave *1011#300 ns12run300 ns最后前仿结果。3.使用Quartus II + ModelSim-Altera作后仿真Step 1:设定Quartus II使用ModelSim-Altera作后仿真Assignments - Settings - Category :EDA Tool Settings - Simulation:Tool name:ModelSim-Altera选取Run gate-level simulation automatically after compilationFormat for output netlist:VerilogTime scale:1 ns Step 2:设定testbench 在同一页的NativeLink settings选择Compile test bench,按下TestBenches.加入Counter_tb.v。比较诡异的是,Test bench name、Top level module in test bench与Design instance name in test bench无法自己抓到,必须自己填。 Step 3:编译与模拟 Processing - Start Compilation 完整程序代码下载Counter.7z Conclusion本文介绍了使用ModelSim作前仿真与后仿真,善用ModelSim,将可加快FPGA与SOPC的开发。See Also(原创) 如何使用ModelSim-Altera作电路仿真? (SOC) (Quartus II) (ModelSim)(原创) 如何解决在Quartus II无法使用ModelSim-Altera模拟的问

温馨提示

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

最新文档

评论

0/150

提交评论