Skip to content

Commit 3f36eb5

Browse files
authored
Merge pull request #8880 from gadfort/correct-via-count
pdn: correct via count in log
2 parents 0d48c59 + 09b6602 commit 3f36eb5

File tree

3 files changed

+31
-12
lines changed

3 files changed

+31
-12
lines changed

src/pdn/src/via.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3071,13 +3071,32 @@ void Via::writeToDb(odb::dbSWire* wire,
30713071
int x = 0;
30723072
int y = 0;
30733073
int ripup_count = 0;
3074+
int via_ripup_count = 0;
30743075
for (auto* shape : ripup_shapes) {
30753076
int via_x, via_y;
30763077
if (shape->getBlockVia() != nullptr || shape->getTechVia() != nullptr) {
30773078
shape->getViaXY(via_x, via_y);
30783079
x += via_x;
30793080
y += via_y;
30803081
ripup_count++;
3082+
3083+
if (odb::dbVia* via = shape->getBlockVia()) {
3084+
for (auto* box : via->getBoxes()) {
3085+
if (box->getTechLayer() != nullptr
3086+
&& box->getTechLayer()->getType()
3087+
== odb::dbTechLayerType::CUT) {
3088+
via_ripup_count++;
3089+
}
3090+
}
3091+
} else if (odb::dbTechVia* via = shape->getTechVia()) {
3092+
for (auto* box : via->getBoxes()) {
3093+
if (box->getTechLayer() != nullptr
3094+
&& box->getTechLayer()->getType()
3095+
== odb::dbTechLayerType::CUT) {
3096+
via_ripup_count++;
3097+
}
3098+
}
3099+
}
30813100
}
30823101

30833102
odb::dbSBox::destroy(shape);
@@ -3091,7 +3110,7 @@ void Via::writeToDb(odb::dbSWire* wire,
30913110
utl::PDN,
30923111
195,
30933112
"Removing {} via(s) between {} and {} at ({:.4f} um, {:.4f} um) for {}",
3094-
ripup_count,
3113+
via_ripup_count,
30953114
lower_->getLayer()->getName(),
30963115
upper_->getLayer()->getName(),
30973116
tech_layer.dbuToMicron(x / ripup_count),

src/pdn/test/core_grid_with_single_edge_pins.ok

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
[INFO ODB-0133] Created 385 nets and 1110 connections.
66
[INFO IFP-0001] Added 72 rows of 527 site FreePDK45_38x28_10R_NP_162NW_34O.
77
[INFO PDN-0001] Inserting grid: Core
8-
[WARNING PDN-0195] Removing 3 via(s) between metal1 and metal4 at (2.0000 um, 0.0050 um) for VSS
9-
[WARNING PDN-0195] Removing 3 via(s) between metal1 and metal4 at (42.0000 um, 0.0050 um) for VSS
10-
[WARNING PDN-0195] Removing 3 via(s) between metal1 and metal4 at (62.0000 um, 0.0050 um) for VSS
11-
[WARNING PDN-0195] Removing 3 via(s) between metal1 and metal4 at (82.0000 um, 0.0050 um) for VSS
8+
[WARNING PDN-0195] Removing 9 via(s) between metal1 and metal4 at (2.0000 um, 0.0050 um) for VSS
9+
[WARNING PDN-0195] Removing 9 via(s) between metal1 and metal4 at (42.0000 um, 0.0050 um) for VSS
10+
[WARNING PDN-0195] Removing 9 via(s) between metal1 and metal4 at (62.0000 um, 0.0050 um) for VSS
11+
[WARNING PDN-0195] Removing 9 via(s) between metal1 and metal4 at (82.0000 um, 0.0050 um) for VSS
1212
No differences found.

src/pdn/test/pads_black_parrot_flipchip.ok

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
[INFO ODB-0132] Created 143 special nets and 883 connections.
77
[INFO ODB-0133] Created 219 nets and 267 connections.
88
[INFO PDN-0001] Inserting grid: Core
9-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (181.7350 um, 1349.6200 um) for VSS
10-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (181.7350 um, 1829.6200 um) for VSS
11-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (185.2350 um, 2464.6200 um) for VDD
12-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (2814.7200 um, 1660.3800 um) for VDD
13-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (2814.7200 um, 2295.3800 um) for VDD
14-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (2818.2200 um, 535.3800 um) for VSS
15-
[WARNING PDN-0195] Removing 1 via(s) between metal9 and metal10 at (2818.2200 um, 1175.3800 um) for VSS
9+
[WARNING PDN-0195] Removing 8 via(s) between metal9 and metal10 at (181.7350 um, 1349.6200 um) for VSS
10+
[WARNING PDN-0195] Removing 8 via(s) between metal9 and metal10 at (181.7350 um, 1829.6200 um) for VSS
11+
[WARNING PDN-0195] Removing 12 via(s) between metal9 and metal10 at (185.2350 um, 2464.6200 um) for VDD
12+
[WARNING PDN-0195] Removing 12 via(s) between metal9 and metal10 at (2814.7200 um, 1660.3800 um) for VDD
13+
[WARNING PDN-0195] Removing 12 via(s) between metal9 and metal10 at (2814.7200 um, 2295.3800 um) for VDD
14+
[WARNING PDN-0195] Removing 8 via(s) between metal9 and metal10 at (2818.2200 um, 535.3800 um) for VSS
15+
[WARNING PDN-0195] Removing 8 via(s) between metal9 and metal10 at (2818.2200 um, 1175.3800 um) for VSS
1616
No differences found.

0 commit comments

Comments
 (0)