diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-12-18 20:05:25 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-12-21 07:36:46 +0100 |
commit | 53829efd96276a1cfd1b249cfc7cb53c549fda73 (patch) | |
tree | b87a893d14d070eb263b20da766c7545c7480e42 /src/vhdl/simulate/simul-execution.ads | |
parent | 6e63d78e54e243b864bacf376c481760362b0825 (diff) | |
download | ghdl-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.ads | 13 |
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; |