69 lines
2.8 KiB
Python
69 lines
2.8 KiB
Python
# -*- Mode:Python; explicit-buffer-name: "alliance.conf<cmos>" -*-
|
|
|
|
from helpers.Alliance import AddMode
|
|
from helpers.Alliance import Gauge
|
|
|
|
|
|
allianceTop = '/soc/alliance'
|
|
cellsTop = allianceTop+'/cells/'
|
|
|
|
|
|
allianceConfig = \
|
|
( ( 'SYMB_TECHNO_NAME' , helpers.symbolicTechno )
|
|
, ( 'REAL_TECHNO_NAME' , helpers.realTechno )
|
|
, ( 'SYMBOLIC_TECHNOLOGY', helpers.symbolicDir+'/technology.conf' )
|
|
, ( 'REAL_TECHNOLOGY' , helpers.realDir +'/technology.conf' )
|
|
, ( 'DISPLAY' , helpers.sysConfDir +'/display.xml' )
|
|
, ( 'CATALOG' , 'CATAL')
|
|
, ( 'WORKING_LIBRARY' , '.')
|
|
, ( 'SYSTEM_LIBRARY' , ( (cellsTop+'sxlib' , AddMode.Append)
|
|
, (cellsTop+'dp_sxlib', AddMode.Append)
|
|
, (cellsTop+'ramlib' , AddMode.Append)
|
|
, (cellsTop+'romlib' , AddMode.Append)
|
|
, (cellsTop+'rflib' , AddMode.Append)
|
|
, (cellsTop+'rf2lib' , AddMode.Append)
|
|
, (cellsTop+'pxlib' , AddMode.Append)
|
|
, (cellsTop+'padlib' , AddMode.Append) ) )
|
|
, ( 'SCALE_X' , 100)
|
|
, ( 'IN_LO' , 'vst')
|
|
, ( 'IN_PH' , 'ap')
|
|
, ( 'OUT_LO' , 'vst')
|
|
, ( 'OUT_PH' , 'ap')
|
|
, ( 'POWER' , 'vdd')
|
|
, ( 'GROUND' , 'vss')
|
|
, ( 'CLOCK' , '^ck.*')
|
|
, ( 'BLOCKAGE' , '^blockage[Nn]et*')
|
|
, ( 'PAD' , '.*_px$')
|
|
# The following are only read by the Alliance tool wrappers.
|
|
, ( 'ALLIANCE_TOP' , allianceTop)
|
|
, ( 'MBK_TARGET_LIB' , cellsTop+'sxlib')
|
|
, ( 'RDS_TECHNO_NAME' , allianceTop+'/etc/cmos.rds')
|
|
, ( 'GRAAL_TECHNO_NAME' , allianceTop+'/etc/graal.rds')
|
|
)
|
|
|
|
|
|
# Format of routingGaugesTable (dictionary):
|
|
# A list of entry of the form:
|
|
# ( METAL_NAME, (Direction, Type, depth, density, offset, pitch, wire_width, via_width) )
|
|
|
|
routingGaugesTable = {}
|
|
|
|
routingGaugesTable['sxlib'] = \
|
|
( ( 'METAL1', ( Gauge.Vertical , Gauge.PinOnly, 0, 0.0, 0, 5, 2, 1 ) )
|
|
, ( 'METAL2', ( Gauge.Horizontal, Gauge.Default, 1, 7.0, 0, 5, 2, 1 ) )
|
|
, ( 'METAL3', ( Gauge.Vertical , Gauge.Default, 2, 0.0, 0, 5, 2, 1 ) )
|
|
, ( 'METAL4', ( Gauge.Horizontal, Gauge.Default, 3, 0.0, 0, 5, 2, 1 ) )
|
|
, ( 'METAL5', ( Gauge.Vertical , Gauge.Default, 4, 0.0, 0, 5, 2, 1 ) )
|
|
#, ( 'METAL6', ( Gauge.Horizontal, Gauge.Default, 5, 0.0, 0, 5, 2, 1 ) )
|
|
#, ( 'METAL7', ( Gauge.Vertical , Gauge.Default, 6, 0.0, 0, 5, 2, 1 ) )
|
|
)
|
|
|
|
|
|
# Format of cellGaugesTable (dictionary):
|
|
# A list of entry of the form:
|
|
# ( METAL_PIN, xy_common_pitch, slice_height, slice_step )
|
|
|
|
cellGaugesTable = {}
|
|
cellGaugesTable['ispd05'] = ('metal2', 5.0, 60.0, 5.0)
|
|
|