From a6281651d1d34215e793861f50f790dc890c797c Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 11 Jan 2023 05:19:19 +0100 Subject: simul: add sensitivity for psl processes --- src/simul/simul-vhdl_simul.adb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') 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); -- cgit v1.2.3