architecture stimulus of testbench is component full_adder port ( l, m, n : in std_logic; sum, cout : out std_logic); end component; signal ll, mm, nn, ss, carry : std_logic; begin dut : full_adder port map (ll, mm, nn, ss, carry); p1: process begin ll <= '0'; wait for 40 ns; ll <= '1'; wait for 40 ns; end process; p2 : process begin mm <= '0'; wait for 20 ns; mm <= '1'; wait for 20 ns; end process; p3 : process begin nn <= '0'; wait for 10 ns; nn <= '1'; wait for 10 ns; end process; end stimulus;
configuration cfg of testbench is for stimulus end for; end cfg;
ちなみに、全加算器のソースは次のとおりです。
library ieee; use ieee.std_logic_1164.all;
entity full_adder is port ( l, m, n: in std_logic; sum, carry : out std_logic); end full_adder;
architecture structure of full_adder is component half_adder port ( a, b : in std_logic; s, c : out std_logic); end component ; signal s0, carry0, carry1 : std_logic; begin half_adder0 : half_adder port map (s => s0, c => carry0, a => l, b => m); half_adder1 : half_adder port map (s => sum, c => carry1, a => s0, b => n); carry <= (carry0) or (carry1); end structure;