[問題] modelsim testbench錯誤

看板Electronics作者 (A'N'D小宇宙)時間6年前 (2018/06/06 15:25), 6年前編輯推噓3(308)
留言11則, 3人參與, 6年前最新討論串1/1
寫了一個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://www.ptt.cc/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

06/06 16:11, 6年前 , 1F
你仔細看modelsim 跳出來的那個頁面,他會把有錯的行
06/06 16:11, 1F

06/06 16:11, 6年前 , 2F
數寫出來,有時候會是藍字讓你沒注意到
06/06 16:11, 2F
compile沒錯的耶(綠字,沒error),問題是模擬沒辦法跑..... ※ 編輯: beginner0602 (39.10.138.163), 06/06/2018 16:18:26

06/06 16:17, 6年前 , 3F
以此例來說,是錯在te
06/06 16:17, 3F

06/06 16:17, 6年前 , 4F
stbench第34行
06/06 16:17, 4F

06/06 16:57, 6年前 , 5F
compile時不會檢查testbench有沒有寫錯,要在執行model
06/06 16:57, 5F

06/06 16:57, 6年前 , 6F
sim時跳出來的那個視窗才會檢查
06/06 16:57, 6F

06/06 17:00, 6年前 , 7F
還有你的timescale 要不要改成1ns/1ps,不知為何我之前
06/06 17:00, 7F

06/06 17:00, 6年前 , 8F
有用過都是1ps的會跑不出來
06/06 17:00, 8F

06/06 17:21, 6年前 , 9F
了解 感謝
06/06 17:21, 9F

06/07 05:32, 6年前 , 10F
1ps解析太高 記憶體不夠就會出來不來或很久才出
06/07 05:32, 10F

06/07 05:32, 6年前 , 11F
前面那個是單位 你設你實際要用的就好了
06/07 05:32, 11F
文章代碼(AID): #1R5unri2 (Electronics)