A multi-bit adder -structural
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
ENTITY add8 IS
PORT (A,B : IN std_logic_vector (7 downto 0);
Cin : IN std_logic;
Cout : OUT std_logic;
Sum : OUT std_logic_vector (7 downto 0));
END add8;
ARCHITECTURE one OF add8 IS
COMPONENT full_add IS
PORT (A,B,Cin : IN std_logic;
Sum,Cout : OUT std_logic);
END COMPONENT;
FOR all : full_add USE ENTITY work.full_add(one);
SIGNAL ic : std_logic_vector (6 downto 0);
BEGIN
a0 : full_add PORT MAP (A(0),B(0),Cin,Sum(0),ic(0));
a1 : full_add PORT MAP (A(1),B(1),ic(0),Sum(1),ic(1));
a2 : full_add PORT MAP (A(2),B(2),ic(1),Sum(2),ic(2));
a3 : full_add PORT MAP (A(3),B(3),ic(2),Sum(3),ic(3));
a4 : full_add PORT MAP (A(4),B(4),ic(3),Sum(4),ic(4));
a5 : full_add PORT MAP (A(5),B(5),ic(4),Sum(5),ic(5));
a6 : full_add PORT MAP (A(6),B(6),ic(5),Sum(6),ic(6));
a7 : full_add PORT MAP (A(7),B(7),ic(6),Sum(7),Cout);
END one;
9/2/2012 –ECE 3561 Lect
9
Copyright 2012 -Joanne DeGroat, ECE, OSU 21