看板 Electronics 關於我們 聯絡資訊
寫了一個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
escorpion: 你仔細看modelsim 跳出來的那個頁面,他會把有錯的行06/06 16:11
escorpion: 數寫出來,有時候會是藍字讓你沒注意到06/06 16:11
compile沒錯的耶(綠字,沒error),問題是模擬沒辦法跑..... ※ 編輯: beginner0602 (39.10.138.163), 06/06/2018 16:18:26
escorpion: https://i.imgur.com/sHxlCWy.jpg以此例來說,是錯在te 06/06 16:17
escorpion: stbench第34行 06/06 16:17
escorpion: compile時不會檢查testbench有沒有寫錯,要在執行model 06/06 16:57
escorpion: sim時跳出來的那個視窗才會檢查 06/06 16:57
escorpion: 還有你的timescale 要不要改成1ns/1ps,不知為何我之前 06/06 17:00
escorpion: 有用過都是1ps的會跑不出來 06/06 17:00
beginner0602: 了解 感謝 06/06 17:21
mmonkeyboyy: 1ps解析太高 記憶體不夠就會出來不來或很久才出 06/07 05:32
mmonkeyboyy: 前面那個是單位 你設你實際要用的就好了 06/07 05:32