aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/grt/grt-lib.adb6
-rw-r--r--src/grt/grt-options.adb4
-rw-r--r--src/grt/grt-options.ads3
-rw-r--r--src/vhdl/translate/trans-chap9.adb2
4 files changed, 12 insertions, 3 deletions
diff --git a/src/grt/grt-lib.adb b/src/grt/grt-lib.adb
index af3b52567..13a0f1da4 100644
--- a/src/grt/grt-lib.adb
+++ b/src/grt/grt-lib.adb
@@ -139,8 +139,10 @@ package body Grt.Lib is
procedure Ghdl_Psl_Cover_Failed
(Str : Std_String_Ptr; Severity : Integer; Loc : Ghdl_Location_Ptr) is
begin
- Do_Report ("psl cover failure",
- Str, "sequence not covered", Severity, Loc);
+ if Flag_Psl_Report_Uncovered then
+ Do_Report ("psl cover failure",
+ Str, "sequence not covered", Severity, Loc);
+ end if;
end Ghdl_Psl_Cover_Failed;
procedure Ghdl_Report (Str : Std_String_Ptr;
diff --git a/src/grt/grt-options.adb b/src/grt/grt-options.adb
index 45336a268..bf29c1a5e 100644
--- a/src/grt/grt-options.adb
+++ b/src/grt/grt-options.adb
@@ -83,6 +83,8 @@ package body Grt.Options is
P (" files opened in write or append mode (TEXTIO).");
P (" --read-wave-opt=FILENAME read a wave option file.");
P (" --write-wave-opt=FILENAME write a wave option file.");
+ P (" --psl-report-uncovered Reports all uncovered PSL cover points as");
+ P (" warning at the end of simulation");
-- P (" --threads=N use N threads for simulation");
P ("Additional features:");
P (" --has-feature=X test presence of feature X");
@@ -432,6 +434,8 @@ package body Grt.Options is
then
Wave_Opt.File.Start
(Option (18 .. Option'Last), To_Be_Created => True);
+ elsif Option = "--psl-report-uncovered" then
+ Flag_Psl_Report_Uncovered := True;
elsif not Grt.Hooks.Call_Option_Hooks (Option) then
Error_S ("unknown run option '");
Diag_C (Option);
diff --git a/src/grt/grt-options.ads b/src/grt/grt-options.ads
index 03f83f485..8da4ace94 100644
--- a/src/grt/grt-options.ads
+++ b/src/grt/grt-options.ads
@@ -165,6 +165,9 @@ package Grt.Options is
-- Set maximum dynamic stack allocation.
Max_Stack_Allocation : Ghdl_Index_Type := 128 * 1024;
+ -- Report all uncovered cover points at the end of simulation
+ Flag_Psl_Report_Uncovered : Boolean := False;
+
-- Helper: extract time from STR (a number followed by a unit, without
-- spaces; the number is optionnal). In case of error, display an error
-- message and returns -1.
diff --git a/src/vhdl/translate/trans-chap9.adb b/src/vhdl/translate/trans-chap9.adb
index 60b19d222..158adea33 100644
--- a/src/vhdl/translate/trans-chap9.adb
+++ b/src/vhdl/translate/trans-chap9.adb
@@ -494,7 +494,7 @@ package body Trans.Chap9 is
Start_Association (Assocs, Ghdl_Psl_Cover_Failed);
New_Association (Assocs, New_Obj_Value (Msg_Var));
New_Association (Assocs, New_Lit (Get_Ortho_Literal
- (Severity_Level_Error)));
+ (Severity_Level_Warning)));
New_Association (Assocs, New_Address (New_Obj (Loc),
Ghdl_Location_Ptr_Node));
New_Procedure_Call (Assocs);