详细介绍modelsim的使用方法.ppt
- 文档编号:2734356
- 上传时间:2022-11-10
- 格式:PPT
- 页数:30
- 大小:279.50KB
详细介绍modelsim的使用方法.ppt
《详细介绍modelsim的使用方法.ppt》由会员分享,可在线阅读,更多相关《详细介绍modelsim的使用方法.ppt(30页珍藏版)》请在冰豆网上搜索。
用ModelSim作功能仿真(8)3编译源代码(Verilog)vUI)Design-CompilevCmd)vlog-work.v.v文件按出现的顺序被编译文件的顺序或者编辑的顺序不重要v支持增量式编译(只有被改动的设计单元被编译)v缺省编译到work库例如.vlogmy_design.v用ModelSim作功能仿真(9)3编译源代码点亮一个或多个文点亮一个或多个文件并点击件并点击Compile用ModelSim作功能仿真(10)3编译源代码-错误信息错误信息在错误信息在Main窗口显示窗口显示在信息上双击,引起在信息上双击,引起错误的代码在错误的代码在Source窗口被点亮窗口被点亮用ModelSim作功能仿真(11)4启动仿真器vUI)Design-LoadNewDesignCmd)vsim-libvVHDLvsimtop_entitytop_architecturevVerilogvsimtop_level1top_level2仿真多个top级模块用ModelSim作功能仿真(11)4启动仿真器选择仿真器的分辨率选择仿真器的分辨率选择库选择库选择顶级选择顶级module或或entity/architecture用ModelSim作功能仿真(12)4启动仿真器指定指定SDF文件文件使用定时值的等级的使用定时值的等级的类型类型(如果不是顶级如果不是顶级)用ModelSim作功能仿真(13)4启动仿真器-vsim命令的参数参数-t指定仿真的时间分辨率单位可以是fs,ps,ns,ms,sec,min,hr如果用了Verilog的timescale指令,将使用整个设计中的最小的时间精度可选项(缺省是ns)-sdfmin|-sdftyp|-sdfmax=注释SDF文件可选项使用实例名也是可选项;如果没有使用,SDF用于顶级用ModelSim作功能仿真(14)5执行仿真vUI)RunCMD)runv按timesteps指定的时间长度执行仿真用ModelSim作功能仿真(15)5执行仿真(UI)选择选择timesteps数量就数量就可以执行仿真可以执行仿真Restart重装任何已改动重装任何已改动的设计元素并把仿真时间设的设计元素并把仿真时间设为零为零COM)restart用ModelSim作功能仿真(16)5执行仿真-run命令参数命令参数n可选的参数-指定运行的timesteps数量单位可用fs,ps,ns,ms,sec-stepStepstothenextHDLstatement-continue继续上次在-step或断点后的仿真-all运行仿真器直到没有其他的事件用ModelSim作功能仿真(17)5执行仿真-run命令举例命令举例vrun1000从当前位置运行仿真1000timestepsvrun2500ns从当前位置运行仿真2500nsvrun3000运行仿真到timestep3000用ModelSim作功能仿真(18)5执行仿真-仿真器激励v测试台Verilog或VHDL代码非常复杂的仿真(交互式仿真、数据量大的仿真)vforce命令简单的模块仿真直接从命令控制台输入.DO文件(宏文件)用ModelSim作功能仿真(19)5执行仿真-仿真器激励vforce命令简单的模块仿真直接从命令控制台输入.DO文件(宏文件)v测试台(testbench)Verilog或VHDL代码非常复杂的仿真(交互式仿真、数据量大的仿真)用ModelSim作功能仿真(20)5执行仿真-仿真器激励Force命令v允许用户给VHDL的信号和Verilog的线网予以激励v常规语法:
force,v参数用ModelSim作功能仿真(21)5执行仿真-仿真器激励Force命令参数item_name-被激励的HDL项的名称,是必选的-必须是一个标量-可以是一个被编址的阵列,阵列的一部分-可以采用通配符(在只有一个匹配的时候)value-被激励项的值,是必选的-必须适合该项的数据类型time-指定值的时间单位,可选的-相对于当前的仿真时间,用character指定绝对时间-时间单位能被指定,缺省值是仿真分辨率用ModelSim作功能仿真(22)5执行仿真-仿真器激励Force命令参数-repeat-在指定周期重复force命令,是可选的-cancel-在指定周期后取消强制force命令,是可选的用ModelSim作功能仿真(23)5执行仿真-仿真器激励Force命令举例:
vforceclr0在当前仿真时间强制clr到0vforcebus101XZ100ns在当前仿真时间后100ns强制bus1到01XZvforcebus216#4F200仿真启动后强制bus2到4F直到200时间单位,分辨率在仿真启动时选择vforceclk00,120-repeat50-cancel1000在当前仿真后0时间单位强制clk到0和在20时间单位强制到1.每50时间单位重复直到1000.因此,下一个1将在70时间单位发生vforceclk2110ns,020ns-r100ns和上一个例子相似。
-r前面的时间单位表达式必须放在大括号里用ModelSim作功能仿真(24)5执行仿真-仿真器激励.do文件v自动完成仿真步骤的宏文件库设置编译仿真强制仿真激励v能在所有的ModelSim模式里被调用UI)Macro-ExecuteCOM)do.dov能调用其他的DO文件用ModelSim作功能仿真(25)5执行仿真-仿真器激励.do文件举例cdc:
mydirvlibworkvcomcounter.vhdvsimcounterview*addwave/*addlist/*dorun.doaddwave/clkaddwave/clraddwave/loadaddwave-hex/dataaddwave/qforce/clk00,150-repeat100force/clr00,1100run500force/load10,0100force/data16#A50force/clk00,150-repeat100run1000cdc:
mydirvlibworkvcomcounter.vhdvsimcounterview*dostimulus.domy_sim.dostimulus.do用ModelSim作功能仿真(26)5执行仿真-仿真器激励测试台文件(testbench)v针对复杂的仿真vVHDL文件或者Verilogv在测试台文件中将设计模块实例化-将测试台文件置于TOP层,调用设计模块-在测试台文件中加载时钟激励信号,以及给部分信号赋初值v测试台文件的写法与设计模块写法有区别-一些符合语法但又无法被综合的语句(根据具体的综合工具而定),可以在测试台文件中使用用ModelSim作功能仿真(27)设置断点:
v支持两种类型的断点1、在源代码窗口设置断点Toggles再次点击删除断点没有断点数量的限制用bp命令:
bp2、条件断点whenwhenb=1andc/=0与VHDL信号和Verilog线网和寄存器一起使用也可用bp命令:
bpif$now/=100thencont用ModelSim作时序仿真v时序仿真的含义v时序仿真的实现方法v其他问题用ModelSim作时序仿真
(1)时序仿真的含义:
v布局布线后进行的后仿真v包含有延时信息v仿真结果可能与功能仿真不相同v除功能仿真时需要的文件以外,还需要网表文件(如time_sim.vhd或time_sim.v)和包含延时信息的文件(time_sim.sdf文件)用ModelSim作时序仿真
(2)时序仿真的实现方法:
编译Xilinx公司的库文件:
v先将modelsim.ini文件的只读属性去掉v将Xilinx公司元件库的脚本文件COPY到modelsim的安装目录下v在main窗口运行:
MODELSIMsource/xilinx_lib.tcl这里的路径一定要用/来表示,比如e:
/tools/xilinxv看到弹出对话框后,选择相应的选项,进行库的编译用ModelSim作时序仿真(3)时序仿真的实现方法:
vunisim库是用来对ISE中画的电路图进行前仿真时用的。
vsimprim则是在作布线后的时序仿真时用。
用ModelSim作时序仿真(4)时序仿真的实现方法:
以Foundation为例:
vFoundation所产生的netlist不包含timedelay的数据,有一个time_sim.SDF文件来存储TIMING数据。
(有的厂商的布局布线所产生的NETLIST文件已经包含有timedelay的数据).vFoundation所产生的NETLIST文件默认的文件名是time_sim.vhd(或time_sim.v)vtime_sim.vhd或time_sim.v文件用到新的simprim库,因此必须在仿真前先建立。
v做时序仿真,要编译time_sim.vhd或time_sim.v,以及time_sim.SDFv加载测试文件用ModelSim作时序仿真(5)时序仿真的容易遇到的问题:
以Xilinx公司的为例:
vGSR信号产生的影响(可以通过改变输入信号时延来解决)vD触发器的setuptime不足(可以通过分析SDF文件来追究错误所在)关于关于modelsim.ini文件文件vModelSim使用ASCII文件,由用户控制v在ModelSim的安装目录一个缺省文件被提供vmodelsim.ini被编译器和仿真器使用存有初始信息库定位启动文件的定位ModelSim其他缺省设定Library:
逻辑上的LIBRARY与实际硬盘驱动目录的连接vcom:
COMPILE时的一些选项的默认值,0=OFF,1=ONvsim:
仿真时参数的设定vmodelsim.ini缺省为只读属性,故编译库文件时应该将只读属性去掉。
总结前面讲述了ModelSim的基本使用方法。
大家可通过例子来练习使用ModelSim还有一些较深入的问题,例如:
用VITAL仿真模型支持VHDL布局布线后仿真;用Tcl去定制ModelSim图形用户界面;用Tcl去自动生成测试矢量;用性能分析去减少仿真时间;用测试矢量分析HDL代码覆盖率;Modelsim5.6以及5.7的新特性;源代码编写中的语言模板和助手;数据流窗口中的信号探察等等,还有待于进一步的探讨。
谢谢大家!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详细 介绍 modelsim 使用方法
![提示](https://static.bdocx.com/images/bang_tan.gif)