diff --git a/bootstrap/cmake_modules/FindBootstrap.cmake b/bootstrap/cmake_modules/FindBootstrap.cmake index b76b67fc..3db6083c 100644 --- a/bootstrap/cmake_modules/FindBootstrap.cmake +++ b/bootstrap/cmake_modules/FindBootstrap.cmake @@ -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, diff --git a/crlcore/etc/180/scn6m_deep_09/technology.conf b/crlcore/etc/180/scn6m_deep_09/technology.conf index 7e178ed2..d1f00346 100644 --- a/crlcore/etc/180/scn6m_deep_09/technology.conf +++ b/crlcore/etc/180/scn6m_deep_09/technology.conf @@ -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 diff --git a/crlcore/etc/scmos_deep_018/kite.conf b/crlcore/etc/scmos_deep_018/kite.conf index 30300c3c..8c5f2b61 100644 --- a/crlcore/etc/scmos_deep_018/kite.conf +++ b/crlcore/etc/scmos_deep_018/kite.conf @@ -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) ) } + ) ) diff --git a/hurricane/src/hurricane/hurricane/DbU.h b/hurricane/src/hurricane/hurricane/DbU.h index a209f341..c8ecabf9 100644 --- a/hurricane/src/hurricane/hurricane/DbU.h +++ b/hurricane/src/hurricane/hurricane/DbU.h @@ -33,6 +33,7 @@ #define HURRICANE_DBU_H +#include #include #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 ); diff --git a/katana/src/KatanaEngine.cpp b/katana/src/KatanaEngine.cpp index b8b5239f..90513cd3 100644 --- a/katana/src/KatanaEngine.cpp +++ b/katana/src/KatanaEngine.cpp @@ -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(); }