ModelsimSE的使用方法 简单易懂
modelsimSE6.0安装
![modelsimSE6.0安装](https://img.taocdn.com/s3/m/b69daf9ac67da26925c52cc58bd63186bceb92d1.png)
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篇)](https://img.taocdn.com/s3/m/0dd190313968011ca30091e1.png)
用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的简要使用方法](https://img.taocdn.com/s3/m/5eef9320482fb4daa58d4bbd.png)
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使用技巧](https://img.taocdn.com/s3/m/41b3adcc534de518964bcf84b9d528ea81c72fc9.png)
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 6.5a使用指南](https://img.taocdn.com/s3/m/742ea5300b4c2e3f57276332.png)
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)](https://img.taocdn.com/s3/m/78ab7a4dfe4733687e21aab2.png)
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](https://img.taocdn.com/s3/m/7aa67db21a37f111f1855bd0.png)
这两天学习下第三方仿真工具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初级使用教程(转)](https://img.taocdn.com/s3/m/693bf30f53d380eb6294dd88d0d233d4b14e3f3e.png)
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 修改系统的环境变量。
右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。
ModelSim SE简明操作指南(4)
![ModelSim SE简明操作指南(4)](https://img.taocdn.com/s3/m/a5952947b307e87101f696b2.png)
ModelSim SE简明操作指南(4)第四章使用中的注意事项1. 如果打开ModelSim,没有出现Welcom to ModelSim对话框,可以在主窗口点击Help \ Enable Welcome,则以后打开ModelSim就会出现该对话框。
2. 在工作区底部的状态栏里会显示一些有用的信息。
3. 操作哪个目录中的文件一定要定位到该目录,或者是设置为当前工作目录。
4. 不能用UNIX或window命令来生成work子目录,因为里面没有_info文件,只能用菜单或vlib命令。
5. 断点只能设置在可执行的行上,这些行以绿色行号指示6. 在Basic Verilog Simulation一课里面,编译两个文件的次序是不重要的(不同于被编译器指示生成的源码的从属性)。
Verilog-Xl的用户可能再次感到奇怪,他们了解设计单元之间的接口检测或是编译器指示的继承关系上可能存在的问题。
ModelSim推迟了这样的检测,直到设计被导入。
所以在这里,如果你选择在tcounter.v之前或之后编译counter.v不存在任何问题。
7. 一组Verilog文件可以以任意次序编译,但是在一个混合VHDL/Verilog设计中,Verilog文件必须在VHDL文件值前编译。
8. force命令可以驱动clk,相当于给仿真初始化。
1. 路径选择启动modelsim se仿真工具,在主窗口中选择【file】→【change directory】命令,将工作目录改变到你想存放仿真库的目录,点击【ok】.2. 创建仿真库在生窗口中选择【file】→【new】→【library】命令,在弹出的【create a new library】窗口中将选项【create】设置为【a new library and a logical mapping to it】,在【libryr name】和【library physical name】中键入所要创建库名字,如altera_library, ,此时在主窗口中已多了一个altera_library(empty)项; 注:这个过程实质上想当于在modelsim主窗口中的脚本区域中输入了vlib和vmap命令.3. 编译库在workspace中的library中选中你健入的库名altera_library(empty),在主菜单中选【compile】→【compile】命令;在弹出窗口compile source file窗口中的【libaray】下拉菜单中选中你的库名,在【查找范围】中选择quarturs安装目录\quarturs\eda\sim_lib文件夹下,对它下面的8个文件进行编译,一要编译两次或分两次编译,方法一:先选8个文件,点击【compile】,这次有错出象,完成后再点击【compile】,编译成功, 点击【done】;方法二:先编译220pack,再编译altera_mf_componenta.vhd,然后编译其它6个文件, 点击【done】4. 配制modelsim将modelsim根目录下的配制文件modelsim.ini的属性只读改为可写,这可使软件记录仿真库的路径以及映射关系,以后每次启动modelsim时,就会根据ini文件中的本身寻找仿真库,并且形成映射关系, 注:如果启动时出象”仿真库名(unavailable)”可选中它,点右键选择【edit】指定路径; 到些仿真库已创建,以后对altera设计仿真都不需要做库处理了;5. 后仿真配制如果要做后仿真;就要把你用的系列库和quartursii生成文件一起编译即可,例如你用的是altera的max7000比利时列,就要加quartursii安装目录\quarturs\eda\sim_lib下的max_atoms;vmax_atoms.vhd;max_components.vhd加这三个文件一起编译; 注:在做仿真前建project时,在项目窗口default library name项中键入quartursii 生成仿真文件的默认名,如max7000系列默认名max。
Modelsim SE软件介绍
![Modelsim SE软件介绍](https://img.taocdn.com/s3/m/a5b5eb0a79563c1ec5da710b.png)
建立新资料夹 新增档案/选择档案类型(VHDL…)
在资料夹下新增一个专案
新增自订的资料库
开启功能视窗(Dataflow, List….)
Open: Open 开启已存在的 ………
开启已有的各型档案 开启已有的专案 软体参数设定值
Close(关闭):
关闭使用中的专案
关闭开启的软体参数设定
Import(输入):
点选Format可设定信号表示的格式.
有符号数表示 二进位 设定颜色 八进位 十进位 无符号数表示 十六进位 设定显示signal间的间隔 ASCll码 预设 字元 逻辑 转态 类比
将待测的信号选取后点选右键,选择Radix,亦可选择以不同的方式显示讯号的值
此处为将资料转换成Binary(二进制)的形式显示:
:执行(执行的时 间如之前的设定) :继续执行(当模 拟中断后再执行)
:观察检视棒位置 的dataflow与 wave :中断
:执行全部(将所有可模拟 的部分模拟完毕)
上图为全部执行的模拟结果,可利用游标量测信号之间是否与我们所设定 的一致.
分析模拟
利用4_bit涟波加法器的模拟作说明:假设进位传递一级需10 ns, 则输入到输出最多只需40 ns
Modelsim SE软体介绍
Modelsim SE使用
点选左图,开启Modelsim程式,如下图
Modelsim工作的 动作显示栏位 所开的资料夹里的所有可用资源 目前栏位中所显示的档案为哪种属性(若有开project,可切换)
Modelsim 介面介绍:File(档案)
New: New 新建立 …………
开启project后,加入物件到project中:
加入已有的程式档案
modelsim安装+使用说明
![modelsim安装+使用说明](https://img.taocdn.com/s3/m/0d4c823983c4bb4cf7ecd1e8.png)
1 Modelsim安装步骤此处以Modelsim Se v6.0的安装为例说明具体的安装步骤以及应该注意的事项:Modelsim Se v6.0的安装:运行Modelsim Se v6.0目录中的的自解压缩安装文件,如下图1-1所示:图1-1 自解压缩安装文件等待解压缩完成之后,会出现Modelsim Se v6.0的安装选择画面,如图1-2所示,图1-2 选择安装模式选择FULL Product 安装模式,出现如图3所示的安装界面,如图1-3所示图1-3选择next,然受选择yes,出现如图1-4所示的安装路径选择对话框,图1-4 选择安装路径这里我选择默认安装路径c:\Modeltech_6.0。
连续两次next出现如图1-5所示的文件安装界面图1-5安装文件复制完成后会弹出如图1-6所示的对话框图1-6 选择“是(Y)”出现图1-7图1-7 和图1-8图1-8 点击“确定”安装完成后,出现图1-9图1-9 点击“是(Y)”后在桌面建立快捷方式。
紧接着出现图1-10图1-10 添加桌面快捷方式选择默认。
图1-11 完成安装完成安装,如图1-11所示。
2 配置Modelsim Se v6.0的的环境变量:先找到的安装文件夹的crack目录下的keygen.exe文件,然后运行。
如图2-1所示:图2-1点击“Generate”会出现图2-2。
图2-2这表示License文件生成成功。
将生成的License文件license.dat复制到Modelsim Se v6.0安装目录(我这里的安装目录是C:\Modeltech_6.0)。
然后打开计算机属性对话框的“高级”选项卡,找到用户环境变量LM_LICENSE_FILE,然后编辑,输入变量值C:\Modeltech_6.0\license.dat(也就是License文件的物理路径)如图2-3所示:图2-3 Modelsim v6.0 用户环境变量设置编辑完成之后,确定。
如何用ModelsimSE仿真IP核-以PLL为例
![如何用ModelsimSE仿真IP核-以PLL为例](https://img.taocdn.com/s3/m/5ddd0b73366baf1ffc4ffe4733687e21af45ff0c.png)
如何⽤ModelsimSE仿真IP核-以PLL为例我们之前介绍了如何使⽤Modelsim SE进⾏仿真和利⽤do⽂件的仿真⽅法,但是其中待仿真的模块是我们⾃⼰编写的Verilog模块,但是在实际⼯作中,我们的设计中会经常⽤到FPGA ⼚商给我们提供的现成模块—IP核,这些模块我们看到不到源代码,只知道IP核的端⼝信息,当我们要仿真的时候,同样要向Modelsim提供这些IP核的信息,⽽FPGA⼚商也会给我们提供相应的IP核的编译库⽂件,我们如果设计中包含这些IP核,就必须在仿真之前,将这些库⽂件编译到Moldelsim 的库中去。
其实IP核只是我们要添加的其中⼀种库(MegaFunction),除此之外,我们还需要添加lpm库(设计中如果调⽤了lpm原件,需要添加此库),还有原语库(primitive),器件库(我们⽤的是cyclone),当然同⼀种库,还会分Verilog版和VHDL版。
这⾥只介绍Verilog版相关库⽂件的添加,VHDL版的,⽅法类似,⼤家只需更换相应的VHDL编译⽂件即可。
1.1.1.建⽴仿真库我们将IP核等相关库⽂件编译到Modelsim中后,以后凡是设计中调⽤到IP核时,我们就不⽤再重复添加了。
我们看⼀下如何在Modelsim中查看我们已经编译好的库,打开modelsim,如下图,会默认弹出名为library的窗⼝,窗⼝中的内容就有我们已经添加的库,⼀部分是Modelsim⾃带的库。
下⾯我们开始准备添加相关库⽂件。
第⼀步,⾸先在新建⼀个⽂件夹,⽤来存放我们编译后的库⽂件,这⾥命名为altera_lib,我们这⾥存放到了“C:\modeltech64_10.2c\”路径下,然后在altera_lib下新建四个⽂件夹lpm、altera_mf、altera_primitive、cyclone,如下图,后⾯我们会建⽴四个对应且相同名称的库。
第⼆步,建⽴库,我们以添加IP核库⽂件(altera_mf)为例进⾏介绍。
modelsim的安装和使用
![modelsim的安装和使用](https://img.taocdn.com/s3/m/c563f482b9d528ea81c7792b.png)
图3-4选择要分析的模块
图3-5添加要观测的波形
图3-6仿真运行开启
图3-7仿真后观测到的波形
4LeonardoSpectrum安装及使用指南
LeonardoSpectrum的安装采用一路回车即可完成。
(1)找到安装文件夹LeonardoSpectrum2001.b,运行install.exe,弹出如图4-1所示的对话框
1、指定器件库
选择SynthesisWizard(综合向导)方式后,出现如图4-8所示器件设置对话框。
图4-8指定器件库
2、输入文件
在如图4-18所示对话框中,首先设置工作目录,点击设置工作目录出现如图4-9所示对话框,工作目录底下将保存所有的输出文件。然后点击输入文件,出现如图4-10所示对话框。Encoding选项是为状态机选择编码方式。如选中Resource Sharing表示没有连接在一起的运算器(加法器,乘法器)将被共享。设置完后点击下一步。
图4-11全局约束条件
设置输出网表文件的文件名、路径及格式等,一般情况下使用缺省值即可,如图4-12所示。点击完成后就关闭综合向导开始进行综合,在综合运行过程中,在信息窗口可看到滚动的综合结果及运行流程,出现本例中的pseudorandom.vhd的器件使用报告。如果信息窗口是关闭的,可点击Window\pseudorandom.vhd再次打开设计文件。在综合完成后信息窗口显示Finished Synthesis run。
图3-2创建工程
2添加Verilog代码
这一步的目的是将verilog文件添加到创建好的工程中。要添加的文件可以是先前已经创建好的,也可以现在输入。输入的工具可以是Modelsim自带的代码输入工具,但最受欢迎的是UltraEdit。
modelsim详细使用教程(一看就会)
![modelsim详细使用教程(一看就会)](https://img.taocdn.com/s3/m/cd93f34ecf84b9d528ea7a95.png)
Modelsim详细使用方法很多的modelsim教程中都讲得很丰富,但忽视了对整个仿真过程的清晰解读,而且都是拿counter范例举例子,有些小白就不会迁移了。
这里我们着眼于能顺利的跑通一个自己写的程序,一步一步的讲解,如果你是一个初学者,这再适合你不过了,虽然貌似字写得比较多,那是因为写得相当的详细,一看就会啦O(∩_∩)O~一、建立工程1、在建立工程(project)前,先建立一个工作库(library),一般将这个library命名为work。
尤其是第一次运行modelsim时,是没有这个“work”的。
但我们的project 一般都是在这个work下面工作的,所以有必要先建立这个work。
File→new→library点击library后会弹出一个对话框,问是否要创建work,点击OK。
就能看见work.2、如果在library中有work,就不必执行上一步骤了,直接新建工程。
File→new→project会弹出在Project Name中写入工程的名字,这里我们写一个二分频器,所以命名half_clk,然后点击OK。
会出现由于我们是要仿一个自己写的程序,所以这里我们选择Create New File。
在File Name中写入文件名(这里的file name和刚刚建立的project name可以一致也可以不一致)。
注意Add file as type 要选择成Verilog(默认的是VHDL),然后OK。
发现屏幕中间的那个对话框没有自己消失,我们需要手动关闭它,点close。
并且在project中出现了一个half_clk.V的文件,这个就是我们刚刚新建的那个file。
这样工程就建立完毕了。
二、写代码:1、写主程序:双击half_clk.v文件会出现程序编辑区,在这个区间里写好自己的程序,这里我们写一个简单的二分频的代码:module half_clk_dai(clk_in,rst,clk_out);input clk_in;input rst;output clk_out;reg clk_out;always @(posedge clk_in or negedge rst)beginif(!rst)clk_out<=0;elseclk_out<=~clk_out;endendmodule写完代码后,不能马上就编译,要先保存,否则,编译无效。
ModelSim SE简明操作指南(3)
![ModelSim SE简明操作指南(3)](https://img.taocdn.com/s3/m/e9dcf823af45b307e87197b2.png)
ModelSim SE简明操作指南(3)第六课 Running a batch-mode simulation批处理模式仿真必须运行在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到当前工作目录。
ModelSim SE简明操作指南
![ModelSim SE简明操作指南](https://img.taocdn.com/s3/m/b17e35442f60ddccda38a093.png)
ModelSimSE简明操作指南(1)ModelSimSE简明操作指南第一章介??绍本指南是为ModelSim5.5f版本编写的,该版本运行于UNIX和MicrosoftWindows95/98/Me/NT/2000的操作系统环境中。
本指南覆盖了VHDL和Verilog模拟仿真,但是你在学习过程中会发现对于单纯的HDL设计工作而言,它是一个很有用的参考。
ModelSim具备强大的模拟仿真功能,在设计、编译、仿真、测试、调试开发过程中,有一整套工具供你使用,而且操作起来极其灵活,可以通过菜单、快捷键和命令行的方式进行工作。
ModelSim的窗口管理界面让用户使用起来很方面,它能很好的与操作系统环境协调工作。
ModelSim的一个很显着的特点就是它具备命令行的操作方式,类似于一个shell有很多操作指令供你使用,给人的感觉就像是工作在Unix环境下,这种命令行操作方式是基于Tcl/Tk的,其功能相当强大,这需要在以后的实际应用中慢慢体会。
ModelSim的功能侧重于编译、仿真,不能指定编译的器件,不具有编程下载能力。
不象Synplify和MAX+PLUSII可以在编译前选择器件。
而且ModelSim在时序仿真时无法编辑输入波形,不象MAX+PLUSII可以自行设置输入波形,仿真后自动产生输出波形,而是需要在源文件中就确定输入,如编写测试台程序来完成初始化、模块输入的工作,或者通过外部宏文件提供激励。
这样才可以看到仿真模块的时序波形图。
另外对于Synplify来说,也只具有编译能力,但是比MAX+PLUSII可编译的verilog的内容要多,所以常常可以现在Synplify下编译,生成编译文件再送到MAX+PLUSII中使用。
ModelSim还具有分析代码的能力,可以看出不同的代码段消耗资源的情况,从而可以对代码进行改善,以提高其效率。
第二章??ModelSim的主要结构ModelSim的主窗口(Mainwindow)包括菜单栏、工具栏、工作区和命令行操作区。
ModelSim快速入门
![ModelSim快速入门](https://img.taocdn.com/s3/m/5aa379feb9f67c1cfad6195f312b3169a451ea0e.png)
ModelSim快速⼊门ModelSim是业界最优秀的HDL仿真⼯具,在电路设计、FPGA开发中经常使⽤。
笔者在学习FPGA中联合仿真再次⽤到ModelSim时发现课程中学到的已经遗忘过半,所以决定整理成⽂,作为⽇后参考,⽔平有限望批评指正。
ModelSim软件包含多个版本:SE、PE、LE和OEM版本,其中SE版本功能最多仿真速度最快,OEM定制版如:Altera的AE版和Xilinx的XE版功能有⼀定限制。
对于学习⽽⾔可以选择任何版本。
本⽂是第⼀篇,主要介绍了ModelSim的安装和快速⼊门。
软件以ModelSim SE-64 10.4为例,使⽤Verilog HDL语⾔,操作系统为Windows 7 sp1 Ultimate x64。
软件安装ModelSim的安装⽐较简单,1)双击打开软件:等待解压完成后显⽰欢迎界⾯,单击Next:2)选择安装路径。
这⾥注意,很多EDA⼯具安装路径不要出现中⽂和空格,单击Next:3)接受许可条款,单击Agree:4)开始安装,在此过程中会弹出是否创建快捷⽅式和加⼊环境变量对话框,Yes即可,进度条完成后:5)出现install hardware security key driver,选择No:6)安装完成。
此时启动软件会提⽰License错误。
软件激活激活程序通常会随软件⼀起打包,⽅法各不相同,通常只需⽣成License并设置环境变量指向License。
为⽀持正版在此不提供破解⽅法。
启动软件正确激活后可以启动软件,勾选don't show this dialog again并关闭欢迎界⾯后,如图:软件已经包含了⼏个库,在此我们新建⾃⼰的work库,⽤来包含所有编译的设计单元:File > new > Library: 默认使⽤work 即可:快速⼊门ModelSim可以使⽤命令⾏或图形界⾯操作,在此⽰例性的新建⼀个⼯程并完成仿真,认识软件布局和常⽤操作。
- 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。