1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity additionneur is port (
A:in std_logic_vector(3 downto 0);
S:out std_logic_vector(3 downto 0);
COUT:out std_logic_vector(3 downto 0));
end entity;
architecture arch_add of additionneur is
component add_1 port(
a:in std_logic;
b:in std_logic;
cin:in std_logic;
s,cout:out std_logic);
end component;
signal ii:std_logic_vector(2 downto 0);
CONSTANT C :std_logic_vector(3 downto 0):= "0011";
Begin
i0:add_1 port map(a=>A(0),b=>C(0),cin=>'0',s=>S(0),COUT=>ii(0));
i3:add_1 port map(a=>A(3),b=>C(3),cin=>ii(2),s=>S(3),COUT=>cout);
boucle: for j in 1 to 2 generate
inst: add_1 port map (a=>A(j),b=>'0',cin=>ii(j-1),s=>s(j),cout=>ii(j));
end generate;
end arch_add; |
Partager