📄 testadd.vhd
字号:
-------------------------------------------------------
-- Test bench for FULLADDER
--
-- See FULLADD.VHD for a description.
--
use work.all;
entity TESTBNCH is
end TESTBNCH;
architecture stimulus of TESTBNCH is
component FULLADDER
port (
X: in bit;
Y: in bit;
Cin: in bit;
Cout: out bit;
Sum: out bit
);
end component;
constant PERIOD: time := 100 ns;
signal X: bit;
signal Y: bit;
signal Cin: bit;
signal Cout: bit;
signal Sum: bit;
signal done: boolean := false;
begin
DUT: FULLADDER port map (
X => X,
Y => Y,
Cin => Cin,
Cout => Cout,
Sum => Sum
);
STIMULUS1: process
begin
-- Sequential stimulus goes here...
Cin <= '0';
Y <= '0';
X <= '0';
wait for PERIOD; -- Sum='0', Cout='0'
assert (Sum = '0' and Cout = '0')
report "Adder failed!" severity error;
Cin <= '0';
Y <= '1';
X <= '0';
wait for PERIOD; -- Sum='1', Cout='0'
assert (Sum = '1' and Cout = '0')
report "Adder failed!" severity error;
Cin <= '0';
Y <= '1';
X <= '1';
wait for PERIOD; -- Sum='0', Cout='1'
assert (Sum = '0' and Cout = '1')
report "Adder failed!" severity error;
Cin <= '1';
Y <= '0';
X <= '0';
wait for PERIOD; -- Sum='1', Cout='0'
assert (Sum = '1' and Cout = '0')
report "Adder failed!" severity error;
Cin <= '1';
Y <= '1';
X <= '0';
wait for PERIOD; -- Sum='0', Cout='1'
assert (Sum = '0' and Cout = '1')
report "Adder failed!" severity error;
Cin <= '1';
Y <= '1';
X <= '1';
wait for PERIOD; -- Sum='1', Cout='1'
assert (Sum = '1' and Cout = '1')
report "Adder failed!" severity error;
done <= true;
wait;
end process;
end stimulus;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -