QUARTUSⅡ10波形仿真(ModelSim)入门教程

合集下载

Quartus-II调用modelsim仿真方法

Quartus-II调用modelsim仿真方法

方法1:在quartus ii 11.0环境下,编辑生成并修改quartus生成的test bench文件,采用手动设置激励形成波形(有很多缺陷)。

具体步骤:1.新建工程在test目录下创建工程fulladder然后直接finish;2.编写VHDL:New一个VHDL FILE,输入代码:library ieee;use ieee.std_logic_1164.all;ENTITY fulladder IS PORT( a,b,cin : IN STD_LOGIC;s,cout: OUT STD_LOGIC);END fulladder;ARCHITECTURE fulladder OF fulladder ISBEGIN s<= a XOR b XOR cin;cout <=(a AND b) OR (a AND cin) OR (b AND cin);END fulladder;保存在test目录下,文件名为默认fulladder。

3. 在Quartes II 11.0界面菜单栏中选择 Tools-->options选项卡中选中EDA tool options,在该选项卡中下面的ModelSim-Altera一项指定安装路径为(如d:/Altera/11.0/modelsim_ae/win32aloem)4.在Quartes II 11.0界面菜单栏中选择Assignments->Settings。

选中该界面下EDA Tool settings中的Simulation一项;Tool name中选择ModelSim-Altera;Format for output netlist中选择开发语言的类型VHDL或其它,如图:然后点击APPLY应用和OK。

5.设置完成后,编译工程:在Quartus II 11.0界面菜单栏中选择菜单栏选择Processing-->start Compilation,等待编译,无错后会在test目录下生成simulation目录,执行下一步。

Quartus调用ModelSim仿真教程

Quartus调用ModelSim仿真教程
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
选择 Specify Design Unit 工作库下的目标文件,点 Next,出现下面对话框
可以指定 Testbench 的名称以及要编译到的库等, 此处我们使用默认设置直接点 Finish。 这时在 Testbench 内会出现对目标文件的各个端口的定义和调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4 编译待测文件
9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @ 珠联璧合 xlzhu xlzhu@
调用 Model Sim 仿真教程 Quartus Quartus调用 调用Model ModelSim Sim仿真教程
2.3 破解详解 (1)产生 License 运行安装文件夹的 crack 目录下的 keygen.exe 文件,点击 generate
生成 license.dat 文件
(2)拷贝 License 文件到安装目录 将生成的 license 文件复制到 modelsel se 的安装目录 D:\Modeltech_6.0\win32 下。 (3)建立环境变量 右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。按下图所示 内 容 填 写 , 变 量 值 内 如 果 已 经 有 别 的 路 径 了 , 请 用 “;” 将 其 与 要 填 的 路 径 分 开 。 \license.dat LM_LICENSE_FILE = D:\Modeltech_6.0\win32 D:\Modeltech_6.0\win32\license.dat
安装目录下有安装文件 mti60se 和破解文件夹 crack。 破解文件夹内存放 keygen 和安装 说明。

如何能从Quartus II中调用Modelsim进行仿真

如何能从Quartus II中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真--穆永强版本说明:Quartus II 11.0版本;ModelSim-Altera 6.6d版本。

一、设置第三方EDA工具在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。

在Assignments -> Settings中设置仿真工具为ModelSim。

这样Quartus就能无缝调用ModelSim了。

二、编写Testbench我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -> Start -> Start Test Bench Template Writer,等待完成后打开刚才生成的Testbench,默认是保存在simulation\modelsim文件夹下的.vt格式文件。

打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。

一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。

‘timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。

想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。

其实Testbench本身可以看做一个模块或者设备(本例中的模块名为add_vlg_tst),和你自己编写的模块进行通信。

通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。

因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench 中则对应为reg型。

quartus的modesim仿真过程

quartus的modesim仿真过程

1.撰写testbench激励文件:单击Quartus中的菜单‘Processing’->‘start’->‘Start Test Bench Template Writer’,如图一所示,自动生成激励模板(*.vt)。

打开该模板,并填写完整,保存,编译。

Testbench 常用语:●clk<= not clk after 10 ns;●process beginwait for 10 ns; clk<='1';wait for 10 ns; clk<='0';end process;●en <= '0' after 0 ns,'1' after 50 ns,'0' after 850 ns,'1' after 900 ns;2. Modelsim和Quartus的连接。

单击Quartus中的菜单‘Tools’->‘options’,如图二所示。

随后出现图三所示的窗口,点击左边菜单树下的‘Eda Tool Options’,再将原先modelsim的启动路径拷贝到‘Modelsim’的空白处,或单击右侧的‘。

’选择启动路径。

最后点击Ok,连接生效。

图二图三3. 设置编译信息。

单击Quartus中的菜单‘Assignment’->‘Settings’,如图四所示。

随后进入图五所示的Settings 界面,点击左侧菜单树‘EDA Tool Settings’下的‘Simulation’,右边的窗口出现Simulation 界面,并进行如图五的设置。

其中点中‘Compile test bench’左边的圈圈后,再点击右侧的按钮‘Test Benches。

’进入图六所示的界面,点击右上按钮‘New’进入图七所示的‘New Test Bench Settings’界面,填入相关信息:激励文件名(1),激励文件实体名(2),激励文件中的例化名(3),最大仿真时间(4),和激励文件的具体路劲(5)。

使用QUARTUSⅡ及MODELSIM进行Verilog程序的综合及仿真

使用QUARTUSⅡ及MODELSIM进行Verilog程序的综合及仿真

第一步:软件安装。

这就略了吧,应该谁都会的。

第二步:启动QUARTUS,新建工程。

File----new----newquartus Ⅱproject。

next下图中,在1处填入工程文件夹(路径中不要使用中文),2处填写工程名,3处填写该工程的顶层模块名(默认情况下工程名和顶层模块名相同),然后NEXT。

下一个对话框是添加已有文件的,没有的话就next。

再下一个对话框是设备设置,可next。

再下一个对话框是仿真设置,这个会在下面详细设置,这里直接next。

然后finish。

第三步:新建Verilog文件。

file---new---verilog HDL file。

然后先保存为adder.v。

第四步:编写程序。

第五步:仿真的设置(重要)。

1.Tools----options----EDA Tool Options,在modelsim后的路径里填入modelsim程序的路径。

2.assignments----setting----EDA Tools Settings----simulation。

在tool name里选择modelsim,format for output netlist里选择verilog HDL,time scale 里根据仿真程序选择。

设置好后勾选compile test bench,然后打开后面的test benches。

3.在TEST benches对话框里点击new。

4.在test bench name中填写仿真模块名,在top level module in test bench中填写仿真模块中的顶层模块名(默认与仿真模块名相同),然后点击下面的File name后文件添加按钮(3),找到你已经编写好的仿真程序,然后点击Add添加。

说明:Quartus中提供了自动生成testbench文件的功能,但内容不全,建议自己编写,保存格式为verilog文件(.v)。

5.一顿点OK,直到回到主界面。

Quartus_ii_10.0教程(包含modelsim仿真)word精品文档12页

Quartus_ii_10.0教程(包含modelsim仿真)word精品文档12页

Quartus ii 10.0教程说明本文的部分章节,来源于本人翻译的Terasic DE2-115的英文入门文档。

平台硬件:艾米电子EP2C8-2010增强版套件软件:Quartus II 10.0 + ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition内容•典型的CAD流程•开始•新建工程•录入Verilog设计•编译设计•引脚分配•仿真设计电路•编程及配置到FPGA器件•测试设计电路典型的CAD流程计算机辅助设计(CAD)软件,使得运用可编程逻辑器件实现所需逻辑电路,变得容易。

比如现场可编程门阵列(FPGA)。

典型的FPGA CAD设计流程如图1所示。

图1 典型的FPGA CAD设计流程CAD流程包含以下步骤:•设计输入——所需电路可通过原理图方式或硬件描述语言方式(如Verilog或VHDL)进行设计。

•综合——输入的设计被综合进入由逻辑元素(LEs,FPGA芯片提供)组成的电路中。

•功能仿真——综合电路被测试以验证其功能是否正确,次仿真不考虑时序因素。

•布局布线——CAD Fitter工具决定网表中定义的LEs如何布置成FPGA芯片中的实际LEs。

•时序分析——分析已布局布线电路中的不同路径的传播延迟,用以指示所需电路的性能。

•时序仿真——测试已布局布线电路,验证其是否在功能和时序上都正确。

•编程及配置——设计的电路,通过编程配置开关,被实现到一个物理的FPGA芯片。

配置开关用于配置LEs和建立所需线路连接。

本指南介绍Quartus II软件的基本特征。

展示如何使用Verilog硬件描述语言来设计和实现电路。

使用GUI来实现Quartus II指令。

通过本份指南,读者将学习到:•新建工程•使用Verilog代码录入设计•将综合的电路布局到Altera FPGA•分配电路的输入输出到FPGA上的指定引脚•仿真设计电路•编程配置艾米电子EP2C8核心板上的FPGA芯片1. 开始在Quartus II中设计的每个逻辑电路或子电路,叫做一个工程。

如何从Quartus II中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真--穆永强版本说明:Quartus II 11.0版本;ModelSim-Altera 6.6d版本。

一、设置第三方EDA工具在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。

在Assignments -> Settings中设置仿真工具为ModelSim。

这样Quartus就能无缝调用ModelSim了。

二、编写Testbench我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -> Start -> Start Test Bench Template Writer,等待完成后打开刚才生成的Testbench,默认是保存在simulation\models im文件夹下的.vt格式文件。

打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。

一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。

‘timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。

想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。

其实Testbench本身可以看做一个模块或者设备(本例中的模块名为add_vlg_tst),和你自己编写的模块进行通信。

通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。

因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench 中则对应为reg型。

如何从QuartusII中调用Modelsim进行仿真

如何从QuartusII中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真--穆永强版本说明:Quartus II 11.0版本;ModelSim-Altera 6.6d版本。

一、设置第三方EDA工具在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。

在Assignments -> Settings中设置仿真工具为ModelSim。

这样Quartus就能无缝调用ModelSim了。

..二、编写Testbench我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -> Start -> Start Test Bench Template Writer,等待完成后打开刚才生成的Testbench,默认是保存在simulation\modelsim文件夹下的.vt格式文件。

..打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。

一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。

‘timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。

想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。

..其实Testbench本身可以看做一个模块或者设备(本例中的模块名为add_vlg_tst),和你自己编写的模块进行通信。

通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。

因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench 中则对应为reg型。

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

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所示窗口。

图2.6 创建工程文件夹
2. 输入文件名称:LED_FLOW,然后选择文件类型为Verilog。

图2.7 输入工程文件信息
3. 单击OK,关闭本对话框。

新的工程文件将会在工程窗口显示。

单击Close,以关闭Add Items to the Project。

图2.8 新的设计文件LED_FLOW.v
4. 双击打开LED_FLOW.v文件(注意:若是Verilog文件已经关联了其他的文本编辑器,则双击后在关联的文本编辑器中打开)。

图2.9 LED_FLOW代码输入窗口
在LED_FLOW.v输入下面的测试平台代码:
`timescale 1ns/1ns
module LED_FLOW;
reg CLOCK_50M;
reg RST_N;
wire [9:0] LED;
led led_inst
(
.clk_50M(CLOCK_50M),
.reset_n(RST_n),
.led(LED)
);
initial
begin
CLOCK_50M = 0;
while (1)
#10 CLOCK_50M = ~CLOCK_50M;
end
initial
begin
RST_N = 0;
while (1)
#10 RST_N = 1;
end
initial
begin
$display($time,"CLOCK_50M=%d RST_N=%d LED =%d", CLOCK_50M, RST_N, LED); end
endmodule
录入完代码后,单击Save。

图2.10 输入testbench代码
5. 选择File>New>Source>Verilog,创建新的Verilog文件,如图2.11所示。

图2.11 创建新的Verilog文件
6. 录入下面的代码,录入画面如图2.12 所示。

`timescale 1ns/1ns
module led(
input clk_50M, // System clock 50MHz input reset_n, // System reset
output reg [9:0] led // led
);
reg [13:0] counter = 0;
reg [3:0] state = 0;
always @ (posedge clk_50M, negedge reset_n)
if (!reset_n)
counter <= 0;
else
counter <= counter + 1'b1;
always @ (posedge counter[13])
if (!reset_n)
state <= 0;
else
begin
if (state == 4'b1001)
state <= 0;
else
state <= state + 1'b1;
end
always @ (posedge clk_50M, negedge reset_n)
if (!reset_n)
led <= 0;
else
begin
case (state)
4'b0000: led <= 10'b00000_00001;
4'b0001: led <= 10'b00000_00010;
4'b0010: led <= 10'b00000_00100;
4'b0011: led <= 10'b00000_01000;
4'b0100: led <= 10'b00000_10000;
4'b0101: led <= 10'b00001_00000;
4'b0110: led <= 10'b00010_00000;
4'b0111: led <= 10'b00100_00000;
4'b1000: led <= 10'b01000_00000;
4'b1001: led <= 10'b10000_00000;
default: led <= 10'b00000_00001;
endcase
end
endmodule
图2.12 录入新文件
7. 选择File>Save,输入文件名:led.v,单击Save,如图2.13所示。

图2.13 保存led.v
8. 选择Project>Add to Project>Existing File,如图2.14所示。

图2.14添加文件到工程中
9. 单击Browse,选择led.v,如图2.15 所示。

图2.15 选择待加入工程的文件
10. 单击打开,在Add file to the project窗口,单击OK。

2.3 编译文件
在Project标签下的Status列的问号,表示文件尚未编译进工程,或者在最后编译前,源文件有所改动。

欲编译文件,选择Compil e<Compile ALL,或者右击Project标签,选择Compile>Compile All。

1. 倘若此处没有错误,编译成功的消息,就会在Transcript窗口如图
2.6所示。

图2.16 编译成功
3 仿真工程
3.1 开始仿真
1. 单击Library图标,选择work,单击+以展开选项,然后选择LED_FLOW。

单击右键,选择编译,如图3.1所示。

图3.1 单击Simulate
2. 单击Simulate,到达图
3.2所示画面。

图3.2 仿真窗口
4. 在图3.2中,单击LED_FLOW,单击右键,然后选择Add>To Wave>All Items in region,然后单击左键。

出现图3.3所示画面。

图3.3 Add To Wave
3.2 仿真设置
1. 完成上述最后一步后,波形窗口出现。

图3.4 波形窗口
2. 在Run Length列输入仿真时间长度为10ms,如图
3.5所示。

图3.5 设置Run Length
3. 单击Run按钮,如图3.6所示。

图3.6 运行仿真
4. 运行若干秒后,将会如图3.9所示的仿真结果。

图3.7 显示仿真结果
5. 连续单击Zoom Out 图标,可查看仿真的完整波形,如图3.8所示。

图3.8 波形窗口
6. 单击鼠标所指的+,展开LED_FLOW的波形,如图3.9所示。

图3.9 展开波形
通过放大/缩小波形,可以观察到LED的值在保持变化,即LED的时序效果。

若将其移植到Quartus II中,适当配置后,经过综合、时序分析、引脚分配、配置及下载等,即可实现跑马灯的效果。

至此,仿真的所有进程完毕。

相关文档
最新文档