Bug fix, restore the FreePDK 45 (real) support.
* Change: In CRL::LefParser::_macroCbk(), create a Catalog entry for the
newly read MACRO (that is Cell) and sets the Logical, Physical,
InMemory and TerminalNetlist flags.
* Bug: In CRL::LefParser::_siteCbk(), check for NULL cell gauge.
* New: In CRL::AllianceFramework, add setCellGauge(), to set the default
cell gauge. Exported to Python.
* Change: In CRL/etc/common/technology.py, create variables for VIA
layers, so we can modify their properties afterwards.
* New: In CRL/etc/node45/freepdk45, port the configuration files to the
new Python "importable" format.
Note: in kite.py, all the gauges (Routing & Cells) must be named
"LEF.CoreSite" to please my LEF parser, so it can match the gauge
name with the SITE name for standard cells.
* Bug: In Anabatic::NetBuilderVH::_do_2G(), forgotten to be reimplemented
from the base class. Simply redirect to _do_xG().
* Change: In Katana::PowerRailsPlanes::PowerRailsplanes(), create plane
from the layers in the RoutingGauge and their associated blockages
instead of sweeping through all the basic layers.
Allow to distinguish bewteen "METAL" (symbolic) and "metal" (real).
2020-04-27 03:34:19 -05:00
|
|
|
|
|
|
|
# This file is part of the Coriolis Software.
|
|
|
|
# Copyright (c) UPMC 2019-2019, All Rights Reserved
|
|
|
|
#
|
|
|
|
# +-----------------------------------------------------------------+
|
|
|
|
# | C O R I O L I S |
|
|
|
|
# | Alliance / Hurricane Interface |
|
|
|
|
# | |
|
|
|
|
# | Author : Jean-Paul CHAPUT |
|
|
|
|
# | E-mail : Jean-Paul.Chaput@lip6.fr |
|
|
|
|
# | =============================================================== |
|
|
|
|
# | Python : "./etc/node45/freepdk45/plugins.py" |
|
|
|
|
# +-----------------------------------------------------------------+
|
|
|
|
|
|
|
|
|
|
|
|
import Cfg
|
|
|
|
import helpers.io
|
|
|
|
helpers.io.vprint( 2, ' - "%s".' % helpers.truncPath(__file__) )
|
|
|
|
|
|
|
|
from helpers import l, u, n
|
|
|
|
|
|
|
|
Cfg.getParamInt ( "chip.block.rails.count" ).setInt ( 5 )
|
|
|
|
Cfg.getParamInt ( "chip.block.rails.hWidth" ).setInt ( l( 24) )
|
|
|
|
Cfg.getParamInt ( "chip.block.rails.vWidth" ).setInt ( l( 24) )
|
|
|
|
Cfg.getParamInt ( "chip.block.rails.hSpacing" ).setInt ( l( 12) )
|
|
|
|
Cfg.getParamInt ( "chip.block.rails.vSpacing" ).setInt ( l( 12) )
|
|
|
|
Cfg.getParamInt ( 'clockTree.minimumSide' ).setInt ( l(1200) )
|
|
|
|
Cfg.getParamString( 'clockTree.buffer' ).setString( 'buf_x2')
|
|
|
|
Cfg.getParamString( 'clockTree.placerEngine' ).setString( 'Etesian')
|
2020-08-11 07:49:07 -05:00
|
|
|
Cfg.getParamString( 'spares.buffer' ).setString( 'buf_x8')
|
|
|
|
Cfg.getParamInt ( 'spares.maxSinks' ).setInt ( 31 )
|
|
|
|
|