aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-04-21 07:23:40 +0200
committerTristan Gingold <tgingold@free.fr>2022-04-21 07:23:40 +0200
commitde8bb483b7adf998644b61119271fb797a1fb032 (patch)
tree0a94cb2f50957d46d27460fc9a4d5df8342e52d9 /testsuite/synth
parent3c6df8a24f8ebfe5e1e95d1b718a9ca97f17d5d7 (diff)
downloadghdl-de8bb483b7adf998644b61119271fb797a1fb032.tar.gz
ghdl-de8bb483b7adf998644b61119271fb797a1fb032.tar.bz2
ghdl-de8bb483b7adf998644b61119271fb797a1fb032.zip
testsuite/synth: add a test for #2041
Diffstat (limited to 'testsuite/synth')
-rw-r--r--testsuite/synth/issue2041/mymodule.vhdl33
-rwxr-xr-xtestsuite/synth/issue2041/testsuite.sh8
2 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/synth/issue2041/mymodule.vhdl b/testsuite/synth/issue2041/mymodule.vhdl
new file mode 100644
index 000000000..124d9f2f6
--- /dev/null
+++ b/testsuite/synth/issue2041/mymodule.vhdl
@@ -0,0 +1,33 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+entity mymodule is
+ port (
+ clk: in std_logic;
+ reset: in std_logic;
+ i: in std_logic_vector(1 downto 0);
+ o: out std_logic
+ );
+end mymodule;
+
+architecture rtl of mymodule is
+signal o_next: std_logic;
+begin
+process(i) begin
+ o_next <= '0';
+ case i is
+ when "00" => o_next <= '0';
+ when others => o_next <= '1';
+ end case;
+end process;
+
+process(clk, reset) begin
+ if rising_edge(clk) then
+ if reset = '1' then
+ o <= '0';
+ else
+ o <= o_next;
+ end if;
+ end if;
+end process;
+end rtl ;
diff --git a/testsuite/synth/issue2041/testsuite.sh b/testsuite/synth/issue2041/testsuite.sh
new file mode 100755
index 000000000..e5c91ff5c
--- /dev/null
+++ b/testsuite/synth/issue2041/testsuite.sh
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+synth --out=verilog mymodule.vhdl -e > syn_mymodule.v
+grep -q default syn_mymodule.v
+
+echo "Test successful"