aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-expr.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-06-16 09:04:12 +0200
committerTristan Gingold <tgingold@free.fr>2019-06-19 20:47:39 +0200
commit324ecaeb2351d190356f679e38166897666dd3e2 (patch)
tree368a3ac8d59431e0c1c526c1e07d4dede8b20c65 /src/synth/synth-expr.ads
parentcfde49734086a65d79e8ed4bb1a242ab0c407a40 (diff)
downloadghdl-324ecaeb2351d190356f679e38166897666dd3e2.tar.gz
ghdl-324ecaeb2351d190356f679e38166897666dd3e2.tar.bz2
ghdl-324ecaeb2351d190356f679e38166897666dd3e2.zip
synth: get rid of execution and elaboration.
Diffstat (limited to 'src/synth/synth-expr.ads')
-rw-r--r--src/synth/synth-expr.ads18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/synth/synth-expr.ads b/src/synth/synth-expr.ads
index 67ab253ff..0061767a0 100644
--- a/src/synth/synth-expr.ads
+++ b/src/synth/synth-expr.ads
@@ -19,7 +19,6 @@
-- MA 02110-1301, USA.
with Types; use Types;
-with Simul.Environments; use Simul.Environments;
with Synth.Values; use Synth.Values;
with Synth.Context; use Synth.Context;
with Vhdl.Nodes; use Vhdl.Nodes;
@@ -28,9 +27,10 @@ package Synth.Expr is
function Is_Const (Val : Value_Acc) return Boolean;
function Get_Width (Val : Value_Acc) return Uns32;
- procedure To_Logic (Lit : Iir_Value_Literal_Acc;
- Val : out Uns32;
- Zx : out Uns32);
+ procedure From_Std_Logic (Enum : Int64; Val : out Uns32; Zx : out Uns32);
+ procedure From_Bit (Enum : Int64; Val : out Uns32);
+ procedure To_Logic
+ (Enum : Int64; Etype : Node; Val : out Uns32; Zx : out Uns32);
function Bit_Extract (Val : Value_Acc; Off : Uns32) return Value_Acc;
@@ -40,4 +40,14 @@ package Synth.Expr is
function Synth_Expression (Syn_Inst : Synth_Instance_Acc; Expr : Node)
return Value_Acc;
+
+ function Synth_Bounds_From_Range (Syn_Inst : Synth_Instance_Acc;
+ Atype : Node) return Value_Bound_Acc;
+
+ function Synth_Array_Bounds (Syn_Inst : Synth_Instance_Acc;
+ Atype : Node;
+ Dim : Natural) return Value_Bound_Acc;
+
+ function Synth_Range_Expression
+ (Syn_Inst : Synth_Instance_Acc; Rng : Node) return Value_Acc;
end Synth.Expr;