作者beginner0602 (A'N'D小宇宙)
看板Electronics
标题[问题] modelsim testbench错误
时间Wed Jun 6 15:25:39 2018
写了一个32bit4阶的流水式加法器
请问如果.v档 还有.vt档都没有错误
但模拟时会出现#error loading design
找了很久都看不出来已经不知道还能错哪了
谁好心能帮忙看出错误,感激不尽!
谢谢啊啊啊
tsetbench:
`timescale 1 ps/ 1 ps
module add_test();
reg clk,cin; reg [31:0] a,b;
reg [64:0] ir; reg [56:0] pr;
reg [48:0] oor1; reg [40:0] oor2;
reg [32:0] oor3; wire [32:0] out;
count add(.clk(clk) , .cin(cin), .ir(ir), .a(a), .b(b), .pr(pr), .oor1(oor1),
.oor2(oor2), .oor3(oor3), .out(out));
initial clk=0;
initial #160000 $finish;
always
begin
#5000 clk=!clk;
end
initial
begin
cin = 1'b1;
cin = #50000 1'b0;
end
initial
begin
a = 32'haaaa_Fbb1;
a = #50000 32'hca11_b43b;
end
initial
begin
b = 32'hF12b_3c75;
b = #50000 32'hFF2b_3c76;
end
endmodule
.V档:
module add(clk,cin,a,b,out);
input clk,cin ;input [31:0] a,b;
reg [64:0] ir ;reg [56:0] pr;
reg [48:0] oor1 ;reg [40:0] oor2;
reg [32:0] oor3 ;output [32:0] out;
always@(posedge clk)begin
ir[0] <= cin;
ir[8:1] <= a[7:0] ;
ir[16:9] <= b[7:0];
ir[24:17] <= a[15:8] ;
ir[32:25] <= b[15:8];
ir[40:33] <= a[23:16] ;
ir[48:41] <= b[23:16];
ir[56:49] <= a[31:24] ;
ir[64:57] <= b[31:24];
end
always@(posedge clk)begin //1
{pr[8],pr[7:0]} = ir[8:1] + ir[16:9] +ir[0];
pr[16:9] <= ir[24:17];
pr[24:17] <= ir[32:25];
pr[32:25] <= ir[40:33];
pr[40:33] <= ir[48:41];
pr[48:41] <= ir[56:49];
pr[56:49] <= ir[64:57];
end
always@(posedge clk)begin //2
oor1[7:0] <= pr[7:0];
{oor1[16],oor1[15:8]} <= pr[16:9] + pr[24:17] + pr[8];
oor1[24:17] <= pr[32:25];
oor1[32:25] <= pr[40:33];
oor1[40:33] <= pr[48:41];
oor1[48:41] <= pr[56:49];
end
always@(posedge clk)begin //3
oor2[7:0] <= oor1[7:0];
oor2[15:8] <= oor1[15:8];
{oor2[24],oor2[23:16]} <= oor1[24:17] + oor1[32:25] + oor1[16];
oor2[32:25] <= oor1[40:33];
oor2[40:33] <= oor1[48:41];
end
always@(posedge clk)begin //4
oor3[7:0] <= oor2[7:0];
oor3[15:8] <= oor2[15:8];
oor3[23:16] <= oor2[23:16];
{oor3[32],oor3[31:24]} <= oor2[32:25] + oor2[40:33] + oor2[24];
end
assign out[32:0] = oor3[32:0];
endmodule
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.10.138.163
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1528269941.A.B02.html
※ 编辑: beginner0602 (39.10.138.163), 06/06/2018 15:28:02
※ 编辑: beginner0602 (39.10.138.163), 06/06/2018 15:30:21
1F:推 escorpion: 你仔细看modelsim 跳出来的那个页面,他会把有错的行06/06 16:11
2F:→ escorpion: 数写出来,有时候会是蓝字让你没注意到06/06 16:11
compile没错的耶(绿字,没error),问题是模拟没办法跑.....
※ 编辑: beginner0602 (39.10.138.163), 06/06/2018 16:18:26
4F:→ escorpion: stbench第34行 06/06 16:17
5F:推 escorpion: compile时不会检查testbench有没有写错,要在执行model 06/06 16:57
6F:→ escorpion: sim时跳出来的那个视窗才会检查 06/06 16:57
7F:→ escorpion: 还有你的timescale 要不要改成1ns/1ps,不知为何我之前 06/06 17:00
8F:→ escorpion: 有用过都是1ps的会跑不出来 06/06 17:00
9F:→ beginner0602: 了解 感谢 06/06 17:21
10F:→ mmonkeyboyy: 1ps解析太高 记忆体不够就会出来不来或很久才出 06/07 05:32
11F:→ mmonkeyboyy: 前面那个是单位 你设你实际要用的就好了 06/07 05:32