Forum: FPGA, VHDL & Co. anfänger-frage


von anyone (Gast)


Lesenswert?

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 :)

von Klaus F. (kfalser)


Lesenswert?

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

von anyone (Gast)


Lesenswert?

ok, vielen dank :)

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
Noch kein Account? Hier anmelden.