modelsim完美教程

合集下载

Modelsim上机指导1

Modelsim上机指导1

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仿真入门

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精选入门教程

FPGA的设计过程中,modelsin是我们最常用的工具之一,大部分FPGA的初学者对Modelsim的使用不熟练,也只能使用最简单的一部分,其实它的功能很强打,在这里我就modelsim的使用写个详细文档,希望对初学者有帮助。

共13部分,今天先写第一部分,每周写一部分,大家要有耐心,嘿嘿。

一、概述ModelSim能够对VHDL、Verilog、SystemVerilog、SystemC和混合语言设计的仿真和验证。

有三种仿真模式(1)基本仿真流程,这是最简单的仿真方法,不用建立工程创建work库:打开modelsim,在file菜单下,点new-libraryWork 是modelsim 默认的库,也可以改成自己有含义的名字, 也可以通过输入命令建立库 如在modelsim 〉 vlib wwww 回车,则建立了wwww 库编译文件建立库完成后,你该把你的设计文件在库里面进行编译,方法有菜单操作和命令输入两种菜单操作:在copile 菜单下点compile 选项,或 在modelsim 〉下输入 vcom ,回车。

运行仿真编译完成后,唤醒testbench文件进行仿真,在菜单simulate菜单下点击start simulate….按钮或在命令行输入Vsim命令,回车在菜单栏,点击view- Debug Windows –Wave,打开wave窗口,添加需观测的信号进入波形文件。

可以右键添加,也可以用鼠标直接拖进wave中运行输入run 100ns回车或simulate—run—run 100ns 或观看仿真波形(2)通过建立项目进行仿真仿真流程如下图首先建立一个工程添加文件编译文件菜单操作:在copile菜单下点compile all选项,或在modelsim〉下输入vcom ,回车在工程目录下编译文件运行仿真,此过程同前面相同添加信号进入波形文件运行上面三过程均与前面相同。

(3)多个库的仿真流程在modelsim仿真中,也可以使用多个库进行仿真,仿真流程如下。

Modelsim仿真新手入门最详细教程

Modelsim仿真新手入门最详细教程

Modelsim仿真新⼿⼊门最详细教程2021年11⽉15⽇00 安装包/版本我是提前在⽹上下好的(但这⼀点也给我的实验造成了“⿇烦”),⽤的是Modelsim SE-64 2020.4版本的,学校实验室的似乎不同。

但最终没有太⼤影响。

01 配置环境步骤学校有⼀个⽂档,在机房电脑照做就⾏。

我因为是⾃⼰下载的,配置与机房软件有所不同,所以⼜平添了很多⿇烦。

01-0 verilog⽂件这个代码可以在很多地⽅编写:Visual Studio Code⾥有Verilog的插件;还可以有更强⼤的语⾔编辑器:Nodepad++。

这⾥我使⽤的是Nodepad++,因为看上去专业⼀点。

Nodepad++的页⾯效果如图:其实第⼀次上机,⽼师会给⼤家⽰例⽂件(包括设计代码与测试代码),跑出来⽰例波形就⾏。

01-1 具体步骤1. 新建⼀个⽤于安放project的⽂档,放在哪⾥都⾏。

把前⾯做出的.v⽂件添加到这个⽂档。

留意⼀下路径。

2. 打开modelsim,在jumpstart中create a new project。

3. 在弹出的提⽰框⾥browse,找到刚才的⽂件夹。

选中。

填写project 名,注意要与.v⽂件⾥的module名保持⼀致。

点击ok。

4. 进⼊页⾯后会是这样⼦:注意此处两个⽂件后⾯应当都有问号,代表没有编译。

先逐个右击⽂件add to this project确保加⼊。

5. 在上⽅提⽰栏中complie->compile all。

稍等些许会看到⽂件后问号全部变为对勾,表⽰代码编译通过,没有问题。

如果此步出错则代表代码有bug。

在下⾯的Transcript中上翻查找错误。

6. 点击上⽅Simulate->start simulation。

由于注意与实验室不同的,选中下⾯的Enable optimization,再在右侧Optimization Options中的Visibility中选中Apply full visibility....7. 接着在work⾥找到测试代码的⽂件,选中。

《电子设计自动化》实验手册modelsim篇

《电子设计自动化》实验手册modelsim篇
在project name中输入改工程的名字,自己定义。简单英文就好,不要有各种符号。 然后点OK。会出现创建程序的选项。点击creat new file。
1.Modelsim使用教程
在file name中填写fenpin,add file as type选择Verilog就行,如果你想用别的语 言编写,选择相对应的语言类型就行。点ok。
1.Modelsim使用教程
将波形 保存为图片 。 1. 可以直 接截图保存 图片; 2. 在波形界面点击 fileexport-image,输入保存的名字即可保存。
下面的几个实验有的给出了测试的代码,有的没有给出。因此,为了完成这几个实验, 请同学们自主完成测试代码的编写,进而完成编译、仿真,最终获得正确的仿真波形。


5)其它:10分;总体映象分,态度是否认真,实验感想等是否真实深刻。
6)还需要提交每次实验的电子材料和期末测试的电子材料。文件夹命名规则:学号+ 姓名+实验*(期末),文件夹下需要有Verilog代码,testbench代码,仿真波形 .wlf 和.do文件,波形export图片。
实验1:计数器
1.Modelsim使用教程
提示有错误,tb文件后面的问号变成差号。双击transcript界面的红色字体,弹出一 个界面,显示错误的具体位置及提示。
1.Modelsim使用教程
该错误是include包含文件应该用英文的双引号,而不是中文的双引号。或者注释掉 改行,保存后再重新编译。tb文件后面的差号变成对号,表示编译通过。
实验2:全加器
module adder4(cout,sum,ina,inb,cin); output[3:0] sum; output cout; input[3:0] ina,inb; input cin; assign {cout,sum}=ina+inb+cin; endmodule

ModelSim操作方法

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使用教程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可能需要一些时间和实践。

在本文中,我们将介绍一些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等选项来放大或缩小波形窗口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

准备事项1.ModelSim试用版下载2.范例程序下载(史丹佛大学一门课的期末专题Implememtation of ViterbiDecoder:constrain length K=3, code rate R=1/2,register-exchange)整个project共含7个Verilog程序:system.v (top-level)|-- clkgen.v|-- chip_core.v|-- controller.v|-- spu.v|-- acs4.v|-- acs1.v(或是另外一个Verilog的简单例子,可以从C:\ SynaptiCAD\ Examples\ TutorialFiles\VeriLoggerBasicVerilo gSimulation\ add4.v and add4test.v)(或是另外一个VHDL的简单例子,可以从C:\ Modeltech_5.7e\ examples\ adder.vhd and testadder.vhd)ModelSim PE /LE /SE 差别在哪?本篇文章内容主要在教导软件使用,以Verilog程序为范例。

假设各位读者已经熟悉Verilog,废话不多说,让我们马上来见识一下ModelSim ...快速上手四部曲:建立Project、引进HDL Files、Compile、模拟(Simulate/Loading and Run)1.建立一个新的Project1-1 第一次执行程序时,可以从[开始] \ [程序集] \ ModelSim SE \ ModelSim;或是执行ModelSim在桌面的快捷方式在Library标签页中,展开各Library就可以看到其下含的所有Package (for VHDL),进一步以Edit打开,可检视该Package与Package Body内容1-2File \ New \ Project ...输入project name and Location按OK键后∙指定的路径下会产生一个叫"work"的预设子资料夹,还有Viterbi.cr.mti、Viterbi.mpf 两个档案∙主操作画面左边的Workspace内,在原本的Library标签外,会出现另一个Project标签(但此时里面内容是空的)∙还会蹦出另一个"Add items.mpf 文件储存的是此project的相关数据,下次要开启此project 就是利用File \Open \ Project... 开启此.mpf若要移除之前建立的project,请从File \ Delete \Project... 移除2.载入Project 的HDL source codes按"Add items to the Project"窗口中的"Add Existing File" (或是从File \ Add to Project \ Existing Files ...)HDL files摆放的位置,路径名称不能有中文,否则软件会抓不到files关掉"Add items to the Project"窗口,此时的Project下出现了HDL File,一堆问号表示这些档案都还没compile。

如果要对project新增或移除HDL File:在Workspace内按鼠标右键,选择Add to Project \ Existing File... (新增)Remove from Project(移除)pile在Project标签页内,选定任一档案,按鼠标右键选择Compile \ Compile All或是直接按iconCompile Out-of-Data只重新compile有修改过的档案(比较节省时间,故也较常用)此刻只做Compile 还没做Simulate,而ModelSim必须要作完Simulate (Loading)后才会把所有档案link起来。

如果compiler的结果出现有errors或warnings的讯息,直接在该讯息上双击,即可进一步带出详细的讯息说明。

如果您处理的是VHDL project,那在做Compile前,先在Project标签页内,选定所有档案,按鼠标右键选择"Properties"做如下设定:4.Simulate (Loading)切换到Library卷标页,展开"work"目录,其下可以看到此project包含的所有档案,档案前的符号"M",表示这些档案的性质是"Module";如果你写的是VHDL程序那档案前所看到的符号会变成"E"(Entity) and "A"(Architecture)。

如果compiler完,work目录底下仍然看不到东西,无法展开,请稍等5~10秒(等程序update最新状态),或是按鼠标右键选择"Update"重新整理4-1 直接以鼠标左键双击要Simulate 的档案,或是按鼠标右键选择Simulate。

此处选择要Simulate (Loading)的档案不一定要是top-level file,但如果你选的不是top-level file,project中的sub-ciricuit必须一个一个load,比较麻烦。

请注意,这里的"Simulate"并没有真的做仿真,只是把程序"Loading"进来,并将sub-module 彼此间link 起来Loading 要simulate 的档案的动作,也可以按Simulate icon 来完成执行以上动作时,如果再附加一个设定步骤:到Options标签页下,核选"Enable source file coverage",即可在仿真的程序中,附带帮你检查testbench 对于if / case conditional statement的模拟涵盖率。

执行完Simulate (Load)的动作后,程序会自动再跳出两个标签页Sim与Files,此时在Sim下可以看到整个Project的Hierarchy关系要编辑HDL file,可以从Project(显示档案的状态)或File标签页内双击HDL档案以开启编辑窗口(edit window)。

sim标签页内虽然也有列出所有HDL档案,但双击HDL档案开启的是来源窗口(source window),不能edit。

档案编辑(修改)完成(存盘)后,回到Project标签页内看该档案的状态时,会发现它变成未compile的问号,要重新对它做compile,把目前的Simulate关掉(Simulate \ End Simulation...),再重新load一次,才能对新的程序做仿真。

若要查看此project架构,必须切换到Sim标签页;不像VeriLogger Pro只要Compiler完,就可以在同一个Project画面下看到整个project structure / hierarchy。

Sim 卷标页另外一个有趣的功能是:在Sim 标签页内选定哪一个module,其相对的内容会自动update 于signals、source、edit...等window (如果你有开启这些窗口的话)。

另外,source与edit window两者都可用来查看模拟时的某一个变量值或设定断点,但前者不可编辑。

∙Project 卷标页用以显示HDL档案的状态(也可以开启其编辑窗口)∙Library 标签页用以选定要Simulate的档案∙Sim 标签页用以查看project structure与开启某module的来源窗口∙File 卷标页用以开启某HDL档案的编辑窗口==> 四个功能拆成四个设定页,这是ModelSim 比较耍宝的地方。

以下,我们接着要把想观察的讯号引出来,然后"Run" simulation ...4-2 在Sim标签页内选定top-level file (system.v),打开signals window:View \ Signals就可以看到top-level file的所有I/O signal。

4-3 在signals window的左半边字段内选定想看的讯号(如orig_bit_s1、y1_s1、y2_s1、decoded_coulmn_s1),按鼠标右键Add to Wave \ Selected Signals,会跳出另一个"wave window"并把您想观察的讯号都列出来直接把signals window 的讯号拖曳到wave window 也可以(讯号的排列次序也可以用左键拖曳搬移)。

讯号的排列次序,可以直接用鼠标拖曳调整。

如果要看的是module / sub-module 所有讯号,4-2~4-3步骤可以一次完成:4-4 切回主窗口,Simulate \ Run \ Run 100ns --> 预设Runlength=100ns (一次跑100ns;可以更改)Simulate \ Run \ Run-All--> 跑到按"Break" 才暂停--> 按"Continue Run" 则继续Simulate \ Run \ Step --> 单步执行程序(for debugging)Simulate \ Run \ Restart --> 重新执行模拟程序执行暂停或是跑到断点时,要查看任一讯号或变量的数值,方法有三种∙从wave window查看∙光标指到source or edit窗口内的该变量,即会显示该变量当时的数值∙View \ Variables模拟结果如下如果想要看所有波形的范围:View \ Zoom \ Zoom Full以鼠标左键在波形显示区域点一下,就会出现黄色的垂直坐标线(cursor, 参阅step 5-4)。

直接在讯号波形上双击,会带出Dataflow window (step 5-3);如果你是在红色的(unknown)在线双击,还可以进一步的在Dataflow window内选定该unknown signal 的wire,按鼠标右键选择TraceX 协助你debug如果讯号不想以预设的二进制表示,可以在wave window内选定该讯号名称,按鼠标右键选择Signal Properties...,然后选择表示方法(如十进制表示Decimal)。

相关文档
最新文档