2010-08-10 34 views
0

我試圖使用Verilog Pro中的與非門來編寫一個基本的觸發器,但是我得到的波形不正確。請看看它有什麼問題。如何在Verilog Pro中編寫基本觸發器?

//design module 
module rstt(s,r,q,qbar); 
input r,s; 
output q,qbar; 
nand n1(q,r,qbar); 
nand n2(qbar,s,q); 
endmodule 

//stimulus module 
module test; 
reg r,s; 
wire q,qbar; 
initial begin 
r=1'b1; 
s=1'b0; 
#25 r=1'b0; 
    s=1'b1; 
#25 r=1'b1; 
    s=1'b1; 
#100 $finish; 
end 
endmodule 
+1

波形圖和描述什麼是錯的,請... – Marty 2010-08-10 14:42:37

+2

我得到q和qbar的直線。在s和r中沒有行。這些是使用nand門的基本觸發器的錯誤波形 – 2010-08-10 14:54:09

回答

2

你沒有實例化rstt模塊的test模塊內。這意味着模塊test內部的導線(qqbar)未經驅動。這就是爲什麼他們保持直線而不是切換。根據IEEE Verilog標準,非驅動的wire將默認爲1'bz

嘗試這樣:

//design module 
module rstt(s,r,q,qbar); 
input r,s; 
output q,qbar; 
nand n1(q,r,qbar); 
nand n2(qbar,s,q); 
endmodule 

//stimulus module 
module test; 
reg r,s; 
wire q,qbar; 

rstt i0 (
    .s (s), 
    .r (r), 
    .q (q), 
    .qbar (qbar) 
); 

initial begin 
r=1'b1; 
s=1'b0; 
#25 r=1'b0; 
    s=1'b1; 
#25 r=1'b1; 
    s=1'b1; 
#100 $finish; 
end 
endmodule 

請注意,你的問題是不針對任何模擬器。