from plugins.alpha.block.block import Block
from plugins.alpha.block.configuration import IoPin
from plugins.alpha.block.configuration import GaugeConf
-from plugins.alpha.core2chip.cmos import CoreToChip
+from plugins.alpha.core2chip.niolib import CoreToChip
from plugins.alpha.chip.configuration import ChipConf
from plugins.alpha.chip.chip import Chip
global af
rvalue = True
try:
- #helpers.setTraceLevel( 540 )
+ helpers.setTraceLevel( 550 )
usePadsPosition = True
buildChip = True
cell, editor = plugins.kwParseMain( **kw )
print( ErrorMessage( 2, 'doDesign.scriptMain(): Unable to load cell "{}".'.format('adder') ))
sys.exit( 1 )
if editor: editor.setCell( cell )
- # Spec: | Side | Pos | Instance | Pad net |Core net |
- ioPadsSpec = [ (IoPin.SOUTH, None, 'p_a0' , 'a(0)' , 'a(0)' )
- , (IoPin.SOUTH, None, 'p_a1' , 'a(1)' , 'a(1)' )
- , (IoPin.SOUTH, None, 'power_0' , 'vddpad' , 'vdd' )
- , (IoPin.SOUTH, None, 'p_a2' , 'a(2)' , 'a(2)' )
- , (IoPin.SOUTH, None, 'p_b3' , 'b(3)' , 'b(3)' )
- , (IoPin.EAST , None, 'clock_0' , 'clk' , 'clk' )
- , (IoPin.EAST , None, 'p_tms_0' , 'tms' , 'tms' )
- , (IoPin.EAST , None, 'p_tdo_0' , 'tdo' , 'tdo' )
- , (IoPin.EAST , None, 'p_tdi_0' , 'tdi' , 'tdi' )
- , (IoPin.EAST , None, 'p_b2' , 'b(2)' , 'b(2)' )
- , (IoPin.NORTH, None, 'p_b1' , 'b(1)' , 'b(1)' )
- , (IoPin.NORTH, None, 'ground_0' , 'vsspad' , 'vss' )
- , (IoPin.NORTH, None, 'p_b0' , 'b(0)' , 'b(0)' )
- , (IoPin.NORTH, None, 'rst' , 'rst' , 'rst' )
- , (IoPin.WEST , None, 'p_f3' , 'f(3)' , 'f(3)' )
- , (IoPin.WEST , None, 'p_f2' , 'f(2)' , 'f(2)' )
- , (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)' )
+ # Spec: | Side | Pos | Instance | Pad net |Core net | Direction |
+ ioPadsSpec = [ (IoPin.SOUTH, None, 'p_a0' , 'a(0)' , 'a(0)' , 'io_in' )
+ , (IoPin.SOUTH, None, 'p_a1' , 'a(1)' , 'a(1)' , 'io_in' )
+ , (IoPin.SOUTH, None, 'iopower_0' , 'iovdd' )
+ , (IoPin.SOUTH, None, 'power_0' , 'vdd' )
+ , (IoPin.SOUTH, None, 'p_a2' , 'a(2)' , 'a(2)' , 'io_in' )
+ , (IoPin.SOUTH, None, 'p_b3' , 'b(3)' , 'b(3)' , 'io_in' )
+ , (IoPin.EAST , None, 'p_tms_0' , 'tms' , 'tms' , 'io_in' )
+ , (IoPin.EAST , None, 'p_tdo_0' , 'tdo' , 'tdo' , 'io_out' )
+ , (IoPin.EAST , None, 'ground_0' , 'vss' )
+ , (IoPin.EAST , None, 'p_clk' , 'clk' , 'clk' , 'io_in' )
+ , (IoPin.EAST , None, 'p_tck' , 'tck' , 'tck' , 'io_in' )
+ , (IoPin.EAST , None, 'p_tdi_0' , 'tdi' , 'tdi' , 'io_in' )
+ , (IoPin.EAST , None, 'p_b2' , 'b(2)' , 'b(2)' , 'io_in' )
+ , (IoPin.NORTH, None, 'ioground_0' , 'iovss' )
+ , (IoPin.NORTH, None, 'p_b1' , 'b(1)' , 'b(1)' , 'io_in' )
+ , (IoPin.NORTH, None, 'ground_1' , 'vss' )
+ , (IoPin.NORTH, None, 'p_b0' , 'b(0)' , 'b(0)' , 'io_in' )
+ , (IoPin.NORTH, None, 'rst' , 'rst' , 'rst' , 'io_in' )
+ , (IoPin.WEST , None, 'p_f3' , 'f(3)' , 'f(3)' , 'io_out' )
+ , (IoPin.WEST , None, 'p_f2' , 'f(2)' , 'f(2)' , 'io_out' )
+ , (IoPin.WEST , None, 'power_1' , 'vdd' )
+ , (IoPin.WEST , None, 'p_f1' , 'f(1)' , 'f(1)' , 'io_out' )
+ , (IoPin.WEST , None, 'p_f0' , 'f(0)' , 'f(0)' , 'io_out' )
+ , (IoPin.WEST , None, 'p_a3' , 'a(3)' , 'a(3)' , 'io_in' )
]
adderConf = ChipConf( cell, ioPads=ioPadsSpec )
adderConf.cfg.etesian.bloat = 'nsxlib'
adderConf.cfg.etesian.uniformDensity = True
adderConf.cfg.etesian.aspectRatio = 1.0
adderConf.cfg.etesian.spaceMargin = 0.05
- adderConf.cfg.block.spareSide = l(350)
+ adderConf.cfg.block.spareSide = l(700)
+ adderConf.cfg.chip.padCoreSide = 'North'
adderConf.editor = editor
adderConf.useSpares = True
adderConf.useClockTree = True
adderConf.bColumns = 2
adderConf.bRows = 2
adderConf.chipConf.name = 'chip'
- adderConf.chipConf.ioPadGauge = 'pxlib'
- adderConf.coreSize = ( l(1200), l(1200) )
- adderConf.chipSize = ( l(3200), l(3200) )
+ adderConf.chipConf.ioPadGauge = 'niolib'
+ adderConf.coreSize = ( l(2000), l(2000) )
+ adderConf.chipSize = ( l(5900), l(5900) )
adderToChip = CoreToChip( adderConf )
adderToChip.buildChip()
chipBuilder = Chip( adderConf )