aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/simulate/simul-execution.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/simulate/simul-execution.ads')
-rw-r--r--src/vhdl/simulate/simul-execution.ads13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/vhdl/simulate/simul-execution.ads b/src/vhdl/simulate/simul-execution.ads
index 566fa26db..276f283e3 100644
--- a/src/vhdl/simulate/simul-execution.ads
+++ b/src/vhdl/simulate/simul-execution.ads
@@ -87,10 +87,15 @@ package Simul.Execution is
Formal_Instance : Block_Instance_Acc)
return Iir_Value_Literal_Acc;
- -- Return the initial value (default value) of signal name EXPR. To be
- -- used only during (non-dynamic) elaboration.
- function Execute_Signal_Init_Value (Block : Block_Instance_Acc; Expr : Iir)
- return Iir_Value_Literal_Acc;
+ -- There are up to three slots per instance for signals:
+ -- Signal_Sig: the signal (as handled by grt), with all its attribute
+ -- Signal_Val: the value of the signal (as assigned by grt).
+ -- Signal_Init: the initial value of drivers, only defined for ports.
+ type Signal_Slot is (Signal_Sig, Signal_Val, Signal_Init);
+
+ function Execute_Signal_Name
+ (Block : Block_Instance_Acc; Expr : Iir; Kind : Signal_Slot)
+ return Iir_Value_Literal_Acc;
function Execute_Expression_With_Type
(Block: Block_Instance_Acc;