diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-06-16 09:04:12 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-06-19 20:47:39 +0200 |
commit | 324ecaeb2351d190356f679e38166897666dd3e2 (patch) | |
tree | 368a3ac8d59431e0c1c526c1e07d4dede8b20c65 /src/synth/synth-expr.ads | |
parent | cfde49734086a65d79e8ed4bb1a242ab0c407a40 (diff) | |
download | ghdl-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.ads | 18 |
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; |