Skip to content

Commit c932ccf

Browse files
committed
gpl: initialplace regions
Signed-off-by: osamahammad21 <[email protected]>
1 parent f9ead99 commit c932ccf

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/gpl/src/initialPlace.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -131,22 +131,22 @@ void InitialPlace::placeInstsCenter()
131131
const auto db_inst = inst->dbInst();
132132
const auto group = db_inst->getGroup();
133133

134-
if (group && group->getType() == odb::dbGroupType::POWER_DOMAIN) {
135-
auto domain_region = group->getRegion();
136-
int domain_x_min = std::numeric_limits<int>::max();
137-
int domain_y_min = std::numeric_limits<int>::max();
138-
int domain_x_max = std::numeric_limits<int>::min();
139-
int domain_y_max = std::numeric_limits<int>::min();
140-
141-
for (auto boundary : domain_region->getBoundaries()) {
142-
domain_x_min = std::min(domain_x_min, boundary->xMin());
143-
domain_y_min = std::min(domain_y_min, boundary->yMin());
144-
domain_x_max = std::max(domain_x_max, boundary->xMax());
145-
domain_y_max = std::max(domain_y_max, boundary->yMax());
134+
if (group && group->getRegion()) {
135+
auto region = group->getRegion();
136+
int region_x_min = std::numeric_limits<int>::max();
137+
int region_y_min = std::numeric_limits<int>::max();
138+
int region_x_max = std::numeric_limits<int>::min();
139+
int region_y_max = std::numeric_limits<int>::min();
140+
141+
for (auto boundary : region->getBoundaries()) {
142+
region_x_min = std::min(region_x_min, boundary->xMin());
143+
region_y_min = std::min(region_y_min, boundary->yMin());
144+
region_x_max = std::max(region_x_max, boundary->xMax());
145+
region_y_max = std::max(region_y_max, boundary->yMax());
146146
}
147147

148-
inst->setCenterLocation(domain_x_max - (domain_x_max - domain_x_min) / 2,
149-
domain_y_max - (domain_y_max - domain_y_min) / 2);
148+
inst->setCenterLocation(region_x_max - (region_x_max - region_x_min) / 2,
149+
region_y_max - (region_y_max - region_y_min) / 2);
150150
++count_region_center;
151151
} else if (pbc_->isSkipIoMode() && db_inst->isPlaced()) {
152152
// It is helpful to pick up the placement from mpl if available,

0 commit comments

Comments
 (0)