diff options
Diffstat (limited to 'src/synth/synth-environment.adb')
-rw-r--r-- | src/synth/synth-environment.adb | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb index 18133594e..7f552f352 100644 --- a/src/synth/synth-environment.adb +++ b/src/synth/synth-environment.adb @@ -1036,7 +1036,7 @@ package body Synth.Environment is -- If no seq assign, return current value. if First_Seq = No_Seq_Assign then - return Build2_Extract (Ctxt, Wire_Rec.Gate, Off, Wd); + return Build2_Extract_Push (Ctxt, Wire_Rec.Gate, Off, Wd); end if; -- If the current value is static, just return it. @@ -1096,8 +1096,9 @@ package body Synth.Environment is Cur_Wd := Width'Min (Cur_Wd, Pw - (Cur_Off - Pr.Offset)); Append - (Vec, Build_Extract (Ctxt, Pr.Value, - Cur_Off - Pr.Offset, Cur_Wd)); + (Vec, + Build2_Extract_Push (Ctxt, Pr.Value, + Cur_Off - Pr.Offset, Cur_Wd)); end if; exit; end if; @@ -1122,8 +1123,8 @@ package body Synth.Environment is Seq := Get_Assign_Prev (Seq); if Seq = No_Seq_Assign then -- Extract from gate. - Append (Vec, Build_Extract (Ctxt, Wire_Rec.Gate, - Cur_Off, Cur_Wd)); + Append (Vec, Build2_Extract_Push (Ctxt, Wire_Rec.Gate, + Cur_Off, Cur_Wd)); exit; end if; if Get_Assign_Is_Static (Seq) then @@ -1702,9 +1703,9 @@ package body Synth.Environment is -- |----------|| -- P.Off P.Next -- Shrink EL. - P.Value := Build_Extract (Ctxt, P.Value, - Off => V_Next - P.Offset, - W => P_Next - V_Next); + P.Value := Build2_Extract_Push (Ctxt, P.Value, + Off => V_Next - P.Offset, + W => P_Next - V_Next); P.Offset := V_Next; if not Inserted then if Last_El /= No_Partial_Assign then @@ -1724,9 +1725,9 @@ package body Synth.Environment is -- |----------|| -- P.Off P.Next -- Shrink EL. - P.Value := Build_Extract (Ctxt, P.Value, - Off => 0, - W => V.Offset - P.Offset); + P.Value := Build2_Extract_Push (Ctxt, P.Value, + Off => 0, + W => V.Offset - P.Offset); pragma Assert (not Inserted); V.Next := P.Next; P.Next := Asgn; @@ -1742,14 +1743,14 @@ package body Synth.Environment is pragma Assert (not Inserted); Partial_Assign_Table.Append ((Next => P.Next, - Value => Build_Extract (Ctxt, P.Value, - Off => V_Next - P.Offset, - W => P_Next - V_Next), + Value => Build2_Extract_Push (Ctxt, P.Value, + Off => V_Next - P.Offset, + W => P_Next - V_Next), Offset => V_Next)); V.Next := Partial_Assign_Table.Last; - P.Value := Build_Extract (Ctxt, P.Value, - Off => 0, - W => V.Offset - P.Offset); + P.Value := Build2_Extract_Push (Ctxt, P.Value, + Off => 0, + W => V.Offset - P.Offset); P.Next := Asgn; Inserted := True; -- No more possible overlaps. |