diff options
-rw-r--r-- | testsuite/gna/issue772/ent.vhdl | 38 | ||||
-rwxr-xr-x | testsuite/gna/issue772/testsuite.sh | 9 |
2 files changed, 47 insertions, 0 deletions
diff --git a/testsuite/gna/issue772/ent.vhdl b/testsuite/gna/issue772/ent.vhdl new file mode 100644 index 000000000..2bcdd4e5a --- /dev/null +++ b/testsuite/gna/issue772/ent.vhdl @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + + +entity ent is +end ent; + + +architecture sim of ent is + + signal s_clk : std_logic := '1'; + signal s_test : std_logic := '0'; + +begin + + s_clk <= not s_clk after 5 ns; + s_test <= '1' after 30 ns, + '0' after 40 ns; + + process is + begin + wait until rising_edge(s_clk); + -- This works + if s_test'stable(10 ns) then + report "s_test stable"; + else + report "s_test changed"; + end if; + end process; + + -- This works + -- psl assert always (s_test'stable)@rising_edge(s_clk); + + -- This leads to an compile error + -- psl assert always (s_test'stable(10 ns))@rising_edge(s_clk); + +end architecture sim; diff --git a/testsuite/gna/issue772/testsuite.sh b/testsuite/gna/issue772/testsuite.sh new file mode 100755 index 000000000..0655cfeda --- /dev/null +++ b/testsuite/gna/issue772/testsuite.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze -fpsl ent.vhdl + +clean + +echo "Test successful" |