aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-types.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-types.adb')
-rw-r--r--src/synth/synth-types.adb14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/synth/synth-types.adb b/src/synth/synth-types.adb
index 955e5c9e0..ff516bac0 100644
--- a/src/synth/synth-types.adb
+++ b/src/synth/synth-types.adb
@@ -22,11 +22,11 @@ with Types; use Types;
with Vhdl.Std_Package;
with Vhdl.Ieee.Std_Logic_1164;
with Vhdl.Utils; use Vhdl.Utils;
+with Vhdl.Errors; use Vhdl.Errors;
-with Simul.Environments; use Simul.Environments;
+with Synth.Values; use Synth.Values;
+with Synth.Expr;
with Simul.Annotations; use Simul.Annotations;
-with Simul.Execution;
-with Vhdl.Errors; use Vhdl.Errors;
package body Synth.Types is
function Is_Bit_Type (Atype : Iir) return Boolean is
@@ -57,12 +57,10 @@ package body Synth.Types is
when Iir_Kind_Array_Subtype_Definition =>
if Is_Vector_Type (Btype) then
declare
- Bnd : Iir_Value_Literal_Acc;
+ Bnd : Value_Bound_Acc;
begin
- Bnd := Simul.Execution.Execute_Bounds
- (Syn_Inst.Sim,
- Get_Nth_Element (Get_Index_Subtype_List (Atype), 0));
- return Width (Bnd.Length);
+ Bnd := Expr.Synth_Array_Bounds (Syn_Inst, Atype, 0);
+ return Bnd.Len;
end;
else
raise Internal_Error;