Initial commit
This commit is contained in:
54
first/or_test.vhdl
Normal file
54
first/or_test.vhdl
Normal file
@@ -0,0 +1,54 @@
|
||||
-- Simple OR gate design
|
||||
library IEEE;
|
||||
use IEEE.std_logic_1164.all;
|
||||
use std.textio.all;
|
||||
|
||||
entity or_test is
|
||||
end or_test;
|
||||
|
||||
architecture rtl of or_test is
|
||||
|
||||
component or_gate is
|
||||
port(
|
||||
a: in std_logic;
|
||||
b: in std_logic;
|
||||
q: out std_logic
|
||||
);
|
||||
end component;
|
||||
|
||||
signal a_in, b_in, q_out: std_logic;
|
||||
|
||||
begin
|
||||
dut: or_gate port map(a_in, b_in, q_out);
|
||||
|
||||
process
|
||||
begin
|
||||
|
||||
a_in <= '0';
|
||||
b_in <= '0';
|
||||
wait for 1 ns;
|
||||
assert(q_out='0') report "Fail 0/0" severity error;
|
||||
|
||||
a_in <= '0';
|
||||
b_in <= '1';
|
||||
wait for 1 ns;
|
||||
assert(q_out='1') report "Fail 0/1" severity error;
|
||||
|
||||
a_in <= '1';
|
||||
b_in <= 'X';
|
||||
wait for 1 ns;
|
||||
assert(q_out='1') report "Fail 1/X" severity error;
|
||||
|
||||
a_in <= '1';
|
||||
b_in <= '1';
|
||||
wait for 1 ns;
|
||||
assert(q_out='1') report "Fail 1/1" severity error;
|
||||
|
||||
-- Clear inputs
|
||||
a_in <= '0';
|
||||
b_in <= '0';
|
||||
|
||||
assert false report "Test done." severity note;
|
||||
wait;
|
||||
end process;
|
||||
end rtl;
|
||||
Reference in New Issue
Block a user