Suppress wrong errors/warnings in AnabaticEngine & AutoSegment.

* Bug: In Anabatic::AutoHorizontal & AutoVertical, in getGCells()
    method, do not display the "NULL GCell under" error message if the
    segment has just been created. It could on a "wrong" axis position
    so the line probing method may fail.
* Bug: In AnabaticEngine CTOR, if the "blockagenet" is created there,
    do not forget to set it's type to BLOCKAGE (to avoid later warnings).
* Bug: In Anabatic::NetBuilder::_load(), do not display a warning if the
    blockage net has no RoutingPads (it *must* not have one).
This commit is contained in:
Jean-Paul Chaput 2020-05-10 17:09:33 +02:00
parent faef4b182f
commit 7dcd8e136a
4 changed files with 26 additions and 17 deletions

View File

@ -338,7 +338,10 @@ namespace Anabatic {
_matrix.setCell( cell, _configuration->getSliceHeight() ); _matrix.setCell( cell, _configuration->getSliceHeight() );
Edge::unity = _configuration->getSliceHeight(); Edge::unity = _configuration->getSliceHeight();
if (not _blockageNet) _blockageNet = Net::create( cell, "blockagenet" ); if (not _blockageNet) {
_blockageNet = Net::create( cell, "blockagenet" );
_blockageNet->setType( Net::Type::BLOCKAGE );
}
} }

View File

@ -224,13 +224,15 @@ namespace Anabatic {
gcell = gcell->getEast( yprobe ); gcell = gcell->getEast( yprobe );
if (not gcell) { if (not gcell) {
success = false; success = false;
cerr << Error( "AutoHorizontal::getGCells() : NULL GCell under %s\n" if (not isCreated()) {
" begin:%s\n" cerr << Error( "AutoHorizontal::getGCells() : NULL GCell under %s\n"
" end: %s" " begin:%s\n"
, getString(this).c_str() " end: %s"
, getString(getAutoSource()->getGCell()).c_str() , getString(this).c_str()
, getString(getAutoTarget()->getGCell()).c_str() , getString(getAutoSource()->getGCell()).c_str()
) << endl; , getString(getAutoTarget()->getGCell()).c_str()
) << endl;
}
break; break;
} }

View File

@ -218,13 +218,15 @@ namespace Anabatic {
if (not gcell) { if (not gcell) {
success = false; success = false;
cerr << Error( "AutoVertical::getGCells() : NULL GCell under %s\n" if (not isCreated()) {
" begin:%s\n" cerr << Error( "AutoVertical::getGCells() : NULL GCell under %s\n"
" end: %s" " begin:%s\n"
, getString(this).c_str() " end: %s"
, getString(getAutoSource()->getGCell()).c_str() , getString(this).c_str()
, getString(getAutoTarget()->getGCell()).c_str() , getString(getAutoSource()->getGCell()).c_str()
) << endl; , getString(getAutoTarget()->getGCell()).c_str()
) << endl;
}
break; break;
} }

View File

@ -2327,8 +2327,10 @@ namespace Anabatic {
size_t degree = routingPads.getSize(); size_t degree = routingPads.getSize();
if (degree == 0) { if (degree == 0) {
cmess2 << Warning("Net \"%s\" do not have any RoutingPad (ignored)." if (not net->isBlockage()) {
,getString(net->getName()).c_str()) << endl; cmess2 << Warning( "Net \"%s\" do not have any RoutingPad (ignored)."
, getString(net->getName()).c_str() ) << endl;
}
cdebug_tabw(145,-1); cdebug_tabw(145,-1);
return; return;
} }