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使用教程经验 2018-07-23 17:41找到Modelsim这个软件,双击打开。
方法/步骤2:单击File,将鼠标移至New,选择Project...,出现如图所示的对话框。
上边的红框填写你要建立的工程名称,比如我们要点亮一个led,就建立一个工程名为led的工程。
下边的红框是指你要把工程建立在什么位置。
其余的选项默认即可。
点击ok。
方法/步骤3:接下来,点击Create new File,在弹出的对话框中填写文件名,比如led.v,add file as type,选择verilog,点击ok。
因为我们要用Modelsim仿真,一般要有测试文件,再添加一个即可,和添加led.v步骤一样。
我起名为tb_led.v。
方法/步骤4:分别双击文件名,进入编辑模式。
编写代码。
保存后,将鼠标放在其中一个文件,右键,compile->compile all。
编译通过后,会提示# Compile of tb_led.v was successful.# 2 compiles, 0 failed with no errors.就可以进行仿真了。
方法/步骤5:点击Simulate->start Simulation。
记得把optimizationqian2的勾选去掉,点击work前的加号,选择测试文件,比如我写的是tb_led.v。
ok。
出现wave,现在把波形加进去。
在 tb_led文件右键 Add->To wave ->All items in design。
开始运行仿真,点击像一本书旁边带双箭头的图标。
再点击放大镜可以调节波形的时间轴的坐标。
最后的仿真波形如图。
希望对你们有帮助。
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入门技术文档单位:深圳大学EDA中心实验室指导老师:徐渊作者:陈战夫rshamozhihu@时间:2010-1-7说明:本文档作为EDA中心研究生modelsim入门用。
分三个章节阐述。
1.modelsim中库的编译1.自己新建一个文件夹,如D:\modelsimpro\counter,将counter.v与counter_tb.v文件拷贝到该文件夹下。
2.点击modelsim的图标,打开modelsim的界面窗口。
3.选择File > Change Directory,选择步骤1中的目录,点击OK。
4.选择File > New > Library。
5.在library name与library physical name两栏中均填work.点击OK。
(在transcript窗口中可看到vlib workvmap work work)。
6.选择Compile > Compile,出现如下窗口。
同时选中counter.v与counter_tb.v两个文件。
7.点击compile.再点击done.8.在library标签点击work库前面的“+”号,可看到counter.v与counter_tb.v均在其目录下。
9.双击counter_tb.v可将该设计装载到本次工程库中。
10.选择View > Debug Windows >wave.将弹出波形窗口。
11.在workspace窗口下点击sim标签。
12.右击counter_tb.v,在出现的菜单中选择Add > Add to Wave。
13.在transcript窗口中VSIM>后敲入run 1000.则系统将仿真1000ns.我们可根据波形查看仿真结果。
14.在workspace窗口中点击files标签,鼠标左键双击counter.v,打开counter.v文件。
15.在第10行数字10旁鼠标左键点击一下,可出现一小红点,即断点。
QUARTUSⅡ10波形仿真(ModelSim)入门教程

QUARTUSⅡ10仿真(ModelSim)入门教程平台软件: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按钮后,在主体窗口的下方将出现Create 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所示窗口。
Modelsim_6.0_使用教程

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的使用方法

测试台
- - Verilog 或 VHDL代码 非常复杂的仿真(交互式仿真、数据量大的仿真)
force命令
- - - 简单的模块仿真 直接从命令控制台输入 .DO 文件 (宏文件)
用ModelSim作功能仿真(19)
5 执行仿真----仿真器激励
force命令
用ModelSim作功能仿真(15)
5 执行仿真(UI)
选择 timesteps数量就 可以执行仿真
Restart – 重装任何已改动 的设计元素并把仿真时间设 为零
COM) restart
用ModelSim作功能仿真(16)
5 执行仿真----run 命令参数
可选的参数 - -<timesteps> <time_unit> • 指定运行的timesteps数量 • 单位可用{fs, ps, ns, ms, sec} - -step • Steps to the next HDL statement - -continue • 继续上次在-step或断点后的仿真 - -all • 运行仿真器直到没有其他的事件
用ModelSim作时序仿真(3)
时序仿真的实现方法:
unisim库是用来对ISE中画的电 路图进行前仿真时用的。
simprim则是在作布线后的时序 仿真时用。
用ModelSim作时序仿真(4)
时序仿真的实现方法:
以Foundation为例:
Foundation所产生的netlist不包含time delay的数据, 有一个time_sim.SDF文件来存储TIMING数据。(有 的厂商的布局布线所产生的NETLIST文件已经包含有 time delay的数据). Foundation所产生的NETLIST文件默认的文件名是 time_sim.vhd(或time_sim.v) time_sim.vhd或time_sim.v文件用到新的simprim库, 因此必须在仿真前先建立。 做时序仿真,要编译time_sim.vhd或time_sim.v,以 及time_sim.SDF 加载测试文件
modelsim中Ipcatalog使用教程

modelsim中Ipcatalog使用教程ModelSim 是一款功能强大的硬件描述语言仿真和调试工具,是业界最常用的数字电路仿真工具之一、其中,IP 目录(IP Catalog)是ModelSim 中存放可重用设计组件的地方。
本教程将向您介绍如何在ModelSim 中使用 IP 目录。
第一步:打开 ModelSim首先,打开 ModelSim 软件。
第二步:创建新工程点击菜单栏上的 "File",然后选择 "New Project"。
在弹出的对话框中,填写工程的名称和路径,然后点击 "OK"。
第三步:打开IP目录在 ModelSim 工程导航面板中,点击右键并选择 "Open IP Catalog"。
这将打开 IP 目录窗口。
第四步:IP组件在IP目录窗口中,可以看到已经添加到目录中的所有IP组件。
您可以使用栏来查找特定的IP组件。
在框中输入关键词,然后点击""。
系统将显示相关的IP组件。
第五步:添加IP组件到工程当您找到想要使用的 IP 组件时,可以将其添加到工程中。
鼠标右键点击 IP 组件,然后选择 "Add to Project"。
在弹出的对话框中,选择要添加到的工程,然后点击 "确定"。
IP 组件将被添加到工程中。
第六步:配置IP组件在工程导航面板中,可以看到添加的 IP 组件。
鼠标右键点击 IP 组件,然后选择 "Edit IP Parameters"。
在弹出的对话框中,您可以配置IP 组件的各种参数和选项。
完成配置后,点击 "OK"。
第七步:仿真IP组件在工程导航面板中,可以看到添加的 IP 组件。
鼠标右键点击 IP 组件,然后选择 "Simulate"。
这将打开仿真窗口,您可以在仿真窗口中观察和分析 IP 组件的行为。
modelism简明操作指南

第一章介绍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的基本使用流程—————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使用入门(VHDL_

Quartus
这里用的是 modelsim-altera(6.6d) 版本,与 quartus II 11.0 搭配。据说 Altera 公司推出的
Quartus 软件不同版本对应不同的 modelsim,相互之间不兼容。 某些功能齐全的 modelsim 版 本可以进行两种语言的混合编程, modelsim-altera 只能支持一种语言进行编程( VHDL 或
; ca88会员登录入口 https:///dongmanmanhua ca88会员登录入口 ;
; ca88会员登录入口 https:///xiaohuajijin ca88会员登录入口 ;
; ca88会员登录入口 https:///nongyezaixian ca88会员登录入口 ;
std_logic;
div :out
std_logic);
end component;
采用 50MHZ 时钟频率
命名 div10_tb
signal clk :std_logic:='0'; signal div :std_logic:='0'; constant clk_period:time:=20 ns;
begin
u1: div10 port map (clk=>clk,div=>div);
process begin
wait for clk_period/2; clk<='1';
wait for clk_period/2; clk<='0';
end process;
end;
保存为 div10_tb.vhd 文件,见图下。
port(clk :in std_logic;
ModelSim-Altera使用方法

ModelSim-Altera使用方法平台软件: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简明使用教程

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安装+使用说明

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 用户环境变量设置编辑完成之后,确定。
Modelsim的功能仿真的详细过程适合初学者

11 看波形文件为
12 右击输出信号
13 在 Format 中点击 Analog,观看模拟信号,改变宽带
14 正旋波
6.
选择 Compile > Compile,出现如下窗口。同时选中 4 个文件。
7 打开 work 编译 双击 wave_top,wave_top 相当与 test加波形文件
10 在 Transcript 栏中打 run 10us (自己根据实际的情况)
Modelsim 中的功能仿真
1. modelsim 中库的编译 1. 自己新建一个文件夹,如 D:\modelsimpro\modelsim,将 需要的文件拷贝到 (如果用到了 IP 核, 该文件夹下。 那要把 altera_mf.v 加入, 还要把 cycloneii_atoms.v 所用的) 2. 点击 modelsim 的图标,打开 modelsim 的界面窗口。 3. 选择 File > Change Directory,选择步骤 1 中的目录,点击 OK。 4. 选择 File > New > Library。 5. 在 library name 与 library physical name 两栏中均填 work.点击 OK。
Modelsim软件的使用方法

5. 点击simulate-start simulation,选中design标签 work库下testbench文件,点击ok。 6. workspace窗口出现sim标签,右键testbench文 件,选择add to wave ,然后点击开始仿真按钮 即可,执行仿真,仿真结果如下图:
4.2.4 综合后仿真(续1)
图10.28 打开EDA tools settings
图10.29 设置网表输出项目
4.2.4 综合后仿真(续1)
图10.30 设置网表输出项目
4.2.4 综合后仿真(续2)
3.启动仿真器,加载仿真文件counter_tb,进行仿真,观察 仿真波形。本次需要Altera仿真库的元件库cycloneII,如 果资料库中没有,则需要加载该库。 仿真结果如下:
4.2.2 Modelsim仿真步骤(续5)
4、 启动仿真器并加载设计顶层
(2)在主窗口中出 现Object窗口,右键单 击Object窗口中的任 意信号,选择add to wave/ signals in region 或者是右键选中sim 窗口中加载的顶层设 计名,选中add to wave, 就可以打开波形窗口, 并将所有信号都加载 到波形窗口当中 。 如右图所示。
3、时序仿真 • 时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特
定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电 路的行为是否能够在一定时序条件下满足设计构想的功能。 布线抽象出的门级网表、Testbench以及扩展名为SDO的标准延时文 件。 际运行情况是否一致,确保设计的可靠性和稳定性。
4.2.5 时序仿真
时序仿真的步骤跟综合后仿真大致相同,所不同的是 添加的文件不完全一样。其具体步骤如下: 1、在工作库work下建立一个工程project_shx,方法和功能 仿真中建立prtoject_gn一样; 2、工程中需要添加的文件有顶层设计文件counter,测试文 件counter_tb、QuartusII中编译生成的网表文件和延时 文件_vhd.sdo; _vhd.sdo文件的生成可以参考综合后仿真中网表 文件的生成方法,所不同的是在图10.30的设置中将 Generate netlist functional simulate only置为 “off”,点击OK保存设置,回到QuartusII主窗口后编译 文件,编译完成后,在counter文件夹下面能看到一个名 为counter_vhd.sdo文件,这个文件就是综合后仿真所需 要的延时文件。
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写完代码后,不能马上就编译,要先保存,否则,编译无效。
modelsim6.2使用指导

下面的例程介绍modelsim6.2在可编程逻辑器件设计中,进行功能仿真,后综合仿真,时序仿真三个重要的仿真。
功能仿真:功能仿真有三种方法:(1)在quartusII中进行本地仿真,这种仿真最为简洁。
那么为了仿真的正确进行,之前要进行一些准备工作。
为了方便,所有的验证都采用D:\Program Files\putkb\fourbits_shift里面工程的程序。
设计源文件为data_shift.vhd, 测试文件tb.vhd,为了以后输入方便,我建议最好把测试文件以简单形式命名(tb=>testbench)。
打开Assignment -> setting 进入setting 对话框,在category 中选择EDA tool setting ->simulation 如下图所示:(2)选择compile testbench 。
并点击右侧的Test Benches,会弹出下列对话框选择new ,新建testbench (3)进入对话,如下所示:在Test bench name 处,为测试平台名一个名字,这里设为tb,同理在下面几项都设置为tb,这个不是很重要。
然后在Test bench files ,选择file name ,把tb.vhd选进来。
选择ok. (4)完毕,在quartusII中选择分析与综合,完成后在tools -> run eda simulation tool -> eda trl simulation (5)这样即可完成功能仿真。
这个步骤比较简单方便,对于很多仿真都能完成。
虽然时间要花长一点,但是比较能完成仿真。
第二种方法:就是modelsim采用手动的方式来启动。
(1)在之前新建一个文件夹。
当然是英文的。
在这里,新建一个文件,命名为data_shift,放在D:\Program Files\putkb中。
把文件从fourbits_shift中,拷贝到此文件夹中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)
begin
if(!rst)
clk_out<=0;
else
clk_out<=~clk_out;
end
endmodule
写完代码后,不能马上就编译,要先保存,否则,编译无效。
我们会看到“保存”的图标是两色的,而且half_clk.v后的“?”还存在,这说明你没有保存文件,
这时,只需要点击保存,就会发现“保存”的图标变成了阴影,这样编译才有效,而就是这么不起眼但至关重要的一步“保存”,往往被很多初学者忽视,最终怀疑程序和
软件问题。
其实只是没保存。
2、写测试程序(testbench):每一个主程序(实现我们需要的某种功能的程序),都要配套的编写一个测试程序,为什么?这里不打算细说,testbench是给主程序提供时钟和信号激励,使其正常工作,产生波形图,具体请参看verilog教课书。
在half_clk.v 下方的空白区域内右键,选择Add to Project New File
出现下框,写入测试程序的名字half_clk_tb,tb是testbench的意思,注意选verilog,Ok。
这样就把half_clk_tb.v加载到了project中,双击half_clk_tb.v在右边的程序编辑区中编写代码:
`timescale 1ns/1ns
module half_clk_top;
reg clk_in;
reg rst;
initial
begin
clk_in=1;
rst=1;
#1000
rst=0;
#1000
rst=1;
end
always #200 clk_in=~clk_in;
half_clk_dai dai1(
.clk_in(clk_in),
.rst(rst),
.clk_out(clk_out)
);
endmodule
三、编译代码
在half_clk.v的文件上点右键,选择Compile,至于是Compile All 还是Compile Selected 都可以,就看自己选择了。
然后点击。
编译成功后,half_clk.v和half_clk_tb.v后面的?变成了对勾,并且在最下方的Transcript 栏中出现了successful字样,说明编译成功,否则会报错,就要回到程序中修改,只有编译成功后,才能往后面进行。
四、仿真
在屏幕左下角的位置有一个library和project的切换窗口,点击library,再点击work 前的“+”号,将其展开,会看到两个文件,文件名是我们刚刚写的half_clk.v 和half_clk_tb.v两个文件中的module名。
仿真不用两个文件都simulate,只需simulate 测试文件即可,我们选择half_clk_top右键,选择simulate。
之后会出现objects框:
按住Ctrl键选中clk_in,clk_out,rst三个信号,右键选择Add→To Wave→Selected Signals
这样,看波形的窗口就会出现,将红色圈圈中的仿真时间步改成5ms,然后按旁边的运
行按键,波形就出现了。
按住ctrl滚动鼠标滑轮可以缩放波形。
看下面的波形可观察,在rst 复位并置高之后,clk_out 就出现了,并且周期是clk_in 的两倍,也就是输出频率为输入频率的一半,达到了二分频的效果。
五、停止仿真
当modelsim在仿真中的时候,修改程序、编译等都是无效的,也不能强行关闭软件,这是就需要手动停止仿真,以便进行其他操作。
选择菜单栏中的simulate End Simulateion即可。
天津大学电子信息工程学院戴鹏总结:
建立工程→编写主程序和测试程序→编译→仿真→观察波形。
写了很多,但是应该讲得很详细了吧,希望对大家的学习有所帮助。
版权所有,翻录必究!。