Skip to content

Commit f5093ca

Browse files
committed
Merge branch 'master' into mpl-connection-by-ratio
2 parents 56cf5f8 + 0d48c59 commit f5093ca

File tree

6 files changed

+54
-11
lines changed

6 files changed

+54
-11
lines changed

etc/CodeCoverage.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ _coverity() {
5959
tar czvf openroad.tgz cov-int
6060
commitSha="$(git rev-parse HEAD)"
6161

62+
if [ -n "${SKIP_COVERITY_UPLOAD+x}" ]; then
63+
echo "SKIP_COVERITY_UPLOAD is set. Skipping Coverity upload."
64+
exit 0
65+
fi
66+
6267
# Step 1: Initialize a build. Fetch a cloud upload url.
6368
curl -X POST \
6469
-d version="version=${commitSha}" \

etc/DependencyInstaller.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ _install_rhel_packages() {
891891
# openSUSE
892892
# ------------------------------------------------------------------------------
893893
_install_opensuse_packages() {
894-
log "Install ubuntu base packages using zypper (-base or -all)"
894+
log "Install openSUSE base packages using zypper (-base or -all)"
895895
_execute "Refreshing repositories..." zypper refresh
896896
_execute "Updating packages..." zypper -n update
897897
_execute "Installing development pattern..." zypper -n install -t pattern devel_basis

src/pdn/src/via.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3024,6 +3024,48 @@ void Via::writeToDb(odb::dbSWire* wire,
30243024
}
30253025
ripup_shapes.insert(ripup_vias_middle.begin(), ripup_vias_middle.end());
30263026

3027+
if (!ripup_shapes.empty()) {
3028+
// Check if via stack continuity will be broken
3029+
3030+
// Collect remaining shapes
3031+
std::set<odb::dbTechLayer*> layers;
3032+
for (const auto& viashapes : {shapes.bottom, shapes.middle, shapes.top}) {
3033+
for (const auto& [rect, box] : viashapes) {
3034+
if (ripup_shapes.find(box) == ripup_shapes.end()) {
3035+
if (box->isVia()) {
3036+
if (auto* via = box->getBlockVia()) {
3037+
for (auto* viabox : via->getBoxes()) {
3038+
layers.insert(viabox->getTechLayer());
3039+
}
3040+
} else if (auto* via = box->getTechVia()) {
3041+
for (auto* viabox : via->getBoxes()) {
3042+
layers.insert(viabox->getTechLayer());
3043+
}
3044+
}
3045+
} else {
3046+
layers.insert(box->getTechLayer());
3047+
}
3048+
}
3049+
}
3050+
}
3051+
3052+
bool broken = false;
3053+
for (auto* layer : connect_->getAllLayers()) {
3054+
if (layers.find(layer) == layers.end()) {
3055+
// stack is broken
3056+
broken = true;
3057+
}
3058+
}
3059+
3060+
if (broken) {
3061+
for (const auto& viashapes : {shapes.bottom, shapes.middle, shapes.top}) {
3062+
for (const auto& [rect, box] : viashapes) {
3063+
ripup_shapes.insert(box);
3064+
}
3065+
}
3066+
}
3067+
}
3068+
30273069
if (!ripup_shapes.empty()) {
30283070
const TechLayer tech_layer(lower_->getLayer());
30293071
int x = 0;

src/pdn/test/core_grid_with_single_edge_pins.defok

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1881,7 +1881,6 @@ SPECIALNETS 2 ;
18811881
NEW metal3 0 + SHAPE STRIPE ( 164000 5600 ) via3_4_960_340_1_3_320_320
18821882
NEW metal2 0 + SHAPE STRIPE ( 164000 5600 ) via2_3_960_340_1_3_320_320
18831883
NEW metal1 0 + SHAPE STRIPE ( 164000 5600 ) via1_2_960_340_1_3_300_300
1884-
NEW metal3 0 + SHAPE STRIPE ( 164000 10 ) via3_4_960_340_1_3_320_320
18851884
NEW metal3 0 + SHAPE STRIPE ( 124000 201600 ) via3_4_960_340_1_3_320_320
18861885
NEW metal2 0 + SHAPE STRIPE ( 124000 201600 ) via2_3_960_340_1_3_320_320
18871886
NEW metal1 0 + SHAPE STRIPE ( 124000 201600 ) via1_2_960_340_1_3_300_300
@@ -1990,7 +1989,6 @@ SPECIALNETS 2 ;
19901989
NEW metal3 0 + SHAPE STRIPE ( 124000 5600 ) via3_4_960_340_1_3_320_320
19911990
NEW metal2 0 + SHAPE STRIPE ( 124000 5600 ) via2_3_960_340_1_3_320_320
19921991
NEW metal1 0 + SHAPE STRIPE ( 124000 5600 ) via1_2_960_340_1_3_300_300
1993-
NEW metal3 0 + SHAPE STRIPE ( 124000 10 ) via3_4_960_340_1_3_320_320
19941992
NEW metal3 0 + SHAPE STRIPE ( 84000 201600 ) via3_4_960_340_1_3_320_320
19951993
NEW metal2 0 + SHAPE STRIPE ( 84000 201600 ) via2_3_960_340_1_3_320_320
19961994
NEW metal1 0 + SHAPE STRIPE ( 84000 201600 ) via1_2_960_340_1_3_300_300
@@ -2099,7 +2097,6 @@ SPECIALNETS 2 ;
20992097
NEW metal3 0 + SHAPE STRIPE ( 84000 5600 ) via3_4_960_340_1_3_320_320
21002098
NEW metal2 0 + SHAPE STRIPE ( 84000 5600 ) via2_3_960_340_1_3_320_320
21012099
NEW metal1 0 + SHAPE STRIPE ( 84000 5600 ) via1_2_960_340_1_3_300_300
2102-
NEW metal3 0 + SHAPE STRIPE ( 84000 10 ) via3_4_960_340_1_3_320_320
21032100
NEW metal3 0 + SHAPE STRIPE ( 44000 201600 ) via3_4_960_340_1_3_320_320
21042101
NEW metal2 0 + SHAPE STRIPE ( 44000 201600 ) via2_3_960_340_1_3_320_320
21052102
NEW metal1 0 + SHAPE STRIPE ( 44000 201600 ) via1_2_960_340_1_3_300_300
@@ -2312,8 +2309,7 @@ SPECIALNETS 2 ;
23122309
NEW metal1 0 + SHAPE STRIPE ( 4000 11200 ) via1_2_960_340_1_3_300_300
23132310
NEW metal3 0 + SHAPE STRIPE ( 4000 5600 ) via3_4_960_340_1_3_320_320
23142311
NEW metal2 0 + SHAPE STRIPE ( 4000 5600 ) via2_3_960_340_1_3_320_320
2315-
NEW metal1 0 + SHAPE STRIPE ( 4000 5600 ) via1_2_960_340_1_3_300_300
2316-
NEW metal3 0 + SHAPE STRIPE ( 4000 10 ) via3_4_960_340_1_3_320_320 ;
2312+
NEW metal1 0 + SHAPE STRIPE ( 4000 5600 ) via1_2_960_340_1_3_300_300 ;
23172313
END SPECIALNETS
23182314
NETS 385 ;
23192315
- _000_ ( _324_ ZN ) ( _576_ D ) + USE SIGNAL ;

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 2 via(s) between metal1 and metal4 at (2.0000 um, 0.0050 um) for VSS
9-
[WARNING PDN-0195] Removing 2 via(s) between metal1 and metal4 at (42.0000 um, 0.0050 um) for VSS
10-
[WARNING PDN-0195] Removing 2 via(s) between metal1 and metal4 at (62.0000 um, 0.0050 um) for VSS
11-
[WARNING PDN-0195] Removing 2 via(s) between metal1 and metal4 at (82.0000 um, 0.0050 um) for VSS
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
1212
No differences found.

src/tst/include/tst/IntegratedFixture.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class IntegratedFixture : public tst::Fixture
3636

3737
protected:
3838
odb::dbLib* lib_;
39-
odb::dbBlock* block_;
39+
odb::dbBlock* block_{nullptr};
4040
sta::dbNetwork* db_network_;
4141

4242
stt::SteinerTreeBuilder stt_;

0 commit comments

Comments
 (0)