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。
Modelsim详细使用教程
Modelsim详细使用教程一、打开Medelsim双击桌面快捷方式,出现下图所示界面,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程;二、建立工作库点击File->New->Library,输入Library Name,点击OK,就能看见新建的库。
三、建立工程点击File->New->Project,输入Project Name,在Project Location 中输入工程保存的路径,建议在Library所在文件夹中。
在Default Library Name 中为我们的设计编译到哪一个库中。
点击OK会出现下图所示的界面。
四、为工程添加文件Create New File 为工程添加新建的文件;Add Existing File为工程添加已经存在的文件;Create Simulation为工程添加仿真;Create New Folder为工程添加新的目录。
这里我们点击Create New File,来写仿真代码。
输入File Name,再输入文件类型为Verilog (默认为VHDL,Modelsim也可以仿真System Verilog代码),Top Level表示文件在刚才所设定的工程路径下。
点击OK,并点击Close关闭Add items to the Project窗口。
这时候在Workspace窗口中出现了Project选项卡,里面有8_11.v,其状态栏有一个问号,表示未编译,双击该文件,这时候出现8_11.v的编辑窗口,可以输入我们的Verilog代码。
五、编写Verilog代码写完代码后,不能马上就编译,要先File->Save保存,否则,编译无效。
然后选择Compile->Compile All。
Transcript脚本窗口出现一行绿色字体Compile of 8_11.v was successful. 说明文件编译成功,并且该文件的状态栏显示绿色的对号。
【翻译】modelsim指南之基本仿真(digital logic)
Introduction本文将一步步实现以下基本仿真流程:1.创建设计工作库2.编译设计单元3.加载设计4.运行仿真本文用到的设计文件本文的范例是一个8位的二进制加法计数器和相关的测试文件。
保存路径:Verilog-<install_dir>/examples/tutorials/verilog/basicSimulation/counter.v and tcounter.v相关阅读用户手册的章节:设计库、Verilog和SystemVerilog仿真。
参考命令:vlib,vmap,vlog,vcom,view,run.创建设计工作库在你仿真前,必须先创建一个库并编译源码到这个库。
1.创建一个新目录并复制本文的设计文件。
Copy counter.v 和tcounter.v2. 启动modelsim。
a. windows下双击快捷方式启动,你将看到modelsim的欢迎对话框,单击Close.b. 选择File > Change Directory 指定到第一步创建的目录。
3. 创建工作库。
a. 选择File > New > Library.弹出一个对话框,可以指定库名等选项。
如图1。
图1 创建一个新库b. 在Library Name项输入work(如果它没有自动输入)。
c. 单击OK.modelsim创建了一个目录work并写了一个名为_info的文件到这个目录。
这个_info文件必须保持在work文件夹以区分他是modelsim的库。
不要从你的操作系统里修改这个文件夹里的内容;所有操作应该在modelsim里进行。
modelsim也把work库添加到库窗口(图2)并记录库映射作为未来参考(modelsim.ini)。
图2当你在第3步单击确定后,Transcript窗口显示以下内容:vlib workvmap work work这两行命令等于你的菜单操作。
编译设计单元创建工作库后,接着就准备编译你的源文件。
使用ModelSim仿真入门
1.点击 ModelSim实验 下载实验文档,保存并解压到D:盘根目录下。
2.启动 ModelSim6.0,执行 File 菜单下的 Change Directory... 命令。
在随后弹出的对话框中,选择 D:\exam 文件夹,点击“OK”按扭。
3.执行 File->New 菜单下的 Library 命令,在随后弹出的对话框上,点击“OK”按钮,建立 work 库。
4.执行 File->New 菜单下的 Project 命令,在随后弹出的对话框的 Project Name 栏,输入 counter,点击“OK”按钮。
5.点击“Use Current Ini”按钮。
6.点击“Add Existing File”图标。
在随后弹出的对话框上,通过点击“Browse...”按钮,选中 D:\exam文件夹下的 tb.v、counter.v 文件,然后点击“OK”按钮。
点击 Add Item to Project 对话框的“Close”按钮。
7.在 Workspace 窗口里,点击右键。
在弹出菜单中点击 Compile 下的 Compile All 命令。
8.在 Simulate 菜单下,点击 Start Simulation... 命令。
9.在随后弹出的对话框中,将 Design Unit 项设为 work 库下 tb 单元,将 Resolution 设为 ns,然后点击“OK”按钮。
10.执行 View->Debug Windows 菜单下的 Wave 命令,打开 Wave 窗口。
11.在 Objects 窗口下,点击右键。
在弹出菜单下,点击 Add to Wave 下的 Signals in Design 命令。
12.在 Transcript 窗口里,输入 run 10 ms 命令。
13.进入 Wave 窗口,观察各个信号的波形,是否与原设计相符。
14.在 Wave 窗口里,双击 cnt 的波形,打开 dataflow 窗口,观察各个信号传递关系。
modelsim简单使用流程
Modelsim简单使用流程第一步:打开工程 file –open选择工程所在的路径,并修改文件类型为选择工程文件my_test.mpf点击ok。
第二步:编译文件,点击Compile Al,编译设计文件和激励文件。
第三步:生成仿真点击Simulate –start simulate点击work前面的+号 并选择激励文件,此处即为my_test_tb.v,然后点击OK。
此处注意取消的选择。
如果不取消则不能正常看到激励和设计中的信号端口。
第四步:添加仿真信号在途中将需要观测的信号选中,点击右键,选择 Add‐‐‐‐‐Add to Wave‐‐‐‐‐‐‐slected signals就可将所选信号添加到波形框图中。
如果需要添加设计文件my_test中的中间变量,则同样的方法选中设计文件UUT(此处UUT为设计文件在激励中实例化的实例化名),如图所示,可以看到设计中的所有的信号(包括中间变量CNT和d_temp),用上面介绍的方法或者直接选中需要添加到波形文件的信号拖拽到后面的波形文件中,即可。
第五步:运行仿真点击 run运行仿真,结果如图所示:可通过放大缩小来进行调节波形大小。
对于计数器寄存器cnt可以选中该信号点击右键选择 Radix进行数制的变换然后根据波形分析设计是否正确。
本文档使用的是modelsim se 6.6,其它版本应该差异不大。
附件:文档中提到的设计文件:my_test.vmodule my_test(clk,rst,d_out);input clk;input rst;output d_out;wire d_out;reg d_temp;reg [2:0] cnt;always@(posedge clk or posedge rst) begin if(rst) begind_temp <= 1'b0;cnt <= 3'd0;endelse beginif(cnt == 3'd7) begincnt <= 3'd0;d_temp <= d_temp + 1;endelse begincnt <= cnt + 1;d_temp <= d_temp;endendendassign d_out = d_temp;endmodule激励文件:my_test_tb.vmodule my_test_tb;reg clk;reg rst;wire d_out;initial beginclk = 1'b0;rst = 1'b1;#13rst = 1'b0;endalways #4 clk = ~clk;my_test UUT(.clk(clk),.rst(rst),.d_out(d_out) ); endmodule。
ModelSim简明使用教程
ModelSim6.1入门教程因为本人在初学Verilog 编程语言时,觉得很难上手的是使用ModelSim ,所以今天和大家交流一下,好了,闲话不多说了,我们开始吧!1,打开ModelSim 的画面如下:标准的windows 界面,最上面是菜单栏,以及菜单栏的一些快捷方式。
左边是工作空间,里面显示的是一些库文件。
右边是编辑区,最下面是交互区,可以通过命令完成所有的操作。
我们在此只讲一些基本的命令输入,以完成仿真。
2,建立工程,如图所示:单击Project 之后,画面如下:菜单快捷栏工作空间栏编辑栏仿真交互栏在图中Project Name中输入AND_2,这也是我们建立的第一个工程,路径选择如下图所示,默认库名我们用默认的work。
这一步完成之后,点击ok,如下图:单击ok后,如下图:其实应该没有右边的那个Creat Project File选择框,只有左边的Add items to the Project,呵呵,在此偷懒了。
单击Add items to the Project中的Creat New File(如果你已经写好了代码,可以通过点击Add Existing Flie添加),如下图:在File Name中输入AND_2,在Add file as type选项中选择Verilog,其他的使用默认即可。
单击ok。
在工作空间中添加了名为AND_2的文件,如图。
状态是“?”,说明没有通过编译。
其实咱还没开始写代码呢!好了,现在开始正式写代码了。
双击图中AND_2文件那一行的任何地方,就会打开右边的编辑区,和其他IDE 工具一样,使用编辑器,输入如下代码:module AND_2(clk,rst,A,B,C);input clk,rst,A,B;output C;reg C;always@(posedge clk or negedgeif(!rst)C <=1'b0;elseC <=A&B;Endmodule 输入完成后,单击保存。
modelsim使用手册.
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.22.给工程加入文件:ModelSim会自动弹出Add Items to the project窗口,如图2.3所示。
选择Add Exsiting File后,根据相应提示将文件加到该Project中。
图2.33.编译:编译(包括源代码和库文件的编译)。
编译可点击Comlile⇨Comlile All来完成。
4.装载文件:如图2.4,点击Simulate⇨Simulate…后,如图2.5所示,选定顶层文件(激励文件),ADD加入,然后点击LOAD,装载。
modelsim教程
ModelSim教程简介ModelSim是一种常用的硬件描述语言仿真器,它广泛应用于数字电路设计、验证和测试。
本教程将介绍ModelSim的基本知识和使用方法,帮助读者快速上手ModelSim,并顺利完成数字电路仿真和验证工作。
目录1.安装ModelSim2.创建工程3.设计代码编写4.编译和仿真5.波形查看和分析6.仿真高级特性7.总结安装 ModelSim首先,您需要下载和安装 ModelSim。
您可以从 Mentor Graphics(ModelSim的开发商)的官方网站上找到适用于您的操作系统版本的安装程序。
下载完成后,按照安装向导的提示进行安装,并确保将安装目录添加到系统的环境变量中。
创建工程在开始使用 ModelSim之前,您需要创建一个工程,用于组织和管理您的设计代码。
以下是创建ModelSim工程的基本步骤:1.打开 ModelSim,并选择“File -> New -> Project”。
2.在弹出的对话框中,选择要保存工程的目录和工程名称,并点击“Next”。
3.在下一步中,您可以选择是否添加已有文件到工程中,或者选择直接创建新的设计文件。
完成后,点击“Next”。
4.在下一步中,您可以选择激活某些特性,如代码覆盖率、时序分析等。
完成后,点击“Next”。
5.最后,点击“Finish”来完成工程的创建。
设计代码编写在 ModelSim中,您可以使用HDL(硬件描述语言)编写您的设计代码。
常用的HDL语言包括VHDL和Verilog。
以下是一个简单的VHDL代码示例:-- Counter.vhdentity Counter isport (clk :in std_logic;rst :in std_logic;count :out unsigned(7downto0));end entity Counter;architecture Behavioral of Counter issignal internal_count :unsigned(7downto0); beginprocess(clk, rst)beginif rst ='1'theninternal_count <= (others=>'0');elsif rising_edge(clk) thenif internal_count =8theninternal_count <= (others=>'0');elseinternal_count <= internal_count +1;end if;end if;end process;count <= internal_count;end architecture Behavioral;编译和仿真编译和仿真是在ModelSim中运行设计代码并生成波形的关键步骤。
modelsim详细使用教程(一看就会)
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使用流程
modelsim使用流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!ModelSim 使用流程。
1. 项目设置。
启动 ModelSim 软件并新建一个项目。
modelsim使用方法
第一步建立工程文件
选择file 目录下new 下的progect
在project name 下面的方框内输入工程名,指定保存路径后点击ok
点击或注意加载已有文件时最好将该文件复制到该工程文件夹内,即
第二步编写VHDL源程序
选择file 目录下new 下的source ,选择VHDL即可
第三步编译
选择view目录下的progect,出现下面的页面
在该页面点击全编译图标即可对工程内所有源文件进行编译如果已选中源文件中的某一个文件,如下图所示
则可以利用对该文件进行单独编译。
编译成功后方可进行第四步
第四步仿真
点击library出现下面的页面
双击顶层文件
选择你想观察的结构体名,点击鼠标右键,选择“add”“to wave”“all iterms in region”
点击选中时钟信号,右击鼠标,选择clock
点击ok后设置仿真时间
点击运行即可。
注意:由于VHDL 语言综合时不包括初始化语句,所以必须设置一个复位信号来启动整个程序,该复位信号在仿真时需要在顶层文件中额外编程产生。
除了时钟以外的输入信号也应该额外编程产生,即网上所说的激励文件。
- 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.开始仿真:与代码仿真一样,在这里不在说明。