aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1675/tb_patgen.vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-03-26 18:37:16 +0100
committerTristan Gingold <tgingold@free.fr>2021-03-27 08:46:30 +0100
commitba2d9a39cb0c90c49f44d0d52258e8cc4920e15e (patch)
tree23bd085596edb6d38b6e6cd90bf55269348ed33d /testsuite/synth/issue1675/tb_patgen.vhdl
parentc6d3502d93ee22092799d3d4747be57bdd541e38 (diff)
downloadghdl-ba2d9a39cb0c90c49f44d0d52258e8cc4920e15e.tar.gz
ghdl-ba2d9a39cb0c90c49f44d0d52258e8cc4920e15e.tar.bz2
ghdl-ba2d9a39cb0c90c49f44d0d52258e8cc4920e15e.zip
testsuite/synth: Add a test case. For #1675
Diffstat (limited to 'testsuite/synth/issue1675/tb_patgen.vhdl')
-rw-r--r--testsuite/synth/issue1675/tb_patgen.vhdl54
1 files changed, 54 insertions, 0 deletions
diff --git a/testsuite/synth/issue1675/tb_patgen.vhdl b/testsuite/synth/issue1675/tb_patgen.vhdl
new file mode 100644
index 000000000..3b0586ef0
--- /dev/null
+++ b/testsuite/synth/issue1675/tb_patgen.vhdl
@@ -0,0 +1,54 @@
+entity tb_patgen is
+end tb_patgen;
+
+library ieee;
+use ieee.std_logic_1164.all;
+
+use work.pkg.all;
+
+architecture behav of tb_patgen is
+ signal clk : std_logic;
+ signal rst : std_logic;
+ signal bo : bus_rec_out_t;
+begin
+ dut: entity work.patgen
+ port map (clk, rst, bo);
+
+ process
+ procedure pulse is
+ begin
+ clk <= '0';
+ wait for 1 ns;
+ clk <= '1';
+ wait for 1 ns;
+ end pulse;
+ begin
+ rst <= '1';
+ pulse;
+ assert bo.dat = x"01" severity failure;
+ assert bo.rst = '1' severity failure;
+ assert bo.stb = '0' severity failure;
+
+ rst <= '0';
+ pulse;
+ assert bo.dat = x"02" severity failure;
+ assert bo.rst = '0' severity failure;
+ assert bo.stb = '1' severity failure;
+
+ pulse;
+ assert bo.dat = x"03" severity failure;
+ assert bo.rst = '0' severity failure;
+ assert bo.stb = '1' severity failure;
+
+ pulse;
+ assert bo.dat = x"05" severity failure;
+ assert bo.rst = '0' severity failure;
+ assert bo.stb = '1' severity failure;
+
+ pulse;
+ assert bo.dat = x"01" severity failure;
+ assert bo.rst = '0' severity failure;
+ assert bo.stb = '1' severity failure;
+ wait;
+ end process;
+end behav;