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

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”,
quartus和modelsim联合调试简单实例(详细)_第1张图片
选择“Settings”,出现如下界面
quartus和modelsim联合调试简单实例(详细)_第2张图片
点击选择“Compile test bench”
quartus和modelsim联合调试简单实例(详细)_第3张图片
点击【Test Benchs…】
quartus和modelsim联合调试简单实例(详细)_第4张图片
点击【New】
quartus和modelsim联合调试简单实例(详细)_第5张图片
输入测试文件模块名称如下
quartus和modelsim联合调试简单实例(详细)_第6张图片
在“File name”这一测点击【…】,选择tb.v文件,点击【Open】
quartus和modelsim联合调试简单实例(详细)_第7张图片
点击【Add】
quartus和modelsim联合调试简单实例(详细)_第8张图片
点击【OK】,退出设置即可。通过上面的步骤,Modelsim和Quartus级联的设置就完成了。返回Quartus界面,选择Tools->Run Simulation Tool->RTL Simulation
quartus和modelsim联合调试简单实例(详细)_第9张图片
点击以后出现如下Modelsim界面,在“sim”工具栏选中并右键点击counter
quartus和modelsim联合调试简单实例(详细)_第10张图片
接下来选择【Add Wave】(注:通过这种方式,我们可以在波形中看到所有的输入输出变量以及内部变量)
quartus和modelsim联合调试简单实例(详细)_第11张图片
点击【ctrl+G】实行自动分组
quartus和modelsim联合调试简单实例(详细)_第12张图片
右键选中信号的名称,在【Radix】选项中选择无符号类型数据,改变信号的显示进制(注:大家可以根据需要选择其他的显示进制
quartus和modelsim联合调试简单实例(详细)_第13张图片
点击【ctrl+S】,保存波形
quartus和modelsim联合调试简单实例(详细)_第14张图片
接下来,在命令窗口(Transcript)输入restart指令
quartus和modelsim联合调试简单实例(详细)_第15张图片
点击“回车键”确认,弹出如下对话框
quartus和modelsim联合调试简单实例(详细)_第16张图片
继续点击“回车键”,接着在命令窗口输入“run 0.1ms” (注:具体时间可以自定义)
quartus和modelsim联合调试简单实例(详细)_第17张图片
通过以上过程,我们完成了Quartus和Modelsim的联合设计、调试过程

你可能感兴趣的:(modelsim)