Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRT: remove gf12 cover guides #5955

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
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
45 changes: 0 additions & 45 deletions src/drt/src/io/GuideProcessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1308,48 +1308,6 @@ void GuideProcessor::initPinGCellMap(
}
}

void GuideProcessor::genGuides_addCoverGuide(frNet* net,
std::vector<frRect>& rects)
{
for (auto& instTerm : net->getInstTerms()) {
genGuides_addCoverGuide_helper(instTerm, rects);
}
}

void GuideProcessor::genGuides_addCoverGuide_helper(frInstTerm* iterm,
std::vector<frRect>& rects)
{
const frInst* inst = iterm->getInst();
const size_t num_pins = iterm->getTerm()->getPins().size();
dbTransform transform = inst->getTransform();
transform.setOrient(dbOrientType(dbOrientType::R0));
for (int pin_idx = 0; pin_idx < num_pins; pin_idx++) {
const frAccessPoint* pref_ap = getPrefAp(iterm, pin_idx);
if (pref_ap) {
Point pt = pref_ap->getPoint();
transform.apply(pt);
const Point idx = getDesign()->getTopBlock()->getGCellIdx(pt);
const Rect ll_box = getDesign()->getTopBlock()->getGCellBox(
Point(idx.x() - 1, idx.y() - 1));
const Rect ur_box = getDesign()->getTopBlock()->getGCellBox(
Point(idx.x() + 1, idx.y() + 1));
const Rect cover_box(
ll_box.xMin(), ll_box.yMin(), ur_box.xMax(), ur_box.yMax());
const frLayerNum begin_layer_num = pref_ap->getLayerNum();
const frLayerNum end_layer_num
= std::min(begin_layer_num + 4, getTech()->getTopLayerNum());

for (auto layer_num = begin_layer_num; layer_num <= end_layer_num;
layer_num += 2) {
frRect cover_guide;
cover_guide.setBBox(cover_box);
cover_guide.setLayerNum(layer_num);
rects.push_back(cover_guide);
}
}
}
}

void GuideProcessor::genGuides(frNet* net, std::vector<frRect>& rects)
{
net->clearGuides();
Expand All @@ -1362,9 +1320,6 @@ void GuideProcessor::genGuides(frNet* net, std::vector<frRect>& rects)
size = std::min(size, TOP_ROUTING_LAYER + 1);
}
TrackIntervalsByLayer intvs(size);
if (DBPROCESSNODE == "GF14_13M_3Mx_2Cx_4Kx_2Hx_2Gx_LB") {
genGuides_addCoverGuide(net, rects);
}
genGuides_prep(rects, intvs);

std::map<Point3D, frBlockObjectSet> gcell_pin_map;
Expand Down
3 changes: 0 additions & 3 deletions src/drt/src/io/GuideProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,6 @@ class GuideProcessor
frCoord& GCELLOFFSETY);

void genGuides(frNet* net, std::vector<frRect>& rects);
void genGuides_addCoverGuide(frNet* net, std::vector<frRect>& rects);
void genGuides_addCoverGuide_helper(frInstTerm* term,
std::vector<frRect>& rects);
/**
* @brief Creates/Extends guides to cover a pin shape at best_pin_loc_coords
* through its closest guide.
Expand Down
Loading