modelsim中do文件的格式及使用方法
modelsim使用指南.

执行仿真 (UI)
选择 timesteps数量就 可以执行仿真
Restart – 重装任何已改动 的设计元素并把仿真时间设 为零 COM) restart
38
run 命令参数
可选的参数
– -<timesteps> <time_unit> • 指定运行的timesteps数量 • 单位可用{fs, ps, ns, ms, sec}
用户界面 (UI)
– 能接受菜单输入和命令行输入 – 课程主要讨论
批处理模式
– 从DOS或UNIX命令行运行批处理文件 – 不讨论
13
基本仿真步骤
1 Ö 建立库
2 Ö 映射库到物理目录
3 Ö 编译源代码 - 所有的HDL代码必须被编译 - Verilog和VHDL是不同的
4 Ö 启动仿真器 5 Ö 执行仿真
UI) Design -> Compile Cmd) vlog -work <library_name> <file1>.v <file2>.v
– 文件按出现的顺序被编译 – 文件的顺序或者编辑的顺序不重要
支持增量式编译 缺省编译到work库
– 例如. vlog my_design.v
– -sdfmin | -sdftyp | -sdfmax <instance>=<sdf_filename> • 注释SDF文件 • 可选项 • 使用实例名也是可选项; 如果没有使用, SDF用于顶级
36
5 Ö 执行仿真
UI) Run COM) run <time_step> <time_units> 按timesteps指定的时间长度执行仿真
modelsim编写do仿真文件一些经验

Modelsim的do文件写法及体会采用TCL脚本语言编写的.do文件,在modelsim中执行do文件可以自动进行仿真。
比起在modelsim中新建仿真工程或者在ISE中调用modelsim仿真都要好得多,而且方便快捷。
下面是编写do文件的一般步骤:1.quit –sim-――首先退出原来仿真的工程。
2.cd ―――设置工作目录的路径,就是你所要建立的工作目录work要放在哪里。
3.vlib work―――在工作目录下建立一个work目录,请注意不要用操作系统直接新建一个work的文件夹,因为用操作系统建立的work文件夹并没有modelsim SE自动生成的_info文件。
还有个问题是,当你的软件工程里需要用到软核时,可能会需要一些库,但这些库ISE软件中是没有的,此时就需要我们自己新建库了,并映射到当前目录下。
我们只自己新建的库一般放在work库前面建立。
4.vmap work―――将新建的work库映射到当前工作目录下(当前目录就是第一步中的目录了)。
其他新建的库也要这样的方法映射。
5.vlog +acc –work work “file_path/*.v”―――编译“file_path”目录下所有.v文件,并将其添加进工作库(work)中,包括IP生成的V文件也要编译的。
编译时可以分开单独编译,但是一定要注意顺序,先编译被调用的文件。
在仿真的时候还需要用到一个文件,那就是glbl.v这个库文件。
它是存放在xilinx安装目录下,我们直接编译它并添加时工作库(work)就可以了。
特别需要说明的是,在仿真软核的时候,在XPS软件里点击如下图所示:此时会在工程目录中生成一个simulaton文件夹,这个文件夹里的东西就是软核仿真时所需要的仿真文件了。
所以我们需把simulaton 里所以的v文件都编译一次,这样才能仿真软核。
6.vism –t ps –novopt work.demo_tb―――这是没有调用IP Core时的仿真命令,注意后面的参数demo_tb必须为Testbench中的模块名。
modelsim的.do语法

在进行 .do 语法讨论之前,首先需要了解 ModelSim 是什么,以及它的作用和特点。
ModelSim 是 Mentor Graphics 公司出品的一款功能强大的 HDL 仿真工具,广泛应用于数字电子电路设计和验证领域。
它支持 Verilog、VHDL 和 SystemVerilog 三种主流硬件描述语言,可以帮助工程师们进行仿真、调试和验证设计的正确性和功能性。
对于 .do 语法,它是 ModelSim 中常用的一种脚本语言,可以用于自动化执行一系列的仿真操作,提高工作效率和减少重复性工作。
在实际的工程项目中,合理地使用 .do 文件能够极大地简化仿真流程,并且方便地进行批量的仿真测试。
熟练掌握 .do 语法对于提高工作效率和质量是非常重要的。
下面通过几个方面来深入探讨和解析 .do 语法在 ModelSim 中的应用:1. .do 文件的基本结构和语法在编写 .do 文件时,需要了解其基本结构和语法规则。
可以用“#”表示注释,用“run”命令表示运行仿真等。
还可以在 .do 文件中引入其他 .do 文件,实现模块化的脚本编写,提高代码的重用性和可维护性。
2. .do 文件在仿真流程中的应用在实际工程项目中,通常会有多个仿真测试用例需要执行,使用 .do文件可以很方便地对这些测试用例进行批量执行。
.do 文件也可以用于设置仿真的参数,比如时钟周期、仿真时长等,从而更加灵活地进行仿真调试。
3. .do 文件与仿真结果的分析和处理除了执行仿真测试,.do 文件还可以用于对仿真结果进行分析和处理。
可以在 .do 文件中加入分析波形的命令,或者导出仿真波形和数据。
这些操作可以帮助工程师更加直观地了解设计的性能和行为。
总结回顾:通过以上的介绍和分析,我们可以看到 .do 文件在 ModelSim 中的应用非常广泛,对于提高工作效率和质量有着重要的作用。
合理地使用 .do 文件可以简化仿真流程,减少重复性工作,以及方便地进行批量的仿真测试。
利用do文件启动modelsim仿真vivado器件库

河北科技大学卫星导航技术研究中心利用do文件启动modelsim仿真vivado器件库版本:V1.0作者:袁宏拓日期:2020-2-18利用modelsim仿真第三方器件库,首先是要生成第三方库(带IP核),然后把第三方库加到modelsim的library中,仿真和编译时就能调用了。
所以这里分成几个步骤说一下:1.利用vivado编译并生成一个可调用库进入vivado软件Tools-Compile Simulation Library选项卡出现如下界面,选择modelsim,设置好仿真库的路径和modelsim路径,其它选择All,IP核部分打勾,这样编译出来的就是最基本最全的vivado库了。
2.将vivado库添加到modelsim中这个方法我觉得应该不止一种,但是我只用一种方法做成功了,所以我说的是我做成功的方法。
先在vivado中关联modelsim,然后vivado会自动把刚才的库添加到modelsim中,并且完成库的映射(否则要一个个映射好半天)。
出现下图界面就代表第三方库已经存在modelsim中了。
注意右侧路径显示/modelsism/vivadolib,证明这里的库就是vivado编译出来的库。
值得注意的一点是,如下图所示:以blk_mem_gen_v8_4_3库为例,库的所在路径,是vivado编译出来的地址,vivadolib,但是内部文件的路径却是Xilinx下的路径(这个路径是vivado安装时就有的),也就是说,这个库的皮儿在vivadolib下,瓤还在Xilinx下。
这里只是相当于建立了一个独立的包含modelsim.ini启动文件的库,然后库的内容是用物理地址映射的方式映射到Xilinx下。
总结1 :总的来说这不是最完美的方法,因为没有脱离开Xilinx的物理路径,但是这个比较省事,本来一堆库的映射,用vivado点几下命令就帮你做了。
总结2 :就目前我能想到的方法,用vivado建vivadolib库,然后将Xilinx下的库文件都拷贝走,单独包装在一起,然后手动在modelsim映射库(或者do文件操作)。
详细介绍modelsim的使用方法

测试台
- - Verilog 或 VHDL代码 非常复杂的仿真(交互式仿真、数据量大的仿真)
force命令
- - - 简单的模块仿真 直接从命令控制台输入 .DO 文件 (宏文件)
用ModelSim作功能仿真(19)
5 执行仿真----仿真器激励
force命令
用ModelSim作功能仿真(15)
5 执行仿真(UI)
选择 timesteps数量就 可以执行仿真
Restart – 重装任何已改动 的设计元素并把仿真时间设 为零
COM) restart
用ModelSim作功能仿真(16)
5 执行仿真----run 命令参数
可选的参数 - -<timesteps> <time_unit> • 指定运行的timesteps数量 • 单位可用{fs, ps, ns, ms, sec} - -step • Steps to the next HDL statement - -continue • 继续上次在-step或断点后的仿真 - -all • 运行仿真器直到没有其他的事件
用ModelSim作时序仿真(3)
时序仿真的实现方法:
unisim库是用来对ISE中画的电 路图进行前仿真时用的。
simprim则是在作布线后的时序 仿真时用。
用ModelSim作时序仿真(4)
时序仿真的实现方法:
以Foundation为例:
Foundation所产生的netlist不包含time delay的数据, 有一个time_sim.SDF文件来存储TIMING数据。(有 的厂商的布局布线所产生的NETLIST文件已经包含有 time delay的数据). Foundation所产生的NETLIST文件默认的文件名是 time_sim.vhd(或time_sim.v) time_sim.vhd或time_sim.v文件用到新的simprim库, 因此必须在仿真前先建立。 做时序仿真,要编译time_sim.vhd或time_sim.v,以 及time_sim.SDF 加载测试文件
ModelSim高级使用进阶_1_do文件和批处理文件使用_Camp

Reading D:/EDA_ProgramFile/Modelsim10d/tcl/vsim/pref.tcl
# // ModelSim SE 10.0d Oct 30 2011
# //
# // Copyright 1991-2011 Mentor Graphics Corporation
# // All Rights Reserved.
于这些命令你,其实不然。开始吧!
以下两部分:do 文件编写 和 bat 编写
第一部分:do 文件编写 回到前面我们使用 modelsim 的 GUI 操作的第七步。 然后在工程目录下建立一个 do 文件的(新建一个文本文件,然后把后缀名改成.do 文件即可),我这里新建的文件为 tt.do. OK,利用 netopad++打开(我这里对于文件编写比较喜欢的软件,随大家喜好). 发现文件时空白的.嘿嘿!怎么办?没关系.我们打开 modelsim 的操作界面。 然后查看”Transcript”栏,你会发现,这里有着我们所有的操作命令和操作结果,而我们需要的就是命令.看看我 们的结果。 以下的数据很长,可以不用细看,直接跳到最后,我会告诉你如何看这些东西(中间一段不重要,我用….替换了) /****以下就是我们利用 GUI 操作后的 Transcritpt 显示的全部结果************/
致给奋斗与 FPGA 技术领域的朋友们 By Camp
第一句开始:Reading D:/EDA_Program….” 这里是我安装软件的地方 -----第一步
接下来都是关于 Modelsim 的一些信息。
到 “cd D:/User/mywork/i2c” 这里是修改路径
-----第二步
“vlib work”
ModelSim的简要使用方法

ModelSim的简要使用方法在这一章里通过一些课程来简单介绍ModelSim的使用方法,更多的需要在实际应用中熟练和掌握。
第一课Create a Project第一次打开ModelSim会出现Welcome to ModelSim对话框,选取Create a1.Project,或者选取File\New\Project,然后会打开Create Project对话框。
2.在Create Project对话框中,填写test作为Project Name;选取路径Project Location作为Project文件的存储目录;保留Default Library Name设置为work。
3.选取OK,会看到工作区出现Project and Library Tab。
4.下一步是添加包含设计单元的文件,在工作区的Project page 中,点击鼠标右键,选取Add File to Project。
5.在这次练习中我们加两个文件,点击Add File to Project对话框中的Browse按钮,打开ModelSim安装路径中的example目录,选取counter.v和tcounter.v,再选取Reference from current location,然后点击OK。
6.在工作区的Project page中,单击右键,选取Compile All。
7.两个文件编译了,鼠标点击Library Tab栏,将会看到两个编译了的设计单元列了出来。
看不到就要把Library的工作域设为work。
8.最后一不是导入一个设计单元,双击Library Tab中的counter,将会出现Sim Tab,其中显示了counter设计单元的结构。
也可以Design\Load design来导入设计。
到这一步通常就开始运行仿真和分析,以及调试设计,不过这些工作在以后的课程中来完成。
结束仿真选取Design \ End Simulation,结束Project选取File \ Close \ Project。
modelsim简单教程

modelsim简单教程ModelSim SE简明操作指南批处理模式仿真必须运行在DOS或UNIX提示符下。
1.生成一个新目录,设置成当前工作目录。
拷贝..\examples\counter.vhd到该目录下。
2.生成一个新的设计库:vlib work3.映射库:vmap work work4.编译源文件:vcom counter.vhd5.使用宏文件为计数器提供激励。
拷贝..\example\stim.do文件到当前工作目录中。
6.生成批处理文件,内容为:add list –decimal *do stim.dowrite list counter.lst7.执行下面的命令,运行批处理模式仿真:vsim –do yourfile –wlf saved.wlf counter"在名为“counter”的设计单元调用vsim仿真器"通过-wlf这个可选项通知仿真器在名为saved.wlf的日志文件中保存仿真结果"运行yourfile指定:值以十进制的方式列示出来;执行名为stim.do的激励;并将结果写到名为counter.lst的文件中。
缺省的设计名为counter。
8.浏览仿真结果vsim –view saved.wlf9.打开一些窗口view signals list wave10.在窗口中放置信号add wave *add list *11.运用Variables windows实验保存的仿真结果。
完成了结束仿真:quit –f有关批处理和命令行模式更多的信息,请参阅ModelSim User’s Manual。
第七课Executing Commands at startup 本课与第六课所介绍的工作于相同的目录,也是以命令行方式操作。
1.这里将用到宏文件(DO)提供启动信息。
拷贝..\examples\startup.do到当前工作目录。
2.拷贝modeltech目录下的modelsim.ini文件到当前工作目录。