Skip to content

Commit fbe6513

Browse files
committed
pad: add some comments
Signed-off-by: Peter Gadfort <[email protected]>
1 parent ebce76c commit fbe6513

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/pad/src/PadPlacer.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,13 +1347,15 @@ bool PlacerPadPlacer::padSpreading(
13471347
total_force);
13481348
}
13491349

1350-
// Push instances causing tunneling to fail
1350+
// Push instances causing tunneling to fail, these are instances that are too
1351+
// far from the instance that needs to tunnel/jump over the obstruction and
1352+
// therefore needs to push instances under the obstruction over to make room.
13511353
for (const auto& [inst_idx, ideal_pos] : failed_tunnel_positions) {
13521354
const int delta_pos = ideal_pos - positions[insts[inst_idx]]->center;
13531355
const int push = ((delta_pos < 0) ? -1 : 1)
13541356
* std::ceil((damper * std::abs(delta_pos)) / site_width)
13551357
* site_width;
1356-
std::vector<odb::dbInst*> push_insts;
1358+
std::vector<odb::dbInst*> push_insts; // instances to push
13571359
int last_idx = inst_idx;
13581360
int bound_pos;
13591361
if (delta_pos > 0) {
@@ -1398,6 +1400,7 @@ bool PlacerPadPlacer::padSpreading(
13981400
} else {
13991401
desired_pos = std::min(bound_pos, curr_pos + push);
14001402
}
1403+
// new position
14011404
const int move_to = convertRowIndexToPos(snapToRowSite(
14021405
desired_pos - (positions[inst]->width / 2)))
14031406
+ (positions[inst]->width / 2);
@@ -1611,6 +1614,7 @@ std::pair<int, int> PlacerPadPlacer::getTunnelingPosition(odb::dbInst* inst,
16111614
if (checkInstancePlacement(inst)) {
16121615
const int next = getNearestLegalPosition(inst, target, true, false);
16131616
if (next >= low_bound) {
1617+
// inst is obstructed, so move to the nearest edge of the obstruction
16141618
debugPrint(getLogger(),
16151619
utl::PAD,
16161620
"Place",

0 commit comments

Comments
 (0)