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文件到当前工作目录。
使用ModelSim do文件实现仿真(Verilog)
技术贴]使用ModelSim do文件实现仿真(Verilog)QuartusII从9.1之后的版本都已经取消了内部自带的仿真器,都需要借助第三方仿真软件比如Modelsim才能实现仿真。
一般在进行代码编写的时候,如果结合功能仿真,可以很快的验证代码实现的逻辑是否满足要求。
所以熟练使用Modelsim也是逻辑工程师必须掌握的一个技能。
由于Modelsim可以支持命令行的方式,通过创建do文件,可以集成多个可执行的命令。
那么对于前期一边编写代码,一边进行功能仿真,使用do文件是可以明显提高工作的效率。
下面以Modelsim SE版本为例,通过以下几个步骤与大家一起分享:1.在当前QII工程下新建一个modelsim文件夹,可以将相关的仿真文件放在这个目录下2.创建一个simlib.do的文件,用于编译QuartusII软件提供的相关仿真库文件。
do文件的创建可以在打开modelsim之后进行创建。
simlib.do内容如下:set LIBPATH c:/altera/11.0/quartus/eda/sim_lib/ (设置QII软件相关仿真库文件的位置)vlib sim_libvmap sim_lib sim_lib (将QII提供的仿真库文件映射到名为sim_lib的库中)vlog -work sim_lib $LIBPATH/altera_mf.vvlog -work sim_lib $LIBPATH/altera_primitives.vvlog -work sim_lib $LIBPATH/sgate.vvlog -work sim_lib $LIBPATH/arriaii_atoms.vvlog -work sim_lib $LIBPATH/arriaii_hssi_atoms.vvlog -work sim_lib $LIBPATH/220model.v (编译需要使用的QII仿真库文件,一般来说如果不调用任何的IPCore,是不需要编译以上的文件。
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实验教程
实验一1.实验目的通过实验掌握如何用modelsim进行功能仿真以及时序仿真。
2.实验内容(1)编译代码,进行功能仿真。
(2)用modelsim进行代码覆盖率检查及分析,并输出覆盖率报告。
(3)用modelsim 将DC综合出来的门级网表以及时序文件进行后仿真。
(4)用do文件自动完成仿真步骤,即脚本自动化。
3.实验步骤(1)功能仿真前仿真主旨在于验证电路功能是否符合设计要求,它不考虑门延迟与线路延迟,旨在验证电路功能是否正确。
第一步:打开modelsim软件并建立工程登陆工作站后,进入命令界面,输入命令vsim,按回车键,打开modelsim软件,如下图所示选择File选项,点击File-->new-->project,如下图所示:然后弹出如下界面,需要给所建立的工程起名,为了方便管理,工程名可以与顶层模块名字相一致。
Project Location 一栏表示的是工程所在目录,work代表工作库,里面包含所有编译过的文件。
输入工程名,并确定了工程所在位置后,点OK。
第二步:加入源文件并编译建立好工程后,会弹出下图所示窗口,可以选择Create New File来在modelsim中直接编辑代码文件,也可以选择Add Existing File加入已有的源文件。
也可以通过选择File-->new-->source来编辑源文件,如下图所示:加入源文件后,可以鼠标选择源文件,点击右键Compile-->Compile Selected来编译源文件。
也可以点击直接编译源文件。
选择,可以编译工程里面所有的源文件。
在Transcript窗口中可以查看编译结果。
如果有错误,可以双击错误提示,改正错误,再编译。
第三步:仿真源文件编译成功证明源代码没有语法错误,启动仿真器对源文件进行仿真。
选择Simulate-->Start Simulation或者点击按钮,会弹出一个选择框,将Enable Optimization 选项勾掉,这是仿真优化选项,会对时钟等进行优化,在功能仿真阶段不需要优化时钟,在后续布局布线中会对其进行优化。
modelsim使用命令
1. 常用仿真命令vlib work // 建立work仿真库vmap work wrok // 映射库vlog -cover bcest *.v // 加覆盖率分析的编译vsim -coverage -voptargs="+acc" -t ns test // 仿真文件为test.vadd wave * // 将所有模块waveform. dump出来add wave sim:/test/t/M2/Reg_out // 将模块Reg_out中的waveform. dump出来delete wave /test/i2. SVA 断言仿真命令vlog -sv a.vvsim -assertdebug testview assertionsvsim -assertdebug ScaleBlock_tf -L xilinxcorelib_ver -L unisims_ver // 加载xilinxlib库3. verror 3601 // 查错4. 给仿真工具加载xilinx 库命令(1)加载之前将modelsim.ini改为非“只读”(2)“运行” cmd,到xilinx目录下(3) C:\Xilinx > compxlib -s mti_se -p c:\Modeltech_6.0\win32 -f all -l verilog -o C:\ Modeltech_6.0\Xilinx_lbis或者Xilinx目录下.\bin\nt\下有compxlib.exe简单得modelsim命令行仿真用do文件进行仿真真得很方便,比写testbench方便多了,我是深有感触呀,开始时因为不知道,只知道写testbence,在小得模块也写testbench,真得很烦躁!而且信号定义什么得比较多,采用do文件得方法就没有那么多信号定义了,管理也比较方便,呵呵,真得很方便,而且采用命令行得形式,感觉特有成就感,呵呵!1.运行仿真,在主窗口输入命令:vsim work.实体名2.为时钟信号添加驱动,输入命令:force clk 0 0,1 10 -r 20,将仿真时钟设为50MHz;(设时间单位为ns)3.打开波形窗口,输入命令:view wave4.为波形窗口添加信号,输入命令:add wave -hex *,这里的*表示添加设计中所有的信号,-hex 表示以十六进制来表示波形窗口中的信号值;5.开始仿真,输入命令,run 3us,这时候在波形窗口中出现仿真波形6.退出仿真,输入命令:quit –sim。
Modelsim使用简明指南
Modelsim使用简明指南1 前言作为一种简单易用,功能强大的逻辑仿真工具,Modelsim具有广泛的应用。
这里对ModelSim作一个入门性的简单介绍。
首先介绍ModelSim的代码仿真,然后介绍门级仿真和时序验证。
2 代码仿真在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合功能要求。
这时,仿真的对象为HDL代码,比较直观,速度比较快,可以进行与软件相类似的多种手段的调试(如单步执行等)。
在设计的最初阶段发现问题,可以节省大量的精力。
2.1 代码仿真需要的文件1.设计HDL源代码:可以使VHDL语言或Verilog语言。
2.测试激励代码:根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。
3.仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO(Altera常用的FIFO有:lpm_fifo /lpm_fifo_dc等)、DPRAM等。
2.2 代码仿真步骤1.建立工程:在ModelSim中建立Project。
如图2.1所示,点击FileÖNewÖProject,得到Creata Project的弹出窗口,如图2.2所示。
在Project Name栏中填写你的项目名字,建议和你的顶层文件名字一致。
Project Location是你的工作目录,你可通过Brose按钮来选择或改变。
Ddfault Library Name可以采用工具默认的work。
图2.1图2.22.给工程加入文件:ModelSim会自动弹出Add Items to the project窗口,如图2.3所示。
选择Add Exsiting File后,根据相应提示将文件加到该Project中。
图2.33.编译:编译(包括源代码和库文件的编译)。
编译可点击ComlileÖComlile All来完成。
4.装载文件:如图2.4,点击SimulateÖSimulate…后,如图2.5所示,选定顶层文件(激励文件),ADD加入,然后点击LOAD,装载。
Modelsim脚本仿真教程
Modelsim脚本仿真教程
以计数器C OUNTER为例
第1步:建立工程文件夹
在电脑中任意位置建立一个空文件夹(路径不能包含中文),把设计源代码.v文件,仿真激励文件.v,仿真脚本文件.do拷贝到该目录下。
打开Modelsim软件,点击菜单项File->Change Directory..,选择刚才建立的文件夹作为当前工程路径。
第2步:执行脚本文件
在Transcript栏中输入“do sim.do”,按回车键,执行仿真脚本文件。
如果Modelsim软件中没有出现Transcript栏,只需在菜单项选择View->Transcript即可。
第3步:在Wave窗口中观察波形
第4步:结束仿真
在菜单项选择Simulate->End Simulation即可结束当前仿真。
如若波形有错,则修改源代码或激励文件后重新执行第2步。
附件:。
(免费)Modelsim仿真单个Verilog文件(使用do文件)
Modelsim仿真单个Verilog文件教程——使用do文件以带时钟和复位信号的加法器为例,Verilog代码如下:module counter ( clk, n_rst, a, b, d );input [7:0] a;input [7:0] b;input clk;input n_rst;output [8:0] d;reg [8:0] d;always @ ( posedge clk)beginif ( !n_rst)d <= 9'b000000000;elsed <= a + b;endendmodule编写名为counter.do文件,其内容如下:1)vlib work2)vmap work3)vlog counter.v4)vsim -L work work.counter -t 1ns5)add wave -r /*6)force -repeat 10 clk 0 0,1 57)force a 16#aa8)force b 16#bb9)force n_rst 110)run 4011)force n_rst 012)run 2013)force n_rst 114)force a 16#5515)force b 16#aa16)run 20在Modelsim中,将工作目录切换到counter.v和counter.do两个文件所在的目录下,然后在命令行中输入 do counter.do,仿真结果如下图counter.do解释:1)新建work库2)将work库映射到当前工作目录3)编译counter.v文件(默认编译到work库下)4)仿真work库中名为counter模块,最小时间单位为1ns5)将所有信号加入到波形图中6)添加一个时钟信号,周期为10(ns),50%占空比。
如果要改变时间周期,代码中的“10”和“5”,即单个周期时间和高电平1所占时间要同时改变,且为两倍关系。
ModelSim的使用(包含实例)
About Using the ModelSim Software with theQuartus II SoftwareModelSim-Altera Design Flow(For Altera Version)1.Set up the ModelSim-Altera working environment2.Set up a project with the ModelSim-Altera software3.Perform a functional simulation with the ModelSim-Altera software4.Perform a timing simulation with the ModelSim-Altera software ModelSim PE/SE Design Flow(For PE/SE Version)1.Set up the ModelSim working environment2.Set up a project with the ModelSim softwarepile libraries and design files with the ModelSim software4.Perform a functional simulation with the ModelSim software5.Perform a timing simulation with the ModelSim software目录MODELSIM-ALTERA版本仿真流程 (3)1、建立M ODEL S IM-A LTERA工作环境 (3)2、用M ODEL S IM-A LTERA建立工程 (3)3、用M ODEL S IM-A LTERA执行功能仿真 (3)4、用M ODEL S IM-A LTERA执行时序仿真 (4)MODELSIM-PE/SE版本仿真流程 (6)P ERFORMING A F UNCTIONAL S IMULATION WITH THE M ODEL S IM S OFTWARE (6)P ERFORMING A T IMING S IMULATION WITH THE M ODEL S IM S OFTWARE (7)相关知识链接 (9)M ODEL S IM P RECOMPILED L IBRARIES(预编译库) (9)A LTERA F UNCTIONAL S IMULATION L IBRARIES(功能仿真库) (12)A LTERA P OST-F IT L IBRARIES(后适配库) (20)P ERFORMING P OWER A NALYSIS WITH THE Q UARTUS II S OFTWARE AND O THER EDA T OOLS (30)使用QUARTUSII自动运行MODELSIM仿真 (36)1、配置N ATIVE L INK (36)2、运行仿真 (38)3、产生T ESTBENCH (39)ModelSim-Altera版本仿真流程1、建立ModelSim-Altera工作环境1.1版本说明ModelSim-Altera(OEM)version 6.4aQuartusII version 9.0该ModelSim版本支持所有QuartusII支持的Altera器件。
modelsim使用教程
modelsim使用教程Modelsim6.0使用教程Modelsim简介Modelsim仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
ModelSim分几种不同的版本:SE、PE和OEM,其中集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。
比如为Altera提供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为ModelSimXE.SE版本为最高级版本,在功能和性能方面比OEM版本强很多,比如仿真速度方面,还支持PC、UNIX、LIUNX混合平台.为什么要学Modelsim?1.Modelsim是专业的HDL语言仿真器,比Quartus自带的仿真器功能强大的多.2.Quartussimulator不支持Testbench,只支持波形文件.vwfvwf文件全称是矢量波形文件(VectorWaveformFile),是QuartusII中仿真输入、计算、输出数据的载体。
一般设计者建立波形文件时,需要自行建立复位、时钟信号以及控制和输入数据、输出数据信号等。
其中工作量最大的就是输入数据的波形录入。
比如要仿真仅1KB的串行输入数据量,则手工输入信号的波形要画8000个周期,不仅费时费力而且容易出错怎样入门?对于初学者,modelsim自带的教程是一个很好的选择,在Help->SEPDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。
ModelSim高级使用进阶_1_do文件和批处理文件使用_Camp
------第六步
run –all
运行全部
------第七步
接下来就是仿真打印的消息,直到结束,打印运行到哪一行为止.如果运行到 finish 则关闭 modelsim,所以我们少
用 finish 系统函数。(中间打印太多,我用” (…………)”来做省略了)
看了这么多,我们该如何编写我们的.do 文件呢?或许有人已经想出点眉目了,
vlog -reportprogress 300 -work work D:/User/mywork/i2c/i2c_driver.v
# Model Technology ModelSim SE vlog 10.0d Compiler 2011.10 Oct 30 2011
# -- Compiling module i2c_driver
# Refreshing D:\User\mywork\i2c\work.Signal1
# Loading work.Signal1
# Refreshing D:\User\mywork\i2c\work.i2c_driver
# Loading work.i2c_driver
# Refreshing D:\User\mywork\i2c\work.at24cxx
的确如此但我这里所保存的波形文件它并不是保存波形的内容而是保存它显示方式比如下面图我们此次仿真出来的结果如下图图中我修改的地方有
ModelSim 高级使用进阶_1
致给奋斗与 FPGA 技术领域的朋友们 By Camp
_do 文件和批处理文件使用
如果你还没有学会使用 modelsim 进行仿真,请把该文档关闭。回去学习基本的使用 如果你已经学会使用 modelsim 进行仿真,而且自己非常的娴熟 modelsim,那恭喜你,你或许可以把该文档 关闭,继续你的学习;或者可以浏览一下这个文档,然后给出你的建议。 无论你是大虾还是小虾,我都会期待你的指正和批评. 都可以发送 E_MAIL 给我 先给个术语:GUI---- Graphical User Interface,简称 GUI. 图形用户界面.
Modelsim之DO文件编写
Modelsim之DO文件简介网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常用的简单语法,方便大家查看。
其实本人也刚接触DO文件没多久,有纰漏很正常,欢迎指正批评,互相学习。
PS:写得有点乱一.DO文件的简介和工作方式DO文件是一次执行多条命令的脚本。
这个脚本可以像带有相关参数的一系列ModelSim 命令一样简单,或者是带有变量,执行条件等等的Tcl程序。
可在GUI里或系统命令提示符后执行Do文件。
由于TCL脚本语言内容很多,本人是刚学不久,菜鸟一个。
但是针对我们这门课程的话,有些基本常用的语法还是值得提一下的,方便大家一起学习交流,如果以下内容有什么写错了,希望大家提出并批评,互相进步。
首先,我们如何建立DO文件呢?方法挺多,一种是可以打开Modelsim,执行File/New/Source/Do命令,进入Do文件编辑方式,在编辑窗口输入仿真批处理文件的代码,以.do为扩展名保存文件。
当然也可以在windows系统中新建一个记事本,在“另存为”的时候写上.do的后缀名,也是一种方法。
调用方式是在Modelsim的Transcript窗口中使用指令:do filename.do,完成对设计的自动化仿真。
下面简单讲讲仿真的步骤。
首先我们要对一个设计进行仿真呢,我们一般需要进行以下几个步骤:①创建一个工程和工程库;②加载设计文件(包括你编写好的testbench);③编译源文件;④运行仿真,并查看结果;⑤最后进行工程调试。
而do文件,就是把上述的步骤①---④用tcl脚本语言来编写出来,让Modelsim来运行该do文件宏命令,并自动执行仿真的步骤。
这种好处也许在小设计中没怎么表现,但是如果在一个大的工程中,常常需要对一个设计单元进行反复的调试和仿真,但是仿真时的设置是不变的,这时如果使用了do文件,把仿真中使用到的命令都保存下来了,就可以节省大量的人力,提高了工作效率。
下面将对照一个简单的例子counter.do,讲一下我们常用的一些基本指令。