More terse failure message from the global router.
* Bug: In CRL::cstDriver(), re-activate the management of the VstUseConcat flag. Why was he removed in the first place? * Change: In KatanaEngine::runGlobalRouter(), no longer give the details of each overflowed edge and the complete list of impacted nets. Only a count.
This commit is contained in:
parent
6faf83309e
commit
02b30b6681
|
@ -243,8 +243,8 @@ namespace Vhdl {
|
|||
first = false;
|
||||
}
|
||||
} else {
|
||||
cerr << "VhdlPortMap is in bit mode for \"" << _signal->getName() << "\""
|
||||
<< " _flags:" << _flags << " mappedNames:" << _mapping.size() << endl;
|
||||
// cerr << "VhdlPortMap is in bit mode for \"" << _signal->getName() << "\""
|
||||
// << " _flags:" << _flags << " mappedNames:" << _mapping.size() << endl;
|
||||
|
||||
auto imapping = _mapping.rbegin();
|
||||
bool first = true;
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace CRL {
|
|||
void vstDriver ( const string cellPath, Cell *cell, unsigned int& saveState )
|
||||
{
|
||||
unsigned int entityFlags = Vhdl::Entity::EntityMode /* | Vhdl::Entity::IeeeMode */;
|
||||
/*if (saveState & Catalog::State::VstUseConcat)*/ entityFlags |= Vhdl::Entity::VstUseConcat;
|
||||
if (saveState & Catalog::State::VstUseConcat) entityFlags |= Vhdl::Entity::VstUseConcat;
|
||||
|
||||
//NamingScheme::toVhdl( cell, NamingScheme::FromVerilog );
|
||||
Vhdl::Entity* vhdlEntity = Vhdl::EntityExtension::create( cell, entityFlags );
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "hurricane/Breakpoint.h"
|
||||
#include "hurricane/RoutingPad.h"
|
||||
#include "hurricane/Cell.h"
|
||||
#include "crlcore/Utilities.h"
|
||||
#include "anabatic/Dijkstra.h"
|
||||
#include "katana/Block.h"
|
||||
#include "katana/RoutingPlane.h"
|
||||
|
@ -27,6 +28,7 @@
|
|||
|
||||
namespace {
|
||||
|
||||
using std::cout;
|
||||
using std::cerr;
|
||||
using std::endl;
|
||||
using std::dec;
|
||||
|
@ -447,19 +449,23 @@ namespace Katana {
|
|||
if (not ovEdges.empty()) {
|
||||
set< const Net*, Net::CompareByName > nets;
|
||||
|
||||
cerr << " o Global routing did not complete, overflowed edges:" << endl;
|
||||
//cerr << " o Global routing did not complete, overflowed edges:" << endl;
|
||||
cerr << " o Global routing did not complete." << endl;
|
||||
for ( size_t iEdge = 0 ; iEdge<ovEdges.size() ; ++iEdge ) {
|
||||
cerr << " " << dec << setw(4) << (iEdge+1) << "+ " << ovEdges[iEdge] << endl;
|
||||
//cerr << " " << dec << setw(4) << (iEdge+1) << "+ " << ovEdges[iEdge] << endl;
|
||||
for ( Segment* segment : ovEdges[iEdge]->getSegments() ) {
|
||||
cerr << " | " << segment << " " << DbU::getValueString(segment->getLength()) << endl;
|
||||
//cerr << " | " << segment << " " << DbU::getValueString(segment->getLength()) << endl;
|
||||
nets.insert( segment->getNet() );
|
||||
}
|
||||
}
|
||||
|
||||
cerr << " o Conflicting nets:" << endl;
|
||||
size_t count = 0;
|
||||
for ( const Net* net : nets )
|
||||
cerr << " " << dec << setw(4) << (++count) << "| " << net->getName() << endl;
|
||||
//cerr << " o Conflicting nets:" << endl;
|
||||
//size_t count = 0;
|
||||
//for ( const Net* net : nets )
|
||||
// cerr << " " << dec << setw(4) << (++count) << "| " << net->getName() << endl;
|
||||
|
||||
cout << Dots::asUInt (" - Overflowed edges" ,ovEdges.size()) << endl;
|
||||
cout << Dots::asUInt (" - Unsatisfied nets" ,nets .size()) << endl;
|
||||
}
|
||||
|
||||
if (getBlock(0)) {
|
||||
|
|
Loading…
Reference in New Issue