- New: Attributes "needRestart", "mustExist", "isFile" and "isPath".
- New: Display a warning message when a parameter with mustExist or
needRestart is modificated.
- New: In ConfigurationWidget, method selectTab() to select the current
displayed tab.
- Change: In Configuration::writeToFile() and writeToStream(), adds a
third parameter telling which parameter to save. It's a semicolon
separated list of parameter head id. Example: "kite;mauka".
- Bug: In FilePathEdit, do not sets the file/path if the Dialog has been
cancelled.
- Bug: In FilePathEdit, do not uses the native dialog (called by static
methods) when under Linux/GtkStyle as the native widget seems to be
badly linked (bug in GtkStyle?).
- New: Integrate the FilePathEdit widget, courtesy of D. Dupuis.
- Bug: In ConfEditorMain, new boolean switch to allow disable of GtkStyle
which make FilePathEdit to coredump (Linux feature only!).
- New: In Configuration, write methods are ables to completly drive the
XML file (values & layout), selectable through flags.
- New: In ConfigurationWidget, the Apply button is now outside the
tabs. Also adds two modes: Embedded & StandAlone with different sets
of buttons.
- New: In LefExport, export the spacer cells (rowend & tie) to enable
filling in Cadence Encounter.
- New: In DefImport, added support for regular wiring in NETS. Allows us
to import routing from Encounter and characterize it.
- New: In Catalog, added a CatalogExtension static property manager to
allow more easy access to the Catalog::State of each Cell. Do not
uses the default template because of a specific destructor and a
"by pointer" value.
- New: coriolisEnv.py, little helper script to setup the environment.
- New: Icon & desktop entry for Linux (doesn't work yet).
- Bug: In FindLEFDEF, uses LIB_SUFFIX to find libraries on 64 bits systems.
- New: Adds graphic support for Import/Export files (ACM/SIGDA, ISPD04,
ICCAD04 and LEF/DEF).
- New: To avoid buggy database deletion, and also to speed up, now exits
with a system exit. Previous behavior could be acticated with the
"--delete-db" boolean switch.
- New: In Configuration & RoutingEvent, adds support for minimal break length
by layer (METAL1 through METAL7).
- New: Added measures for final detailed wirelength, wirelength expansion ratio,
failed wirelength, number of processeds events and number of unique events.
- Change: In LayerAssign, desaturate until the last two top layers are reacheds
instead of only METAL2 & METAL3.
- Change: In Configuration/GCellGrid/GCell, correct computation of the edges
capacity (based on the numbers of avalaibles layers and not hard-wired to
4).
- Change: In KnikEngine, calculation of saturation is now using the RoutingGauge,
but still uses a hard-wired CellGauge.
- Change: Obstacles are now taken into account for saturation.
- New: In tools.configuration.xml, add default values for METAL minimum break
lengths.
- Change: In AcmSigda, makes the parser an autonomous one, like for ICCAD or
ISPD.
- Change: Remove AcmSigda, Bookshelf and LEF/DEF parsers from the Alliance
builtins. They are now to be used through import/export.
- Bug: In Utilities, the <misc.logMode> parameter boolean parameter was used
the wrong way (true/false).
- New: Parameter "kite.globalMinBreak" (in lambda) telling the minimal size
under wich a global segment will not be broken, used in "conflictSolve1()".
- New: To pass the ibmXX, new parameter "katabatic.saturateRp" which allows
to sets the threshold above which a GCell has too much RoutingPads in
it and must be further desaturated. Must be 8 for FPGA, and 10 for ibm.
- Bug: In LoadGrByNet(), when looking for the starting GCell, the computation
of unconnecteds RoutingPads was incorrect, too great and letting the
router believe that the routage was incomplete.
- Bug: In Mask, the "!=" operator was erroneously implemented like the
"==" operator. Making "!=" behave like "==", what a mess.
- Bug: In BasicLayer, in constructor the _blockageLayer and _connectorLayer
where *not* initialised, leading to erratic behavior when checked
against NULL.
- New: In AllianceFramework constructor, now look for an XML configuration
file in the current directory (<cwd>/.environment.alliance.xml).
- New: DefParser, DefDriver & LefDriver are replaced by DefImport, DefExport
and LefExport (resp.). LEF/DEF parser/driver are no longer integrated
in among Alliance ones due to too much difference in data organisation.
Instead they are build as Import/Export utilities.
- New: Iccad04Lefdef import the ICCAD'04 benchmarks into the SxLib format
suitable for Knik/Kite. They are derived from the ISPD'98 (ibm01--ibm18)
benchmarks. Many corrections are applieds to ensure a more realistic
representation.
Generate a new library from the LEF file "on the fly".
- New: Ispd04Bookshelf import the ISPD'04 benchmarks in SxLib from bookshelf.
Thoses benchmarks can be placeds whith fastplace. Unfortunatly fastplace
do not manage blocks and reduce them to standard cell which is not
usable for detailed placement. Too bad, the parser exists still.
Make uses of the new vlsisapd/bookshelf parser. A whole library is
generated "on the fly" on the basis of "one node, one Cell" (so we have
a bijection between Cell and Instance). The result of this parsing is
different from the one of the stand-alone ispd04 binary in the sense it
fits the circuit to the SxLib gauge thus changing the routing capacity:
from 16 to 20.
- Change: In ApDriver, the lookup modify the lookup table for matching
Alliance layers against Hurricane ones, "OBSTACLEx" became "BLOCKAGEx".
- Change: In default <enviromnent.alliance.xml> adds the name of the
blockage net: "^obstacleNet$". Some work over the coherency of the
blockage managment remains to be done.
- Change: In AllianceFramework, partial rewrite of the get/creation of
AllianceLibrary to fit the requirements of the "on the fly" generation
from the benchmarks loaders. And correct some bugs by the way.
- Change: In Environment, suppress any reference to LEF technology as LEF/
DEF is now used as import/exports.
- Bug: In VstDriver, perform only one lookup for global signals among all
nets and not for each instance master cell. That was making the driver
quadratic! Now it's linear and reasonably fast.