ModelsimSE的使用方法 简单易懂
- 格式:pptx
- 大小:362.63 KB
- 文档页数:39
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篇)黄俊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的使用方法,更多的需要在实际应用中熟练和掌握。
第一课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的使用技巧,以帮助读者更好地掌握这个工具。
一、基本操作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使用指南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)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 中建立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仿真工具是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)第四章使用中的注意事项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。
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为例我们之前介绍了如何使⽤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教程中都讲得很丰富,但忽视了对整个仿真过程的清晰解读,而且都是拿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)第六课 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到当前工作目录。
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是业界最优秀的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可以使⽤命令⾏或图形界⾯操作,在此⽰例性的新建⼀个⼯程并完成仿真,认识软件布局和常⽤操作。