aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-vhdl_eval.adb6
-rw-r--r--src/vhdl/vhdl-ieee-numeric_std_unsigned.adb6
-rw-r--r--src/vhdl/vhdl-nodes.ads7
3 files changed, 17 insertions, 2 deletions
diff --git a/src/synth/synth-vhdl_eval.adb b/src/synth/synth-vhdl_eval.adb
index 4574fa6f8..89743a5a8 100644
--- a/src/synth/synth-vhdl_eval.adb
+++ b/src/synth/synth-vhdl_eval.adb
@@ -2102,12 +2102,14 @@ package body Synth.Vhdl_Eval is
when Iir_Predefined_Ieee_Numeric_Std_Touns_Nat_Nat_Uns
| Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Unsigned_Int
- | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat =>
+ | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat
+ | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Nat =>
return Eval_To_Log_Vector
(Uns64 (Read_Discrete (Param1)), Read_Discrete (Param2),
Res_Typ);
when Iir_Predefined_Ieee_Numeric_Std_Touns_Nat_Uns_Uns
- | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Slv =>
+ | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Slv
+ | Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Suv =>
return Eval_To_Log_Vector
(Uns64 (Read_Discrete (Param1)), Int64 (Param2.Typ.Abound.Len),
Res_Typ);
diff --git a/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb b/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
index f8c87408b..06baad51d 100644
--- a/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
+++ b/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
@@ -77,6 +77,12 @@ package body Vhdl.Ieee.Numeric_Std_Unsigned is
elsif Arg1_Kind = Arg_Int and Arg2_Kind = Arg_Slv then
Res := Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Slv;
end if;
+ when Name_To_Stdulogicvector =>
+ if Arg1_Kind = Arg_Int and Arg2_Kind = Arg_Int then
+ Res := Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Nat;
+ elsif Arg1_Kind = Arg_Int and Arg2_Kind = Arg_Slv then
+ Res := Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Suv;
+ end if;
when Name_Resize =>
if Arg2_Kind = Arg_Int then
Res := Iir_Predefined_Ieee_Numeric_Std_Unsigned_Resize_Slv_Nat;
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index c0d344dda..970063e64 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -6034,6 +6034,9 @@ package Vhdl.Nodes is
Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat,
Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Slv,
+ Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Suv_Nat_Suv,
+
Iir_Predefined_Ieee_Numeric_Std_Unsigned_Resize_Slv_Nat,
Iir_Predefined_Ieee_Numeric_Std_Unsigned_Resize_Slv_Slv,
@@ -6041,10 +6044,14 @@ package Vhdl.Nodes is
Iir_Predefined_Ieee_Numeric_Std_Unsigned_Minimum_Slv_Slv,
-- Math_Real
+ Iir_Predefined_Ieee_Math_Real_Sign,
Iir_Predefined_Ieee_Math_Real_Ceil,
Iir_Predefined_Ieee_Math_Real_Floor,
Iir_Predefined_Ieee_Math_Real_Round,
+ Iir_Predefined_Ieee_Math_Real_Trunc,
+ Iir_Predefined_Ieee_Math_Real_Log,
Iir_Predefined_Ieee_Math_Real_Log2,
+ Iir_Predefined_Ieee_Math_Real_Log10,
Iir_Predefined_Ieee_Math_Real_Sin,
Iir_Predefined_Ieee_Math_Real_Cos,
Iir_Predefined_Ieee_Math_Real_Arctan,