9、库文件增加完成后,切换至SDF窗口,增加.sdo文件,在Apply to Region窗口中输入testbench的例化名(这点很重要,注意是例化名)。
10、点击一系列的OK之后,Modelsim-Altera自动进入仿真界面。增加波形至wave窗口,运行run,完成仿真。
这样,利用Modelsim-Altera采用GUI进行时序仿真的流程就此结束。 三、Modelsim-Altera时序仿真过程中调用四种常用的仿真库,分别为:
·元件库,例如本例程所用到的cycloneII元件库,根据FPGA特定的型号。 ·altera_mf,调用Megafunction的设计仿真时需要; ·lpm,调用lpm元件的设计仿真时需要;
·primitive库,调用altera的原语(primitive)设计仿真时需要;
Modelsim在仿真过程中,工作库只能有一个,而资源库则可以有多个。Modelsim-Altera在安装后,安装目录下已经默认安装很多库,在仿真的时候拷贝到仿真目录下即可直接调用。资源库是不变的,而工作库是用来把不同设计的编译文件放进去,且根据需要,不断更新。
Modelsim-Altera 使用技巧总结(三)
0赞 发表于 2014/5/29 16:52:34 阅读(1351) 评论(0)
软件使用版本:Quartus II 13.0+Modelsim_Altera10.1d
工程使用例程:tcd1209+ad9945,verilog HDL设计 撰写人:Strive_JP
参考资料:《ModelSim高级使用进阶_1_do文件和批处理文件使用_Camp》 一、do文件使用
在使用技巧总结(一)中提到了,保持波形文件格式为.do文件,以便在下次进行仿真时直接打开。其实,.do文件可以很方便地增加工作效率。前面所介绍的都是基于GUI即Modelsim图形界面的仿真方法,每次仿真过程中都需要将这些仿真流程执行一篇。无论是点击鼠标还是输入命令,这些方法都极大的不便。尤其当我们发现错误,修改代码后再进行重复步骤的编译。这些都让人崩溃。在本文中,总结一种.do文件调用的方法,来省略这些仿真流程。
还是采用技巧总结(二)中的例程来说明,建立.do文件。例程目录如下:
注:上图已完成本文档所有操作,并且在工程中最好将仿真所有文件放入同一文件夹下,防止因路径问题,仿真无法正确执行。
随后,打开modelsim,进行功能仿真,所有步骤参考技巧总结(一)。 运行完仿真之后,我们将仿真过程中的命令进行总结:
·cd {C:\\Documents and Settings\\Administrator\\Desktop\\sim}--更改路径名称(当前modelsim工程路径) ·vlib work ---建立work库 ·vmap work work ---映射work库
·vlog -reportprogress 300 -work work {C:\\Documents and Settings\\Administrator\\Desktop\\sim\\tcd1209d.v}
·vlog -reportprogress 300 -work work {C:\\Documents and Settings\\Administrator\\Desktop\\sim\\test_prj.v}
·vlog -reportprogress 300 -work work {C:\\Documents and Settings\\Administrator\\Desktop\\sim\\ccd_config.v}
·vlog -reportprogress 300 -work work {C:\\Documents and Settings\\Administrator\\Desktop\\sim\\ccd_timing.v}
·vlog -reportprogress 300 -work work {C:\\Documents and Settings\\Administrator\\Desktop\\sim\\tb_test_prj.v}
---以上几步加载数据路径中的文件 ·vsim tb_test_prj ---运行仿真模块 ·view wave ---打开波形窗口
·add wave -hex * ---添加所有信号至wave窗口,并以16进制显示 ·run 50us ---执行仿真
通过这几个命令,就可以编译属于自己的.do命令了。
--------------------------------------------------------------------------------------------------
cd {C:\\Documents and Settings\\Administrator\\Desktop\\sim} vlib work vmap work work