Opaque blocks area was not taken into account in EtesianEngine::toHurricane().
* Bug: In EtesianEngine::toHurricane(), when looping over the AB of all the FIXED instances occurrences, we where excluding contained AB instead of merging them...
This commit is contained in:
parent
9dc0040703
commit
109b2e4dee
|
@ -690,7 +690,7 @@ namespace Etesian {
|
||||||
Occurrence cellOccurrence = toCell( occurrence );
|
Occurrence cellOccurrence = toCell( occurrence );
|
||||||
cellOccurrence.getPath().getTransformation().applyOn( instanceAb );
|
cellOccurrence.getPath().getTransformation().applyOn( instanceAb );
|
||||||
|
|
||||||
if (not topPlaceArea.contains(instanceAb)) {
|
if (not topPlaceArea.intersect(instanceAb)) {
|
||||||
if (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED)
|
if (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED)
|
||||||
cerr << Warning( "EtesianEngine::readSlices(): Instance %s is not fully enclosed in the top cell.\n"
|
cerr << Warning( "EtesianEngine::readSlices(): Instance %s is not fully enclosed in the top cell.\n"
|
||||||
" * topPlaceArea=%s\n"
|
" * topPlaceArea=%s\n"
|
||||||
|
@ -703,6 +703,19 @@ namespace Etesian {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (not topPlaceArea.contains(instanceAb)) {
|
||||||
|
if (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED)
|
||||||
|
cerr << Warning( "EtesianEngine::readSlices(): Instance %s is not fully enclosed in the top cell.\n"
|
||||||
|
" * topPlaceArea=%s\n"
|
||||||
|
" * instanceAb=%s cell=%s"
|
||||||
|
, getString(instance->getName()).c_str()
|
||||||
|
, getString(topPlaceArea).c_str()
|
||||||
|
, getString(instanceAb).c_str()
|
||||||
|
, getString(instance->getCell()).c_str()
|
||||||
|
) << endl;
|
||||||
|
instanceAb = topPlaceArea.getIntersection( instanceAb );
|
||||||
|
}
|
||||||
|
|
||||||
_area->merge( cellOccurrence, instanceAb );
|
_area->merge( cellOccurrence, instanceAb );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue