In Etesian, issue an error message in case of unplaced macro-block.
In Etesian, issue an error message in case of unplaced macro-block.
This commit is contained in:
parent
20eadc85f3
commit
a8322252ce
|
@ -425,8 +425,24 @@ namespace Etesian {
|
||||||
|
|
||||||
if (not cmess2.enabled()) dots.disable();
|
if (not cmess2.enabled()) dots.disable();
|
||||||
|
|
||||||
|
size_t instancesNb = 0;
|
||||||
|
for ( Occurrence occurrence : getCell()->getLeafInstanceOccurrences() ) {
|
||||||
|
Instance* instance = static_cast<Instance*>(occurrence.getEntity());
|
||||||
|
Cell* masterCell = instance->getMasterCell();
|
||||||
|
|
||||||
|
if ( (instance->getPlacementStatus() != Instance::PlacementStatus::PLACED)
|
||||||
|
and (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED )
|
||||||
|
and (masterCell->getAbutmentBox().getHeight() != getSliceHeight()) ) {
|
||||||
|
throw Error( "EtesianEngine::toColoquinte(): Cannot manage unplaced block, instance \"%s\" of \"%s\"."
|
||||||
|
, getString(instance ->getName()).c_str()
|
||||||
|
, getString(masterCell->getName()).c_str()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
++instancesNb;
|
||||||
|
}
|
||||||
|
|
||||||
// Coloquinte circuit description data-structures.
|
// Coloquinte circuit description data-structures.
|
||||||
size_t instancesNb = getCell()->getLeafInstanceOccurrences().getSize();
|
|
||||||
vector<Transformation> idsToTransf ( instancesNb );
|
vector<Transformation> idsToTransf ( instancesNb );
|
||||||
vector<temporary_cell> instances ( instancesNb );
|
vector<temporary_cell> instances ( instancesNb );
|
||||||
vector< point<int_t> > positions ( instancesNb );
|
vector< point<int_t> > positions ( instancesNb );
|
||||||
|
|
Loading…
Reference in New Issue