modelsim 使用指南
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使用说明

ModelSim使用说明
这里将简单介绍modelSim的使用,以及如何脱离ISE进行仿真。
首先,我们打开ModelSim。
Workspace里面看到的是ModelSim中的库。
我们在File->New->Project添加一个新的工程:
输入名字,然后OK。
在出来的对话框中添加已经存在的文件,或者新建文件。
这里我们添加了之前各个模块的文件,Top文件,这里选择将文件保留在原位置:
并新建了一个test.v的测试用例。
在该例中,#50表示在上一句之后延时50个Cycles,一个Cycle的时间为`timescale 1ns/1ps 中的1ns。
而Always #50 clk=~clk;则创建了一个周期100ns的时钟。
在Workspace的Project中,右键选择Project Settings:
将File Type改为Verilog。
在Workspace的Project中,右键选择Add To Project->Simulation Configuration:
选择TipyMIPS下的test,并钩掉优化。
保存
在菜单View中,选择Wave,即可开始仿真。
当更改源代码后,只需重新编译。
然后Restart即可点击Run重新仿真。
上图中的Runtime Options可以更改Run一次的时间,如下:。
ModelSim操作方法

ModelSim
在105的xterm中输入命令:vsim & 即启动ModelSim. 然后点击界面上方的File——New——Project,出现如下界面:
在Project Name中输入想要建立的工程的名字,在Project Location中输入想要建立工程的路径,其他都是默认值即可,填好后点击OK.出现如下界面:
如果想填入已经写好的代码,则点击Add Existing File,找到文件路径进行添加,设置好文件格式(.v文件选择Verilog,.txt文件选择Text),点击OK则添加完毕。
如果想要重新写代码,则点击Creat New File,写好代码后保存即可。
把文件添加到工程后,点击工具栏上方的编译按钮,如下图所示:
编译不成功则改代码中的错误,直到全部编译成功为止。
编译成功后点击编译按钮后面的Simulate按钮:
出现如下对话框,选择Work中的testbench文件,点击OK 即可进行仿真。
然后执行View——Wave,View——Objests,将Objests中想要观察的信号拖进Wave窗口,最后点击运行按钮Run-All(如下图),
等仿真完毕后按红色的小叉按钮Break来停止仿真。
此时观察Wave窗口即有仿真波形。
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使用方法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",可以运行单步或连续仿真。
modelsim使用说明

1在quartus中设置第三方仿真工具,选择assignments-settings-eda tool settings-simulatin选择modelsim-verilog2编译工程3编译完成后会在工程目录下生成simulation-modelsim的目录,打开Wave.vo是仿真网表文件,可以用来代替设计文件;.xrf是quartus编译生成的信息文件;.sdo是工程延时信息4、加入仿真库文件:路径C:\altera\quartus50\eda\sim_lib220model.v:带有用户原语类型的quartus自带的ip核的库文件altera_mf.v:quartus自带的ip核的库文件cyclone_atoms.v:相应系列的器件库在本例中需要添加altera_mf.v,cyclone_atoms.v5、编写测试模块6、把这些文件粘贴到刚才生成的目录中7、打开modelsim8、选择file-new-project9、指定工程名称,路径,工作目录10、添加设计文件(1)(2)(3)(4)11、编译工程全部编译功能仿真12、修改wave.vo文件把延时信息注释掉//initial $sdf_annotate("WA VE_v.sdo");13、重新编译wave.vo14、选择simulate开始仿真15、选择顶层模块,然后确定16、右键选择添加信号到波形图17、在命令行中敲入run 1ms回车,开始仿真18、观察波形二进制显示十进制显示没有延时时序仿真19、把wave.vo的修改过的注释改回来,重新编译20选择simulate21、选择sdf标签22、加入.sdo文件,把下面的sdf options都选中23、选择ok进行仿真24、和功能仿真一样加入波形图,仿真25、看延时。
Modelsim简明操作指南

Modelsim简明操作指南第一章介绍ModelSim的简要使用方法第一课 Create a Project1.第一次打开ModelSim会出现Welcome to ModelSim对话框,选取Create a 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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.2
2.给工程加入文件:ModelSim会自动弹出Add Items to the project窗口,如图2.3所示。
选择Add Exsiting File后,根据相应提示将文件加到该Project中。
图2.3
3.编译:编译(包括源代码和库文件的编译)。
编译可点击ComlileÖComlile All来完成。
4.装载文件:如图2.4,点击SimulateÖSimulate…后,如图2.5所示,选定顶层文件(激励文件),ADD加入,然后点击LOAD,装载。
图2.4
图2.5
5.开始仿真:同过菜单:View -> Structure,View -> Signals,View -> Wave打开Structure,Signals,Wave三个窗口。
在Structure窗口内选定你所要观察的信号所在的模块,然后在Signals窗口选定信号,同过鼠标左键拖放到Wave窗口,如图2.6。
然后在Wave窗口,点击run all,运行,在波形窗口就可以看到信号的仿真波形。
如图2.7.
图2.6
图2.7
6.波形信号的保存:有时,在波形窗口内拖放了较多的信号,可以保存起来以后调入。
在wave窗口,File -> Save format,保存成*.do文件。
以后需要调入时,在modelsim主窗口命令行内执行:do *.do即可。
3 门级仿真和时序仿真
使用综合软件综合后生成的门级网表或者是实现后生成的门级模型进行仿真,不加入时延文件的仿真就是门级仿真。
可以检验综合后或实现后的功能是否满足功能要求,其速度比代码功能仿真要慢,但是比时序仿真要快。
在门级仿真的基础上加入时延文件“.sdf”文件的仿真就是时延仿真。
优点是:比较真实的反映逻辑的时延与功能,缺点是速度比较慢,如果逻辑比较大,那么需要很长的时间。
在这里仿真以Altera的器件为例。
利用经过综合布局布线的网表和具有时延信息的反标文件进行仿真,可以比较精确的仿真逻辑的时序是否满足要求。
3.1 仿真需要的文件
1.综合布局布线生成的网表文件
2.测试激励
3.元件库
4.时序仿真的话,还需要综合布局布线生成的具有时延时延信息的反标文件(sdf)3.2 仿真步骤
1.在Quartus2中正确设置仿真工具:如图3.1所示,点击Quartus2的Assignment菜单下的EDA Tools Settings,进入图3.2。
在图3.2中,点击EDA tool type,再在Tools Settings 的下拉菜单中,根据你所使用的语言与Modelsim的版本,作相应的选择。
图3.1
图3.2
2. 用Qusrtus2产生仿真所需要的网表与SDF文件:在作了第一步的正确设置后,每当你完成一次编译,Quartus2会自动在你的当前Project目录下生成一个simulation目录,在该目录下有一个modelsim的目录。
在该目前下,就有我们所要的文件。
如果使用VHDL语言,网表文件是.VHO,SDF文件是SDO;如果是使用Verilog语言,网表文件是.VO,SDF 文件也是SDO。
你也可以通过Quartus2的ProcessingÖEDA Tool Post-Compilation
CommandsÖWrite Output Netlists来产生以上的文件,该方法如图3.3所示。
图3.3
3.在ModelSim中建立Project:与代码仿真相似,建立工程,并加入文建。
不同的是,门级仿真或时序仿真,则是加入综合后的网表文件,源代码文件不需要,要将其从Project 中删除。
4.编译源代码和网表:源代码的编译可点击ComlileÖComlile All来完成。
5.库文件的编译:库文件的编译如下所述
在成功建立Project后,Modelsim会增加一个页面,点击Modelsim左下角的Library,
出现如图3.4所示画面,图3.5是上图2.左下角的放大。
图3.4
图3.5
如图3.6所示,点击FileÖNewÖLibrary。
得到图3.7,在Library Name中输入库名,该名应和Altera的库名保持一致。
在作代码仿真(功能仿真)时,需要编译的库为220model 和altera_mf。
在作门级仿真(时序仿真)时,所需编译的库因所用HDL语言的不同而不同。
假设用Stratix器件,对VHDL,所要编译的库文件为STRATIX_ATOMS.VHD和STRATIX_ATOMS_COMPONENTS.VHD;对Verilog语言,则需编译STRATIX_ATOMS.V文件。
图3.6 图3.7根据所用器件,在 Modelsim中生成相应的库之后。
在对其进行编译之前是不能使用的。
首先在图3.4中,确认你刚才所加的库已经生成。
以下以编译220moel库为例,来说明库的编译过程。
如图3.8所示,点击CompileÖCompile后,弹出图3.9所示窗口。
图3.8
图3.9
在Library窗口中选择220model,在查找范围(I)中,将其目录定位到Quartus2安装目录下的EDA\sim_lib,Altera的所有仿真库文件都在这个目录下。
可以看到,在该目录下,有220model.v,220model.vhd,220model_87.vhd和220pack.vhd 几个文件;其中220model.v是Verilog的库文件,220model.vhd(93标准),220model_87.vhd (87标准)和220pack.vhd是VHDL库文件。
在编译VHDL库文件时,要注意设置Default Options中的use 1993 Language Syntax。
这里,我们依次选定220pack.vhd,220model.vhd,并将Default Options中的use 1993 Language Syntax打上勾,按下Compile按钮。
在图3.4的界面中,如果220model的边上出现了一个“+”号,则完成了这个库的编译。
按照同样的方法,你可以完成其他库的编译。
6.仿真准备:至此,我们已经准备好了仿真所需要的所有文件:源代码或网表文件,testbench文件,库文件,SDF文件。
下面开始仿真。
如图3.10所示,点击SimulateÖSimulate…后,
图3.10
图3.11
弹出图3.11所示窗口。
在Design下,点开wok,双击你的testbench图2.标,再单击Add按钮。
在Libraries下,单击Add按钮,将刚才所编译的库文件加入,本例中加入了220moel。
如图3.12所示
图3.12
对于时序仿真,还要加入反标(sdf)文件,单击SDF,再单击Add,将SDF文件加入。
如图3.13。
图3.13
同过Browse加入SDF文件,在Apply to Region框内填入反标文件所对应的模块。
在图2.中,disco_test为测试激励程序,u1为被仿真的模块在激励程序中的例化名字。
单击ok 将sdf文件加入,然后单击load,就可已开始仿真了。
7.开始仿真:与代码仿真一样,在这里不在说明。