Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Hardware</strong>-<strong>Entwurf</strong> <strong>mit</strong> <strong>VHDL</strong><br />
Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik<br />
• Logische Operatoren:<br />
Tabelle 2.5: Logische Operatoren<br />
- Die logischen Operatoren sind im Standard nur für die Typen BIT und BOOLEAN definiert.<br />
Das Ergebnis ist (bitweise) entweder ’1’ oder ’0’. Eine nachfolgende Auswertung kann z.B. in<br />
Form einer Abfrage auch über die Typdeklaration BOOLEAN auf „true“ bzw. „false“ vorgenommen<br />
werden.<br />
- Im Fall von Vektoren erfolgt die Verknüpfung bitweise, daher müssen in beiden Operanden<br />
gleiche Bitbreiten vorliegen. Das Ergebnis entspricht in Bezug auf den Typ und die Reihenfolge<br />
der Bitanordnung (Bit-Ordering) dem linken Operanden.<br />
- Bei der Anwendung der logischen Operatoren ist zu beachten, daß bei der Kombination mehrerer<br />
solcher Operatoren in einem Term keine Links- oder Rechtsassoziativität gegeben ist (wie bei<br />
einigen Programmiersprachen), so daß die Ausführungsreihenfolge undefiniert ist.<br />
- Wenn die Reihenfolge von Bedeutung ist, wie z.B. bei NAND oder NOR, müssen Klammern<br />
gesetzt werden.<br />
Beispiele:<br />
Operator Funktion<br />
NOT Negation (Priorität wie diverse Operatoren!)<br />
AND AND-Verknüpfung<br />
NAND negierte AND-Verknüpfung<br />
OR OR-Verknüpfung<br />
NOR negierte OR-Verknüpfung<br />
XOR exklusive OR-Verknüpfung<br />
XNOR negiertes XOR (ab IEEE Standard 1076-1993)<br />
y1 := a NAND b NAND c ; -- Undefiniertes Ergebnis!<br />
y2 := a AND b AND c ; -- okay: Reihenfolge unbedeutend<br />
x := a NOR (b NOR c) ; -- Klammern haben Vorrang!<br />
z := NOT (a AND b AND c) ; -- okay: NAND <strong>mit</strong> drei Eingängen<br />
<strong>VHDL</strong>-GRUNDLAGEN 44