diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/synth/synth-ieee-numeric_std.adb | 4 | ||||
| -rw-r--r-- | src/synth/synth-static_oper.adb | 3 | 
2 files changed, 5 insertions, 2 deletions
| diff --git a/src/synth/synth-ieee-numeric_std.adb b/src/synth/synth-ieee-numeric_std.adb index 2c0951f3b..4c7080f5a 100644 --- a/src/synth/synth-ieee-numeric_std.adb +++ b/src/synth/synth-ieee-numeric_std.adb @@ -873,11 +873,11 @@ package body Synth.Ieee.Numeric_Std is        for I in 1 .. Size loop           if I <= Old_Size then -            B := Read_Std_Logic (Val.Mem, I - 1); +            B := Read_Std_Logic (Val.Mem, Old_Size - I);           else              B := Pad;           end if; -         Write_Std_Logic (Res.Mem, I - 1, B); +         Write_Std_Logic (Res.Mem, Size - I, B);        end loop;        return Res; diff --git a/src/synth/synth-static_oper.adb b/src/synth/synth-static_oper.adb index 2da770ba1..b667ccdd5 100644 --- a/src/synth/synth-static_oper.adb +++ b/src/synth/synth-static_oper.adb @@ -861,6 +861,9 @@ package body Synth.Static_Oper is           when Iir_Predefined_Ieee_Numeric_Std_Resize_Sgn_Nat =>              return Resize_Vec                (Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)), True); +         when Iir_Predefined_Ieee_Numeric_Std_Resize_Uns_Nat => +            return Resize_Vec +              (Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)), False);           when Iir_Predefined_Ieee_1164_To_Stdlogicvector_Bv =>              declare | 
