Vitas
Gast
|
Erstellt: 18.11.08, 17:54 Betreff: 4 Bit Addierer --> finde den Fehler nicht
drucken
Thema drucken weiterempfehlen
|
|
|
Hallo,
ich möchte einen 4 Bit Addierer erstellen, der zwei Vektoren a und b addiert und das Ergebnis auf zwei 7 Segment-Anzeigen ausgibt. Das erste Segment soll den überlauf Ausgeben und das zweite Segment das Ergebnis der Addition. Im folgenden Code habe ich einen oder mehrere Fehler:
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use work.led_anzeig_pack.all;
entity add_4 is port( a,b: in std_logic_vector(3 downto 0); --Eingang A und B
seg71: out std_logic_vector(7 downto 0); seg72: out std_logic_vector(7 downto 0)); --attribute pin_assign: string; --attribute pin_assign of a: signal is "47 46 45 44"; --attribute pin_assign of a: signal is "48 49 50 51"; --attribute pin_assign of seg71: signal is "24 23 22 20 19 25 27 31"; --attribute pin_assign of seg72: signal is "36 35 34 33 32 38 39 40"; end add_4;
architecture add_operand of add_4 is signal punkt: std_logic; variable y: std_logic_vector(7 downto 0); begin punkt <= '0'; y <= ("0000" & a)+("0000" & b); seg1: dual4_7Segment port map(y(7 downto 4),punkt,seg71); seg2: dual4_7Segment port map(y(3 downto 0),punkt,seg72);
end add_operand;
Das Package mit led_anzeig_pack habe ich weg gelassen da dort keine Fehler vorkommen. Fals etwas unklar ist fragt bitte.
Gruß Vitas
|
|