Skip to content

Commit 54a3e7c

Browse files
authored
Merge pull request #7871 from QuantamHD/make_drive_res_faster
rsz: Caching drive resistance value.
2 parents 037dc2e + f89823d commit 54a3e7c

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/rsz/src/Rebuffer.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,9 +386,9 @@ bool Rebuffer::bufferSizeCanDriveLoad(const BufferSize& size,
386386

387387
const float extra_cap = resizer_->dbuToMeters(extra_wire_length) * wire_cap
388388
+ outp->capacitance();
389-
const float r_drvr = outp->driveResistance();
389+
390390
const float load_slew
391-
= (r_drvr
391+
= (size.driver_resistance
392392
+ resizer_->dbuToMeters(bnet->maxLoadWireLength() + extra_wire_length)
393393
* wire_res)
394394
* (bnet->cap() + extra_cap) * elmore_skew_factor_;
@@ -1394,7 +1394,8 @@ void Rebuffer::init()
13941394
buffer_sizes_.push_back(BufferSize{
13951395
cell,
13961396
FixedDelay(out->intrinsicDelay(sta_)),
1397-
0.0f,
1397+
/*margined_max_cap=*/0.0f,
1398+
out->driveResistance(),
13981399
});
13991400
}
14001401

src/rsz/src/Rebuffer.hh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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,

0 commit comments

Comments
 (0)