From 564714d73e9ae91eb36ba5ef622a7b084f4366ba Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 7 Dec 2020 16:39:36 +0100 Subject: [PATCH] Set a maximum wire with for LibreSOCIO I/O pads to corona wires. * New: In cumulus/plugins.chip.pads.Corona._createCorewire(), add an hard-coded limitation for LibreSOCIO I/O pad to corona wires to always be below the maximal threshold. --- cumulus/src/plugins/alpha/chip/pads.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cumulus/src/plugins/alpha/chip/pads.py b/cumulus/src/plugins/alpha/chip/pads.py index bab34ca1..6c1a638a 100644 --- a/cumulus/src/plugins/alpha/chip/pads.py +++ b/cumulus/src/plugins/alpha/chip/pads.py @@ -25,7 +25,7 @@ from Hurricane import DbU, Point, Transformation, Interval, Box, \ import CRL from CRL import RoutingLayerGauge import helpers -from helpers import trace +from helpers import trace, l, u, n from helpers.io import ErrorMessage, WarningMessage from helpers.overlay import UpdateSession import plugins.alpha.chip @@ -949,9 +949,13 @@ class Corona ( object ): if self.conf.chipConf.ioPadGauge == 'LibreSOCIO': if chipIntNet.isPower() or chipIntNet.isGround(): if side.type == North or side.type == South: - bb.inflate( -DbU.fromPhysical( 0.6, DbU.UnitPowerMicro ), 0 ) + #bb.inflate( -u(0.6), 0 ) + if bb.getWidth() > u(35.0): + bb.inflate( (u(34.0) - bb.getWidth()) / 2, 0 ) else: - bb.inflate( 0, -DbU.fromPhysical( 0.6, DbU.UnitPowerMicro ) ) + #bb.inflate( 0, -u(0.6) ) + if bb.getHeight() > u(35.0): + bb.inflate( 0, (u(34.0) - bb.getHeight()) / 2 ) if bb.intersect(innerBb): trace( 550, '\t| Accepted.\n' ) lg = rg.getLayerGauge( component.getLayer() )