From 70a3960ba582c25914bb323d6dd4e130007e5b16 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Fri, 9 Aug 2019 18:45:19 +0200 Subject: [PATCH] ioNet used as "enable" should not get the name of the pad. * Bug: In Cumulus/plugins/core2chip/CoreToChip.py, when creating the ioNet objects, when a signal is an enable we must not set the external chip net (the name for the PAD terminal) as it may be set later if it is also used as an individual pad. --- cumulus/src/CMakeLists.txt | 4 ++-- cumulus/src/plugins/clocktree/ClockTree.py | 1 + cumulus/src/plugins/core2chip/CoreToChip.py | 11 ++++------- hurricane/src/hurricane/Contact.cpp | 2 +- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/cumulus/src/CMakeLists.txt b/cumulus/src/CMakeLists.txt index f5e48530..9c0f0d5d 100644 --- a/cumulus/src/CMakeLists.txt +++ b/cumulus/src/CMakeLists.txt @@ -7,7 +7,7 @@ set ( pyPlugins ${CMAKE_CURRENT_SOURCE_DIR}/plugins/__init__.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/ClockTreePlugin.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/CoreToChip_cmos.py - ${CMAKE_CURRENT_SOURCE_DIR}/plugins/CoreToChip_c35b4.py + #${CMAKE_CURRENT_SOURCE_DIR}/plugins/CoreToChip_c35b4.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/ChipPlace.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/ChipRoute.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/RSavePlugin.py @@ -22,7 +22,7 @@ set ( pyPluginC2C ${CMAKE_CURRENT_SOURCE_DIR}/plugins/core2chip/__init__.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/core2chip/CoreToChip.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/core2chip/cmos.py - ${CMAKE_CURRENT_SOURCE_DIR}/plugins/core2chip/c35b4.py + #${CMAKE_CURRENT_SOURCE_DIR}/plugins/core2chip/c35b4.py ) set ( pyPluginChip ${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/__init__.py ${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/Configuration.py diff --git a/cumulus/src/plugins/clocktree/ClockTree.py b/cumulus/src/plugins/clocktree/ClockTree.py index fff7fde2..c02ff0d5 100755 --- a/cumulus/src/plugins/clocktree/ClockTree.py +++ b/cumulus/src/plugins/clocktree/ClockTree.py @@ -100,6 +100,7 @@ class HTree ( object ): if self.minSide < DbU.fromLambda(100.0): raise ErrorMessage( 3, 'ClockTree: clockTree.minimumSide (%g) is less than 100 lambda.' \ % DbU.toLambda(self.minSide) ) + print ' - Minimum side for clock area: %sl' % DbU.toLambda(self.minSide) UpdateSession.open() self.framework = CRL.AllianceFramework.get() diff --git a/cumulus/src/plugins/core2chip/CoreToChip.py b/cumulus/src/plugins/core2chip/CoreToChip.py index 9e50935a..e2de5a6b 100644 --- a/cumulus/src/plugins/core2chip/CoreToChip.py +++ b/cumulus/src/plugins/core2chip/CoreToChip.py @@ -112,8 +112,6 @@ class IoNet ( object ): return def buildNets ( self, context=DoExtNet ): - print 'context:', context - netType = Net.Type.LOGICAL if self.coreNet.isPower (): netType = Net.Type.POWER if self.coreNet.isGround(): netType = Net.Type.GROUND @@ -143,7 +141,6 @@ class IoNet ( object ): self.chipExtNet = Net.create( self.coreToChip.chip, self.padNetName ) self.chipExtNet.setExternal ( True ) self.chipExtNet.setDirection( self.coreNet.getDirection() ) - print 'PAD ', self.chipExtNet return @@ -218,7 +215,6 @@ class IoPad ( object ): enableNet = None for ioNet in self.nets: - print 'BEFORE ', ioNet, ioNet.coreNet context = 0 if self.direction == IoPad.TRI_OUT: @@ -238,7 +234,6 @@ class IoPad ( object ): fromCoreNet = ioNet ioNet.buildNets( context ) - print ioNet, context if not self.coreToChip.ioPadInfos.has_key(self.direction): raise ErrorMessage( 1, 'IoPad.createPad(): Unsupported direction %d (%s) for pad "%s".' \ @@ -399,13 +394,15 @@ class CoreToChip ( object ): if not coreNet: raise ErrorMessage( 1, 'CoreToChip.buildChip(): "%s" doesn\'t have a "%s" net.' % (self.core.getName(),netName) ) - ioNet = self.getIoNet( coreNet ) - ioNet.padNetName = padConf.padNetName + ioNet = self.getIoNet( coreNet ) if padConf.isBidir() or padConf.isTristate(): if coreNet.getName() == padConf.enableNet: ioNet.setEnable( True ) + if not ioNet.isEnable(): + ioNet.padNetName = padConf.padNetName + padConf.udata.addNet( ioNet ) ioPads.append( padConf ) diff --git a/hurricane/src/hurricane/Contact.cpp b/hurricane/src/hurricane/Contact.cpp index 41690c38..5e1e2214 100644 --- a/hurricane/src/hurricane/Contact.cpp +++ b/hurricane/src/hurricane/Contact.cpp @@ -358,7 +358,7 @@ string Contact::_getString() const s.insert(s.length() - 1, " [" + DbU::getValueString(getX())); s.insert(s.length() - 1, " " + DbU::getValueString(getY())); s.insert(s.length() - 1, "] " + DbU::getValueString(_width)); - s.insert(s.length() - 1, "x" + DbU::getValueString(_height)); + s.insert(s.length() - 1, " x " + DbU::getValueString(_height)); return s; }