Modelsim使用教程
- 格式:ppt
- 大小:831.50 KB
- 文档页数:32
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-Altera 6.5e (Quartus II 10.0) Starter Edition 内容1 设计流程使用ModelSim仿真的基本流程为:图1.1 使用ModelSim仿真的基本流程2 开始2.1 新建工程打开ModelSim后,其画面如图2.1所示。
图2.1 ModelSim画面1. 选择File>New>Preject创建一个新工程。
打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。
一般情况下,设定Default Library Name 为work。
指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。
该对话框如图2. 2所示,此外还允许通过选择.ini文件来映射库设置,或者将其直接拷贝至工程中。
图2.2 创建工程的对话框2. 按照图2.3所示,设置Project Name为LED_FLOW,Project Location为D: /led_flow。
图2.3 输入工程信息当单击OK按钮后,在主体窗口的下方将出现Project标签,如图2.4所示。
图2.4 Project标签3. 之后,将出现Add Items to the Project的对话框,如图2.5所示。
图2.5 在工程中,添加新项目2.2 在工程中,添加新项目在Add Items to the Project对话框中,包括以下选项:∙Create New File——使用源文件编辑器创建一个新的Verilog、VHDL、TCL 或文本文件∙Add Existing File——添加一个已存在的文件∙Create Simulation——创建指定源文件和仿真选项的仿真配置∙Create New Folder——创建一个新的组织文件夹1. 单击Create New File。
打开图2.6所示窗口。
图2.6 创建工程文件夹2. 输入文件名称:LED_FLOW,然后选择文件类型为Verilog。
Modelsim 6.0 使用教程1. Modelsim简介Modelsim仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。
但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。
2. 安装同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。
⑴.解压安装工具包开始安装,安装时选择Full product安装。
当出现Install Hardware SecurityKey Driver时选择否。
当出现Add Modelsim To Path选择是。
出现Modelsim License Wizard时选择Close。
⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。
⑶.修改系统的环境变量。
右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。
按下图所示内容填写,变量值内如果已经有别的路径了,请用“;”将其与要填的路径分开。
LM_LICENSE_FILE = c:\flexlm\license.dat⑷.安装完毕,可以运行。
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是一款常用的硬件描述语言(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",可以运行单步或连续仿真。
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的简要使用方法第一课 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的基本使用流程—————By Metcalf 一、预备准备一个源文件和一个相应的测试文件,并在QuartusII或ISE环境下编译成功。
没有的自行百度搜。
二、整体流程工程的建立、编译文件和仿真。
三、具体流程1.工程的建立1)File→New→New Project…2)在D盘新建文件夹,命名为Metcalf(笔者暂时的英文名),将工程命名为Counter_Design,默认库名work,其他选项不需要改动,如图1所示,再点击“OK”。
图1 建立工程3)在弹出的对话框选择“Add Existing File”,又弹出一个对话框,在该对话框点击“Browse..”,添加准备好的两个文件,如图2所示,点击“打开”,选中“Copy to project directory”,如图3所示,点击“OK”,得到的效果如图4所示。
图2 选取文件图3 添加文件到工程里图4 添加文件后的效果2.编译文件Compile→Compile All,产生的效果如图5,注意红色方框内的前后变化。
Library库里work的变化如图6所示。
文件夹的变化如图7。
图5 编译后的效果图6 work的变化图7 文件夹里的变化3.仿真1)Simulate→Start Simulation,弹出图8,选中work里的Counter_Design_TB,去掉Enable optimization的选项,点击“OK”。
图8 选择并设置测试文件2)选中图9中红色方框里的内容,鼠标右击,Add→To Wave→All items in region,出现图10。
图9图103)Simulate→Run→Run-All,额,怎么没有波形,别急,左手按住Ctrl,右手滚动鼠标滑轮,波形图出现了!如图11所示。
图11。
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。
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详细使用方法很多的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写完代码后,不能马上就编译,要先保存,否则,编译无效。