当前位置:   article > 正文

解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:`timescale 1ns/1ns

# error loading design

参考文献1,QuartusII18.0l与Modelsim10.5版本的联合仿真案例成功:3-8通路三态门输出
参考文献3,quartus 调用FIFO ip核
参考文献3,Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)

1,一直走下来,在modelsim中出现了下面问题

在这里插入图片描述

解决:
(1)在tb中,加上时间刻度时序必须加
在这里插入图片描述
(2)在rtl文件中,可以不含时间刻度
在这里插入图片描述

2,rtl文件、tb文件

2.1,rtl代码

//	rtl	设计.
module	fifo(
input	wire				sys_clk,
input	wire	[7:0]		pi_data,	//	写数据

input	wire				pi_flag,	//	写使能
input	wire				rdreq,		//	读使能

output	wire	[7:0]		po_data,	//	读数据
output	wire				empty,	//	空
output	wire				full,	//	满
output	wire	[7:0]		usedw
);

scfifo_256x8		scfifo_256x8_inst(		//	ip_core fifo
.clock			(sys_clk			),
.data			(pi_data			),
.rdreq			(rdreq				),
.wrreq			(pi_flag			),

.empty			(empty				),
.full			(full				),
.q				(po_data			),
.usedw			(usedw				)
);

endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

2.2,tb测试

//	测试文件
`timescale 1ns/1ns

module	tb_fifo;
reg				sys_clk;
reg		[7:0]	pi_data;
reg				pi_flag;
reg				rdreq;

wire	[7:0]	po_data;
wire			empty;
wire			full;
wire	[7:0]	usedw;

always	#5		sys_clk	= ~sys_clk;		//	T = 10
initial			begin
				sys_clk	= 1;
end


reg		[7:0]	cnt;	//	计数器,计数写读个数.

initial		begin			
	cnt	= 8'd0;
	pi_flag	= 0;					//	不写
	pi_data = {$random}%256;
	rdreq	= 0;						// 不读

#10
	pi_flag	= 1;					//	写
	pi_data = {$random}%256;
	rdreq	= 0;
	
	repeat(256)		begin	//	只写
#10	pi_flag	= 1;					//	写
	pi_data = {$random}%256;
	rdreq	= 0;
	
	cnt		= cnt + 1;
	end
	
	repeat(256)		begin	//	只读
#10 pi_flag	= 0;
	pi_data	= 0;
	rdreq	= 1;							//	读
	
	cnt		= cnt - 1;
	end
			
	repeat(10)		begin	//	同时写读
#10	pi_flag	= 1;	
	pi_data = {$random}%256;
	rdreq	= 1;
	cnt		= cnt;
	end
	
#100	$finish;	
end


fifo	u1_fifo(
.sys_clk		(sys_clk	),
.pi_data		(pi_data	),	//	写数据
.pi_flag		(pi_flag	),	//	写使能
.rdreq			(rdreq		),	//	读使能

.po_data		(po_data	),
.empty			(empty		),
.full			(full		),
.usedw			(usedw		)
);

endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73

2.3,netlist viewer

(1)
在这里插入图片描述
(2)
在这里插入图片描述

3,modelsim仿真波形

3.1,quartusII中的文件配置

(1)
在这里插入图片描述

(2)
在这里插入图片描述

3.2,modelsim中的波形

3.2.3,总体波形

在这里插入图片描述

3.2.2,局部波形

(1)开始处,读空
在这里插入图片描述

(2)中间处,写满
在这里插入图片描述

(3),结束处,读空
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/830208
推荐阅读
相关标签
  

闽ICP备14008679号