aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-stmts.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-05-01 08:59:51 +0200
committerTristan Gingold <tgingold@free.fr>2020-05-01 09:00:15 +0200
commit29712722a20caff1c1015f64b38d36f428535171 (patch)
tree3c607f382971a137626d4763e3d2a87db6adbf0e /src/synth/synth-stmts.ads
parente33a1cd17bd2bff4d3832988cff9e78d7bd6be41 (diff)
downloadghdl-29712722a20caff1c1015f64b38d36f428535171.tar.gz
ghdl-29712722a20caff1c1015f64b38d36f428535171.tar.bz2
ghdl-29712722a20caff1c1015f64b38d36f428535171.zip
synth: propagate enable condition to expressions. For #1273
Diffstat (limited to 'src/synth/synth-stmts.ads')
-rw-r--r--src/synth/synth-stmts.ads12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/synth/synth-stmts.ads b/src/synth/synth-stmts.ads
index 7f449e90c..4710ebb38 100644
--- a/src/synth/synth-stmts.ads
+++ b/src/synth/synth-stmts.ads
@@ -32,7 +32,8 @@ package Synth.Stmts is
procedure Synth_Subprogram_Association (Subprg_Inst : Synth_Instance_Acc;
Caller_Inst : Synth_Instance_Acc;
Inter_Chain : Node;
- Assoc_Chain : Node);
+ Assoc_Chain : Node;
+ En : Net);
-- Dynamic index for Synth_Assignment_Prefix.
-- As dynamic is about dynamic (!) index, the index is a net.
@@ -58,6 +59,7 @@ package Synth.Stmts is
-- DEST_DYN is set (Voff field set) when there is a non-static index.
procedure Synth_Assignment_Prefix (Syn_Inst : Synth_Instance_Acc;
Pfx : Node;
+ En : Net;
Dest_Base : out Valtyp;
Dest_Typ : out Type_Acc;
Dest_Off : out Value_Offsets;
@@ -66,7 +68,8 @@ package Synth.Stmts is
procedure Synth_Assignment (Syn_Inst : Synth_Instance_Acc;
Target : Node;
Val : Valtyp;
- Loc : Node);
+ Loc : Node;
+ En : Net);
function Synth_Read_Memory (Syn_Inst : Synth_Instance_Acc;
Obj : Valtyp;
@@ -76,13 +79,14 @@ package Synth.Stmts is
Loc : Node) return Valtyp;
function Synth_User_Function_Call
- (Syn_Inst : Synth_Instance_Acc; Expr : Node) return Valtyp;
+ (Syn_Inst : Synth_Instance_Acc; Expr : Node; En : Net) return Valtyp;
-- Operation implemented by a user function.
function Synth_User_Operator (Syn_Inst : Synth_Instance_Acc;
Left_Expr : Node;
Right_Expr : Node;
- Expr : Node) return Valtyp;
+ Expr : Node;
+ En : Net) return Valtyp;
-- Generate netlists for concurrent statements STMTS.
procedure Synth_Concurrent_Statements