14. Addierer und Subtrahierer - users.etech.haw
Transcrição
14. Addierer und Subtrahierer - users.etech.haw
Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14 Addierer und Subtrahierer 14.1 Darstellung positiver und negativer Zahlen • Die Anzahl der Bitstellen muss festgelegt sein, um positive und negative Zahlen unterscheiden zu Binär m -1 = 3 0 000 0 001 0 010 0 011 0 100 0 101 0 110 0 111 Positiv Dezimal Vorzeichen Zweieru. Betrag Komplement 0 1 2 3 4 5 6 7 +0 +1 +2 +3 +4 +5 +6 +7 +0 +1 +2 +3 +4 +5 +6 +7 Binär m -1 = 3 1 000 1 001 1 010 1 011 1 100 1 101 1 110 1 111 Positiv Dezimal Vorzeichen Zweieru. Betrag Komplement 8 9 10 11 12 13 14 15 -0 -1 -2 -3 -4 -5 -6 -7 -8 -7 -6 -5 -4 -3 -2 -1 können. DIGITALTECHNIK 14-1 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Das Zweierkomplement (I) • In der Binärdarstellung existiert kein Vorzeichen „-“. Daher wird die eine Hälfte des Zahlenvorrats für positive und die andere Hälfte für negative Zahlen reserviert. • Nur in der Zweierkomplementdarstellung ist jede Zahl eindeutig (auch die Null) darstellbar. Die Zweierkomplementdarstellung wird auch in Mikroprozessoren für arithmetische Operationen gewählt. • Die Subtraktion läßt sich auf die Addition zweier Zahlen im Zweierkomplement zurückführen. • Zweierkomplementdarstellung der negativen Zahlen: Sei z : Negative Zahl * : Betrag |z| der negativen Zahl z z zp : Positive Zahl Dann gilt die Zweierkomplementregel für m-stellige Zahlen und Radix 2: C(z) Komplement + Betrag + z* m R maximal darstellbare Zahl + 1 (außerhalb des Zahlenbereichs) DIGITALTECHNIK 14-2 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Das Zweierkomplement (II) -Rm 2 z 0 * z Rm 2 C(z) = Rm - z C(z) Rm * Ein echtes Komplement wird durch nicht überlappende Zahlenbereiche beschrieben: (z.B. für m=3) Negative Zahlen: Positive Zahlen: Zweierkomplement: -Rm-1 ≤ z < 0 0 ≤ zp ≤ Rm-1 - 1 Rm-1 ≤ C(z) < Rm DIGITALTECHNIK -8 ≤ z < 0 0 ≤ zp ≤ 7 8 ≤ C(z) < 16 14-3 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Vereinfachte Zweierkomplementbildung |±1 • Modifizierte Darstellung der Zweierkomplementregel: C(z) = (Rm - 1) - z* + 1 Darin ist: Wegen R = 2 eine Binärzahl, bei der alle m Stellen ‘1‘ sind. (Rm - 1) : (Rm - 1) - z*: Da 1 – 0 = 1 und 1 – 1 = 0 ist, folgt, dass dieser Ausdruck z* in allen Bitstellen invertiert darstellt. Fazit: Man erhält das Zweierkomplement einer negativen Zahl z, indem man alle Bitstellen invertiert und anschließend 1 addiert. Umformung der Zweierkomplementregel ergibt: z* = (Rm - 1) - C(z) + 1 Fazit: Man erhält den Betrag einer negativen Zahl, die durch das Zweierkomplement C(z) dargestellt wird, indem man alle Bitstellen der Zweierkomplementdarstellung invertiert und anschließend 1 addiert. DIGITALTECHNIK 14-4 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Addition und Subtraktion im Zweierkomplement • Grundsätzlich sind die Regeln für vorzeichenlose und vorzeichenbehaftete Zahlen gleich. • Zwei zusätzliche Effekte müssen jedoch beachtet werden: ♦ Carry- und Borrow-, die den gewählten Zahlenbereich von m Bits überschreiten, müssen ignoriert werden, um ein korrektes Ergebnis zu erhalten. ♦ Die Rechenergebnisse können den erlaubten Zahlenbereich der Zweierkomplementdarstellung verlassen. In diesem Fall ist das Ergebnis ungültig und es muss ein Overflow-Bit OV gesetzt werden (Abhilfe ist hier nur durch eine Erweiterung des Zahlenbereichs auf m+1 Bit möglich). Das Overflow-Bit OV wird unter den folgenden Bedingungen gesetzt: Bei der Addition: A+B: - Wenn beide Summanden positiv und das Ergebnis negativ ist. - Wenn beide Summanden negativ und das Ergebnis positiv ist. Bei der Subtraktion: A-B: - Wenn der Minuend A negativ und der Subtrahend B positiv ist und das Ergebnis ebenfalls positiv ist. - Wenn der Minuend A positiv, der Subtrahend B negativ und das Ergebnis negativ ist. DIGITALTECHNIK 14-5 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14.2 Aufbau eines Volladdierers Σ A B CI CI 0 0 0 0 1 1 1 1 SUM CI B 0 0 1 1 0 0 1 1 CO A 0 1 0 1 0 1 0 1 COUT COUT SUM 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 Logische Gleichungen: Summe: SUM = A B CI Carry: COUT = (A∧B)∨(CI∧(A Generate: CG = A∧B Propagate: CP = A B DIGITALTECHNIK B)) 14-6 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14.3 Ripple-Carry Addierer • Mit n 1-Bit Addierern lassen sich zwei n-Bit breite Binärworte A und B in einer kombinatorischen Schaltung addieren. Dazu sind alle 1-Bit Addierer zu kaskadieren. • Der Ripple-Carry Effekt ist das Fortschreiten eines kippenden Carry-Bits durch die Kette von 1-Bit Addierern. Er beruht auf der Laufzeitverzögerung der einzelnen Addiererstufen und führt dazu, dass das Ergebnis der i-ten Stelle erst nach i-Laufzeiten zur Verfügung steht. • Wenn Bruchzahlen zu addieren sind, dann muss die Anzahl der Stellen hinter dem Komma bei beiden Operanden gleich sein. Die Kommastelle selbst ist beliebig da sie bei der Addition nicht benötigt wird. DIGITALTECHNIK 14-7 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Simulation des Ripple-Carry Addierers 9ns 9ns 9ns 9ns 20ns 20ns 20ns 20ns DIGITALTECHNIK 14-8 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Analyse des Ripple-Carry Addierverhaltens (am Beispiel der Addition von 0x01 + 0x0E + CIN = 0x10) • Die Signallaufzeiten betragen: tpLH = 9ns und tpHL = 20 ns. • Die Summationsbits S0 ... S3 werden evtl. zwischenzeitlich gesetzt und nachfolgend wieder gelöscht da das Carry-Signal von Stufe zu Stufe fortschreitet. Zwischendurch werden ungültige Werte ausgegeben. • Die Signallaufzeit ergibt sich in diesem Beispiel dadurch, dass: Die drei Carry-Signale C0, C1, C2 nacheinander gesetzt werden (3*9 = 27ns) Das letzte Carry-Signal C2 das temporär gesetzte Summationsbit S3 wieder löscht (20ns) Damit wird das Ausgangssignal erst nach 47ns gültig. • Abhängig von den alten und neuen Summanden kann die Zeit bis zum Erscheinen der gültigen Werte sehr unterschiedlich sein! Welches ist die Worst-Case Situation und wie langt dauert die zugehörige Signalverzögerung? Allgemeiner Nachteil von Ripple-Carry Addierern: Die Signallaufzeit des Addierers nimmt mit jedem Bit um die Laufzeit einer Addierstufe zu. DIGITALTECHNIK 14-9 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14.4 Carry-Look-Ahead Addierer • Eine wesentlich schnellere und von der Wortbreite unabhängige Lösung ist die vorausschauende Carry-Bildung, die gleichzeitig für alle Bitstellen erfolgen kann (Carry-Look-Ahead). • Dazu werden aus den Volladdierern zwei zusätzliche Signale herausgeführt (vgl. S. 6): • Generate Signal: CGi zeigt an, dass ein Addierer an der Position i als Folge der Bitwerte Ai und Bi ein Carry-Signal Ci erzeugt. • Propagate signal: CPi zeigt an, dass ein Carry-Signal Ci-1 aus der vorhergehenden Stufe i-1 an die nachfolgende Stufe i+1 weitergereicht wird. Nr. 0 1 2 3 4 5 6 7 Ci-1 0 0 0 0 1 1 1 1 Bi 0 0 1 1 0 0 1 1 Ai 0 1 0 1 0 1 0 1 CGi 0 0 0 1 0 0 0 1 CPi 0 1 1 0 0 1 1 0 Ci Si 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 Bedeutung Ci wird erzeugt Ci-1 wird absorbiert Ci-1 wird weitergeleitet Ci-1 wird weitergeleitet Ci wird erzeugt DIGITALTECHNIK Logische Gleichungen: CGi = Ai ∧ Bi CPi = (Ai Bi) 14-10 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 4- Bit Carry-Look-Ahead Struktur (CLA) Σ Σ Σ DIGITALTECHNIK Σ 14-11 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Carry-Look-Ahead Generator Die Bildung der Carry-Signale COi der einzelnen Stufen aus den Generate- und Propagate-Signale CGi und CPi lässt sich rekursiv beschreiben: Allgemeiner Ausdruck: Ci = Ci-1 ∧ Pi ∨ Gi Erste Stufe i=0: C0 = C-1 ∧ P0 ∨ G0 Durch sukzessives Einsetzen erhält man die weiteren Stufen: Zweite Stufe i = 1: C1 = C0 ∧ P1 ∨ G1 = (C-1 ∧ P0 ∨ G0) ∧ P1 ∨ G1 C1 = (C-1 ∧ P1 ∧ P0 ) ∨ (P1 ∧G0) ∨ G1 ... Die Realisierung erfolgt in einem Carry-Look-Ahead Generator. Vorteile: • Jedes Carry-Bit hängt nur vom Eingangs-Carry C-1 sowie den Carry-Generate und Carry-Propagate Signalen ab. • Alle Ergebnisbits stehen gleichzeitig zur Verfügung. Dazu werden höchstens 3 Laufzeiten benötigt (2* durch die Volladdiererstufen und 1* durch den CLA-Generator). Nachteil: Höherer Hardwareaufwand im Vergleich zum Ripple-Carry-Addierer ( #Gatter = (n²+9n)/2 ) DIGITALTECHNIK 14-12 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Simulation eines 4-Bit Carry-Look-Ahead Addierers 35ns 35ns DIGITALTECHNIK 10ns 14-13 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz VHDL-Beschreibung eines 4-Bit Carry-Look-Ahead Addierers • Der Quellcode besteht aus drei entities: 1. dem Volladdierer ADD_COMP 2. dem Carry-Look-Ahead Generator CLA_GEN 3. dem strukturellen VHDL-Entwurf des Carry-Look-Ahead Addierers CLA_ADD • Zur Verdeutlichung des Zeitverhaltens werden symbolische Laufzeiten verwendet (10ns für die Volladdierersignale, 15ns für die CLA-Generator-Signale) -- 1-Bit Volladdierer fuer CLA-Generator entity ADD_COMP is port( A, B, CIN: in bit; SUM, CO, CG, CP: out bit); end ADD_COMP; architecture CLA_ARCH of ADD_COMP is begin SUM <= A xor B xor CIN after 10 ns; CO <= (A and B) or (CIN and (A xor B)) after 10 ns; CP <= A xor B after 10 ns; CG <= A and B after 10 ns; end CLA_ARCH; DIGITALTECHNIK 14-14 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz -- 4-Bit Carry-Look-Ahead Generator entity CLA_GEN is port( G, P: in bit_vector(3 downto 0); CIN: in bit; C: out bit_vector(2 downto 0); CGOUT, CPOUT: out bit); end CLA_GEN; architecture CLA of CLA_GEN is begin C(0) <= G(0) or (P(0) and CIN) after 15 ns; C(1) <= G(1) or (P(1) and G(0)) or (P(1) and P(0) and CIN) after 15 ns; C(2) <= G(2) or (P(2) and G(1)) or (P(2) and P(1) and G(0)) or (P(2) and P(1) and P(0) and CIN) after 15 ns; CPOUT<= (P(3) and P(2) and P(1) and P(0)) after 15 ns; CGOUT<= G(3) or (P(3) and G(2)) or (P(3) and P(2) and G(1)) or (P(3) and P(2) and P(1) and G(0))after 15 ns; -- or --(P(3) and P(2) and P(1) and P(0) and CIN) after 15 ns;-- Fehler!!!!! end CLA; DIGITALTECHNIK 14-15 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz entity CLA_ADD is -- 4-Bit Carry-Look-Ahead Addierer port( A, B: in bit_vector(3 downto 0); CIN: in bit; SUM: out bit_vector(3 downto 0); CGOUT, CPOUT: out bit); end CLA_ADD; architecture STRUKTUR of CLA_ADD is component ADD_COMP -- Komponenten Deklaration des Volladdierers port( A, B, CIN: in bit; SUM, CO, CG, CP: out bit); end component; component CLA_GEN -- Komponenten Deklaration des CLA-Generators port( G, P: in bit_vector(3 downto 0); CIN: in bit; C: out bit_vector(2 downto 0); CGOUT, CPOUT: out bit); end component; signal CG, CP, CARRY: bit_vector(3 downto 0); -- lokale Signale der Architektur begin CARRY(0) <= CIN; VA: for I in 0 to 3 generate -- 4 Volladdierer erzeugen und anschliessen ADD: ADD_COMP port map (A(I), B(I), CARRY(I), SUM(I), open, CG(I), CP(I)); end generate VA; CLA: CLA_GEN port map(CG, CP, CIN, CARRY(3 downto 1), CGOUT, CPOUT);-- CLA-Generator end STRUKTUR; DIGITALTECHNIK 14-16 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Hinweise zum strukturellen VHDL-Entwurf • Jede bereits compilierte entity kann auf einer übergeordneten Ebene als component verwendet werden. • In der höheren Designhierarchie muss eine Komponentendeklaration vorhanden sein. Darin muss der Name und die port-Definition genauso angegeben werden, wie in der entity-Deklaration. Die Komponentendeklaration steht vor dem begin der Architektur. • Die Komponenten-Instanziierung erfolgt durch Angabe eines Labels und des Komponentennamens. • Der Verbindung der Komponenten mit Signalen erfolgt in einer port map-Anweisung. Dabei muss (als eine Möglichkeit) die Reihenfolge der in der port map-Anweisung übergebenen Signale bzw. Signaltypen identisch zu den Signalen in der Komponentendeklaration sein. • Ausgangssignale einer Komponente müssen nicht angeschlossen werden (open). • Es besteht die Möglichkeit, in einer generate-Anweisung Komponenten in einer for-Schleife automatisch instanziieren zu lassen. Dazu muss der Schleifenindex nicht extra deklariert werden. Innerhalb der Schleife kann z.B. bei der Verwendung von Bussignalen der Schleifenindex verwendet werden. Die Schleife wird durch eine end generate-Anweisung beendet. Die for generate Anweisung muss, genauso wie die Komponenten-Instanziierungen, ein Label tragen. DIGITALTECHNIK 14-17 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14.5 Kombinierter Addierer und Subtrahierer 1-Bit Volladdierer / Subtrahierer (AS_COMP): Um die Mikroprozessor-Hardware möglichst einfach zu halten, wird das Carry-Flag bei der Subtraktion häufig invertiert genutzt (d.h. Carry = 1 bedeutet bei der Subtraktion KEINEN Übertrag und bei der Addition einen Übertrag). Das Carry-Flag muss in der Software entsprechend interpretiert werden! Ein Selektionseingang der AS-Komponente entscheidet: SEL = 0 → Addition (A+B) SEL = 0 → Subtraktion (A-B) Sn: SEL Cn An Bn Sn Cn+1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 ... ... ... ... Bn Cn+1 SEL Bn SEL An Cn DIGITALTECHNIK An Cn 14-18 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 4-Bit Ripple-Carry Addierer / Subtrahierer DIGITALTECHNIK 14-19 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Analyse des 4-Bit Addierers / Subtrahieres DIGITALTECHNIK 14-20 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz 14.6 Arithmetik in VHDL VHDL-Simulations und Synthesewerkzeuge unterstützen einige arithmetische Operationen. Dazu empfiehlt es sich den Datentyp, std_logic_vector zu verwenden. Dazu muss zusätzlich zur Bibliothek ieee.std_logic_1164 eine der Bibliotheken ieee.std_logic_unsigned (für vorzeichenlose Arithmetik), ieee.std_logic_signed (für vorzeichenbehaftete Arithmetik) oder ieee.std_logic_arith (für gemischt vorzeichenlose und vorzeichenbehaftete Arithmetik) eingebunden werden: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- Nur vorzeichenlose Operationen -- use ieee.std_logic_signed.all; -- Nur vorzeichenbehaftete Operationen -- use ieee.std_logic_arith.all; -- Gemischte Operationen, diese Bib-- liothek gilt nur im Zusammenhang mit -- den Datentypen signed und unsigned !! entity XYZ is ... In diesen Bibliotheken sind die Vergleichsoperatoren =, /=, <, <=, >, >= für den Datentyp std_logic_vector definiert. DIGITALTECHNIK 14-21 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Arithmetische Operatoren Operator + abs * / ** mod rem Bedeutung Addition Subtraktion Absolutwertbildung Multiplikation Beispiel Y <= A + B Y <= A - B Y <= abs(A) Y <= A * B Division Zweierpotenz Y <= A / B Y <= 2**A Rest der Division A/B A mod B = A - B*n; (n ist der ganzzahlige Teil der Division) Das Vorzeichen des Ergebnisses ist gleich dem von B. Rest der Division A/B. A rem B = A - (A/B)*B Das Vorzeichen des Ergebnisses ist gleich dem von A. Y <= A mod B Y <= A rem B DIGITALTECHNIK Synthesefähigkeit synthesefähig synthesefähig synthesefähig von den meisten Synthesewerkzeugen unterstützt meist nicht synthesefähig nur Potenzen von 2 erlaubt, da dies einer einfachen Linksverschiebung einer Binärzahl entspricht synthesefähig falls B Zweierpotenz von 2 Beispiele s. z.B. [13] und [39] synthesefähig falls B Zweierpotenz von 2 Beispiele s. z.B. [13] und [39] 14-22 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Beispiel: Kombinierter Addierer / Subtrahierer library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_signed.all; entity ARITH is port(A ,B: in std_logic_vector(3 downto 0); SEL: in bit; SUM : out std_logic_vector(3 downto 0); ZERO: out bit); end ARITH; architecture VERHALTEN of ARITH is begin P1: process(A, B, SEL) variable SUMVAR: std_logic_vector(3 downto 0); -- Deklaration einer Variablen begin if SEL='0' then SUMVAR := A+B; -- Addition else SUMVAR := A-B; -- Subtraktion end if; if SUMVAR = "0000" then -- Vergleich auf "0000" ZERO <= '1'; else ZERO <= '0'; end if; SUM <= SUMVAR; -- Ausgangssignalzuweisung end process P1; end VERHALTEN; DIGITALTECHNIK 14-23 Hochschule für Angewandte Wissenschaften Hamburg Prof. Dr. J. Reichardt FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Prof. Dr. B. Schwarz Syntheseergebnis (Viewlogic) • Es wird ein vorbereitetes 4-Bit kombiniertes Addierer/Subtrahierer Modul verwendet. • Die Überprüfung auf 0 erfolgt durch ein Vierfach-OR. • Wenn als Eingangs- bzw. Ausgangssignale der Datentyp bit_vector verwendet werden soll, so sind Konversionsfunktionen erforderlich. Diese sind wie folgt deklariert: function To_bit (s : std_ulogic; xmap : bit ) function To_bitvector (s : std_logic_vector; xmap : bit ) function To_StdLogicVector ( b : bit_vector ) return bit; return bit_vector; return std_logic_vector; • Eine Konversion zwischen den skalaren Typen bit und std_logic_vector existiert nicht! DIGITALTECHNIK 14-24