Eşzamanlı etkin düşük sıfırlama ile basit bir pozitif kenarlı trigerred d flip flop için bir test tezgahı oluşturdum. Test tezgahında, ilk durumda "@posedge clk" de girişler verir ve ikinci durumda "wait 10ns" ifadelerine dayalı girdiler veriyorum. Birinci durumda, flop çıkışı 1 saat döngüsünden sonra değişirken, ikinci durumda simülatörde aynı saat döngüsünde hemen değişir.Aşağıdaki basit D Flipflop örneği için Olay Denetimi Bildirimi ve Beklet ifadesini kullanırken Çıktı'da neden bir fark var?
Quartus Simulator'da benzetim yapıyorum.
Neden? Thats bilmek istediklerim. aşağıda
Kodu: ////////////////////////////
initial
begin
//Case 1: Using Event Based statements
n_reset = 1'b0;
reset = 1'b1;
d = 1'b0;
repeat(2)@(posedge clk);
n_reset = 1'b1;
repeat(2)@(posedge clk);
d = 1'b1;
@(posedge clk);
d = 1'b0;
@(posedge clk);
d = 1'b1;
//Case 2: Using wait Statement
#50ns;
n_reset = 1'b0;
reset = 1'b1;
d = 1'b0;
#50ns;
n_reset = 1'b1;
#20ns;
d = 1'b1;
#10ns;
d = 1'b0;
#10ns;
d = 1'b1;
#50ns;
end
Waveform of D FlipFlop with the testbench
Teşekkür ederim ... Bununla ilgili bazı ek bilgiler aldım. Bu ek bilgi + cevabınız birçok şeyi temizledi ... Ayrıca ModelSim'de liste görünümündeki sinyali kontrol etmek için derinlere gittim .. Bütün problemi tamamen farklı bir açıyla yaşıyordum ... –
@ Edwin Joseph: Sen Hoşgeldiniz! –