详细介绍modelsim的使用方法
Modelsim使用说明

Modelsim 使用简明指南1 前言作为一种简单易用,功能强大的逻辑仿真工具,Modelsim 具有广泛的应用。
这里对ModelSim 作一个入门性的简单介绍。
首先介绍ModelSim 的代码仿真,然后介绍门级仿真和时序验证。
和时序验证。
2 代码仿真在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合功能要求。
这时,仿真的对象为HDL 代码,比较直观,速度比较快,可以进行与软件相类似的多种手段的调试(如单步执行等)。
在设计的最初阶段发现问题,在设计的最初阶段发现问题,可以节省大量的精力。
可以节省大量的精力。
2.1 代码仿真需要的文件1.设计HDL 源代码:源代码:新建一个“文本文档”文件,在记事本中输入HDL 源代码,使用V erilog 语言编程。
语言编程。
2.测试激励代码:.测试激励代码:在同一个文件中,根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。
有很大的灵活性。
3.保存该文件后退出,然后重命名该文件,.保存该文件后退出,然后重命名该文件,使该文件后缀名由使该文件后缀名由.txt 变为.v 。
如:t81.v 。
4. 该文件保存在你所建立的工作目录中,如:D\VLSItext\t1如果要修改该文件,仍然可以选择用仍然可以选择用记事本记事本打开编辑再保存,记事本相当于是一源代码输入软件。
输入软件。
注:所有的文件名及目录名均要求是英文,无中文字符。
2.2 代码仿真步骤1.建立工程:在ModelSim 中建立Project 。
如图2.1所示,点击File ðNew ðProject ,得到Creata Project 的弹出窗口,如图2.2所示。
在Project Name 栏中填写你的项目名字,建议和你的顶层文件名字一致,如t81。
Project Location 是你的项目目录,你可通过Brose 按钮来选择或改变,建议项目目录选择为你所保存源代码的目录,如:D\VLSItext\t1。
modelsim的使用方法

modelsim的使用方法1)建立工程使用ModelSim建立工程主要包括5个基本步骤:<1>启动ModelSim,选择菜单“File New Poject”,会打开“Creat Project”对话框,如图4-97所示。
在“CreatProjec”t对话框中填写“Project Name”为“test”,然后在“Project Location”栏中选择Project文件的存储目录,保留“Default Library Name”的设置为work。
点击OK按键确认,在ModelSim软件主窗口的工作区中即增加了一个空的Project标签,同时弹出一个“Add items to the Project”对话框,如图4-98所示。
图4-97 ModelSim新建工程窗口图4-98 添加文件到工程向导示意图<2>. 添加包含设计单元的文件。
直接点击Add items to the Project对话框以后,在对话框中利用“Add Existing File”或“Create New File”选项,可以在工程中加入已经存在的文件或建立新文件。
可以选择“Add Existing File”,弹出“Add file to the Project”对话框,如图4-99所示。
点击对话框中的Browse按键,打开ModelSim 安装路径中的examples/tutorials /verilog/compare/目录,选取sm.v和sm.v文件(选中多个文件时,只需要一直按住Ctrl按键,用鼠标点击即可),再选中对话框下面的“Reference from current location”选项,然后点击OK按键确认。
同时也可以选择Creat New File,在下拉框中选择相应的语言然后确定,在关闭对话框。
在工程中出现了所创建的.v文件,双击后就可在右边的文本编辑区中进行代码的输入了。
Modelsim_6.0_使用教程

Modelsim 6.0 使用教程1. Modelsim简介Modelsim仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。
但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。
2. 安装同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。
⑴.解压安装工具包开始安装,安装时选择Full product安装。
当出现Install Hardware SecurityKey Driver时选择否。
当出现Add Modelsim To Path选择是。
出现Modelsim License Wizard时选择Close。
⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。
⑶.修改系统的环境变量。
右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。
按下图所示内容填写,变量值内如果已经有别的路径了,请用“;”将其与要填的路径分开。
LM_LICENSE_FILE = c:\flexlm\license.dat⑷.安装完毕,可以运行。
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是一款常用的硬件描述语言(HDL)仿真工具,本教程将向您介绍如何使用ModelSim进行仿真。
步骤1:安装ModelSim首先,您需要下载和安装ModelSim软件。
在您的电脑上找到安装程序并按照提示进行安装。
步骤2:创建工程打开ModelSim软件,点击"File"菜单中的"New",然后选择"Project"。
在弹出的对话框中,选择工程的存储位置,并为工程命名。
点击"OK"完成工程创建。
步骤3:添加设计文件在ModelSim的工程窗口中,右键点击"Design"文件夹,选择"Add Existing File"。
然后选择包含您的设计文件的目录,并将其添加到工程中。
步骤4:配置仿真设置在工程窗口中,右键点击"Design"文件夹,选择"Properties"。
在弹出的对话框中,选择"Simulation"选项卡。
在"Top level entity"字段中,选择您的设计的顶层模块。
点击"Apply"和"OK"保存设置。
步骤5:运行仿真在ModelSim的工具栏中,找到"Simulate"按钮,点击并选择"Start Simulation"。
这将打开仿真窗口。
在仿真窗口中,您可以使用不同的命令来控制和观察设计的行为。
步骤6:查看仿真结果您可以在仿真窗口中查看信号波形、调试设计并分析仿真结果。
在仿真窗口的菜单栏中,您可以找到一些常用的查看和分析工具,如波形浏览器、信号分析器等。
步骤7:结束仿真当您完成仿真时,可以选择在仿真窗口的菜单栏中找到"Simulate"按钮,并选择"End Simulation"以结束仿真。
modelsim使用技巧

modelsim使用技巧ModelSim是一款常用的仿真工具,用于学习、开发和测试各种数字电路和系统设计。
它提供了大量的功能,可以帮助我们更好地进行仿真、调试和性能优化。
但是,对于初学者来说,熟练使用ModelSim可能需要一些时间和实践。
在本文中,我们将介绍一些ModelSim的使用技巧,以帮助读者更好地掌握这个工具。
一、基本操作1.创建工程在ModelSim中,创建工程是第一步。
可以通过File -> New -> Project来创建一个新的工程。
在工程创建过程中,需要指定工作目录、项目名称和工具链等信息。
在创建工程后,可以右键单击仿真文件夹,并选择添加到工程来添加设计文件。
2.添加仿真文件在ModelSim中,添加仿真文件非常简单。
可以将文件拖放到仿真文件夹、使用File -> Add to Project选项或使用命令行方式添加文件。
一旦添加了仿真文件,可以使用filelist命令查看所有添加的文件。
3.编译设计在ModelSim中,编译由两个阶段组成。
第一阶段称为分析阶段,在此阶段中,设计的各个模块被分析、组合并建立数据结构。
第二阶段称为综合阶段,在此阶段中,数据结构被综合成一个整体,并生成仿真网表。
可以通过compile option来指定编译选项,比如-v库等。
4.运行仿真在ModelSim中,可以通过三种方式来运行仿真。
第一种是在命令行中使用run命令,第二种是通过菜单和工具栏选项来启动仿真,第三种是使用脚本方式启动仿真。
在仿真过程中,可以使用wave、add wave、force、release等命令来控制信号的行为。
二、ModelSim高级技巧1.波形窗口波形窗口是ModelSim中最有用的窗口之一。
可以使用Add Wave按钮打开该窗口。
在波形窗口中,可以查看所有信号的变化情况。
可以使用full view、zoom in、zoom out等选项来放大或缩小波形窗口。
modelsim的详细使用方法

一、简介ModelSim是一款由美国Mentor Graphics公司推出的集成电路仿真软件,广泛应用于数字电路和系统设计领域。
它提供了强大的仿真和验证功能,能够帮助工程师快速高效地进行电路设计与验证工作。
本文将详细介绍ModelSim的使用方法,以帮助读者更好地掌握这一工具的操作技巧。
二、安装与配置1. 下载ModelSim安装包,并解压到指定目录2. 打开终端,进入ModelSim安装目录,执行安装命令3. 安装完成后,配置环境变量,以便在任何目录下都能够调用ModelSim程序4. 打开ModelSim,进行软件注册和授权,确保软件可以正常运行三、工程创建与管理1. 新建工程:在ModelSim主界面点击“File” -> “New” -> “Project”,输入工程名称和存储路径,选择工程类型和目标设备,点击“OK”完成工程创建2. 添加文件:在工程目录下右键点击“Add Existing”,选择要添加的源文件,点击“OK”完成文件添加3. 管理工程:在ModelSim中可以方便地对工程进行管理,包括文件的增删改查以及工程参数的设置等四、代码编写与编辑1. 在ModelSim中支持Verilog、VHDL等多种硬件描述语言的编写和编辑2. 在ModelSim主界面点击“File” -> “New” -> “File”,选择要新建的文件类型和存储位置,输入文件名称,点击“OK”完成文件创建3. 在编辑器中进行代码编写,支持代码高亮、自动缩进、语法检查等功能4. 保存代码并进行语法检查,确保代码符合规范,没有错误五、仿真与调试1. 编译工程:在ModelSim中进行代码编译,生成仿真所需的可执行文件2. 设置仿真参数:在“Simulation”菜单下选择“S tart Simulation”,设置仿真时钟周期、输入信号等参数3. 运行仿真:点击“Run”按钮,ModelSim将开始对设计进行仿真,同时显示波形图和仿真结果4. 调试设计:在仿真过程中,可以通过波形图和仿真控制面板对设计进行调试,查找并解决可能存在的逻辑错误六、波形查看与分析1. 查看波形:在仿真过程中,ModelSim会生成相应的波形文件,用户可以通过“Wave”菜单查看波形并进行波形分析2. 波形操作:支持波形的放大、缩小、平移、选中等操作,方便用户对波形进行分析和观察3. 波形保存:用户可以将波形结果保存为图片或文本文件,以便日后查阅和分析七、性能优化与验证1. 时序优化:在设计仿真过程中,可以通过观察波形和性能分析结果,对设计进行优化,提高设计的时序性能2. 逻辑验证:通过对仿真的结果进行逻辑验证,确保设计符合预期的逻辑功能3. 时序验证:对设计的时序性能进行验证,确保信号传输和时钟同步的正确性八、项目输出与文档整理1. 输出结果:在仿真和验证完成后,可以将仿真结果、波形图和性能分析结果输出为文本文件或图片,方便后续的文档整理和报告撰写2. 结果分析:对仿真结果和验证结果进行详细的分析,确定设计的性能和功能是否符合设计要求3. 文档整理:根据仿真和验证结果,进行文档整理和报告撰写,为后续的设计和优化工作提供参考九、总结与展望ModelSim作为一款专业的集成电路仿真软件,具有着强大的功能和丰富的特性,可以帮助工程师进行电路设计与验证工作。
modelsim使用方法

modelsim使用方法ModelSim 是一种功能强大的硬件描述语言 (HDL) 模拟工具,支持VHDL和Verilog,可用于设计和验证数字系统。
本文将介绍如何使用ModelSim。
**安装 ModelSim****创建项目**在启动 ModelSim 后,首先需要创建一个新的项目。
选择 "File" 菜单,然后选择 "New" -> "Project"。
在打开的对话框中,选择项目的文件夹和项目名称,然后点击 "OK"。
**添加设计文件和测试文件**在项目中,您需要添加设计文件和测试文件。
选择 "Project" 菜单,然后选择 "Add to Project" -> "Add Files". 在打开的对话框中,选择您的设计文件 (VHDL 或 Verilog) 和测试文件,然后点击 "OK"。
**设置仿真**在编译代码之后,下一步是设置仿真选项。
选择 "Simulate" 菜单,然后选择 "Start Simulation"。
在打开的对话框中,选择您的顶层模块。
您还可以选择以 GUI 模式还是批处理模式运行仿真。
在设置仿真之前,您可以添加信号波形文件以在仿真过程中显示波形。
选择 "Simulate" -> "Wave" -> "Add Waveform". 然后,选择信号波形文件 (.do 或 .vcd),并点击 "OK"。
**运行仿真**设置仿真选项后,您可以开始执行仿真。
通过选择 "Simulate" -> "Run",可以运行单步或连续仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试台
- - 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 加载测试文件
add wave /clk add wave /clr add wave /load add wave -hex /data add wave /q force /clk 0 0, 1 50 -repeat 100 force /clr 0 0, 1 100 run 500 force /load 1 0, 0 100 force /data 16#A5 0 force /clk 0 0, 1 50 -repeat 100 run 1000
总结
• 前面讲述了ModelSim的基本使用方法。大家可通 过例子来练习使用ModelSim • 还有一些较深入的问题,例如: 用VITAL仿真模型支持VHDL 布局布线后仿真; 用Tcl 去定制ModelSim图形用户界面;用Tcl 去 自动生成测试矢量;用性能分析去减少仿真时间; 用测试矢量分析HDL 代码覆盖率;Modelsim5.6 以及5.7的新特性;源代码编写中的语言模板和助 手;数据流窗口中的信号探察……等等,还有待 于进一步的探讨。
缺省编译到work库
– 例如. vlog my_design.v
用ModelSim作功能仿真(9)
3 编译源代码
点亮一个或多个文 件并点击 Compile
用ModelSim作功能仿真(10)
3 编译源代码----错误信息
错误信息在 Main 窗口显示
在信息上双击,引起 错误的代码在 Source 窗口被点亮
- force <item_name> <value> <time>, <value> <time>
参数
用ModelSim作功能仿真(令参数
Value 1111 Description character sequence
- item_name 2#1111 binary radix --被激励的HDL项的名称,是必选的 10#15 decimal radix --必须是一个标量 hexadecimal radix --可以是一个被编址的阵列, 阵列的一部分 16#F --可以采用通配符(在只有一个匹配的时候) - value --被激励项的值,是必选的 --必须适合该项的数据类型 - time --指定值的时间单位,可选的 --相对于当前的仿真时间,用 @ character指定绝对时间 --时间单位能被指定,缺省值是仿真分辨率
而定),可以在测试台文件中使用
用ModelSim作功能仿真(27)
设置断点:
支持两种类型的断点
1、在源代码窗口设置断点 Toggles – 再次点击删除断点 没有断点数量的限制 用 bp 命令:bp <file_name> <line#> 2、条件断点 when <condition> <action> when {b=1 and c/=0} 与VHDL信号和Verilog 线网和寄存器一起使用 也可用 bp 命令: bp <file_name> <line#> {if{$now/=100}then{cont}}
用ModelSim作功能仿真(8)
3
编译源代码(Verilog)
UI) Design -> Compile Cmd) vlog -work <library_name> <file1>.v <file2>.v – 文件按出现的顺序被编译 – 文件的顺序或者编辑的顺序不重要 支持增量式编译(只有被改动的设计单元被编译)
用ModelSim作时序仿真(2)
时序仿真的实现方法:
编译Xilinx公司的库文件: 先将modelsim.ini文件的只读属性去掉 将Xilinx公司元件库的脚本文件COPY到modelsim的 安装目录下 在main窗口运行: MODELSIM> source <path_to_script>/xilinx_lib.tcl 这里的路径一定要用/来表示,比如e:/tools/xilinx 看到弹出对话框后,选择相应的选项,进行库的编译
- - - 简单的模块仿真 直接从命令控制台输入 .DO 文件 (宏文件) Verilog 或 VHDL代码 非常复杂的仿真(交互式仿真、数据量大的仿真)
测试台(test bench)
- -
用ModelSim作功能仿真(20)
5 执行仿真----仿真器激励
Force命令
允许用户给VHDL的信号和Verilog的线网予以激励 常规语法:
5 执行仿真----仿真器激励
Force命令举例:
force clr 0
– 在当前仿真时间强制 clr 到 0
–
force bus1 01XZ 100 ns
在当前仿真时间后100ns强制 bus1到 01XZ
–
force bus2 16#4F @200
仿真启动后强制 bus2到 4F直到200时间单位 ,分辨率在仿真启 动时选择
能调用其他的DO文件
用ModelSim作功能仿真(25)
5 执行仿真----仿真器激励
.do文件举例
cd c:\mydir vlib work vcom counter.vhd vsim counter view * add wave /* add list /* do run.do my_sim.do cd c:\mydir vlib work vcom counter.vhd vsim counter view * do stimulus.do stimulus.do
存有初始信息 库定位 启动文件的定位 ModelSim其他缺省设定 [Library]:逻辑上的LIBRARY与实际硬盘驱动目录的连接 [vcom]:COMPILE时的一些选项的默认值,0=OFF,1=ON [vsim]:仿真时参数的设定
modelsim.ini缺省为只读属性,故编译库文件时应 该将只读属性去掉。
用ModelSim作功能仿真(13)
4 启动仿真器----vsim 命令的参数 • 参数
– -t <time_unit>
• 指定仿真的时间分辨率 • 单位可以是{fs, ps, ns, ms, sec, min, hr} • 如果用了 Verilog的 ‘timescale指令, 将使用整个设计中的 最小的时间精度 • 可选项(缺省是 ns)
用ModelSim作时序仿真(5)
时序仿真的容易遇到的问题:
以Xilinx公司的为例:
GSR信号产生的影响(可以通过改 变输入信号时延来解决) D触发器的setup time不足(可以 通过分析SDF文件来追究错误所在)
关于modelsim.ini文件
ModelSim使用 ASCII文件, 由用户控制 在ModelSim的安装目录一个缺省文件被提供 modelsim.ini被编译器和仿真器使用
– -sdfmin | -sdftyp | -sdfmax <instance>=<sdf_filename>
• 注释SDF文件 • 可选项 • 使用实例名也是可选项; 如果没有使用, SDF用于顶级
用ModelSim作功能仿真(14)
5 执行仿真 UI) Run
CMD) run <time_step> <time_units> 按timesteps指定的时间长度执行仿真
– vsim top_level1 top_level2
• 仿真多个top级模块