From f68ac4d0e62001d6c39dee116949cec4d36f93d8 Mon Sep 17 00:00:00 2001
From: Jean-Paul Chaput
Date: Sat, 11 Jun 2016 21:56:12 +0200
Subject: [PATCH] Argh. cdebug was slowing down the program too much.
* Change: In Hurricane Commons.h, even when cdebug print nothing, it slow
down the program (three times for Kite!). Create a macro cdebug_log
which calls cdebug *only* if the debug level is active.
---
bootstrap/refactor.sed | 3 +
crlcore/src/ccore/AllianceLibrary.cpp | 4 +-
crlcore/src/ccore/Catalog.cpp | 2 +-
crlcore/src/ccore/RoutingLayerGauge.cpp | 10 +-
.../src/ccore/bookshelf/BookshelfParser.cpp | 24 +-
crlcore/src/ccore/toolbox/RoutingPads.cpp | 2 +-
crlcore/src/pyCRL/PyAcmSigda.cpp | 2 +-
crlcore/src/pyCRL/PyAllianceFramework.cpp | 30 +-
crlcore/src/pyCRL/PyAllianceLibrary.cpp | 6 +-
crlcore/src/pyCRL/PyBanner.cpp | 4 +-
crlcore/src/pyCRL/PyBlif.cpp | 2 +-
crlcore/src/pyCRL/PyCRL.cpp | 6 +-
crlcore/src/pyCRL/PyCatalogState.cpp | 2 +-
crlcore/src/pyCRL/PyCellGauge.cpp | 2 +-
crlcore/src/pyCRL/PyEnvironment.cpp | 6 +-
crlcore/src/pyCRL/PyIspd05.cpp | 2 +-
crlcore/src/pyCRL/PyRoutingGauge.cpp | 20 +-
crlcore/src/pyCRL/PyRoutingLayerGauge.cpp | 12 +-
crlcore/src/pyCRL/PyToolBox.cpp | 2 +-
crlcore/src/pyCRL/PyToolEngine.cpp | 6 +-
documentation/UsersGuide/UsersGuide.html | 20 +-
documentation/UsersGuide/UsersGuide.pdf | 668 +++++++++---------
etesian/src/AddFeeds.cpp | 14 +-
etesian/src/Configuration.cpp | 2 +-
etesian/src/EtesianEngine.cpp | 2 +-
etesian/src/PyEtesian.cpp | 2 +-
etesian/src/PyEtesianEngine.cpp | 8 +-
etesian/src/PyGraphicEtesianEngine.cpp | 4 +-
hurricane/src/hurricane/BasicLayer.cpp | 6 +-
hurricane/src/hurricane/Box.cpp | 2 +-
hurricane/src/hurricane/Cell.cpp | 32 +-
hurricane/src/hurricane/Component.cpp | 10 +-
hurricane/src/hurricane/Contact.cpp | 6 +-
hurricane/src/hurricane/ContactLayer.cpp | 6 +-
hurricane/src/hurricane/DeepNet.cpp | 8 +-
hurricane/src/hurricane/DiffusionLayer.cpp | 6 +-
hurricane/src/hurricane/Entity.cpp | 8 +-
hurricane/src/hurricane/ExtensionGo.cpp | 8 +-
hurricane/src/hurricane/ExtensionSlice.cpp | 2 +-
hurricane/src/hurricane/Instance.cpp | 12 +-
hurricane/src/hurricane/JsonReader.cpp | 32 +-
hurricane/src/hurricane/Net.cpp | 10 +-
.../src/hurricane/NetExternalComponents.cpp | 4 +-
hurricane/src/hurricane/Plug.cpp | 8 +-
hurricane/src/hurricane/Quark.cpp | 6 +-
hurricane/src/hurricane/RegularLayer.cpp | 6 +-
hurricane/src/hurricane/RoutingPad.cpp | 6 +-
hurricane/src/hurricane/Rubber.cpp | 6 +-
hurricane/src/hurricane/Segment.cpp | 6 +-
hurricane/src/hurricane/Signature.cpp | 2 +-
hurricane/src/hurricane/Technology.cpp | 6 +-
hurricane/src/hurricane/TransistorLayer.cpp | 6 +-
hurricane/src/hurricane/UpdateSession.cpp | 16 +-
hurricane/src/hurricane/ViaLayer.cpp | 6 +-
.../src/hurricane/grenier/json/JsonReader.cpp | 28 +-
.../src/hurricane/grenier/json/JsonReader.h | 10 +-
hurricane/src/hurricane/grenier/json/Net.cpp | 2 +-
.../src/hurricane/hurricane/Collection.h | 6 +-
hurricane/src/hurricane/hurricane/Commons.h | 4 +
.../src/hurricane/hurricane/JsonObject.h | 12 +-
.../src/hurricane/hurricane/JsonWriter.h | 16 +-
hurricane/src/isobar/ProxyProperty.cpp | 4 +-
hurricane/src/isobar/PyBasicLayer.cpp | 4 +-
hurricane/src/isobar/PyBox.cpp | 24 +-
hurricane/src/isobar/PyBreakpoint.cpp | 10 +-
hurricane/src/isobar/PyCell.cpp | 52 +-
hurricane/src/isobar/PyComponent.cpp | 14 +-
hurricane/src/isobar/PyContact.cpp | 4 +-
hurricane/src/isobar/PyContactLayer.cpp | 2 +-
hurricane/src/isobar/PyDataBase.cpp | 8 +-
hurricane/src/isobar/PyDbU.cpp | 2 +-
hurricane/src/isobar/PyDebugSession.cpp | 8 +-
hurricane/src/isobar/PyDiffusionLayer.cpp | 2 +-
hurricane/src/isobar/PyEntity.cpp | 2 +-
hurricane/src/isobar/PyHook.cpp | 12 +-
hurricane/src/isobar/PyHorizontal.cpp | 4 +-
hurricane/src/isobar/PyHurricane.cpp | 6 +-
hurricane/src/isobar/PyHyperNet.cpp | 8 +-
hurricane/src/isobar/PyInstance.cpp | 30 +-
hurricane/src/isobar/PyInterval.cpp | 22 +-
hurricane/src/isobar/PyLayer.cpp | 16 +-
hurricane/src/isobar/PyLayerMask.cpp | 6 +-
hurricane/src/isobar/PyLibrary.cpp | 8 +-
hurricane/src/isobar/PyMaterial.cpp | 6 +-
hurricane/src/isobar/PyNet.cpp | 34 +-
hurricane/src/isobar/PyNetDirection.cpp | 2 +-
.../src/isobar/PyNetExternalComponents.cpp | 10 +-
hurricane/src/isobar/PyNetType.cpp | 2 +-
hurricane/src/isobar/PyOccurrence.cpp | 14 +-
hurricane/src/isobar/PyOrientation.cpp | 2 +-
hurricane/src/isobar/PyPad.cpp | 8 +-
hurricane/src/isobar/PyPath.cpp | 20 +-
hurricane/src/isobar/PyPin.cpp | 4 +-
hurricane/src/isobar/PyPinDirection.cpp | 2 +-
hurricane/src/isobar/PyPinPlacementStatus.cpp | 2 +-
hurricane/src/isobar/PyPlacementStatus.cpp | 2 +-
hurricane/src/isobar/PyPlug.cpp | 8 +-
hurricane/src/isobar/PyPoint.cpp | 6 +-
hurricane/src/isobar/PyQuery.cpp | 30 +-
hurricane/src/isobar/PyQueryMask.cpp | 6 +-
hurricane/src/isobar/PyReference.cpp | 8 +-
hurricane/src/isobar/PyRegularLayer.cpp | 2 +-
hurricane/src/isobar/PyRoutingPad.cpp | 22 +-
hurricane/src/isobar/PySegment.cpp | 10 +-
hurricane/src/isobar/PyTechnology.cpp | 10 +-
hurricane/src/isobar/PyTransformation.cpp | 40 +-
hurricane/src/isobar/PyTransistorLayer.cpp | 2 +-
hurricane/src/isobar/PyUpdateSession.cpp | 6 +-
hurricane/src/isobar/PyVertical.cpp | 4 +-
hurricane/src/isobar/PyViaLayer.cpp | 2 +-
.../src/isobar/hurricane/isobar/PyHurricane.h | 54 +-
hurricane/src/viewer/DisplayStyle.cpp | 16 +-
hurricane/src/viewer/Graphics.cpp | 4 +-
hurricane/src/viewer/PyCellViewer.cpp | 22 +-
hurricane/src/viewer/PyDisplayStyle.cpp | 22 +-
hurricane/src/viewer/PyDrawingGroup.cpp | 6 +-
hurricane/src/viewer/PyDrawingStyle.cpp | 4 +-
hurricane/src/viewer/PyGraphics.cpp | 24 +-
hurricane/src/viewer/PyHApplication.cpp | 4 +-
hurricane/src/viewer/PyHSVr.cpp | 4 +-
hurricane/src/viewer/PyViewer.cpp | 4 +-
hurricane/src/viewer/SelectCommand.cpp | 2 +-
katabatic/src/AutoContact.cpp | 46 +-
katabatic/src/AutoContactHTee.cpp | 54 +-
katabatic/src/AutoContactTerminal.cpp | 50 +-
katabatic/src/AutoContactTurn.cpp | 26 +-
katabatic/src/AutoContactVTee.cpp | 34 +-
katabatic/src/AutoHorizontal.cpp | 90 +--
katabatic/src/AutoSegment.cpp | 290 ++++----
katabatic/src/AutoSegments.cpp | 36 +-
katabatic/src/AutoVertical.cpp | 68 +-
katabatic/src/ChipTools.cpp | 8 +-
katabatic/src/Configuration.cpp | 2 +-
katabatic/src/GCell.cpp | 42 +-
katabatic/src/GCellGrid.cpp | 14 +-
katabatic/src/KatabaticEngine.cpp | 108 +--
katabatic/src/LayerAssign.cpp | 64 +-
katabatic/src/LoadGrByNet.cpp | 224 +++---
katabatic/src/NetConstraints.cpp | 38 +-
katabatic/src/NetOptimals.cpp | 12 +-
katabatic/src/PyKatabatic.cpp | 2 +-
katabatic/src/Session.cpp | 52 +-
katabatic/src/katabatic/AutoContact.h | 22 +-
katabatic/src/katabatic/AutoSegment.h | 2 +-
kite/src/BuildPowerRails.cpp | 74 +-
kite/src/DataNegociate.cpp | 34 +-
kite/src/KiteEngine.cpp | 36 +-
kite/src/Manipulator.cpp | 246 +++----
kite/src/NegociateWindow.cpp | 60 +-
kite/src/PreProcess.cpp | 40 +-
kite/src/PyGraphicKiteEngine.cpp | 4 +-
kite/src/PyKite.cpp | 2 +-
kite/src/PyKiteEngine.cpp | 20 +-
kite/src/RoutingEvent.cpp | 98 +--
kite/src/RoutingEventQueue.cpp | 6 +-
kite/src/RoutingPlane.cpp | 4 +-
kite/src/SegmentFsm.cpp | 160 ++---
kite/src/Session.cpp | 16 +-
kite/src/Track.cpp | 46 +-
kite/src/TrackElement.cpp | 4 +-
kite/src/TrackElements.cpp | 6 +-
kite/src/TrackFixedSegment.cpp | 6 +-
kite/src/TrackSegment.cpp | 152 ++--
kite/src/TrackSegmentCost.cpp | 22 +-
kite/src/Tracks.cpp | 26 +-
kite/src/kite/RoutingEvent.h | 2 +-
knik/src/Edge.cpp | 2 +-
knik/src/Graph.cpp | 62 +-
knik/src/MatrixVertex.cpp | 4 +-
unicorn/src/PyUnicorn.cpp | 2 +-
unicorn/src/PyUnicornGui.cpp | 8 +-
unicorn/src/cgt.py | 2 +-
172 files changed, 2133 insertions(+), 2144 deletions(-)
create mode 100644 bootstrap/refactor.sed
diff --git a/bootstrap/refactor.sed b/bootstrap/refactor.sed
new file mode 100644
index 00000000..31f8f7c2
--- /dev/null
+++ b/bootstrap/refactor.sed
@@ -0,0 +1,3 @@
+s|cdebug\.log(\([0-9]*\),\([0-9]*\))|cdebug_log(\1,\2)|
+s|cdebug\.log(\([0-9]*\))|cdebug_log(\1,0)|
+s|cdebug\.tabw(\([0-9]*\),\(-*[0-9]*\))|cdebug_tabw(\1,\2)|
diff --git a/crlcore/src/ccore/AllianceLibrary.cpp b/crlcore/src/ccore/AllianceLibrary.cpp
index fa9d8d15..18ec778a 100644
--- a/crlcore/src/ccore/AllianceLibrary.cpp
+++ b/crlcore/src/ccore/AllianceLibrary.cpp
@@ -132,7 +132,7 @@ namespace CRL {
, DataBase::CreateLib|DataBase::WarnCreateLib );
AllianceLibrary* aLibrary = NULL;
- cdebug.log(19) << "| " << libDbPath << " : " << library << endl;
+ cdebug_log(19,0) << "| " << libDbPath << " : " << library << endl;
if (library) {
aLibrary = af->getAllianceLibrary( library );
@@ -151,7 +151,7 @@ namespace CRL {
if (not library) library = aLibrary->getLibrary();
}
- cdebug.log(19) << "| Associates to: " << aLibrary << endl;
+ cdebug_log(19,0) << "| Associates to: " << aLibrary << endl;
if (aLibrary->getLibrary() != library) {
cerr << Warning( "JsonAllianceLibrary::toData(): Underlying Hurricane Library discrepency for \"%s\".\n"
diff --git a/crlcore/src/ccore/Catalog.cpp b/crlcore/src/ccore/Catalog.cpp
index 15acd735..bebb29fb 100644
--- a/crlcore/src/ccore/Catalog.cpp
+++ b/crlcore/src/ccore/Catalog.cpp
@@ -436,7 +436,7 @@ namespace CRL {
Catalog::State* state = get( stack, "_state" );
CatalogProperty* property = NULL;
- cdebug.log(19) << "topDBo:" << dbo << endl;
+ cdebug_log(19,0) << "topDBo:" << dbo << endl;
Cell* cell = dynamic_cast( dbo );
if (cell) {
diff --git a/crlcore/src/ccore/RoutingLayerGauge.cpp b/crlcore/src/ccore/RoutingLayerGauge.cpp
index db76413d..59acd6c4 100644
--- a/crlcore/src/ccore/RoutingLayerGauge.cpp
+++ b/crlcore/src/ccore/RoutingLayerGauge.cpp
@@ -207,17 +207,17 @@ namespace CRL {
unsigned RoutingLayerGauge::getTrackIndex ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const
{
- cdebug.log(100,1) << "RoutingLayerGauge::getTrackIndex ( " << position << " )" << endl;
+ cdebug_log(100,1) << "RoutingLayerGauge::getTrackIndex ( " << position << " )" << endl;
long modulo;
long depth;
divide ( position-start, depth, modulo );
- cdebug.log(100) << "depth := " << depth << endl;
+ cdebug_log(100,0) << "depth := " << depth << endl;
if ( depth < 0 ) {
- cdebug.tabw(100,-1);
+ cdebug_tabw(100,-1);
return 0;
// throw Error ( negativeIndex
@@ -239,7 +239,7 @@ namespace CRL {
unsigned int tracksNumber = getTrackNumber(start,stop);
if ( (unsigned)depth >= tracksNumber ) {
- cdebug.tabw(100,-1);
+ cdebug_tabw(100,-1);
return (tracksNumber > 0) ? tracksNumber-1 : 0;
// throw Error ( overflowIndex
// , getString(this).c_str()
@@ -249,7 +249,7 @@ namespace CRL {
// );
}
- cdebug.tabw(100,-1);
+ cdebug_tabw(100,-1);
return depth;
}
diff --git a/crlcore/src/ccore/bookshelf/BookshelfParser.cpp b/crlcore/src/ccore/bookshelf/BookshelfParser.cpp
index dbffbbe9..1e017f7d 100644
--- a/crlcore/src/ccore/bookshelf/BookshelfParser.cpp
+++ b/crlcore/src/ccore/bookshelf/BookshelfParser.cpp
@@ -318,7 +318,7 @@ Name BKParser::getNewNetName()
bool BKParser::isNumber ( char* token ) {
- cdebug.log(100) << "isNumber = " << token;
+ cdebug_log(100,0) << "isNumber = " << token;
unsigned i = 0;
char tok;
@@ -330,7 +330,7 @@ bool BKParser::isNumber ( char* token ) {
}
bool BKParser::isFloat ( char* token ) {
- cdebug.log(100) << "isFloat = " << token;
+ cdebug_log(100,0) << "isFloat = " << token;
unsigned i = 0;
char tok;
@@ -343,7 +343,7 @@ bool BKParser::isFloat ( char* token ) {
}
bool BKParser::isName ( char* token ) {
- cdebug.log(100) << "isName = " << token;
+ cdebug_log(100,0) << "isName = " << token;
unsigned i = 0;
char tok;
@@ -358,7 +358,7 @@ bool BKParser::isName ( char* token ) {
}
bool BKParser::isSymetry ( char* token ) {
- cdebug.log(100) << "isSymetry = " << token;
+ cdebug_log(100,0) << "isSymetry = " << token;
if ( ( ( token[0] == 'X' ) && ( token[1] == char(0) ) )
|| ( ( token[0] == 'Y' ) && ( token[1] == char(0) ) )
|| ( ( token[0] == 'R' ) && ( token[1] == '9' ) && ( token[2] == '0' ) && ( token[3] == char(0) ) ) )
@@ -366,7 +366,7 @@ bool BKParser::isSymetry ( char* token ) {
return false;
}
bool BKParser::isDirection ( char* token ) {
- cdebug.log(100) << "isDirection = " << token;
+ cdebug_log(100,0) << "isDirection = " << token;
if ( ( ( token[0] == 'I' ) || ( token[0] == 'O' ) || ( token[0] == 'B' ) ) && ( token[1] == char(0) ) )
return true;
@@ -381,7 +381,7 @@ bool BKParser::ScanAux ()
// The Aux record looks like :
// RowBasedPlacement : .nodes .nets .wts .pl .scl
// **********************************************************************************************************
- cdebug.log(100) << "ScanAux = " << _buffer;
+ cdebug_log(100,0) << "ScanAux = " << _buffer;
// ***********************
// Patterns initialization
@@ -441,7 +441,7 @@ bool BKParser::ScanNum ( unsigned& num )
// The NodeNum record looks like :
// NumNodes :
// *******************************
- cdebug.log(100) << "ScanNum = " << _buffer;
+ cdebug_log(100,0) << "ScanNum = " << _buffer;
char *p_type, *p_num;
if ( ( ( p_type = strtok ( _buffer, "\t \n:" ) ) != NULL ) &&
@@ -460,7 +460,7 @@ bool BKParser::ScanDegree ( unsigned& degree, Name& netName )
// The NetDregree record looks like :
// NetDegree : [netName]
// **********************************
- cdebug.log(100) << "ScanDegree = " << _buffer;
+ cdebug_log(100,0) << "ScanDegree = " << _buffer;
bool mDegree = false;
bool mName = false;
@@ -502,7 +502,7 @@ bool BKParser::ScanNodes ( Name& name, DbU::Unit& width, DbU::Unit& height, bool
// The Node record looks like :
// [terminal]
// **************************************
- cdebug.log(100) << "ScanNodes = " << _buffer;
+ cdebug_log(100,0) << "ScanNodes = " << _buffer;
char *p_name, *p_width, *p_height, *p_term;
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
@@ -528,7 +528,7 @@ bool BKParser::ScanNets ( Name& insName, Net::Direction& dir, DbU::Unit& dx, DbU
// The Net record looks like :
// NetDegree :
// *********************************
- cdebug.log(100) << "ScanNets = " << _buffer;
+ cdebug_log(100,0) << "ScanNets = " << _buffer;
bool mName = false;
bool mDirection = false;
@@ -580,7 +580,7 @@ bool BKParser::ScanWts ( Name& name, unsigned& weight )
// The Weight record looks like :
//
// ******************************
- cdebug.log(100) << "ScanWts = " << _buffer;
+ cdebug_log(100,0) << "ScanWts = " << _buffer;
//char *p_x, *p_y, *p_model, *p_name, *p_transf;
@@ -622,7 +622,7 @@ bool BKParser::ScanPl ( Name& name, DbU::Unit& x, DbU::Unit& y, Transformation::
// The Placement record looks like :
// : [FIXED]
// *************************************
- cdebug.log(100) << "ScanPl = " << _buffer;
+ cdebug_log(100,0) << "ScanPl = " << _buffer;
char *p_name, *p_x, *p_y, *p_orient, *p_fixed;
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
diff --git a/crlcore/src/ccore/toolbox/RoutingPads.cpp b/crlcore/src/ccore/toolbox/RoutingPads.cpp
index 42dde098..960fdf4d 100644
--- a/crlcore/src/ccore/toolbox/RoutingPads.cpp
+++ b/crlcore/src/ccore/toolbox/RoutingPads.cpp
@@ -208,7 +208,7 @@ void createPlacedRoutingPadsAndPinsRing ( Cell* top_cell )
netOccurrence = Occurrence(net);
for_each_occurrence ( plugOccurrence, HyperNet(netOccurrence).getLeafPlugOccurrences() )
{
- cdebug.log(109,1) << "Creating Routing Pad " << plugOccurrence << endl;
+ cdebug_log(109,1) << "Creating Routing Pad " << plugOccurrence << endl;
cerr << RoutingPad::create ( net, plugOccurrence, RoutingPad::BiggestArea ) << endl;
//ltraceout(58);
end_for;
diff --git a/crlcore/src/pyCRL/PyAcmSigda.cpp b/crlcore/src/pyCRL/PyAcmSigda.cpp
index 618a2e4f..5b7140ba 100644
--- a/crlcore/src/pyCRL/PyAcmSigda.cpp
+++ b/crlcore/src/pyCRL/PyAcmSigda.cpp
@@ -55,7 +55,7 @@ extern "C" {
static PyObject* PyAcmSigda_load ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyAcmSigda_load()" << endl;
+ cdebug_log(30,0) << "PyAcmSigda_load()" << endl;
Cell* cell = NULL;
diff --git a/crlcore/src/pyCRL/PyAllianceFramework.cpp b/crlcore/src/pyCRL/PyAllianceFramework.cpp
index 56c44fd4..85d3bc9e 100644
--- a/crlcore/src/pyCRL/PyAllianceFramework.cpp
+++ b/crlcore/src/pyCRL/PyAllianceFramework.cpp
@@ -70,7 +70,7 @@ extern "C" {
static PyObject* PyAllianceFramework_create ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_create()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_create()" << endl;
AllianceFramework* af = NULL;
PyAllianceFramework* pyAf = NULL;
@@ -96,7 +96,7 @@ extern "C" {
static PyObject* PyAllianceFramework_get ( PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_get()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_get()" << endl;
AllianceFramework* af = NULL;
PyAllianceFramework* pyAf = NULL;
@@ -116,7 +116,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getEnvironment ( PyAllianceFramework* self )
{
- cdebug.log(30) << "PyAllianceFramework_getEnvironment ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getEnvironment ()" << endl;
Environment* env = NULL;
@@ -134,7 +134,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getLibrary ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_getLibrary()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getLibrary()" << endl;
Library* lib = NULL;
@@ -164,7 +164,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getAllianceLibrary ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_getAllianceLibrary()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getAllianceLibrary()" << endl;
AllianceLibrary* alib = NULL;
@@ -199,7 +199,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getCell ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_getCell ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getCell ()" << endl;
char* name = NULL;
Cell* cell = NULL;
@@ -222,7 +222,7 @@ extern "C" {
static PyObject* PyAllianceFramework_saveCell ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_saveCell ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_saveCell ()" << endl;
HTRY
@@ -243,7 +243,7 @@ extern "C" {
static PyObject* PyAllianceFramework_createCell ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_createCell ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_createCell ()" << endl;
char* name = NULL;
Cell* cell = NULL;
@@ -265,7 +265,7 @@ extern "C" {
static PyObject* PyAllianceFramework_createLibrary ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_createLibrary()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_createLibrary()" << endl;
AllianceLibrary* alib = NULL;
string libName = "";
@@ -304,7 +304,7 @@ extern "C" {
static PyObject* PyAllianceFramework_isPad ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_isPad ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_isPad ()" << endl;
char* name = NULL;
@@ -325,7 +325,7 @@ extern "C" {
static PyObject* PyAllianceFramework_addRoutingGauge ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_addRoutingGauge ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_addRoutingGauge ()" << endl;
HTRY
METHOD_HEAD("AllianceFramework.addRoutingGauge()")
@@ -341,7 +341,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getRoutingGauge ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_getRoutingGauge ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getRoutingGauge ()" << endl;
RoutingGauge* rg = NULL;
@@ -365,7 +365,7 @@ extern "C" {
static PyObject* PyAllianceFramework_addCellGauge ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_addCellGauge ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_addCellGauge ()" << endl;
HTRY
METHOD_HEAD("AllianceFramework.addCellGauge()")
@@ -381,7 +381,7 @@ extern "C" {
static PyObject* PyAllianceFramework_getCellGauge ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_getCellGauge ()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_getCellGauge ()" << endl;
CellGauge* rg = NULL;
@@ -405,7 +405,7 @@ extern "C" {
static PyObject* PyAllianceFramework_loadLibraryCells ( PyAllianceFramework* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceFramework_loadLibraryCells()" << endl;
+ cdebug_log(30,0) << "PyAllianceFramework_loadLibraryCells()" << endl;
unsigned int count = 0;
diff --git a/crlcore/src/pyCRL/PyAllianceLibrary.cpp b/crlcore/src/pyCRL/PyAllianceLibrary.cpp
index 4bf7baec..581ff66d 100644
--- a/crlcore/src/pyCRL/PyAllianceLibrary.cpp
+++ b/crlcore/src/pyCRL/PyAllianceLibrary.cpp
@@ -59,7 +59,7 @@ extern "C" {
static PyObject* PyAllianceLibrary_getLibrary ( PyAllianceLibrary* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceLibrary_getLibrary()" << endl;
+ cdebug_log(30,0) << "PyAllianceLibrary_getLibrary()" << endl;
Library* lib = NULL;
@@ -74,7 +74,7 @@ extern "C" {
static PyObject* PyAllianceLibrary_getPath ( PyAllianceLibrary* self, PyObject* args )
{
- cdebug.log(30) << "PyAllianceLibrary_getPath()" << endl;
+ cdebug_log(30,0) << "PyAllianceLibrary_getPath()" << endl;
HTRY
METHOD_HEAD("AllianceLibrary.getPath()")
@@ -114,7 +114,7 @@ extern "C" {
DirectHashMethod(PyAllianceLibrary_Hash, PyAllianceLibrary)
extern void PyAllianceLibrary_LinkPyType() {
- cdebug.log(30) << "PyAllianceLibrary_LinkType()" << endl;
+ cdebug_log(30,0) << "PyAllianceLibrary_LinkType()" << endl;
PyTypeAllianceLibrary.tp_dealloc = (destructor) PyAllianceLibrary_DeAlloc;
PyTypeAllianceLibrary.tp_repr = (reprfunc) PyAllianceLibrary_Repr;
diff --git a/crlcore/src/pyCRL/PyBanner.cpp b/crlcore/src/pyCRL/PyBanner.cpp
index 386639fd..931cf261 100644
--- a/crlcore/src/pyCRL/PyBanner.cpp
+++ b/crlcore/src/pyCRL/PyBanner.cpp
@@ -57,7 +57,7 @@ extern "C" {
static PyObject* PyBanner_new ( PyTypeObject* type, PyObject* args, PyObject* kwArgs )
{
- cdebug.log(30) << "PyBanner_new()" << endl;
+ cdebug_log(30,0) << "PyBanner_new()" << endl;
Banner* banner = NULL;
PyBanner* pyBanner = (PyBanner*)type->tp_alloc(type,0);
@@ -180,7 +180,7 @@ extern "C" {
DirectHashMethod(PyBanner_Hash, PyBanner)
extern void PyBanner_LinkPyType() {
- cdebug.log(30) << "PyBanner_LinkType()" << endl;
+ cdebug_log(30,0) << "PyBanner_LinkType()" << endl;
PyTypeBanner.tp_new = PyBanner_new;
PyTypeBanner.tp_dealloc = (destructor)PyBanner_DeAlloc;
diff --git a/crlcore/src/pyCRL/PyBlif.cpp b/crlcore/src/pyCRL/PyBlif.cpp
index 201d5b8a..c5c25950 100644
--- a/crlcore/src/pyCRL/PyBlif.cpp
+++ b/crlcore/src/pyCRL/PyBlif.cpp
@@ -55,7 +55,7 @@ extern "C" {
static PyObject* PyBlif_load ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyBlif_load()" << endl;
+ cdebug_log(30,0) << "PyBlif_load()" << endl;
Cell* cell = NULL;
diff --git a/crlcore/src/pyCRL/PyCRL.cpp b/crlcore/src/pyCRL/PyCRL.cpp
index 55de9efc..45298954 100644
--- a/crlcore/src/pyCRL/PyCRL.cpp
+++ b/crlcore/src/pyCRL/PyCRL.cpp
@@ -73,7 +73,7 @@ extern "C" {
static PyObject* PyVhdl_destroyAllVHDL ( PyObject* module )
{
- cdebug.log(30) << "PyVhdl_destroyAllVHDL()" << endl;
+ cdebug_log(30,0) << "PyVhdl_destroyAllVHDL()" << endl;
HTRY
EntityExtension::destroyAll();
@@ -103,7 +103,7 @@ extern "C" {
// Module Initialization : "initCRL ()"
DL_EXPORT(void) initCRL () {
- cdebug.log(30) << "initCRL()" << endl;
+ cdebug_log(30,0) << "initCRL()" << endl;
PyBanner_LinkPyType ();
PyCatalogState_LinkPyType ();
@@ -197,7 +197,7 @@ extern "C" {
//PyObject* dictionnary = PyModule_GetDict ( module );
//DbULoadConstants ( dictionnary );
- cdebug.log(30) << "CRL.so loaded " << (void*)&typeid(string) << endl;
+ cdebug_log(30,0) << "CRL.so loaded " << (void*)&typeid(string) << endl;
}
diff --git a/crlcore/src/pyCRL/PyCatalogState.cpp b/crlcore/src/pyCRL/PyCatalogState.cpp
index 31f5a993..1c2a26f0 100644
--- a/crlcore/src/pyCRL/PyCatalogState.cpp
+++ b/crlcore/src/pyCRL/PyCatalogState.cpp
@@ -114,7 +114,7 @@ extern "C" {
DirectHashMethod(PyCatalogState_Hash, PyCatalogState)
extern void PyCatalogState_LinkPyType() {
- cdebug.log(30) << "PyCatalogState_LinkType()" << endl;
+ cdebug_log(30,0) << "PyCatalogState_LinkType()" << endl;
PyTypeCatalogState.tp_dealloc = (destructor) PyCatalogState_DeAlloc;
PyTypeCatalogState.tp_compare = (cmpfunc) PyCatalogState_Cmp;
PyTypeCatalogState.tp_repr = (reprfunc) PyCatalogState_Repr;
diff --git a/crlcore/src/pyCRL/PyCellGauge.cpp b/crlcore/src/pyCRL/PyCellGauge.cpp
index e50a4575..95d04f2c 100644
--- a/crlcore/src/pyCRL/PyCellGauge.cpp
+++ b/crlcore/src/pyCRL/PyCellGauge.cpp
@@ -61,7 +61,7 @@ extern "C" {
static PyObject* PyCellGauge_create ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyCellGauge_create()" << endl;
+ cdebug_log(30,0) << "PyCellGauge_create()" << endl;
CellGauge* cg = NULL;
PyCellGauge* pyCg = NULL;
diff --git a/crlcore/src/pyCRL/PyEnvironment.cpp b/crlcore/src/pyCRL/PyEnvironment.cpp
index 55e013c2..9373a82d 100644
--- a/crlcore/src/pyCRL/PyEnvironment.cpp
+++ b/crlcore/src/pyCRL/PyEnvironment.cpp
@@ -67,7 +67,7 @@ extern "C" {
PyObject* PyEnvironment_addSYSTEM_LIBRARY ( PyEnvironment* self, PyObject* args, PyObject* kwArgs )
{
- cdebug.log(30) << "PyEnvironment_addSYSTEM_LIBRARY()" << endl;
+ cdebug_log(30,0) << "PyEnvironment_addSYSTEM_LIBRARY()" << endl;
HTRY
METHOD_HEAD("Environment.addSYSTEM_LIBRARY()")
@@ -113,7 +113,7 @@ extern "C" {
PyObject* PyEnvironment_getLIBRARYPath ( PyEnvironment* self, PyObject* args )
{
- cdebug.log(30) << "PyEnvironment_getLIBRARYPath()" << endl;
+ cdebug_log(30,0) << "PyEnvironment_getLIBRARYPath()" << endl;
HTRY
METHOD_HEAD("Environment.getLIBRARYPath()")
@@ -265,7 +265,7 @@ extern "C" {
DirectHashMethod(PyEnvironment_Hash, PyEnvironment)
extern void PyEnvironment_LinkPyType() {
- cdebug.log(30) << "PyEnvironment_LinkType()" << endl;
+ cdebug_log(30,0) << "PyEnvironment_LinkType()" << endl;
PyTypeEnvironment.tp_dealloc = (destructor) PyEnvironment_DeAlloc;
PyTypeEnvironment.tp_repr = (reprfunc) PyEnvironment_Repr;
diff --git a/crlcore/src/pyCRL/PyIspd05.cpp b/crlcore/src/pyCRL/PyIspd05.cpp
index fdf0e30f..4b58a492 100644
--- a/crlcore/src/pyCRL/PyIspd05.cpp
+++ b/crlcore/src/pyCRL/PyIspd05.cpp
@@ -56,7 +56,7 @@ extern "C" {
static PyObject* PyIspd05_load ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyIspd05_load()" << endl;
+ cdebug_log(30,0) << "PyIspd05_load()" << endl;
Cell* cell = NULL;
diff --git a/crlcore/src/pyCRL/PyRoutingGauge.cpp b/crlcore/src/pyCRL/PyRoutingGauge.cpp
index f670284f..f2a9050f 100644
--- a/crlcore/src/pyCRL/PyRoutingGauge.cpp
+++ b/crlcore/src/pyCRL/PyRoutingGauge.cpp
@@ -67,7 +67,7 @@ extern "C" {
static PyObject* PyRoutingGauge_create ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_create()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_create()" << endl;
RoutingGauge* rg = NULL;
PyRoutingGauge* pyRg = NULL;
@@ -96,7 +96,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getTechnology ( PyRoutingGauge* self )
{
- cdebug.log(30) << "PyRoutingGauge_getTechnology()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getTechnology()" << endl;
Technology* technology = NULL;
@@ -111,7 +111,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getDepth ( PyRoutingGauge* self )
{
- cdebug.log(30) << "PyRoutingGauge_getDepth()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getDepth()" << endl;
size_t depth = 0;
@@ -126,7 +126,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getLayerDepth ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getLayerDepth()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getLayerDepth()" << endl;
size_t depth = 0;
@@ -153,7 +153,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getLayerGauge ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getLayerGauge()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getLayerGauge()" << endl;
RoutingLayerGauge* rlg = NULL;
@@ -188,7 +188,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getLayerDirection ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getLayerDirection()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getLayerDirection()" << endl;
unsigned int direction = 0;
@@ -219,7 +219,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getLayerPitch ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getLayerPitch()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getLayerPitch()" << endl;
DbU::Unit pitch = 0;
@@ -250,7 +250,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getRoutingLayer ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getRoutingLayer()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getRoutingLayer()" << endl;
Layer* layer = NULL;
@@ -277,7 +277,7 @@ extern "C" {
static PyObject* PyRoutingGauge_getContactLayer ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_getContactLayer()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_getContactLayer()" << endl;
Layer* layer = NULL;
@@ -304,7 +304,7 @@ extern "C" {
PyObject* PyRoutingGauge_addLayerGauge ( PyRoutingGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingGauge_addLayerGauge()" << endl;
+ cdebug_log(30,0) << "PyRoutingGauge_addLayerGauge()" << endl;
HTRY
METHOD_HEAD("RoutingGauge.addLayerGauge()")
diff --git a/crlcore/src/pyCRL/PyRoutingLayerGauge.cpp b/crlcore/src/pyCRL/PyRoutingLayerGauge.cpp
index b7418878..a50a1eb0 100644
--- a/crlcore/src/pyCRL/PyRoutingLayerGauge.cpp
+++ b/crlcore/src/pyCRL/PyRoutingLayerGauge.cpp
@@ -60,7 +60,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_create ( PyObject*, PyObject* args )
{
- cdebug.log(30) << "PyRoutingLayerGauge_create()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_create()" << endl;
RoutingLayerGauge* rlg = NULL;
PyRoutingLayerGauge* pyRlg = NULL;
@@ -140,7 +140,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_getLayer ( PyRoutingLayerGauge* self )
{
- cdebug.log(30) << "PyRoutingLayerGauge_getLayer()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_getLayer()" << endl;
Layer* layer = NULL;
@@ -155,7 +155,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_getBlockageLayer ( PyRoutingLayerGauge* self )
{
- cdebug.log(30) << "PyRoutingLayerGauge_getBlockageLayer()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_getBlockageLayer()" << endl;
Layer* layer = NULL;
@@ -170,7 +170,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_getTrackNumber ( PyRoutingLayerGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingLayerGauge_getTrackNumber()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_getTrackNumber()" << endl;
unsigned int trackNumber = 0;
@@ -194,7 +194,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_getTrackIndex ( PyRoutingLayerGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingLayerGauge_getTrackIndex()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_getTrackIndex()" << endl;
unsigned int trackIndex = 0;
@@ -232,7 +232,7 @@ extern "C" {
static PyObject* PyRoutingLayerGauge_getTrackPosition ( PyRoutingLayerGauge* self, PyObject* args )
{
- cdebug.log(30) << "PyRoutingLayerGauge_getTrackPosition()" << endl;
+ cdebug_log(30,0) << "PyRoutingLayerGauge_getTrackPosition()" << endl;
DbU::Unit trackPosition = 0;
diff --git a/crlcore/src/pyCRL/PyToolBox.cpp b/crlcore/src/pyCRL/PyToolBox.cpp
index 6c7b7aeb..db2f98e0 100644
--- a/crlcore/src/pyCRL/PyToolBox.cpp
+++ b/crlcore/src/pyCRL/PyToolBox.cpp
@@ -70,7 +70,7 @@ extern "C" {
extern PyObject* PyToolBox_createPartRing ( PyObject* module, PyObject* args )
{
- cdebug.log(30) << "PyToolBox_createPartRing ()" << endl;
+ cdebug_log(30,0) << "PyToolBox_createPartRing ()" << endl;
HTRY
PyObject* arg0;
diff --git a/crlcore/src/pyCRL/PyToolEngine.cpp b/crlcore/src/pyCRL/PyToolEngine.cpp
index 51daba1f..99691101 100644
--- a/crlcore/src/pyCRL/PyToolEngine.cpp
+++ b/crlcore/src/pyCRL/PyToolEngine.cpp
@@ -46,7 +46,7 @@ extern "C" {
static PyObject* PyToolEngine_get ( PyObject*, PyObject* args, PyObject* kwArgs )
{
- cdebug.log(30) << "PyToolEngine_get()" << endl;
+ cdebug_log(30,0) << "PyToolEngine_get()" << endl;
HTRY
PyObject* pyCell = NULL;
@@ -98,7 +98,7 @@ extern "C" {
static PyObject* PyToolEngine_destroyAll ( PyObject* )
{
- cdebug.log(30) << "PyToolEngine_destroyAll()" << endl;
+ cdebug_log(30,0) << "PyToolEngine_destroyAll()" << endl;
HTRY
ToolEngine::destroyAll();
@@ -110,7 +110,7 @@ extern "C" {
static PyObject* PyToolEngine_getCell ( PyToolEngine* self )
{
- cdebug.log(30) << "PyToolEngine_getCell ()" << endl;
+ cdebug_log(30,0) << "PyToolEngine_getCell ()" << endl;
Cell* cell = NULL;
diff --git a/documentation/UsersGuide/UsersGuide.html b/documentation/UsersGuide/UsersGuide.html
index 31b835e9..b22602be 100644
--- a/documentation/UsersGuide/UsersGuide.html
+++ b/documentation/UsersGuide/UsersGuide.html
@@ -271,15 +271,8 @@ running the ccb installer. |
Optional libraries:
-- Lemon (used by the detailed placer)
- LEF/DEF (from SI2)
-The Coloquinte component requires the lemon component from coin-or (Coin Or Home).
-A repository of coin-or packages backported from Fedora 21 is available here:
-
For other distributions, refer to their own packaging system.
@@ -824,7 +817,8 @@ parametersTable = \
, ('misc.logMode' , TypeBool , True )
, ('misc.verboseLevel1' , TypeBool , False )
, ('misc.verboseLevel2' , TypeBool , True )
- , ('misc.traceLevel' , TypeInt , 1000 )
+ , ('misc.minTraceLevel' , TypeInt , 0 )
+ , ('misc.maxTraceLevel' , TypeInt , 0 )
)
# Some ordinary Python script...
@@ -1568,12 +1562,16 @@ sequences
Development/Debug Parameters |
-misc.traceLevel |
+
misc.minTraceLevel |
TypeInt |
0 |
-Display trace information below that level
-(ltrace stream) |
+
misc.maxTraceLevel |
+TypeInt |
+0 |
+
+Display trace information between those two
+levels (cdebug stream) |
misc.catchCore |
TypeBool |
diff --git a/documentation/UsersGuide/UsersGuide.pdf b/documentation/UsersGuide/UsersGuide.pdf
index 5159e71a..5f0c3589 100644
--- a/documentation/UsersGuide/UsersGuide.pdf
+++ b/documentation/UsersGuide/UsersGuide.pdf
@@ -89,22 +89,17 @@ Q
endstream
endobj
-92 0 obj
-<>
+88 0 obj
+<>
stream
-xYYoF~`Đ
-kŽɾDl(4n݇ER1r=]
-ήbHH%itshy1U%"ij}6kj7_hu21B"KEs֗94FZk8b80\Sm>B\s'cD.b4DM̨DΌTX)Z=GGV]feiT!hH]mނpJAE*y#-|2*?[YG1o/ssT~1^_*/vy]YocYl"ivя,zYTu