aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-canon.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-10-15 20:39:54 +0200
committerTristan Gingold <tgingold@free.fr>2019-10-15 20:39:54 +0200
commit847de3fbeb301f60b00d59524c14cf74f562c268 (patch)
tree4b7de2d449da44e80fc194a625249237ac414a2a /src/vhdl/vhdl-canon.adb
parentbbdbb49e9c72b322eb2b07cd07ea164a508be7c3 (diff)
downloadghdl-847de3fbeb301f60b00d59524c14cf74f562c268.tar.gz
ghdl-847de3fbeb301f60b00d59524c14cf74f562c268.tar.bz2
ghdl-847de3fbeb301f60b00d59524c14cf74f562c268.zip
vhdl: Add the implicit [*] at start of PSL cover sequence.
Diffstat (limited to 'src/vhdl/vhdl-canon.adb')
-rw-r--r--src/vhdl/vhdl-canon.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb
index bddcc228f..f7778db00 100644
--- a/src/vhdl/vhdl-canon.adb
+++ b/src/vhdl/vhdl-canon.adb
@@ -1795,6 +1795,13 @@ package body Vhdl.Canon is
-- Generate the NFA.
Fa := PSL.Build.Build_SERE_FA (Seq);
+
+ -- IEEE1850-2005 PSL 7.1.6
+ -- cover {r} is semantically equivalent to cover {[*]; r}. That is,
+ -- there is an implicit [*] starting the sequence.
+ if Get_Kind (Stmt) = Iir_Kind_Psl_Cover_Directive then
+ PSL.NFAs.Utils.Set_Init_Loop (Fa);
+ end if;
Set_PSL_NFA (Stmt, Fa);
Canon_Psl_Clocked_NFA (Stmt);