Hi, meinen Kenntnissen nach: Process: -Wird ausgeführt sobald sich etwas in der "sensitivity list" ändert. -Ist Synthetisierbar Block: -Wird immer ausgeführt. -Signalen mit dem Schlüsselwort "GUARDED" werden nur dann Werte zugewiesen, wenn die Blockabfrage TRUE liefert. -Ist nicht immer Synthetisierbar. Lieg ich damit richtig, bzw. hab ich das richtig verstanden oder gibts da weitere Unterschiede die ich nicht aufgelistet habe und wichtig sind? Lg
KIKOKA schrieb: > Process: > -Wird ausgeführt sobald sich etwas in der "sensitivity list" ändert. Er wird nicht "ausgeführt". Sondern ein Prozess wird vom Simulator "neu berechnet", wenn sich eines der Signale in der Sensitivliste ändert. Den Synthesizer interessiert die Sensitivliste nicht die kleinste Bohne. Mit ein wenig Glück sagt er nur, dass sie unvollständig ist und deshalb die Simulation nicht zur Hardware passen wird... > Process: > -Ist Synthetisierbar Naja. Wenn ich ein einziges "wait for 10ns;" in den Prozess schreibe, dann legt es den Synthesizer sauber auf den Boden...
Noch ein Unterschied: - Guarded Blocks verwendet und braucht heutzutage niemand mehr. Sie stammen aus der Urzeit von VHDL und dienten dazu, tristate Busse zu simulieren. Das macht man heute mit resolved Signaltypen wie std_logic. => vergiss Guarded Blocks !!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.