diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-expr.adb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb index 7dd855f97..74ca80a01 100644 --- a/src/synth/synth-expr.adb +++ b/src/synth/synth-expr.adb @@ -493,6 +493,17 @@ package body Synth.Expr is Synth_Uresize (Right, Get_Width (Left))), Create_Res_Range (Left, L)); end; + when Iir_Predefined_Ieee_Numeric_Std_Add_Uns_Uns => + -- "+" (Unsigned, Unsigned) + -- FIXME: are they of the same width ? + declare + L : constant Net := Get_Net (Left); + begin + return Create_Value_Net + (Build_Dyadic (Build_Context, Id_Add, + L, Get_Net (Right)), + Create_Res_Range (Left, L)); + end; when Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Nat => -- "-" (Unsigned, Natural) declare @@ -504,6 +515,17 @@ package body Synth.Expr is Synth_Uresize (Right, Get_Width (Left))), Create_Res_Range (Left, L)); end; + when Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Uns => + -- "-" (Unsigned, Unsigned) + -- FIXME: like above + declare + L : constant Net := Get_Net (Left); + begin + return Create_Value_Net + (Build_Dyadic (Build_Context, Id_Sub, + L, Get_Net (Right)), + Create_Res_Range (Left, L)); + end; when Iir_Predefined_Ieee_Numeric_Std_Eq_Uns_Nat => -- "=" (Unsigned, Natural) return Create_Value_Net |