LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY hatb IS
END hatb;
ARCHITECTURE behavior OF hatb IS
COMPONENT hlfadder
PORT(
a : IN std_logic;
b : IN std_logic;
sum : OUT std_logic;
carry : OUT std_logic
);
END COMPONENT;
BEGIN
uut: hlfadder PORT MAP (
a => a,
b => b,
sum => sum,
carry => carry
);
--Inputs
signal a : std_logic := '0';
signal b : std_logic := '0';
--Outputs
signal sum : std_logic;
signal carry : std_logic;
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 10 ns;
a<='0';
b<='0';
wait for 10 ns;
a<='0';
b<='1';
wait for 10 ns;
a<='1';
b<='0';
wait for 10 ns;
a<='1';
b<='1';
end process;
END;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
full adder
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY faatb IS
END faatb;
ARCHITECTURE behavior OF faatb IS
COMPONENT fa1tb
PORT(
a : IN std_logic;
b : IN std_logic;
cin : IN std_logic;
sum : OUT std_logic;
carry : OUT std_logic
);
END COMPONENT;
signal a : std_logic := '0';
signal b : std_logic := '0';
signal cin : std_logic := '0';
signal sum : std_logic;
signal carry : std_logic;
BEGIN
uut: fa1tb PORT MAP (
a => a,
b => b,
cin => cin,
sum => sum,
carry => carry
);
stim_proc: process
begin
wait for 10 ns;
a<='0';
b<='0';
cin<='0';
wait for 10 ns;
a<='0';
b<='0';
cin<='1';
wait for 10 ns;
a<='0';
b<='1';
cin<='0';
wait for 10 ns;
a<='0';
b<='1';
cin<='1';
wait for 10 ns;
a<='1';
b<='0';
cin<='0';
wait for 10 ns;
a<='1';
b<='0';
cin<='1';
wait for 10 ns;
a<='1';
b<='1';
cin<='0';
wait for 10 ns;
a<='1';
b<='1';
cin<='1';
wait for 10 ns;
a<='0';
b<='0';
cin<='0';
end process;
END;