Quartus和modelsim联合仿真流程
  lAdpqjuE0EyL 2023年11月13日 18 0

本实验以实现半加器为例。

1.建立half_adder文件夹和四个小文件夹

Quartus和modelsim联合仿真流程_modelsim

2.rtl文件夹写.v文件,即程序代码

Quartus和modelsim联合仿真流程_modelsim_02

代码实现如下:

module half_addr
(
	input wire       in_1,
	input wire       in_2,
	
	output wire      sum,
	output wire      count
);

assign {count,sum} = in_1+in_2;
endmodule
3.打开quartus软件新建工程

Quartus和modelsim联合仿真流程_modelsim_03

将工程文件保存在之前建立好的par文件夹中,工程名设为half_addr

Quartus和modelsim联合仿真流程_modelsim_04

选好自己的芯片型号,再配置相关信息

Quartus和modelsim联合仿真流程_quartus_05

Quartus和modelsim联合仿真流程_FPGA_06

Quartus和modelsim联合仿真流程_quartus_07

4.添加写好的代码文件

Quartus和modelsim联合仿真流程_FPGA_08

Quartus和modelsim联合仿真流程_modelsim_09

点击add,再点击apply应用,再OK

Quartus和modelsim联合仿真流程_modelsim_10

最后编译查找语法错误

Quartus和modelsim联合仿真流程_quartus_11

可以查看RTL视图,代码已经被综合成半加器

Quartus和modelsim联合仿真流程_verilog_12

Quartus和modelsim联合仿真流程_quartus_13

5.接下来进行仿真

首先在sim文件夹里新建一个仿真文件,进行仿真文件的编写

Quartus和modelsim联合仿真流程_verilog_14

仿真代码如下:

`timescale 1ns/1ns
module tb_half_adder();
reg     in_1;   
reg     in_2;

wire    sum;
wire    count;

initial
	begin
		in_1   <=  1'b0;
		in_2   <=  1'b0;
	end

always #10 in_1 <= {$random} %2;
always #10 in_2 <= {$random} %2;

initial
	begin
		$timeformat(-9,0,"ns",6);
		$monitor("@time %t:in_1=%b in_2=%b sel=%b out=%b",$time,in_1,in_2,sum,count);
	end

half_adder  half_adder_inst
(
	.in_1(in_1),  
	.in_2(in_2),
	
	.sum(sum),
	.count(count)
);

endmodule

回到quartus添加测试文件,与之前同样的步骤

Quartus和modelsim联合仿真流程_quartus_15

Quartus和modelsim联合仿真流程_FPGA_16

添加完之后进行仿真设置

Quartus和modelsim联合仿真流程_verilog_17

点击左侧simulation那一栏

Quartus和modelsim联合仿真流程_quartus_18

设置正确后添加test benches文件

Quartus和modelsim联合仿真流程_quartus_19

点击new

Quartus和modelsim联合仿真流程_modelsim_20

先设置相关信息,注意名称要与测试文件模块名称一致

Quartus和modelsim联合仿真流程_FPGA_21

再将其添加,选进,add,OK

Quartus和modelsim联合仿真流程_FPGA_22

再OK

Quartus和modelsim联合仿真流程_verilog_23

Apply再OK

Quartus和modelsim联合仿真流程_modelsim_24

6.直接点击仿真

Quartus和modelsim联合仿真流程_verilog_25

图像如下:

Quartus和modelsim联合仿真流程_FPGA_26

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

lAdpqjuE0EyL
最新推荐 更多