ModelsimSE的使用方法 简单易懂
modelsimSE6.0安装

modelsimSE6.0安装我安装的版本是Modelsim SE 6.2b ,相信其它版本也不会在安装问题上有太大的差异.如果存在,这里的方法也应该可作为一个很好的参考.1) 打开您下载到或是通过其他什么什么路径搞到的安装文件,找到Setup 文件, 双击之, 然后一路“确定” 或点“是”(选择FULL版本的较好),安装到自己选定的路径后, 它会要求你重启电脑, 这时你可以重启了.2) 重启后, 这时你就要用license 进行注册了.注册方法是这样的:注册器是一个Keygen软件来着, 你可以从网上下载到注册器(如果自己已经有的话那就自然方便了), 然后双击Keygen 这时会弹出一个对话窗口, 要求你在hostid下面的输入框里输入你的网卡号(网卡号获取方法在下面有介绍). 这时你可以在其中输入你的网卡号,也可不用理它,直接点generate, 这时你会发现生成了一个license.dat 文件,这个就是你的注册文件了.在这个文件里就有你的网卡号HOSTID后面的一串码就是你的网卡号了.3) 然后你要做的就是把这个license.dat文件复制到你的Modelsim 安装路径下的win32文件里面.(比如我的安装路径是D:\Modeltech_6.2b, 我就在D盘找个Modeltech_6.2b文件,进去后再找到win32文件,进去后把license.dat复制到这里)4) 下一步是很关键的了, 这一步你需要创建一个环境变量LM_LICENSE_FILE.创建方法如下: 在桌面左键“我的电脑” ->属性->高级->环境变量,然后在系统变量中新建一个变量,编辑用户变量中的变量名为. LM_LICENSE_FILE ,变量值即为你的license.dat的安装路径,比如我的就是D:\Modeltech_6.2b\win32\license.dat ,编辑系统变量中的变量名:CDSROOT,变量值:D:\Modeltech_6.2b\win32确定后,就可以了.5) 运行一下Modelsim,如果运行成功,没有出现什么启动不了的error 窗口,那你就大功告成了.6) 如果在第五步中,你发现老是弹出错误窗口, 显示Error: “System clock has been set back” in the MAX+PLUS II software. 这时老兄您就中彩了, 我正是为这个问题烦了好几天. 不过还好,我在网上找了到解决这个问题原因:Error: “System clock has been set back” in the MAX+PLUS IIsoftware.You receive this error message if the vendor daemon has detected one ormore system files dated in the future compared to the system clock.One possible solution is to locate the files that have an invalid date stampand to open each file and then save it so that it has the correct date/timestamp. The vendor daemon primarily looks at system files in thefollowing directories:■ C:\ (The root directory)■ The directory where your Microsoft Windows files are installed (forexample, C:\WINNT)■ Your MAX+PLUS II software directory (for exampleC:\MAXPLUS2)One way to find the affected files is to use the Windows Find utility.Search by date and specify files with a date later than today’s date. Somefiles may be hidden, so make sure that the Find utility isconfigured todisplay all files.If your MAX+PLUS II software was installed with an incorrect systemclock, you may need to perform the following steps:1. Uninstall the MAX+PLUS II software.2. Set the system clock to the current time and date.3. Restart the PC.4. Reinstall the MAX+PLUS II software in a different directory.上面说的意思是, 当你碰到这个问题时,原因是软件中的vendor daemon发现你的机子中系统文件的创建日期超前了你的电脑上的系统时钟(也就是你电脑上显示的时间).这时你的解决办法就是通过搜索文件找到这些文件,然后删掉这些文件.方法如下:进入C盘,修改文件查看方式,使你可以看到所有文件.然后点“系统任务”中的“搜索文件或文件夹”,查找所有文件和文件夹->高级选项->指定日期, 修改时间范围, 我是从当前时间搜索到2050年,通过先后选定“修改日期” “访问日期” “创建日期”,最后我搜索到了一堆2098年创建的文件和2013年创建的文件.我把这些文件统统删了. 然后卸载掉原来的Modelsim ,重启后,再次按照1 à5的步聚重新安装,这下终于搞定了.*_*以上就是我的安装过程,希望上面的东东能够给各位同仁有所帮助.*_*对了,还要介绍一下获取你的网卡号的方法:开始->所有程序->附件->命令提示符,这时就进入DOS环境下,输入ipconfig /all ,enter后就可看到一堆的输出, 仔细找一下Physical Address 后面12位码就是你的网卡号了.(也可以通过开始->运行,输入cmd, 进入DOS 环境。
用ModelSimSE进行功能仿真和时序仿真的方法(ALTERA篇)

用ModelSimSE进行 功能仿真和时序仿真的方法 (ALTERA篇)黄俊April 2007用ModelSim SE进行功能仿真和时序仿真的方法 (ALTERA篇)软件准备(1) QuartusII,本文截图是QuartusII 6.1界面的。
我个人认为,如果是开发StratixII或CycloneII或MAXII,用QuartusII6.0+SP1+SP2比较稳定。
(2) ModelSim SE. ALTERA仿真库要已经装好,安装仿真库的笔记已记录于《在ModelSimSE中添加ALTERA仿真库的详细步骤》中。
我电脑上装的是ModelSim SE6.1b。
例子程序的制作先在Quartus II里生成一个例子程序,以方便介绍三种仿真的方法。
步骤如下:1、新建一个工程(Project),工程名取lpm_shift, 器件选CycloneII EP2C5Q208C, 第三方的工具暂时都不选。
2、菜单栏上ToolsÆMegaWizard Plug-In Manager, 点Next,在storage中选LPM_SHIFTREG,输出文件格式根据习惯选一种语言,在这里以Verilog的为例,在右边的output file名字中加上lpm_shift。
点Next。
3、这个例子是做一个移位寄存器,调用lpm库,和cycloneII元件库,也正好可以作为对前面建好的ALTERA库的一个验证。
点可以查到该模块的使用说明和详细介绍。
移位寄存器比较简单,就不用细看了。
如下图设置.点Next.4、加上一个异步清零端,点Next,再点Next,最后点Finish.Add/Remove Files in Project…,6、点图标,选中生成的lpm_shift,点打开再点Add都加到项目中去。
7、在这里直接把lpm_shift.v当成顶层文件,就不需要再例化它了。
8、下面写一个简单的TestBench.a)Quartus II工具栏上点图标,选Verilog HDL;b)点,设文件名为top_tb;c)如下所述写一个简单的TestBench.(例子见附件)开始仿真z ModelSim仿真有很多种流程,下面我采用个人感觉比较好一个流程进行仿真验证:基于工程(Project)的流程Step1 新建一个工程Step2 添加文件到工程中去Step3 编译设计文件Step4 启动仿真器,指定顶层设计单元Step5 查看和调试结果z对的设计有三个阶段的仿真。
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是一款常用的仿真工具,用于学习、开发和测试各种数字电路和系统设计。
它提供了大量的功能,可以帮助我们更好地进行仿真、调试和性能优化。
但是,对于初学者来说,熟练使用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 SE 6.5a使用指南

Modelsim SE使用指南ModelSim的功能侧重于编译、仿真,不能指定编译的器件,不具有编程下载能力。
不象Synplify 和MAX+PLUS II可以在编译前选择器件。
而且ModelSim在时序仿真时无法编辑输入波形,不象MAX+PLUS II可以自行设置输入波形,仿真后自动产生输出波形,而是需要在源文件中就确定输入,如编写测试台程序来完成初始化、模块输入的工作,或者通过外部宏文件提供激励。
这样才可以看到仿真模块的时序波形图。
ModelSim还具有分析代码的能力,可以看出不同的代码段消耗资源的情况,从而可以对代码进行改善,以提高其效率。
菜单栏标题栏下方为菜单栏。
菜单栏有八个菜单项,分别是:File(文件)、Edit(编辑)、View (视图)、Compile(编译)、Simulate(仿真)、Tools(工具)、Window(窗口)、Help(帮助)。
下面分别罗列其具体选项。
1. File(文件)菜单文件菜单通常包含了对工程及文件等的操作。
ModelSim的文件菜单包含的命令有:New(新建),Open(打开),Close(关闭),Import(导入),Save(保存),Delete(删除),Change Directory(更改路径),Transcript(对脚本进行管理),Add to Project(为工程添加文件),Recent Directories(最近几次的工作路径),Recen Projects(最近几次工程),Quit(退出)。
(1)新建文件命令(File/ New)单击File/ New命令,将会出现一个子菜单,共包含四个选项:单击Floder(新建文件夹)后,会出现对话框,提示输入新建的文件夹的名字,即可在当前目录下新建一个文件夹;单击Source(新建源文件)后,会出现源文件类型的选项(VHDL,Verilog,Other),点击可分别新建对应格式的源文件;单击Project(新建工程)后,会出现对话框,提示在Project Name 处输入新建工程的名称,在Project Location处指定新建工程的存放路径,在Default Library Name处指明默认的设计库的名称,用户设计的文件将编译到该库中;单击Library(新建一个库)后,会出现对话框,提示选择Creat a New library and a logical mapping to it(新建一个库并建立一个逻辑映象)或A map to an existing library(新建一个到已存在库的映象),在Lirary name处输入新建库的名称,在Library phycial name处输入存放库的文件名称。
ModelSim SE简明操作指南(2)

ModelSim SE简明操作指南(2)12.导入设计的时候会在工作去开出一个新的Sim Tab栏。
这个Structure Pane展示了设计的层次结构。
你可以点即“+”(expand)或“-”(contract)来观察。
13.点击其中的Function increment可以注意到其他窗口是怎么适当的自动更新的。
明确地说,Source window显示了你在Structure window所选的层次水平的Verilog代码.在这种方式下使用Structure Pane类似于解释性Verilog的范围命令。
现在,点击Structure Pane的顶层线,确定test_counter模块显示在Source window。
运行仿真1.Run运行100ns,缺省设置。
(PROMPT: run ) (MENU: Run\Run 100ns)2.设置Run Length为500ns,然后Run。
现在仿真运行了600ns,在工作取底部状态栏可以看到这些信息。
3.上个命令使仿真器前进了500ns,也可以设置仿真器推进的时间run @ 3000实际仿真器向前推进了2400ns(3000-600)4.选取主窗口Run All。
(PROMPT: run -all ) (MENU: Run\Run -All)5.选取Break中断运行。
看Source window,察看中断执行的语句。
调试仿真1.在List window选取/test_counter/count。
从List window菜单条中选取Prop \ Signal Props。
Modify Signal Properties (list) 对话框打开了。
为信号counter选取十进制(在Radix),相应的List window的输出也发生改变,成为十进制数,而不是缺省的二进制了。
2.我们选取工作区Structure Pane中的dut:counter,然后在counter.v中的30行(这里包含一个到Verilog功能增量的调用)设置断点。
调用第三方工具modelsim se

这两天学习下第三方仿真工具Modelsim se,遇到了很多问题,但最终都一一解决了,于是总结下两种方法,希望给遇到类似困难的朋友以下启示。
第一种在modelsim 中建立testbench1,打开modelsim se 新建工程首先改变路径到你新建的文件夹中,new→chang directory 该文件夹命名为modelsim_test 出现对话框设置路径如下图2新建库文件new→library,库文件名为work_test,如下图3,在库文件下新建工程new→project,工程名为count,库文件名默认为work,改为work_test,然后OK,然后会出现一个对话框,选择creak new file然后在后面对话框中file 名为count ,形式为verilog(默认为VHDL),然后编辑文本,这里简单编写一段,仅讲述方法,module div_clk(clk,rst_n,div_clk);input clk;input rst_n;output[3:0]div_clk;reg[3:0]div_clk;always@(posedge clk or negedge rst_n)if(!rst_n) div_clk<=4'd0;else div_clk<=div_clk+1'b1;endmodule按照相同的方法写一段testbench如下`timescale 1ns/1nsmodule div_clk_tb;reg clk;reg rst_n;wire[3:0]div_clk;div_clk u1(.clk(clk),.rst_n(rst_n),.div_clk(div_clk));initial beginclk=0;forever#10 clk=~clk;endinitial beginrst_n=0;#1000;rst_n=1;#50000;$stop;endendmodule如下图没有编译前是问号,然后编译,选中文件右击compile all.待编译无误后问候变为然后可以在library中看到编译后的文件右击div_clk_tb选择simlation然后出现如下图所示的界面右击div_clk_tb,添加波形,然后在上面工具栏中设置仿真时间100us,点击旁边的RUN按钮,就可以看到仿真后的波形如下图第二种方法较为复杂一点,我摸索两天终于成功了。
Modelsim初级使用教程(转)

Modelsim初级使用教程(转)一、 Modelsim简介Modelsim仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。
但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。
二、安装同许多其他软件一样,Modelsim SE 同样需要合法的License,通常我们用Kengen产生license.dat。
1 解压安装工具包开始安装,安装时选择Full product安装。
当出现Install Hardware Security Key Driver时选择否。
当出现Add Modelsim T o Path选择是。
出现Modelsim License Wizard时选择Close。
2 在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。
若License通过,但是打开ModelSim仍出错,则将系统时间调到2008年之前,重新生成License,再将时间调回来即可。
3 修改系统的环境变量。
右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/10/13
西安邮电学院计算机系
9
图2.3
2020/10/13
西安邮电学院计算机系
10
编译: 编译(包括原代码和库文件的编译),编译可点击Comlile > Comlile All来完成。
2020/10/13
西安邮电学院计算机系
11
装载文件: 如图2.4,点击Simulate -> Simulate..后,如图 2.5所示,选定顶层文件(激励文件),ADD加入,然后 点击load,装载。
2020/10/13西安邮电学Fra bibliotek计算机系3
2.1代码仿真需要的文件
设计HDL源代码:可以使用VHDL语言或Verilog HDL语言。(这里以附录用Verilog语言编写的4位计数器 为例进行说明)
测试激励代码:根据设计要求编写输入/输出的激励程序, 由于不需要进行综合,书写具有很大的灵活性。
2020/10/13
西安邮电学院计算机系
21
图3.1
2020/10/13
西安邮电学院计算机系
22
图3.2
2020/10/13
西安邮电学院计算机系
23
用Qusrtus产生仿真所需要的网表与sdf文件: 在作了第一步的正确设置后,每当你完成一次编译, Quartus会自动在你的当前Project 目录下生成一个 simulation目录,在该目录下,就有我们所需要的文件。如 果使用VHDL语言,网表文件是.VHO,SDF文件.SDO;如果 使用Verilog语言,网表文件是.VO,SDF文件也是.SDO。
2020/10/13
西安邮电学院计算机系
5
图2.1
2020/10/13
西安邮电学院计算机系
6
图2.2
2020/10/13
西安邮电学院计算机系
7
2020/10/13
西安邮电学院计算机系
8
给工程加入文件: ModelSim会自动弹出Add Items to the project窗口,如 下图所示2.3所示。选择Add Exsiting File后,根据相应 的提示将文件加到该project中。
2020/10/13
西安邮电学院计算机系
18
在这里仿真以Altera 的器件为例。利用经过综合布局布线的 网表和具有时延信息的文件进行仿真,可以比较精确的仿真 逻辑的时序是否满足要求。
2020/10/13
西安邮电学院计算机系
19
3.1仿真需要的文件
综合布局布线生成的网表文件 测试激励 元件库 时序仿真需要综合布局布线生成的具有时延信息的文 件(sdf)文件。
2020/10/13
西安邮电学院计算机系
20
3.2 仿真步骤
在Quartus中正确设置仿真工具: 如图3.1所示,点击Quartus的Assignment菜单下的 EDA Tools Settings,进入图3.2中,点击EDA tool type,在Tools Settings的下拉菜单中,根据你所使用的语 言与Modelsim的版本,作相应的选择。
2020/10/13
西安邮电学院计算机系
17
3.门级仿真和时序仿真
使用综合软件综合后生成的门级网表或者是实现后生成 的门级模型进行仿真,不加入时延的仿真就是门级仿真。可以 检验综合后或实现后的功能是否满足功能要求,其速度比代码 功能仿真要慢,但是比时序仿真要快。
在门级仿真的基础上加入时延文件.sdo文件的仿真就是时 延仿真。优点是:比较真实的反映逻辑的时延与功能,缺点是 速度比较慢,如果逻辑比较大,那么需要很长的时间。
2020/10/13
西安邮电学院计算机系
24
在ModelSim中建立Project: 与代码仿真相似,建立工程,并加入文件。不同的是, 门级仿真或时序仿真,则是加入综合后的网表文件,源 代码文件不需要,可以将其从Project中删除。
2020/10/13
西安邮电学院计算机系
25
编译源代码和网表: 源代码的编译可点击Comlile -> Comlile All来完成。
2020/10/13
西安邮电学院计算机系
12
图2.4
2020/10/13
西安邮电学院计算机系
13
图2.5
2020/10/13
西安邮电学院计算机系
14
开始仿真:如下图示
2020/10/13
西安邮电学院计算机系
15
仿真波形如下图
2020/10/13
西安邮电学院计算机系
16
波形信号的保存: 有时,在波形窗口拖放了很多的信号,可以保存起来以后调 入。在wave窗口,File -> Save format,保存成*.do文件。 以后需要调入时,在modelsim主窗口命令行内执行:do *.do即可。
2020/10/13
西安邮电学院计算机系
26
库文件的编译:库文件的编译:库文件的编译如下所述 在成功建立Project后,Modelsim中如下图示:
2020/10/13
西安邮电学院计算机系
27
编译.Vo和testbench文件
2020/10/13
西安邮电学院计算机系
28
弹出上图所示窗口。在Design下,点开wok,双击你的 testbench,再单击Add按钮。在Libraries下,单击Add 按钮,将刚才在QUARTUS里面生成的库加入,本例加入 如下图两个库文件:
ModelSim仿真工具
西安邮电学院计算机系
1 前言
逻辑仿真工具modelsim具有广泛的应用,我们讲述: 代码仿真; 门级仿真和时序验证。
2020/10/13
西安邮电学院计算机系
2
2 代码仿真
在完成一个设计的代码编写工作之后,可以直接对代码进行 仿真,检测源代码是否符合功能要求。这时,仿真的对象是 HDL代码,比较直观,速度比较快,可以进行与其它软件 相类似的多种手段的调试(如单步执行等)。在设计的最初 阶段发现问题,可以节省大量的精力。
仿真模型/库:根据设计内调用器件供应商提供的模块而 定。
2020/10/13
西安邮电学院计算机系
4
2.2代码仿真步骤
建立工程:
在modelsim中建立Project。如图2.1所示,点击file -> new -> project。得到creat project的弹出窗口,如图2.2 所示。在project name栏中填写你的项目名称,建议和你 的顶层文件名字一致。 Project location是你的工作目录, 你可通过browse按钮来选择或改变。Default library name 可以采用工具默认的work。