File tree Expand file tree Collapse file tree 2 files changed +5
-14
lines changed
Expand file tree Collapse file tree 2 files changed +5
-14
lines changed Original file line number Diff line number Diff line change @@ -385,20 +385,10 @@ bool Rebuffer::bufferSizeCanDriveLoad(const BufferSize& size,
385385 size.cell ->bufferPorts (inp, outp);
386386
387387 const float extra_cap = resizer_->dbuToMeters (extra_wire_length) * wire_cap
388- + outp->capacitance ();
389-
390- // Cache the value of drive resistance since it's expensive to calculate.
391- float r_drvr;
392- auto it_drive_resistance = drive_resistance_cache_.find (outp);
393- if (it_drive_resistance != drive_resistance_cache_.end ()) {
394- r_drvr = it_drive_resistance->second ;
395- } else {
396- r_drvr = outp->driveResistance ();
397- drive_resistance_cache_[outp] = r_drvr;
398- }
388+ + outp->capacitance ();
399389
400390 const float load_slew
401- = (r_drvr
391+ = (size. driver_resistance
402392 + resizer_->dbuToMeters (bnet->maxLoadWireLength () + extra_wire_length)
403393 * wire_res)
404394 * (bnet->cap () + extra_cap) * elmore_skew_factor_;
@@ -1404,7 +1394,8 @@ void Rebuffer::init()
14041394 buffer_sizes_.push_back (BufferSize{
14051395 cell,
14061396 FixedDelay (out->intrinsicDelay (sta_)),
1407- 0 .0f ,
1397+ /* intrinsic_delay=*/ 0 .0f ,
1398+ out->driveResistance (),
14081399 });
14091400 }
14101401
Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ class Rebuffer : public sta::dbStaState
123123 LibertyCell* cell;
124124 FixedDelay intrinsic_delay;
125125 float margined_max_cap;
126+ float driver_resistance;
126127 };
127128
128129 bool bufferSizeCanDriveLoad (const BufferSize& size,
@@ -138,7 +139,6 @@ class Rebuffer : public sta::dbStaState
138139
139140 std::vector<BufferSize> buffer_sizes_;
140141 std::map<LibertyCell*, BufferSize*> buffer_sizes_index_;
141- std::unordered_map<LibertyPort*, float > drive_resistance_cache_;
142142
143143 Pin* pin_;
144144 float fanout_limit_;
You can’t perform that action at this time.
0 commit comments