diff options
Diffstat (limited to 'testsuite/synth/issue1591/issue.vhdl')
-rw-r--r-- | testsuite/synth/issue1591/issue.vhdl | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/testsuite/synth/issue1591/issue.vhdl b/testsuite/synth/issue1591/issue.vhdl new file mode 100644 index 000000000..242c1ee3b --- /dev/null +++ b/testsuite/synth/issue1591/issue.vhdl @@ -0,0 +1,70 @@ +library ieee; + use ieee.std_logic_1164.all; + + +entity issue is + port ( + clk : in std_logic + ); +end entity issue; + + +architecture psl of issue is + + signal a : boolean := true; + +begin + + + testG : if true generate + + signal b : boolean := true; + signal c : boolean := false; + + begin + + c <= true; + + -- All is sensitive to rising edge of clk + default clock is rising_edge(clk); + + -- This assertion works + INITIAL_0_a : assert always a; + + -- This assertion generates an ghdl-yosys-plugin error + -- ERROR: Assert `n.id != 0' failed in src/ghdl.cc:204. + INITIAL_1_a : assert always b; + + -- This assertion works + INITIAL_2_a : assert always c; + + end generate testG; + + -- Same error occurs when using a block instead of a generate + -- statement + testB : block is + + signal b : boolean := true; + signal c : boolean := false; + + begin + + c <= true; + + -- All is sensitive to rising edge of clk + default clock is rising_edge(clk); + + -- This assertion works + INITIAL_0_a : assert always a; + + -- This assertion generates an ghdl-yosys-plugin error + -- ERROR: Assert `n.id != 0' failed in src/ghdl.cc:204. + INITIAL_1_a : assert always b; + + -- This assertion works + INITIAL_2_a : assert always c; + + end block testB; + + +end architecture psl; |