diff options
Diffstat (limited to 'src/vhdl/vhdl-prints.adb')
-rw-r--r-- | src/vhdl/vhdl-prints.adb | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/vhdl/vhdl-prints.adb b/src/vhdl/vhdl-prints.adb index 16f9e0e37..7c87b3df5 100644 --- a/src/vhdl/vhdl-prints.adb +++ b/src/vhdl/vhdl-prints.adb @@ -3893,7 +3893,7 @@ package body Vhdl.Prints is end if; end Disp_PSL_NFA; - procedure Disp_Psl_Assert_Statement + procedure Disp_Psl_Assert_Directive (Ctxt : in out Ctxt_Class; Stmt : Iir) is begin Start_Hbox (Ctxt); @@ -3909,7 +3909,25 @@ package body Vhdl.Prints is Disp_Token (Ctxt, Tok_Semi_Colon); Close_Hbox (Ctxt); Disp_PSL_NFA (Get_PSL_NFA (Stmt)); - end Disp_Psl_Assert_Statement; + end Disp_Psl_Assert_Directive; + + procedure Disp_Psl_Assume_Directive + (Ctxt : in out Ctxt_Class; Stmt : Iir) is + begin + Start_Hbox (Ctxt); + if Vhdl_Std < Vhdl_08 then + OOB.Put ("--psl "); + end if; + Disp_Label (Ctxt, Stmt); + Disp_Postponed (Ctxt, Stmt); + Disp_Token (Ctxt, Tok_Psl_Assume); + Disp_Psl_Expression (Ctxt, Get_Psl_Property (Stmt)); + Disp_Report_Expression (Ctxt, Stmt); + Disp_Severity_Expression (Ctxt, Stmt); + Disp_Token (Ctxt, Tok_Semi_Colon); + Close_Hbox (Ctxt); + Disp_PSL_NFA (Get_PSL_NFA (Stmt)); + end Disp_Psl_Assume_Directive; procedure Disp_Psl_Cover_Directive (Ctxt : in out Ctxt_Class; Stmt : Iir) is @@ -3984,8 +4002,10 @@ package body Vhdl.Prints is when Iir_Kind_Psl_Declaration | Iir_Kind_Psl_Endpoint_Declaration => Disp_Psl_Declaration (Ctxt, Stmt); - when Iir_Kind_Psl_Assert_Statement => - Disp_Psl_Assert_Statement (Ctxt, Stmt); + when Iir_Kind_Psl_Assert_Directive => + Disp_Psl_Assert_Directive (Ctxt, Stmt); + when Iir_Kind_Psl_Assume_Directive => + Disp_Psl_Assume_Directive (Ctxt, Stmt); when Iir_Kind_Psl_Cover_Directive => Disp_Psl_Cover_Directive (Ctxt, Stmt); when Iir_Kind_Psl_Restrict_Directive => |