File tree Expand file tree Collapse file tree 1 file changed +11
-9
lines changed
src/dpl/src/infrastructure Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -154,10 +154,6 @@ void Grid::markBlocked(dbBlock* block)
154154 }
155155 wire_rect.moveDelta (-core.xMin (), -core.yMin ());
156156 GridRect grid_rect = gridCovering (wire_rect);
157- if (grid_rect.yhi - grid_rect.ylo < 3 ) {
158- // probably a patch over a via, ignore
159- return ;
160- }
161157 GridRect core{.xlo = GridX{0 },
162158 .ylo = GridY{0 },
163159 .xhi = GridX{row_site_count_},
@@ -178,12 +174,18 @@ void Grid::markBlocked(dbBlock* block)
178174 continue ;
179175 }
180176 for (odb::dbSWire* swire : net->getSWires ()) {
181- for (odb::dbSBox* s : swire->getWires ()) {
182- if (!s->isVia ()) {
183- odb::Rect wire_rect = s->getBox ();
184- odb::dbTechLayer* tech_layer = s->getTechLayer ();
185- addBlockedLayers (wire_rect, tech_layer);
177+ for (odb::dbSBox* sbox : swire->getWires ()) {
178+ if (sbox->isVia ()) {
179+ // TODO: handle via
180+ continue ;
181+ }
182+ if (sbox->getWireShapeType () == odb::dbWireShapeType::DRCFILL) {
183+ // TODO: handle patches
184+ continue ;
186185 }
186+ odb::Rect wire_rect = sbox->getBox ();
187+ odb::dbTechLayer* tech_layer = sbox->getTechLayer ();
188+ addBlockedLayers (wire_rect, tech_layer);
187189 }
188190 }
189191 }
You can’t perform that action at this time.
0 commit comments