Ich habe diese Seite http://www.asic-world.com/verilog/verilog_one_day3.html gelesen, als ich auf Folgendes gestoßen bin:
Normalerweise müssen wir Flip-Flops zurücksetzen. Jedes Mal, wenn die Uhr von 0 auf 1 wechselt (Posedge), prüfen wir, ob ein Reset aktiviert ist (synchroner Reset), und fahren dann mit der normalen Logik fort. Wenn wir genau hinschauen, sehen wir, dass wir im Fall der kombinatorischen Logik "=" für die Zuweisung und für den sequentiellen Block den Operator "<=" hatten. Nun, "=" ist eine blockierende Zuweisung und "<=" ist eine nicht blockierende Zuweisung. "=" führt Code sequenziell innerhalb eines Anfangs / Endes aus, während "<=" nicht blockierend parallel ausgeführt wird.
Ich war mir ziemlich sicher, dass nicht blockierende Zuweisungen sequentiell waren, während blockierende Zuweisungen parallel waren. Schließlich können Sie blockierende Zuweisungen mit Anweisungen assign außerhalb von always blocks vornehmen, und diese werden alle parallel ausgeführt. Ist das ein Fehler oder ist das Verhalten innerhalb eines Always-Blocks anders? Und wenn das Verhalten innerhalb eines Always-Blocks unterschiedlich ist, können nicht blockierende Zuweisungen außerhalb eines Always-Blocks vorgenommen werden?