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.
This commit is contained in:
parent
15cd9187de
commit
70a3960ba5
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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 )
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue