From f5421da02d70aa5772bfe0f8aa1efe58a43eb690 Mon Sep 17 00:00:00 2001 From: Staf Verhaegen Date: Fri, 25 Nov 2022 11:22:08 +0100 Subject: [PATCH] Also mark gf180mcu process as Sky130 Mark now as Caravel --- crlcore/src/ccore/lefdef/DefImport.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/crlcore/src/ccore/lefdef/DefImport.cpp b/crlcore/src/ccore/lefdef/DefImport.cpp index 6af3a9a2..e3e51c6d 100644 --- a/crlcore/src/ccore/lefdef/DefImport.cpp +++ b/crlcore/src/ccore/lefdef/DefImport.cpp @@ -72,7 +72,7 @@ namespace { class DefParser { public: const uint32_t NoPatch = 0; - const uint32_t Sky130 = (1 << 10); + const uint32_t Caravel = (1 << 10); public: static AllianceFramework* getFramework (); static Cell* getLefCell ( string name ); @@ -89,7 +89,7 @@ namespace { DefParser ( string file, AllianceLibrary*, unsigned int flags ); ~DefParser (); inline bool hasErrors (); - inline bool isSky130 () const; + inline bool isCaravel () const; inline unsigned int getFlags () const; inline AllianceLibrary* getLibrary (); inline Cell* getCell (); @@ -182,9 +182,11 @@ namespace { defrSetSNetCbk ( _snetCbk ); defrSetPathCbk ( _pathCbk ); - if (DataBase::getDB()->getTechnology()->getName() == "Sky130") { - cmess1 << " - Enabling SkyWater 130nm harness hacks." << endl; - _flags |= Sky130; + if ( (DataBase::getDB()->getTechnology()->getName() == "Sky130") + || (DataBase::getDB()->getTechnology()->getName() == "gf180mcu") + ) { + cmess1 << " - Enabling Caravel harness hacks." << endl; + _flags |= Caravel; } } @@ -198,7 +200,7 @@ namespace { AllianceFramework* DefParser::getFramework () { return _framework; } inline void DefParser::setUnits ( double units ) { _defUnits = 1/units; } inline DbU::Unit DefParser::fromDefUnits ( int u ) { return DbU::fromPhysical(_defUnits*(double)u,DbU::UnitPower::Micro); } - inline bool DefParser::isSky130 () const { return _flags & Sky130; } + inline bool DefParser::isCaravel () const { return _flags & Caravel; } inline bool DefParser::hasErrors () { return not _errors.empty(); } inline unsigned int DefParser::getFlags () const { return _flags; } inline string DefParser::getBusBits () const { return _busBits; } @@ -397,7 +399,7 @@ namespace { Layer* DefParser::lookupLayer ( string layerName ) { - if (_flags & Sky130) { + if (isCaravel()) { if (layerName.substr(0,3) == "met") layerName.erase( 1, 2 ); } return _technology->getLayer( layerName ); @@ -543,7 +545,7 @@ namespace { string pinName = pin->pinName(); parser->toHurricaneName( netName ); parser->toHurricaneName( pinName ); - if (parser->isSky130() and (pinName.substr(0,3) == "io_" )) + if (parser->isCaravel() and (pinName.substr(0,3) == "io_" )) netName = pinName; NetDatas* netDatas = parser->lookupNet( netName );