Es ist Faustregel u sollten nicht a = # 5 b;
u können # 5 a = b;
weil er blockiert Erklärung.
1.it Blöcke B-Wert für 5 Sekunden und geben Sie es zu einem
2.a = B-Wert vorkommen, nach 5 Sekunden.
simillary für nicht-blockierende Erklärung seiner umgekehrt
u muss ein <= # 5b
wont blockieren, weil sie die entsprechenden Erklärungen
A. # 5 a = b, nach 5 Zeit-Einheit,
die Simulator-Ausführung den Wert von B nach
AB. a = # 5 b, Simulator ausführen, wenn diese Aussage,
Halten Sie den aktuellen Wert von b, und dann dieser Wert zu einem keeped nach 5 mal Einheit.
Es ist identisch mit "<=".Mit freundlichen Grüßen,
Jarod
Dies sind die Art und Weise ein Modell Transport verzögern und Trägheitseinschluss Verzögerung in Verilog-Simulator.
Wenn ur sind vertraut mit VHDL, erhalten Sie es!
Ich gehe davon aus zeitlichen als 1ns
# 1 a <= b / / Diese Modelle Verkehr Verzögerung b erscheint bei "A" nach 1 ns
a <= # 1 b / / Diese Modelle Trägheitseinschluss Verzögerung "A" folgt "B" nach 1 ns Verzögerung bei additin zu diesem
alle Puls <1ns erhalten Filter auf "A"
Bitte lesen Sie den unten stehenden Link für VHDL!
http://www.gmvhdl.com/delay.htm
Der Unterschied ist, dass im ersten Fall die Bewertung der RHS erfolgt sofort, aber die Zuordnung nach 1 ns.Im zweiten Fall Bewertung selbst erfolgt nach 1 ns
Bewertung der Zuordnung ist die zeitliche Verzögerung von Kontrolle.
RHS Ausdruck bewertet.
Die Zuordnung ist also a <--- b (t 1)
2) a <= # 1 b
RHS Ausdruck bewertet.
Die Zuordnung wird durch die zeitliche Verzögerung und ist am Ende der Warteschlange.
Flow weiter.
a <- b auf Simulation Zeitpunkt t 1
1 # N a <= b
Hinzufügen von Verzögerungen bei der linken Seite (LHS) der nonblocking Aufgaben nach Muster kombinatorische Logik ist mangelhaft.
Code:Modul adder_t2 (CO, Summe, A, B, CI);
AlexWan ist richtig,
das ist ein schlechter Stil, wenn Codierung in kombinatorische Logik Modellierung.Vielen Dank für Alex!
sehen Sie den Code unten ein:
/ *
Bad Coding Style Beispiel
* /
Modul adder_t2 (CO, Summe, A, B, CI);
CO-Ausgang;
Leistung [3:0] sum;
input [3:0] a, b;
Input-ci;
reg CO;
reg [3:0] sum;
immer @ (a oder b oder CI)
# 12 (CO, Summe) <= a b ci; / / Bad-Block-Zuordnung nicht unverzüglich Coding Style
endmodule
Modul TB;
reg [3:0] a, b;
reg ci;
wire [3:0] sum;
Draht-co;
adder_t2 dut (. CO (CO),. Summe (Summe),. a (a). b (b),. ci (ci));
ersten
beginnen
# 0 (A, B, CI) = (4'h1, 4'h1, 1'h0);
# 50;
# 11 (A, B, CI) = (4'h2, 4'h5, 1'h1);
# 5 (A, B, CI) = (4'he, 4'h0, 1'h1);
# 9 (A, B, CI) = (4'h5, 4'h1, 1'h0);
# 50;
$ display ( "Gute Nacht");
$ stop;
Ende
endmodule
/////////////////////////////////////////
unerwartetes Verhalten gesehen werden.
nach der A / B / CI wird verändert, die (CO, Summe) <= a b ci; ist auf 12 Einheiten Zeit später, bevor die Zeit kommen wird, jede Änderung der A / B / CI wird die Wirkung ( co, Summe), so dass die Verzögerung nicht # 12.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.