aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/simulate/simul-execution.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-12-18 20:05:25 +0100
committerTristan Gingold <tgingold@free.fr>2017-12-21 07:36:46 +0100
commit53829efd96276a1cfd1b249cfc7cb53c549fda73 (patch)
treeb87a893d14d070eb263b20da766c7545c7480e42 /src/vhdl/simulate/simul-execution.ads
parent6e63d78e54e243b864bacf376c481760362b0825 (diff)
downloadghdl-53829efd96276a1cfd1b249cfc7cb53c549fda73.tar.gz
ghdl-53829efd96276a1cfd1b249cfc7cb53c549fda73.tar.bz2
ghdl-53829efd96276a1cfd1b249cfc7cb53c549fda73.zip
simul: create initial driver value.
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;