图21 选择仿真所需要的资源库
后面的观察波形步骤跟前面一样。
四、观察波形的一些方法和技巧。modelsim 4.1 手动创建输入波形(待定)对于复杂的设计文件,最好是自己编写testbench文件,这样可以精确定义各信号以及各个信号之间的依赖关系等,提真效率。
对于一些简单的设计文件,也可以在波形窗口自己创建输入波形进行仿真。具体方法是鼠标右击work库里的目标仿真文件counter.v,然后点createwave,弹出wave default窗口。如下图所示。
图22 Add to Wave
在wave窗口中选中要创建波形的信号,如此例中的CLK,然后右键点击,选择Create/Modify/Wave项出现下面的窗口:
图23 设置输入波形
在Patterns中选择输入波形的类型,然后分别在右边的窗口中设定起始时间、终止时间以及单位,再点Next出现下面的窗口,我们把初始值的HiZ改为0,然后修改时钟周期和占空比,然后点Finish。
图24 设置输入波形
图25 仿真波形
4.2 观察特定信号波形 如果设计者只想查看指定信号的波形,可以先选中objects窗口中要观察的信号,然后点右键选择Add toWave->Selected signals,见下图,那么在Wave窗口中只添加选中的信号。
图26 查看特定信号波形
4.3 保存和导入波形文件(待定)如果要保存波形窗口当前信号的分配,可以点File->Save,在出现的对话框中设置保存路径及文件名,保存的格式为.do文件。
如果是想导出自己创建的波形(在文章最后有详细的解释)可以选择File->ExportWaveform在出现的对话框中选择EVCD File并进行相关设置即可。
如果导入设计的波形选择File->Import ECVD即可。
4.4 Dataflow窗口观察信号波形在主界面中点View->Dataflow可以看到会出现dataflow窗口,在objects窗口中拖一个信号到该窗口中,你会发现在dataflow窗口中出现你刚才选中信号所在的模块,如果双击模块的某一引脚,会出现与该引脚相连的别的模块或者引线,见下图。
图27 Dataflow窗口
在dataflow窗口中点View->ShowWave,会在dataflow窗口中出现一个wave窗口,双击上面窗口中的某一模块,则在下面的wave窗口中出现与该模块相连的所有信号,如果已经执行过仿真,在wave窗口中还会出现对应的波形,见下图。
图28 Dataflow窗口观察仿真波形
如果要在modelsim中修改原设计文件,在文档页面点击右键,取消ReadOnly,即可修改,修改后继续仿真。如果想结束仿真可以点Simulate->EndSimulation,或直接在命令行输入quit -sim,此时quartus也会显示结束所有编译过程。
五、 一些说明 关于在testbench里使用`timescale的问题
`timescale 是编译器指令,用来定义时延精度和时延单位,命令格式为
`timescale time_unit/time_precision
其中time_unit定义时延单位,即后面模块中出现的时延数值的单位,time_precision定义时延精度。例如
`timescale 1ns/100ps 表示时延单位为1ns,时延精度为100ps。
如果后面有语句 #5.22 a=1;
此时时延值5.22ns应该对应为5.2ns,因为精度为0.1ns。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-38414-5.html
狼真的来了