From 847de3fbeb301f60b00d59524c14cf74f562c268 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 15 Oct 2019 20:39:54 +0200 Subject: vhdl: Add the implicit [*] at start of PSL cover sequence. --- src/vhdl/vhdl-canon.adb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/vhdl') 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); -- cgit v1.2.3