aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue2073/tb_ivoice2.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/synth/issue2073/tb_ivoice2.vhdl')
-rw-r--r--testsuite/synth/issue2073/tb_ivoice2.vhdl51
1 files changed, 51 insertions, 0 deletions
diff --git a/testsuite/synth/issue2073/tb_ivoice2.vhdl b/testsuite/synth/issue2073/tb_ivoice2.vhdl
new file mode 100644
index 000000000..133a3ca2a
--- /dev/null
+++ b/testsuite/synth/issue2073/tb_ivoice2.vhdl
@@ -0,0 +1,51 @@
+entity tb_ivoice2 is
+end tb_ivoice2;
+
+library ieee;
+use ieee.std_logic_1164.all;
+
+architecture behav of tb_ivoice2 is
+ signal romd : std_logic_vector (15 downto 0) := b"1010_0100_0100_0011";
+ signal pc : natural range 0 to 7;
+ signal res : std_logic_vector (7 downto 0);
+begin
+ dut: entity work.ivoice2
+ port map (pc, romd, res);
+
+ process
+ begin
+ pc <= 0;
+ wait for 1 ns;
+ assert res = b"0100_0011" severity failure;
+
+ pc <= 1;
+ wait for 1 ns;
+ assert res = b"0_0100_001" severity failure;
+
+ pc <= 2;
+ wait for 1 ns;
+ assert res = b"00_0100_00" severity failure;
+
+ pc <= 3;
+ wait for 1 ns;
+ assert res = b"100_0100_0" severity failure;
+
+ pc <= 4;
+ wait for 1 ns;
+ assert res = b"0100_0100" severity failure;
+
+ pc <= 5;
+ wait for 1 ns;
+ assert res = b"0_0100_010" severity failure;
+
+ pc <= 6;
+ wait for 1 ns;
+ assert res = b"10_0100_01" severity failure;
+
+ pc <= 7;
+ wait for 1 ns;
+ assert res = b"010_0100_0" severity failure;
+
+ wait;
+ end process;
+end behav;