aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-01-11 05:19:19 +0100
committerTristan Gingold <tgingold@free.fr>2023-01-11 05:19:19 +0100
commita6281651d1d34215e793861f50f790dc890c797c (patch)
treedadd6819ffe4a81dbe9eb0b46dba525c34219bd9 /src
parentbccafab9f706394f70cdf88dfbe12f711ead415c (diff)
downloadghdl-a6281651d1d34215e793861f50f790dc890c797c.tar.gz
ghdl-a6281651d1d34215e793861f50f790dc890c797c.tar.bz2
ghdl-a6281651d1d34215e793861f50f790dc890c797c.zip
simul: add sensitivity for psl processes
Diffstat (limited to 'src')
-rw-r--r--src/simul/simul-vhdl_simul.adb11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/simul/simul-vhdl_simul.adb b/src/simul/simul-vhdl_simul.adb
index 54423a009..38cd2d925 100644
--- a/src/simul/simul-vhdl_simul.adb
+++ b/src/simul/simul-vhdl_simul.adb
@@ -2169,10 +2169,7 @@ package body Simul.Vhdl_Simul is
(0 .. Get_PSL_Nbr_States (Stmt) - 1 => False);
Proc.States (0) := True;
- Grt.Processes.Ghdl_Process_Register
- (To_Instance_Acc (Inst), PSL_Process_Executer'Access,
- null, System.Null_Address);
-
+ -- First the finalizers.
case Get_Kind (Proc.Proc) is
when Iir_Kind_Psl_Assert_Directive
| Iir_Kind_Psl_Assume_Directive =>
@@ -2186,6 +2183,11 @@ package body Simul.Vhdl_Simul is
when others =>
null;
end case;
+
+ -- Then the process, so that sensitivity can be added.
+ Grt.Processes.Ghdl_Process_Register
+ (To_Instance_Acc (Inst), PSL_Process_Executer'Access,
+ null, System.Null_Address);
end Create_PSL;
procedure Create_Processes
@@ -2264,6 +2266,7 @@ package body Simul.Vhdl_Simul is
Done => False,
States => null);
Create_PSL (Processes_State (I), Processes_State (I)'Address);
+ Register_Sensitivity (I);
when others =>
Vhdl.Errors.Error_Kind ("create_processes", Proc);