diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-09-08 08:54:41 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-09-11 06:37:27 +0200 |
commit | 42c6c8b8d96d781dbe9173a647d17b3f25da32c2 (patch) | |
tree | 7c7c5e29b6fabd59d16723f190e1337dfa148bb8 /src/synth/synth-values.ads | |
parent | 419d542accc0a0bd5f3daa833f202043ce6f480c (diff) | |
download | ghdl-42c6c8b8d96d781dbe9173a647d17b3f25da32c2.tar.gz ghdl-42c6c8b8d96d781dbe9173a647d17b3f25da32c2.tar.bz2 ghdl-42c6c8b8d96d781dbe9173a647d17b3f25da32c2.zip |
synth: introduce slice type.
Diffstat (limited to 'src/synth/synth-values.ads')
-rw-r--r-- | src/synth/synth-values.ads | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/synth/synth-values.ads b/src/synth/synth-values.ads index fa6f0908f..9d2026270 100644 --- a/src/synth/synth-values.ads +++ b/src/synth/synth-values.ads @@ -76,6 +76,10 @@ package Synth.Values is Type_Discrete, Type_Float, Type_Vector, + + -- A slice is for a slice of vector with dynamic bounds. So the bounds + -- of the result aren't known, but its width is. + Type_Slice, Type_Array, Type_Unbounded_Array, Type_Record @@ -108,6 +112,8 @@ package Synth.Values is when Type_Vector => Vbound : Bound_Type; Vec_El : Type_Acc; + when Type_Slice => + Slice_El : Type_Acc; when Type_Array => Abounds : Bound_Array_Acc; Arr_El : Type_Acc; @@ -219,6 +225,7 @@ package Synth.Values is return Type_Acc; function Create_Vector_Type (Bnd : Bound_Type; El_Type : Type_Acc) return Type_Acc; + function Create_Slice_Type (W : Width; El_Type : Type_Acc) return Type_Acc; function Create_Bound_Array (Ndims : Iir_Index32) return Bound_Array_Acc; function Create_Array_Type (Bnd : Bound_Array_Acc; El_Type : Type_Acc) return Type_Acc; |