import sys
import traceback
import CRL
+from CRL import RoutingLayerGauge
import helpers
from helpers.io import ErrorMessage
from helpers.io import WarningMessage
global af
rvalue = True
coreSize = u(3.5*90.0)
- chipBorder = u(4.5*214.0 + 10*13.0)
+ chipBorder = u(4.5*214.0 + 10*4.0)
try:
- helpers.setTraceLevel( 550 )
+ #helpers.setTraceLevel( 550 )
cell, editor = plugins.kwParseMain( **kw )
cell = af.getCell( 'add', CRL.Catalog.State.Logical )
if cell is None:
# Spec:
# | Side | Pos | Instance | Pad net |Core net | Direction |
ioPadsSpec = [
- (IoPin.SOUTH, None, 'p_a0' , 'a(0)' , 'a(0)' )
- , (IoPin.SOUTH, None, 'p_a1' , 'a(1)' , 'a(1)' )
- , (IoPin.SOUTH, None, 'iopower_0' , 'iovdd' )
- , (IoPin.SOUTH, None, 'power_0' , 'vdd' )
- , (IoPin.SOUTH, None, 'p_a2' , 'a(2)' , 'a(2)' )
- , (IoPin.SOUTH, None, 'p_b3' , 'b(3)' , 'b(3)' )
- , (IoPin.EAST , None, 'p_jtag_tms' , 'jtag_tms' , 'jtag_tms' )
- , (IoPin.EAST , None, 'p_jtag_tdo' , 'jtag_tdo' , 'jtag_tdo' )
- , (IoPin.EAST , None, 'ground_0' , 'vss' )
- , (IoPin.EAST , None, 'p_sys_clk' , 'sys_clk' , 'sys_clk' )
- , (IoPin.EAST , None, 'p_jtag_tck' , 'jtag_tck' , 'jtag_tck' )
- , (IoPin.EAST , None, 'p_jtag_tdi' , 'jtag_tdi' , 'jtag_tdi' )
- , (IoPin.EAST , None, 'p_b2' , 'b(2)' , 'b(2)' )
- , (IoPin.NORTH, None, 'ioground_0' , 'iovss' )
- , (IoPin.NORTH, None, 'p_b1' , 'b(1)' , 'b(1)' )
- , (IoPin.NORTH, None, 'ground_1' , 'vss' )
- , (IoPin.NORTH, None, 'p_b0' , 'b(0)' , 'b(0)' )
- , (IoPin.NORTH, None, 'p_sys_rst' , 'sys_rst' , 'sys_rst' )
- , (IoPin.WEST , None, 'p_f3' , 'f(3)' , 'f(3)' )
- , (IoPin.WEST , None, 'p_f2' , 'f(2)' , 'f(2)' )
- , (IoPin.WEST , None, 'power_1' , 'vdd' )
- , (IoPin.WEST , None, 'p_f1' , 'f(1)' , 'f(1)' )
- , (IoPin.WEST , None, 'p_f0' , 'f(0)' , 'f(0)' )
- , (IoPin.WEST , None, 'p_a3' , 'a(3)' , 'a(3)' )
+ (IoPin.SOUTH, None, 'p_a0' , 'a(0)' , 'a(0)' )
+ , (IoPin.SOUTH, None, 'p_a1' , 'a(1)' , 'a(1)' )
+ , (IoPin.SOUTH, None, 'iopower_0' , 'iovdd' )
+ , (IoPin.SOUTH, None, 'power_0' , 'vdd' )
+ , (IoPin.SOUTH, None, 'p_a2' , 'a(2)' , 'a(2)' )
+ , (IoPin.SOUTH, None, 'p_b3' , 'b(3)' , 'b(3)' )
+ , (IoPin.EAST , None, 'p_jtag_tms' , 'jtag_tms', 'jtag_tms')
+ , (IoPin.EAST , None, 'p_jtag_tdo' , 'jtag_tdo', 'jtag_tdo')
+ , (IoPin.EAST , None, 'ground_0' , 'vss' )
+ , (IoPin.EAST , None, 'p_sys_clk' , 'sys_clk' , 'sys_clk' )
+ , (IoPin.EAST , None, 'p_jtag_tck' , 'jtag_tck', 'jtag_tck')
+ , (IoPin.EAST , None, 'p_jtag_tdi' , 'jtag_tdi', 'jtag_tdi')
+ , (IoPin.EAST , None, 'p_b2' , 'b(2)' , 'b(2)' )
+ , (IoPin.NORTH, None, 'ioground_0' , 'iovss' )
+ , (IoPin.NORTH, None, 'p_b1' , 'b(1)' , 'b(1)' )
+ , (IoPin.NORTH, None, 'ground_1' , 'vss' )
+ , (IoPin.NORTH, None, 'p_b0' , 'b(0)' , 'b(0)' )
+ , (IoPin.NORTH, None, 'p_sys_rst' , 'sys_rst' , 'sys_rst' )
+ , (IoPin.WEST , None, 'p_f3' , 'f(3)' , 'f(3)' )
+ , (IoPin.WEST , None, 'p_f2' , 'f(2)' , 'f(2)' )
+ , (IoPin.WEST , None, 'power_1' , 'vdd' )
+ , (IoPin.WEST , None, 'p_f1' , 'f(1)' , 'f(1)' )
+ , (IoPin.WEST , None, 'p_f0' , 'f(0)' , 'f(0)' )
+ , (IoPin.WEST , None, 'p_a3' , 'a(3)' , 'a(3)' )
]
adderConf = ChipConf( cell, ioPads=ioPadsSpec )
adderConf.cfg.etesian.bloat = 'nsxlib'
adderConf.cfg.anabatic.searchHalo = 2
adderConf.cfg.anabatic.globalIterations = 20
adderConf.cfg.anabatic.routingGauge = 'FlexLib'
- adderConf.cfg.anabatic.topRoutingLayer = 'METAL10'
- adderConf.cfg.block.spareSide = u(7*13)
+ adderConf.cfg.block.spareSide = u(7*4)
#adderConf.cfg.chip.padCoreSide = 'North'
- adderConf.cfg.chip.supplyRailWidth = u(35)
- adderConf.cfg.chip.supplyRailPitch = u(90)
+ adderConf.cfg.chip.supplyRailWidth = u(15)
+ adderConf.cfg.chip.supplyRailPitch = u(45)
adderConf.editor = editor
adderConf.useSpares = True
adderConf.useClockTree = True