Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions src/rsz/src/Resizer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3360,6 +3360,22 @@ sta::Instance* Resizer::createNewTieCellForLoadPin(const sta::Pin* load_pin,
new_tie_loc,
odb::dbNameUniquifyType::IF_NEEDED_WITH_UNDERSCORE);

// If the load pin's instance is not placed, the computed location is
// meaningless; mark the new tie cell as unplaced
if (!db_network_->isPlaced(load_pin)) {
dbInst* new_tie_db_inst = db_network_->staToDb(new_tie_inst);
new_tie_db_inst->setPlacementStatus(odb::dbPlacementStatus::UNPLACED);
}
debugPrint(logger_,
RSZ,
"repair_tie_fanout",
1,
"Created tie instance {} for load pin {} at location ({}, {})",
network_->name(new_tie_inst),
sdc_network_->pathName(load_pin),
dbuToMeters(new_tie_loc.getX()),
dbuToMeters(new_tie_loc.getY()));

// If the load pin is not in the top module, move the new tie instance
sta::Instance* load_inst = network_->instance(load_pin);
if (!network_->isTopInstance(load_inst)) {
Expand Down
4 changes: 2 additions & 2 deletions src/rsz/test/repair_tie10_hier.ok
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Net gcd/ALU_16_0_16_0_16_unused_CO[14:0]_X_HAN_CARLSON/BI
Number of pins: 2

Driver pins
_395__1/H output (TIEHIx1_ASAP7_75t_R) (0, 0)
_395__1/H output (TIEHIx1_ASAP7_75t_R)

Load pins
_395_/_087_/A input (BUFx2_ASAP7_75t_R) 0.44-0.58
Expand All @@ -77,7 +77,7 @@ Net gcd/ALU_16_0_16_0_16_unused_CO[14:0]_X_HAN_CARLSON/CI
Number of pins: 2

Driver pins
_395__2/H output (TIEHIx1_ASAP7_75t_R) (0, 0)
_395__2/H output (TIEHIx1_ASAP7_75t_R)

Load pins
_395_/_153_/B input (FAx1_ASAP7_75t_R) 1.80-2.18
Expand Down
4 changes: 3 additions & 1 deletion src/rsz/test/repair_tie11_hier.ok
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,6 @@ Hierarchical pins
0.0 0.0
0.0 0.1
No differences found.
No differences found.
Differences found at line 9.
- alu0_1 TIEHIx1_ASAP7_75t_R + SOURCE TIMING + PLACED ( 0 0 ) N ;
- alu0_1 TIEHIx1_ASAP7_75t_R + SOURCE TIMING + UNPLACED ;
4 changes: 3 additions & 1 deletion src/rsz/test/repair_tie12_hier.ok
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,6 @@ Hierarchical pins
0.0 0.0
0.0 0.1
No differences found.
No differences found.
Differences found at line 9.
- alu0_1 TIEHIx1_ASAP7_75t_R + SOURCE TIMING + PLACED ( 0 0 ) N ;
- alu0_1 TIEHIx1_ASAP7_75t_R + SOURCE TIMING + UNPLACED ;
4 changes: 3 additions & 1 deletion src/rsz/test/repair_tie9.ok
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
[INFO ODB-0131] Created 3 components and 12 component-terminals.
[INFO ODB-0133] Created 1 nets and 3 connections.
[INFO RSZ-0042] Inserted 1 tie sky130_fd_sc_hd__conb_1 instances.
No differences found.
Differences found at line 10.
- u0_1 sky130_fd_sc_hd__conb_1 + SOURCE TIMING + PLACED ( 280 1195 ) N ;
- u0_1 sky130_fd_sc_hd__conb_1 + SOURCE TIMING + UNPLACED ;
Loading