2016-03-01 36 views
0

我試圖做一個測試臺來模擬工作頂層模塊(和子模塊),但是我無法讓iverilog正確處理頂層輸出(LED,RS232Rx和RS232Tx是物理的銷)帶輸出的iverilog測試臺模塊

這裏是我在測試平臺的嘗試

module test(); 
initial begin 
    $dumpfile("test.vcd"); 
    $dumpvars(0,test); 
    # 1024 $stop; 
end 
reg clk = 0; always #1 clk = !clk; 
//reg rx,tx; 
reg [7:0] opl; 
top top1 (.clk(clk), .RS232Rx(rx), .RS232Tx(tx), .LEDS(opl)); 
endmodule 

我看到錯誤這樣

iverilog -o test-design testbench.v top.v 
top.v:47: error: LEDS is not a valid l-value in test.top1. 
top.v:8:  : LEDS is declared here as wire. 
testbench.v:10: error: reg opl; cannot be driven by primitives or continuous assignment. 
testbench.v:10: error: Output port expression must support continuous assignment. 
testbench.v:10:  : Port 4 (LEDS) of top is connected to opl 
3 error(s) during elaboration. 

我試過的東西alsorts但在光明的路並不多ng或不同的錯誤信息,最好的LED作爲測試臺輸出,只顯示top.v中的錯誤,它正在工作......我看到與rx,tx非常類似的錯誤,但將它們評論爲縮短輸出...

只是重申top.v呢,不僅合成但究竟表現在實際硬件上如預期

回答

0

原來,儘管我的頂層設計能夠輸出到線,iverilog並不樂意這樣做,

加入

reg [7:0] leds; 
assign LEDS=leds; 

人低於我的頂級設計在硬件上工作(如以前),但也iverilog(伊卡洛伊)現在似乎能夠處理它...