aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/memmux01/tb_memmux05.vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-11-03 07:41:11 +0100
committerTristan Gingold <tgingold@free.fr>2019-11-03 21:15:07 +0100
commit7c81c5a02e0d2eabab6aa90405dd947302e68674 (patch)
tree08c45be599fca0a84baa946268018d343ef89136 /testsuite/synth/memmux01/tb_memmux05.vhdl
parentf9102057180443575edcebe71edb6c3eb1fc571d (diff)
downloadghdl-7c81c5a02e0d2eabab6aa90405dd947302e68674.tar.gz
ghdl-7c81c5a02e0d2eabab6aa90405dd947302e68674.tar.bz2
ghdl-7c81c5a02e0d2eabab6aa90405dd947302e68674.zip
testsuite/synth/memmux01: add a test
Diffstat (limited to 'testsuite/synth/memmux01/tb_memmux05.vhdl')
-rw-r--r--testsuite/synth/memmux01/tb_memmux05.vhdl68
1 files changed, 68 insertions, 0 deletions
diff --git a/testsuite/synth/memmux01/tb_memmux05.vhdl b/testsuite/synth/memmux01/tb_memmux05.vhdl
new file mode 100644
index 000000000..919a3fd5b
--- /dev/null
+++ b/testsuite/synth/memmux01/tb_memmux05.vhdl
@@ -0,0 +1,68 @@
+entity tb_memmux05 is
+end tb_memmux05;
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+architecture behav of tb_memmux05 is
+ signal ad : std_logic;
+ signal val : std_logic_vector (1 downto 0);
+ signal dat, res : std_logic_vector (2 downto 0);
+begin
+ dut : entity work.memmux05
+ port map (
+ ad => ad,
+ val => val,
+ dat => dat,
+ res => res);
+
+ process
+ begin
+ dat <= "110";
+
+ ad <= '0';
+ val <= "00";
+ wait for 1 ns;
+ assert res = "100" report "1) res=" & to_bstring (res) severity failure;
+
+ ad <= '1';
+ val <= "00";
+ wait for 1 ns;
+ assert res = "000" report "2) res=" & to_bstring (res) severity failure;
+
+ ad <= '0';
+ val <= "01";
+ wait for 1 ns;
+ assert res = "101" report "3) res=" & to_bstring (res) severity failure;
+
+ ad <= '0';
+ val <= "10";
+ wait for 1 ns;
+ assert res = "110" report "4) res=" & to_bstring (res) severity failure;
+
+ ad <= '1';
+ val <= "10";
+ wait for 1 ns;
+ assert res = "100" report "5) res=" & to_bstring (res) severity failure;
+
+ dat <= "010";
+
+ ad <= '0';
+ val <= "00";
+ wait for 1 ns;
+ assert res = "000" report "6) res=" & to_bstring (res) severity failure;
+
+ ad <= '1';
+ val <= "00";
+ wait for 1 ns;
+ assert res = "000" report "7) res=" & to_bstring (res) severity failure;
+
+ ad <= '1';
+ val <= "10";
+ wait for 1 ns;
+ assert res = "100" report "8) res=" & to_bstring (res) severity failure;
+
+ wait;
+ end process;
+end behav;