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()
|
||||
|
||||
|
||||
#
|
||||
# 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.
|
||||
# if INSTALLDIR is either /usr or /opt, we uses the system-wide /etc,
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
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'
|
||||
, 'gridValue' : 0.005
|
||||
|
|
|
@ -20,6 +20,15 @@ parametersTable = \
|
|||
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
||||
, ("kite.globalRipupLimit" ,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
|
||||
|
||||
|
||||
#include <cstdint>
|
||||
#include <cmath>
|
||||
#include "hurricane/Commons.h"
|
||||
|
||||
|
@ -63,7 +64,7 @@ namespace Hurricane {
|
|||
, Nearest = 4
|
||||
};
|
||||
public:
|
||||
typedef long Unit;
|
||||
typedef std::int64_t Unit;
|
||||
|
||||
public:
|
||||
static void checkGridBound ( double value );
|
||||
|
|
|
@ -561,7 +561,7 @@ namespace Katana {
|
|||
if (getState() < EngineState::EngineGutted) {
|
||||
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++ ) {
|
||||
_routingPlanes[depth]->destroy();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue