24.12.2012 Aufrufe

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Die Auflösungsfunktion wird folgendermaßen realisiert:<br />

1 Packages<br />

CONSTANT resolution_table : stdlogic_table := (<br />

-- ---------------------------------------------------------<br />

-- | U X 0 1 Z W L H - | |<br />

-- ---------------------------------------------------------<br />

( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- | U |<br />

( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- | X |<br />

( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- | 0 |<br />

( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- | 1 |<br />

( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- | Z |<br />

( 'U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X' ), -- | W |<br />

( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- | L |<br />

( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- | H |<br />

( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ));-- | - |<br />

FUNCTION resolved ( s : std_ulogic_vector )<br />

RETURN std_ulogic IS<br />

VARIABLE result : std_ulogic := 'Z';<br />

-- weakest state default<br />

BEGIN<br />

IF (s'LENGTH = 1) THEN<br />

RETURN s(s'LOW);<br />

ELSE<br />

FOR i IN s'RANGE LOOP<br />

result := resolution_table(result, s(i));<br />

END LOOP;<br />

END IF;<br />

RETURN result;<br />

END resolved;<br />

Die Auflösungsfunktion arbeitet beliebig lange Eingangsvektoren ab,<br />

deren Elemente die Werte der einzelnen Signaltreiber für das aufzulösende<br />

Signal darstellen. Man geht hierbei vom schwächsten Zustand<br />

("high impedance", 'Z', als Defaultwert des Ergebnisses) aus. Es wird<br />

dann sukzessive der (vorläufige) Ergebniswert <strong>mit</strong> dem nächsten Element<br />

des Eingangsvektors verknüpft, bis alle Elemente abgearbeitet<br />

sind.<br />

© G. Lehmann/B. Wunder/M. Selz 285

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!