quartus和modelsim联合调试简单实例(详细)

发布于:2021-06-19 04:21:37

Quartus II和Modelsin联合使用

通过一个很简单的计数器工程教给大家两个工具的常用使用方式。
1、首先就是写一个用quartus写一个计数器的程序,这个很简单这里附上代码


module counter(
input clk,
input rst_n,
output reg [3:0]cnt);

always @(posedge clk or negedge rst_n)
begin
if(!rst_n)cnt <= 0;
else cnt <= cnt+1;
end

endmodule

2、接下来就是很重要的了,在调用Modelsim之前,我们需要编写一段测试激励,给待测模块输入测试激励。现编写测试代码如下:


`timescale 1ns/1ps

module tb;

reg clk;
reg rst_n;
wire [3:0]cnt;

initial
begin
clk=0;
rst_n=0;
#10 rst_n=1;
end

always #20 clk = !clk;

counter c1(
.clk(clk),
.rst_n(rst_n),
.cnt(cnt));

endmodule

3、测试代码编写完毕之后,我们首先需要对软件进行一些设置。如下图所示,右键点击工程名称“counter”,

选择“Settings”,出现如下界面

点击选择“Compile test bench”

点击【Test Benchs…】

点击【New】

输入测试文件模块名称如下

在“File name”这一测点击【…】,选择tb.v文件,点击【Open】

点击【Add】

点击【OK】,退出设置即可。通过上面的步骤,Modelsim和Quartus级联的设置就完成了。返回Quartus界面,选择Tools->Run Simulation Tool->RTL Simulation

点击以后出现如下Modelsim界面,在“sim”工具栏选中并右键点击counter

接下来选择【Add Wave】(注:通过这种方式,我们可以在波形中看到所有的输入输出变量以及内部变量)

点击【ctrl+G】实行自动分组

右键选中信号的名称,在【Radix】选项中选择无符号类型数据,改变信号的显示进制(注:大家可以根据需要选择其他的显示进制

点击【ctrl+S】,保存波形

接下来,在命令窗口(Transcript)输入restart指令

点击“回车键”确认,弹出如下对话框

继续点击“回车键”,接着在命令窗口输入“run 0.1ms” (注:具体时间可以自定义)

通过以上过程,我们完成了Quartus和Modelsim的联合设计、调试过程

相关推荐

最新更新

猜你喜欢