hallo, ich bringe mir grade selbst vhdl bei (beschränkt auf synthetisierbare konstrukte) was aus meiner literatur mir nciht so einleuchtend hervorging möchte ich hie kurz fragen... worin besteht der unterschied zwschen std_logic und std_ulogic? ich danke schon ma für eure antworten :)
std_logic ist die sogenanne "resolved" version von std_ulogic. (u steht für unresolved). Unresolved signale kann man nur in einem einzigen Prozess zuweisen. Wenn man unresolved Signale aus mehreren Prozessen zuweist, dann gibt es einen Konflikt, der bei nicht aufgelöst werden kann -> eben "unresolved". Bei resolved Signalen wie std_logic wird der resultierende Wert anhand einer Tabelle bestimmt. Dies wird bei der Simulation von Bus-signalen benötigt. Ein Gerät will z.B. '1' auf den Bus schreiben, das andere Gerät '0' -> die Tabelle ergibt ein 'X', damit man sieht, hier stimmt etwas nicht. Resolved signale werden im Prinzip nur für die Simulation benötigt. Innerhalb eines synthetisierbaren Designs sollte man niemals aus mehreren Prozessen das selbe Signal setzen. Beim Compiler gibt es meist eine Einstellung, ob er in diesem Fall überhaupt einen Fehler generieren soll, oder ob mittels einer ODER oder UND Funktion das resultierende Signal berechnet wird. Grüße Klaus
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.