Accurate Qwt detection (Qt4 vs. Qt5). DbU forced to 64 bits.
* Change: In bootstrap/FindBootstrap.cmake, new setup_qwt() macro to link with the Qwt library build with Qt 5 *or* Qt 4 and not the first found. * Change: In Hurricane/DbU, uses <int64_t> instead of <long> to always be sure that we use 64 bits integers for coordinates. * Change: In Katana/KatanaEngine::_gutKatana() checks that the RoutingPlanes have been allocateds before trying to delete them.
This commit is contained in:
parent
b536421d3a
commit
a376d34cfe
|
@ -267,6 +267,42 @@
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Find Qwt, correlated to the Qt version.
|
||||||
|
#
|
||||||
|
macro(setup_qwt)
|
||||||
|
if(WITH_QT5)
|
||||||
|
find_path(QWT_INCLUDE_DIR NAMES qwt.h
|
||||||
|
PATHS /usr/include/qt5
|
||||||
|
/usr/include
|
||||||
|
PATH_SUFFIXES qwt )
|
||||||
|
find_library(QWT_LIBRARY NAMES qwt-qt5
|
||||||
|
PATHS /usr/lib${LIB_SUFFIX} )
|
||||||
|
else()
|
||||||
|
find_path(QWT_INCLUDE_DIR NAMES qwt.h
|
||||||
|
PATHS /usr/include
|
||||||
|
/usr/include/qt4
|
||||||
|
PATH_SUFFIXES qwt )
|
||||||
|
find_library(QWT_LIBRARY NAMES qwt
|
||||||
|
PATHS /usr/lib${LIB_SUFFIX} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if( QWT_INCLUDE_DIR AND QWT_LIBRARY)
|
||||||
|
set(QWT_FOUND TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(QWT_FOUND)
|
||||||
|
if(NOT QWT_FIND_QUIETLY)
|
||||||
|
message(STATUS "-- Found Qwt: ${QWT_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if(QWT_FIND_REQUIRED)
|
||||||
|
message(FATAL_ERROR "-- Could not find Qwt")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Guess the value of SYS_CONF_DIR according to INSTALLDIR.
|
# Guess the value of SYS_CONF_DIR according to INSTALLDIR.
|
||||||
# if INSTALLDIR is either /usr or /opt, we uses the system-wide /etc,
|
# if INSTALLDIR is either /usr or /opt, we uses the system-wide /etc,
|
||||||
|
|
|
@ -2,6 +2,12 @@
|
||||||
|
|
||||||
from Hurricane import DbU
|
from Hurricane import DbU
|
||||||
|
|
||||||
|
# MOSIS SCN6M_DEEP is a portable technology where lengths are expresseds
|
||||||
|
# in symbolic unit (lambda). We only know that the lambda is equal to half
|
||||||
|
# the value of the technology, that is 180nm gives 90nm. We have no information
|
||||||
|
# about the foundry grid.
|
||||||
|
#
|
||||||
|
# We set the foundry grid to .005um and set the gridsPerLambda to 18.
|
||||||
|
|
||||||
technoConfig = { 'name' : 'scn6m_deep'
|
technoConfig = { 'name' : 'scn6m_deep'
|
||||||
, 'gridValue' : 0.005
|
, 'gridValue' : 0.005
|
||||||
|
|
|
@ -20,6 +20,15 @@ parametersTable = \
|
||||||
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
||||||
, ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
, ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||||
, ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
, ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||||
|
# Anabatic parameters are temporarily hosted here.
|
||||||
|
, ("anabatic.edgeLength" ,TypeInt ,24 )
|
||||||
|
, ("anabatic.edgeWidth" ,TypeInt ,4 )
|
||||||
|
, ("anabatic.edgeCostH" ,TypeDouble ,9.0 )
|
||||||
|
, ("anabatic.edgeCostK" ,TypeDouble ,-10.0 )
|
||||||
|
, ("anabatic.gcell.displayMode" ,TypeEnumerate ,1
|
||||||
|
, { 'values':( ("Boundary" , 1)
|
||||||
|
, ("Density" , 2) ) }
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#define HURRICANE_DBU_H
|
#define HURRICANE_DBU_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include "hurricane/Commons.h"
|
#include "hurricane/Commons.h"
|
||||||
|
|
||||||
|
@ -63,7 +64,7 @@ namespace Hurricane {
|
||||||
, Nearest = 4
|
, Nearest = 4
|
||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
typedef long Unit;
|
typedef std::int64_t Unit;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void checkGridBound ( double value );
|
static void checkGridBound ( double value );
|
||||||
|
|
|
@ -561,7 +561,7 @@ namespace Katana {
|
||||||
if (getState() < EngineState::EngineGutted) {
|
if (getState() < EngineState::EngineGutted) {
|
||||||
openSession();
|
openSession();
|
||||||
|
|
||||||
size_t maxDepth = getConfiguration()->getRoutingGauge()->getDepth();
|
size_t maxDepth = std::min( getConfiguration()->getRoutingGauge()->getDepth(), _routingPlanes.size() );
|
||||||
for ( size_t depth=0 ; depth < maxDepth ; depth++ ) {
|
for ( size_t depth=0 ; depth < maxDepth ; depth++ ) {
|
||||||
_routingPlanes[depth]->destroy();
|
_routingPlanes[depth]->destroy();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue