Fix ordering of pad spec in cumulus.plugins.chips.pads.Side._placePads().

* Bug: In cumulus.plugins.chips.pads.Side._placePads(), when pads have
    positions they must be reorder *prior* to recomputing the pad
    final position? In order to avoid overlap and ensuring that they are
    on pitch, according to the I/O pad routing gauge.
This commit is contained in:
Jean-Paul Chaput 2023-09-08 22:02:27 +02:00
parent cebfd60f16
commit 10c550593e
1 changed files with 1 additions and 0 deletions

View File

@ -397,6 +397,7 @@ class Side ( object ):
for pad in self.pads: padLength += pad[1].getMasterCell().getAbutmentBox().getWidth()
padSpacing = (self.sideLength - 2*self.conf.ioPadHeight - padLength) // (len(self.pads) + 1)
if self.conf.padsHavePosition:
self.pads.sort( key=itemgetter(0) )
position = self.u
for pad in self.pads:
trace( 550, '\tPlace pad {} @{}\n'.format(pad[1],DbU.getValueString(pad[0])) )