aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1654/checker.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/synth/issue1654/checker.vhdl')
-rw-r--r--testsuite/synth/issue1654/checker.vhdl25
1 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/synth/issue1654/checker.vhdl b/testsuite/synth/issue1654/checker.vhdl
new file mode 100644
index 000000000..0f302fe5b
--- /dev/null
+++ b/testsuite/synth/issue1654/checker.vhdl
@@ -0,0 +1,25 @@
+library ieee;
+ use ieee.std_logic_1164.all;
+
+entity checker is
+ port (
+ clk : in std_logic;
+ a, b, c, d : std_logic
+ );
+end;
+
+
+architecture psl of checker is
+begin
+ -- All is sensitive to rising edge of clk
+ default clock is rising_edge(clk);
+
+ -- This assertion holds
+ WITH_sync_ABORT_a : assert (always a -> next (b before a)) sync_abort c;
+
+ -- This assertion should also hold, but it does not
+ -- GHDL seems to implement abort as sync_abort instead of async_abort
+ -- See 1850-2010 6.2.1.5.1 abort, async_abort, and sync_abort
+ WITH_async_ABORT_a : assert (always a -> next (b before a)) async_abort d;
+end architecture psl;
+