2015-09-06 55 views
1

我試圖爲Modelsim(verilog)中的時序電路創建一個測試臺文件。但是我收到以下語法錯誤。Testbench文件中的語法錯誤

** Error: (vlog-13069) /Assignment_2x2_tb.v(6): near "initial": syntax error, unexpected initial, expecting ';' or ','.

這裏是我的代碼

module seq_circuit1_tb; 
reg x,clk; 
wire q; 
seq_circuit1 seqct(x, clk, Q0, Q1) 
//Module to generate clock with period 10 time units 
initial begin 
    forever begin 
    clk=0; 
    #10 
    clk=1; 
    #10 
    clk=0; 
    end 
end 
initial begin 
    x=0; 
    #50 
    x=0; 
    #50 
    x=1; 
    #50 
    x=1; 
    #50 
end 
endmodule 

有誰能夠告訴我,爲什麼我得到這個錯誤。

回答

2

你行seq_circuit1 seqct(x, clk, Q0, Q1)後需要一個分號(;)。

+0

獲得新的錯誤'接近「終點」:只是'endmodule之前的語法錯誤,意想不到的end.'在第24行'。 – Atinesh

+0

#結束前的#50似乎無效。也許你應該在'end'之前加上'$ finish;'或其他東西 – MikeCAT

1

初始塊不能以延遲結束。你必須在最後50#聲明的一些如下

initial begin 
    x=0; 
    #50 
    x=0; 
    #50 
    x=1; 
    #50 
    x=1; 
    #50 $finish; 
end 
endmodule 

initial begin 
    x=0; 
    #50 
    x=0; 
    #50 
    x=1; 
    #50 
    x=1; 
    // last #50 removed 
end 
endmodule