Hallo ich mochte das 2er-Komplent eines Binärwortes berechnen und ausgeben. Ich habe ein Problem mit der Definition der Konstanten "null" für die Port Map-Anweisung. Irgendein Syntax-Fehler (Error (10500): VHDL syntax error at Auf_6a.vhd(18) near text "null"; expecting an identifier). Für eine kleine Hilfe wäre ich dankbar. Anbei der Code:
1 | library ieee; |
2 | use ieee.std_logic_1164.all, ieee.std_logic_arith.all; |
3 | |
4 | entity Addierer is |
5 | generic (n: natural :=4); -- Wortbreite des Addierers |
6 | port (x : std_logic_vector (n-1 downto 0); |
7 | z : std_logic_vector (n-1 downto 0)); |
8 | |
9 | end entity Addierer; |
10 | |
11 | architecture struktur of Addierer is |
12 | constant null : std_logic_vector (n-1 downto 0) :=(others => '0'); |
13 | component RCAddierer is |
14 | port (a, b: in std_logic_vector (n-1 downto 0); -- Summanden, |
15 | cin : in std_logic; -- Übertragbit "carry"- |
16 | s : out std_logic_vector (n-1 downto 0); -- Summe, |
17 | cout: out std_logic); -- Übertragbit "carry" des Addierers |
18 | end component RCAddierer; |
19 | begin
|
20 | p1: RCAddierer |
21 | generic map(n) |
22 | port map (not x, null, '1', z (n-1 downto 0), open); |
23 | end architecture struktur; |