ModelSim 简明操作指南
- 格式:doc
- 大小:96.50 KB
- 文档页数:15
Modelsim简易使用流程1.进入Modelsim图形界面PC机:点击Modelsim图标,运行程序。
工作站:在terminal窗口下,键入vsim &编辑文件,键入dtpad [filename] &2.创建一个新的工作库点击library Create a New Library …在Create控件框中,选中a new library and a logical mapping to it;在library:后键入库名(student)并点击OK。
3.编译VHDL/Verilog语言文件点击主窗口中工具栏中的compile…。
A.选择编译文件在library后的选择控件中选择工作库(student),选中要编译的VHDL/Verilog文件。
B.选择VHDL-87/93标准点击Default Options…按钮,在弹出的compiler options窗口中选中Use 1993 Language Syntax,即使用VHDL-93标准编译文件。
C.编译文件在Compile HDL Source Files窗口中点击compile按钮。
编译的结果显示在主窗口中,warning、error信息分别以蓝色和红色字符显示。
D.修改VHDL/Verilog文件在Compile HDL Source Files窗口中点击Edit Source按钮,在弹出的窗口中修改文件。
注:如果该文件在仿真条件下被打开,只读属性被设置,在菜单Edit中点击Read Only,去除只读属性后,进行修改。
4.仿真A.载入设计点击主窗口的Load Design按钮。
选择要仿真的实体名、结构体名或配置名,点击Load按钮。
在Modelsim5.5a中,可以直接双击主窗口library标签中对应的实体名、结构体名或配置名。
B.调试点击主窗口的View→Structure;在弹出的Structure窗口中选择要观察的实体名。
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一次的时间,如下:。
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是一款常用的硬件描述语言(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的使用技巧,以帮助读者更好地掌握这个工具。
一、基本操作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是一款由美国Mentor Graphics公司推出的集成电路仿真软件,广泛应用于数字电路和系统设计领域。
它提供了强大的仿真和验证功能,能够帮助工程师快速高效地进行电路设计与验证工作。
本文将详细介绍ModelSim的使用方法,以帮助读者更好地掌握这一工具的操作技巧。
二、安装与配置1. 下载ModelSim安装包,并解压到指定目录2. 打开终端,进入ModelSim安装目录,执行安装命令3. 安装完成后,配置环境变量,以便在任何目录下都能够调用ModelSim程序4. 打开ModelSim,进行软件注册和授权,确保软件可以正常运行三、工程创建与管理1. 新建工程:在ModelSim主界面点击“File” -> “New” -> “Project”,输入工程名称和存储路径,选择工程类型和目标设备,点击“OK”完成工程创建2. 添加文件:在工程目录下右键点击“Add Existing”,选择要添加的源文件,点击“OK”完成文件添加3. 管理工程:在ModelSim中可以方便地对工程进行管理,包括文件的增删改查以及工程参数的设置等四、代码编写与编辑1. 在ModelSim中支持Verilog、VHDL等多种硬件描述语言的编写和编辑2. 在ModelSim主界面点击“File” -> “New” -> “File”,选择要新建的文件类型和存储位置,输入文件名称,点击“OK”完成文件创建3. 在编辑器中进行代码编写,支持代码高亮、自动缩进、语法检查等功能4. 保存代码并进行语法检查,确保代码符合规范,没有错误五、仿真与调试1. 编译工程:在ModelSim中进行代码编译,生成仿真所需的可执行文件2. 设置仿真参数:在“Simulation”菜单下选择“S tart Simulation”,设置仿真时钟周期、输入信号等参数3. 运行仿真:点击“Run”按钮,ModelSim将开始对设计进行仿真,同时显示波形图和仿真结果4. 调试设计:在仿真过程中,可以通过波形图和仿真控制面板对设计进行调试,查找并解决可能存在的逻辑错误六、波形查看与分析1. 查看波形:在仿真过程中,ModelSim会生成相应的波形文件,用户可以通过“Wave”菜单查看波形并进行波形分析2. 波形操作:支持波形的放大、缩小、平移、选中等操作,方便用户对波形进行分析和观察3. 波形保存:用户可以将波形结果保存为图片或文本文件,以便日后查阅和分析七、性能优化与验证1. 时序优化:在设计仿真过程中,可以通过观察波形和性能分析结果,对设计进行优化,提高设计的时序性能2. 逻辑验证:通过对仿真的结果进行逻辑验证,确保设计符合预期的逻辑功能3. 时序验证:对设计的时序性能进行验证,确保信号传输和时钟同步的正确性八、项目输出与文档整理1. 输出结果:在仿真和验证完成后,可以将仿真结果、波形图和性能分析结果输出为文本文件或图片,方便后续的文档整理和报告撰写2. 结果分析:对仿真结果和验证结果进行详细的分析,确定设计的性能和功能是否符合设计要求3. 文档整理:根据仿真和验证结果,进行文档整理和报告撰写,为后续的设计和优化工作提供参考九、总结与展望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 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简明操作指南第一章介绍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详细使用教程一、打开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简单使用流程第一步:打开工程 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 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。
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的使用
Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。
它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。
使用 modelsim
打开 modelsim,选择菜单 file→new→project
创建工程文件夹和名称
然后点击OK.
然后创建一个新的文件夹.
创建文件名称选择文件类别,我们选择verilog. 然后双击工程窗口的文件或者右键选择“edit”之后编程并保存.
之后,右键点击文件选择compile列表
在状态窗口可以看见运行结果的错误或者报警。
如果结果顺利就可以编写测试程
序。
右键点击工程菜单并添加一个新的工程文件。
命名、编程和纠错。
如果编译所有文件是成功的就可以模拟这一工程。
单击project窗口附近的library。
然后再展开work工程。
右击hfad_test和模拟或者您可以点击模拟按钮
然后会看到一个simulate窗口在project窗口附近。
右击hfad_test,然后add → to wave → all items in region
将看到波行窗。
现在可以确定模拟时间和运行。
十六进制。
完成了一个工程。
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 Guide CPR E 281: Digital LogicIntroductionModelSim is a software for simulating hardware related tasks such as those normally performed on the Altera FPGA Board. Due to the coronavirus pandemic we are not allowed to use these boards this semester, because they cannot be easily disinfected after each use. Therefore, we will use ModelSim to simulate our circuit designs.Starting ModelSimVDI provides a virtual Windows 10 or Linux desktop with the same software as our physical computer labs. VDI works both on-campus and off-campus and can be used from almost any computing device (https:///vdi/).How to Connect to VDIIf you are off campus you no longer need to connect to the VPN before using VDI (unless you want to; instructions for VPN are posted here: https:///).1.Download the client for Windows or Mac: https:///2.Install the client with all the defaults.unch the VMware Horizon Client4.Click the New Server icon on the Horizon Client Home window (the plus buttonon the top left), enter https:// for the name of the Connection Server, and click Connect.5.Enter your IASTATE NetID in the form of*****************and password6.Double click on the Windows Lab VDI icon.You should now be able to access Quartus Prime remotely, as well as your U: drive. When you are finished using the VDI session, make sure anything that you want to keep saved on your U: drive. Otherwise, it will be deleted after you logout. You can exit the VDI session via several methods:1.Start Menu > Log off2.Start Menu > Shut Down3.Quit the VMware View ClientAll sessions are automatically destroyed after 2 hours of inactivity or logoff/shutdown.To open ModelSim, simply search for ModelSim on the start menu as shown in Figure 1.Figure 1: Starting ModelSIM from the start menu.Creating a New ProjectAfter starting ModelSim, click on File > New > Project and select a directory for the project as shown in Figure 2 and Figure 3. This directory will contain all files for the new project.Figure 2: Selecting a directory for a new project.Figure 3: Selecting a directory for a new project.After completing these steps, ModelSim creates necessary project and preset files to later ease the process of opening projects and view previous simulation logs.Adding Files to ModelSimThe next step is to add files to the project. There are two options, either to createa new file within ModelSim’s built-in text editor or add an existing file from the directory. The choice is made with the pop-up window shown in Figure 4, which should show up automatically after creating a new project. The files that can beadded here are .v files, i.e., Verliog HDL files.Figure 4: Pop-up window to select file additions.What Are Verilog HDL (.v) Files?ModelSim can simulate circuits described using a Hardware Description Language (HDL). In this class we will use a language called Verilog, or sometimes Verilog HDL. There are two ways to create a Verilog (.v) file:1.Describe the functionality of the circuit directly in Verilog using a text editor.2.Create a block diagram file (.bdf) for the circuit using a software packagecalled Quartus. Then, convert the .bdf file to a .v file so that it can besimulated with ModelSim.Using Quartus to Convert a Block Diagram File to a Verilog HDL FileUsing the start menu, search for Quartus and start the application as shown in Figure 5.Figure 5: Starting Quartus from the start menu.Load the desired block diagram file (*.bdf) that you want to convert to a Verilog (*.v)file. Then, go to File > Create/Update > Create HDL Design from Current File as shown in Figure 6. A pop-up window will prompt you for the format of the output file. Make sure to select “Verolog HDL” as shown in Figure 7. Click OK and let Quartus dothe remaining work. The resulting *.v file is now in the same directory and is ready tobe opened by ModelSim.Note: After converting the file it should be added to a project in ModelSim so that it can be simulated (see the previous page).Figure 6: Converting a .bdf file to a .v file.Figure 7: Prompt for choosing the destination of the converted .v file.Compiling FilesTo compile a file, right click on the file name within the project directory and then Compile > Compile All (see Figure 8). If the compilation is successful, a green tickmark will appear in the status column for this file.Figure 8: Compiling files in ModelSim.Starting a SimulationBefore you proceed to this step, make sure that all files in your project are compiled successfully. This is necessary because there could be dependencies between the files.To run the simulation click Simulate > Start Simulation as shown in Figure 9. A pop-up window will prompt you to select the file that you want to simulate. In the “Design” tab, look for an item called “work” and then click the “+” button that is immediately to its left (see Figure 10). This will show more files. Click on the file that you want to test and then click OK.Figure 9: Starting a simulation in ModelSim.Figure 10: Selecting the file to be simulated from the work directory.Figure 11: Starting a simulation and invoking the wave form diagram.A simulation window should pop-up as shown in Figure 11. Double click the file name to add all input/signal/output variables to be analyzed. Then click on a variable name that pops up on the right and press “CTRL-W” to add waveforms. No actual wave forms should show up since the variables have no initial value yet. This is shown in Figure 12.Figure 12: Adding variables and incorporating them into the wave form.Edge-Case TestingNow, it’s time to finally test the circuit! For this example, we will hard code (or force) the values of the input variables for this circuit. This next step is important! Click on the desired input variable and not on an output variable. Then, right click and choose Force as shown in Figure 13. This allows you to force a value for that input indefinitely, orat least until it is forced to another value manually.Figure 13: Forcing values for an input.Another way to test is to create a testbench (if you’re interested look up some YouTubetutorials on this subject), but that is out of the scope of this class.After completing all of these steps, it is time to see some results. There is a command prompt at the bottom that allows for typing in commands in ModelSim syntax.Using these commands, we can quickly tell ModelSim to complete tasks, instead of looking for them in the dropdown menus. Please ensure that all input variables have a forced value before doing this step. On the command prompt type “run 100”, which lets the wave form simulate edge cases for 100 ns. The output variable now shows an expected output. In this case, the output of 0 AND 0 is 0! This is shown in Figure 14.Figure 14: Wave form showing 0 AND 0 for which the output is 0.QuestionsIf you have any questions or comments, please email your lab TA for further assistance.。
第一章介绍本指南是为ModelSim5.5f版本编写的,该版本运行于UNIX和Microsoft Windows 95/98/Me/NT/2000的操作系统环境中。
本指南覆盖了VHDL和Verilog 模拟仿真,但是你在学习过程中会发现对于单纯的HDL设计工作而言,它是一个很有用的参考。
ModelSim具备强大的模拟仿真功能,在设计、编译、仿真、测试、调试开发过程中,有一整套工具供你使用,而且操作起来极其灵活,可以通过菜单、快捷键和命令行的方式进行工作。
ModelSim的窗口管理界面让用户使用起来很方面,它能很好的与操作系统环境协调工作。
ModelSim的一个很显著的特点就是它具备命令行的操作方式,类似于一个shell有很多操作指令供你使用,给人的感觉就像是工作在Unix环境下,这种命令行操作方式是基于Tcl/Tk 的,其功能相当强大,这需要在以后的实际应用中慢慢体会。
ModelSim的功能侧重于编译、仿真,不能指定编译的器件,不具有编程下载能力。
不象Synplify和MAX+PLUS II可以在编译前选择器件。
而且ModelSim 在时序仿真时无法编辑输入波形,不象MAX+PLUS II可以自行设置输入波形,仿真后自动产生输出波形,而是需要在源文件中就确定输入,如编写测试台程序来完成初始化、模块输入的工作,或者通过外部宏文件提供激励。
这样才可以看到仿真模块的时序波形图。
另外对于Synplify来说,也只具有编译能力,但是比MAX+PLUS II可编译的verilog的内容要多,所以常常可以现在Synplify下编译,生成编译文件再送到MAX+PLUS II中使用。
ModelSim还具有分析代码的能力,可以看出不同的代码段消耗资源的情况,从而可以对代码进行改善,以提高其效率。
第二章ModelSim的主要结构ModelSim的主窗口(Main window)包括菜单栏、工具栏、工作区和命令行操作区。
在工作区可以显示Project Tab、Library Tab、Sim Tab(显示Load Design、Hierarchical Structure);在命令行操作区,可以用命令提示符的方式进行编译、仿真设计,同时打开其他窗口。
在菜单栏View下可以打开,source window、list window、wave window、structure window、signal window、dataflow window、process window、viarables window等窗口,用来测试仿真、调试仿真。
由此也可以看出该软件具有强大的仿真设计能力,它提供的工具很多。
在帮助菜单里有SE的帮助文件和Tcl的帮助文件,是学用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。
第二课Basic VHDL Simulation准备仿真1.为这次练习新建一个目录,然后拷贝example目录中所有的vhd文件到该目录下。
设置该目录为当前工作目录,这一步通过从该目录调用ModelSim或是选取File\Change Directory命令来完成。
2.在编译任何HDL代码前,要建立一个设计库来存放编译结果。
选取Design \ Create a New Library生成一个新的设计库。
确定选取Create: a new library and a logical mapping to it,在Library Name域中键入work,然后选取OK。
这就在当前目录中建立了一个子目录,即你的设计库。
ModelSim在这个目录中保存了名为_info的特殊文件。
(Prompt : vlib workvmap work work)3.选取工具栏里的Compile命令来编译counter.vhd文件到新库中。
这将打开Compile HDL Source Files对话框。
使用vcom命令是看不到的。
从列表中选取counter.vhd再点击Compile,完成后选取Done。
可以编译多个文件,按照设计的需要依次选取进行编译。
( Prompt : vcom counter.vhd)4.选取工具栏里的Load design按钮,导入设计单元。
Load design对话框可以让你选择库和顶级(top-level)设计单元来仿真,你也可以为仿真选取Simulation Resolution限制。
这次仿真运行,下述是缺省的显示:• Simulator Resolution: default (the default is 1 ns)• Library: work• Design Unit: counter如果设计单元是一个实体,你可以点击前面的加号,来浏览其关联的结构。
(Prompt : vsim counter)5.选取counter,然后选择Load接受设置。
6.下面,选取View \All打开所有的窗口,关于窗口的描述,参阅ModelSimUser’s Manua l。
(Prompt : view *)7.在Signals window选取View\List\Signals in Region,这个命令显示List window中的顶级( top-level)信号。
(Prompt : add list /counter/*)8.下步,通过从Signals window选取View\Wave\Signals in Region添加顶级( top-level)信号到Wave window。
(Prompt : add wave /counter/*)运行仿真通过应用始终输入激励来开始仿真。
1.点击主窗口,在vsim提示符下敲如下面的命令:(force clk 1 50 ,0 100 –repeat 100)(MENU : Signals\Edit\Clock)ModelSim解释force命令如下:⏹force clk to the value 1 at 50 ns after the current time⏹then to 0 at 100 ns after the current time⏹repeat this cycle every 100 ns2.现在你可以练习来自于主窗口或波形窗口工具条按钮的两个不同的Run功能。
(Run功能在主窗口和波形窗口中定义,即这两个窗口中有Run功能)。
首先选取Run按钮,运行完成之后选取Run All。
Run. 运行仿真,在100ns后停止。
(PROMPT: run 100)(MENU: Run \ Run 100ns)Run-All. 一直运行仿真,直到选取Break。
(PROMPT: run -all)(MENU: Run \ Run -All)3.选取主窗口或波形窗口的Break按钮来中断仿真,一旦仿真到达一个可接受的停止点,它就停止运行。
在源文件窗口中的箭头指向下一条将被执行的语句。
(如果暂停发生时,仿真没在评测一个过程,则没有箭头显示在源文件窗口上)。
下面,你将在18行的函数内部设置一个断点。
4.移动鼠标到源文件窗口,在18行上点击设置断点,可以看到紧挨着行号有一个红点,可以用鼠标点击切换断点的使能与否,断点禁止后看到是一个小的红色的园环。
可以在断点上点击鼠标右键,选取Remove BreakPoint 18来取消断点。
(PROMPT : bp counter.vhd 18 )5.选取Continue Run按钮恢复中断了的运行,ModelSim会碰上断点,通过源文件中的一个箭头或是在主窗口中的一条中断信息来显示出来。
(PROMPT: run -continue)(MENU: Run \ Continue)6.点击Step按钮可以单步执行仿真,注意Variables window中值的变化。
如果你愿意可以持续点击Step。
(PROMPT: run -step)(MENU: Step)7.当你完成了,敲入以下命令结束仿真。
quit -force8.命令没有寻求确认就结束了ModelSim。
第三课Basic verilog Simulation1.新建一个目录,并设置该目录为当前工作目录,通过从该目录调用ModelSim 或是选取File\Change Directory命令来完成。
2.拷贝example目录中verilog文件到当前目录下。
在你编译verilog文件前,你需要在新目录下生成一个设计库。
如果你仅仅熟悉解释性verilog仿真器,诸如Cadence Verilog-XL,那么对于你来说这是一个新的方法。
因为ModelSim 是一个编译性Verilog仿真器,对于编译它需要一个目标设计库。