summaryrefslogtreecommitdiff
path: root/translate/grt/grt-stats.adb
diff options
context:
space:
mode:
Diffstat (limited to 'translate/grt/grt-stats.adb')
-rw-r--r--translate/grt/grt-stats.adb30
1 files changed, 28 insertions, 2 deletions
diff --git a/translate/grt/grt-stats.adb b/translate/grt/grt-stats.adb
index 284cc6a..fb8a692 100644
--- a/translate/grt/grt-stats.adb
+++ b/translate/grt/grt-stats.adb
@@ -110,6 +110,10 @@ package body Grt.Stats is
Start_Next_Time_Time : Time_Stats;
Next_Time_Times : Time_Stats;
+ Start_Resume_Time : Time_Stats;
+ Resume_Times : Time_Stats;
+
+ Running_Time : Time_Stats;
Simu_Time : Time_Stats;
procedure Start_Elaboration is
@@ -169,12 +173,26 @@ package body Grt.Stats is
Next_Time_Times := Next_Time_Times + (Now - Start_Next_Time_Time);
end End_Next_Time;
+ procedure Start_Resume is
+ begin
+ Get_Stats (Start_Resume_Time);
+ end Start_Resume;
+
+ procedure End_Resume
+ is
+ Now : Time_Stats;
+ begin
+ Get_Stats (Now);
+ Resume_Times := Resume_Times + (Now - Start_Resume_Time);
+ end End_Resume;
+
procedure End_Simulation
is
Now : Time_Stats;
begin
Get_Stats (Now);
Simu_Time := Now - Start_Time;
+ Running_Time := Now - End_Order_Time;
end End_Simulation;
procedure Disp_Signals_Stats
@@ -290,12 +308,18 @@ package body Grt.Stats is
Put (stdout, " internal elab: ");
Put (stdout, End_Order_Time - End_Elab_Time);
New_Line (stdout);
+ Put (stdout, " running time: ");
+ Put (stdout, Running_Time);
+ New_Line (stdout);
Put (stdout, " cycle (sum): ");
- Put (stdout, Proc_Times + Update_Times + Next_Time_Times);
+ Put (stdout, Proc_Times + Update_Times + Next_Time_Times + Resume_Times);
New_Line (stdout);
Put (stdout, " processes: ");
Put (stdout, Proc_Times);
New_Line (stdout);
+ Put (stdout, " resume: ");
+ Put (stdout, Resume_Times);
+ New_Line (stdout);
Put (stdout, " update: ");
Put (stdout, Update_Times);
New_Line (stdout);
@@ -322,6 +346,8 @@ package body Grt.Stats is
Put (stdout, "Number of processes: ");
Put_I32 (stdout, Ghdl_I32 (Grt.Processes.Get_Nbr_Processes));
New_Line;
-
+ Put (stdout, "Number of sensitized processes: ");
+ Put_I32 (stdout, Ghdl_I32 (Grt.Processes.Get_Nbr_Sensitized_Processes));
+ New_Line;
end Disp_Stats;
end Grt.Stats;