Integration of the latest Coloquinte in Etesian & misc modifs.
* New: In Bootstrap, in Builder & coriolisEnv.py support for RHEL7/SL7.
The sub-directory name is 'el7_64'.
In qt_setup() add QtSvg to list of Qt5 & Qt4 used libraries.
* New: In Hurricane, In Cell add a placeholder for flags. First use to
store whether the Nets have been transhierarchically flatteneds.
* New: In Hurricane, In NetRoutingState add an Unconnected flag for
more accurate diagnosis.
* New: Hurricane, in CellViewer add an entry menu for stress tests.
The script must be named "stressScript.py" in the cwd.
* Change: In CRL Core, in display.conf add a scaling parameter for the
display threhold of the layer. This way we can adapt to different
standard cells height.
* Change: In CRL Core, in ISPD05 bookshelf loader, use the pitch of the
cell gauge instead of a hard-wired 5.0.
* Change: In Cumulus, in ClockTreePlugin, add support for Etesian placer
and a new configuration parameter to choose between Mauka/Etesian.
* New: In Etesian, support for the latest Coloquinte.
Add feed insertion stage.
* Bug: In Kite, In BuildPowerRails, check that _ck is not NULL before
tring to access it's name...
* Change: In Kite, check if the Cell has it's Nets flattened before
doing it (or not).
2015-02-01 16:24:13 -06:00
|
|
|
# -*- Mode:Python; explicit-buffer-name: "kite.conf<cmos>" -*-
|
|
|
|
|
|
|
|
import helpers
|
|
|
|
|
|
|
|
# Contains the layout (shared by all technologies).
|
|
|
|
execfile( helpers.sysConfDir+'/common/kite.conf' )
|
|
|
|
|
|
|
|
|
|
|
|
parametersTable = \
|
|
|
|
( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters.
|
|
|
|
, ("katabatic.saturateRatio" ,TypePercentage,80 )
|
|
|
|
, ("katabatic.saturateRp" ,TypeInt ,8 )
|
|
|
|
, ('katabatic.topRoutingLayer' ,TypeString , 'METAL5')
|
|
|
|
# Kite parameters.
|
|
|
|
, ("kite.hTracksReservedLocal" ,TypeInt ,3 , { 'min':0, 'max':20 } )
|
|
|
|
, ("kite.vTracksReservedLocal" ,TypeInt ,3 , { 'min':0, 'max':20 } )
|
|
|
|
, ("kite.eventsLimit" ,TypeInt ,4000002 )
|
|
|
|
, ("kite.ripupCost" ,TypeInt ,3 , { 'min':0 } )
|
|
|
|
, ("kite.strapRipupLimit" ,TypeInt ,16 , { 'min':1 } )
|
|
|
|
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
|
|
|
, ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
|
|
|
, ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
|
|
|
)
|
New coriolis launcher. Configuration files cleanup.
* Change: In CRL Core, simplify the loading sequence. The technology,
both symbolic and real is now loaded directly from coriolisInit.py
and not through the Alliance loader. This was a leftover from the
time configuration was in XML. Remove others traces of XML loading.
Remove SYMB_TECHNO_NAME, REAL_TECHNO_NAME & DISPLAY from the Alliance
environement, as they was no longer used.
Note that technology *still* need to be loader *after* Alliance
framework has been initialized.
Gauge information is moved from <alliance.conf> to <kite.conf>.
* Bug: In Coloquinte, in optimization_subproblems.cxx static variables
must not be inlined. Generate a problem when linking in debug mode
(seems the symbol gets optimised out).
* Bug: In Katabatic, in Grid::getGCell(), when the coordinate is *outside*
the area, do not try to find a GCell, directly return NULL.
* New: In Unicorn, create a generic command launcher named "coriolis" which
automatically take cares of all environement setup, then run a command
by default, it's <cgt>, but it can be anything. For example: <zsh>.
2015-04-13 11:54:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|