Documentation restructuration:
* Bug: in <hurricane>: bad figure for transf-R1.
* Change, in <kite>: Remove deprecated configuration variables.
* New: documentation <tool> to regroup all documentation not directly
related to one tool.
* Change, in <crlcore>, move the user's guide and the top doc index
into <documentation>.
* New, in <documenation>: added Python script demo based on AM2901.
- Change: In Cell, added doc about PlacementStatus.
- Change: In Transformation, more detailed explanations about the
orientations. A little beautifying too...
- Change: RoutingPad doc update.
- Change: Entity doc update (for id).
- Change: In HTML header/footer uses the new SoC.css.
* ./crlcore/src:
- Change: In DefDriver, added support for placement exportation.
- New: In Utility, added a "paranoid" output stream (for my extra
warnings in the router).
- Bug: In ApParser, correct parsing of connectors index (recreate
the vector).
- Change: In alliance.conf, make "blockageNet" case insensitive.
- Change: In misc.conf, added support for paranoid stream.
- Change: In x2y and CyclopMain correct verbose flags positionning.
* ./crlcore/doc:
- Change: Updated style and added some documenation.
- Bug: In CMakeLists.txt, when our custom macro "setup_boost()" is used,
do not call find_package() afterward, it corrupt the library pathes
from '/usr/lib/' to '/usr/lib/lib/'.
- Bug: In Histogram::addSample(), reject the sample if iset is superior
OR EQUAL to the sets size...
- Change: In etc/mauka.conf, sets "mauka.standardAnnealing" to True. Otherwise,
when hMetis (4-part) is not used, this leads toward very poor placements.
- New: In UsersGuide, add a third style variant for the soc-extras site.
- New: Added FreeBSD/Ubuntu patches from Otacilio De Araujo
(<otaciliodearaujo@gmail.com>).
* ./crlcore:
- New: In Utilities, cbug stream to separate all the scary messages
from Kite/Katabatic and maybe others.
- New: In stratus1.conf, adds default settings previously in st_config.
- New: Moves Python configuration helpers from under /etc/coriolis2
into PYTHON_SITE_PACKAGES/crlcore. Adapt Utilities so coriolisInit.py
is now searched in that directory. This way only true configuration
files remains under /etc/coriolis2
- Change: In helpers/__init__.py, do not try to guess the sysConfDir
when not run through coriolisInit.py. This is done by exploring the
call stack with traceback.
- Change: In ApDriver, when a physical view is driven, update the flag
in the catalog state telling that this view is present. This is far
from satisfactory as this flag should be set as soon as any physical
component is created.
- A complete sweep of cleanup to suppress allmost all compiler warnings.
* ./crlcore:
- New: Extented Python support for all objects needed to configure Coriolis.
- New: Configuration files and load helpers completly written in Python.
An XML emulation mode is still avalaible.
- New: UsersGuide, as a replacement for README, written in ReST.
- New: Start of Doxygen documentation (mostly for documenting the initialisation
objects & methods).
- New: In GraphicsParser, read the new darkening scheme (HSV ratio).
"display.xml" configuaration file modificated accordingly. May be some
tuning needed for white background styles.
- New: Histogram object, imported from Kite. Made more generic to be reusable
by all.
- Change: In Measures, added Inspector support.
NOTE: The hidden property holding MeasuresDatas no longer uses a pointer
a value. This forces us to enable the copy constructor. It is needed
for some inner STL container manipulation, but should *not* be used
with non-empty datas. The copy constructor *do not* copy the internal
datas (reset the object).
- New: In Measurments, support for complex data sets, saved in separate Gnuplot
<.dat> files. Used to integrate Histogram.
- New: In Histogram, now a supported Measure type so it can be integrated along
all others measurments.
- Bug: In display.xml, forgotten gcut description in Alliance Classic black
style.
- Change: Rename "obstacle" to "blockage" in all the places it still appears
to be completly homogeneous.
- New: In Catalog, adds a "Pad" attribute to mark cells that are pads.
- Change: In ApParser, discard "padreal" instances as a cause for a Cell to
be non-terminal. This is for LeafPlugOccurrences to consider the terminals
of those cells.
- Change: In ApParser, makes use of the new Pad flag in Catalog.
- New: Inspector support enabled for AllianceFramework and most of it's
sub-objects. Attached as a property on the DataBase to be browsable
through the Inspector.
- Change: Now also read a <.coriolis2.configuration.xml> in the user's
root account (before the directory specific one and after the system-
wide).
- Change: In verbose mode, also display what environment files are being
read.
- Change: No more reference to CRL_CATA_LIB in error messages.
- Change: Suppress stratus2sxlib obsolete library.
- New: In Utilities, uses the new Backtrace to print the stack before
core-dumping.
- New: In Environment, pattern recognition of Pad model names.
- New: In AllianceFramework, pattern recognition of Pad model names.
- Bug: In Measures, add inspector support and uses pointer to prevent using
copy construction. Makes the inspector to core-dump.
- New: In RoutingLayerGauge, inspector support for Constant::Direction.
- Change: In ApDriver, correct managment of BIGVIA sizes. BIGVIA in one
metal keep their sizes, but BIGVIA whith cut must be expandeds to
contains their enclosure in metals. In Hurricane VIA size are relatives
to the cut but in Alliance, to the biggest metal.
Generate correct direction (always UP or RIGHT) for segments.
- Change: In ApParser, shrink BIGVIA to the size of their cut from the
Alliance format. Avoid VIA "bloating".
More thorough verification of Segment data coherency, mainly with
direction.
Suppress warning of non-existent logical instance in the special
case of "padreal".
- Change: In VstParserGrammar, perform an explicit plug connection on globals
Nets if the names of globals Nets differs.
- New: In display.xml, add style for printers (B&W).
- Bug: In technology.symbolic.xml, BLOCKAGE6 was associated to metal6 instead
of blockage6.
Correct extensions value for VIA metal layers above cut1.
- Bug: In Utilities, in System singleton constructor check of duplicated
type_info/RTTI initialization. Occurs when python modules are useds.
CRL must always be included first.
- 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: 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.
- New: In Utilities, automatic setting of STRATUS_MAPPING_NAME. It's put
back into the environment from the configuration. This suppress the
need for the last environment variable under cgt.
- Change: In PaletteWidget, uses "goMatched" to hide DrawingStyle that are
not associated to a Go to hide/show. That is, are only pure color useds
by ExtensionGo.
- New: In <tools.configuration.xml>, added parameters for verbosity, info
and trace level.
- New: Uniform mecanism to get the "/etc" path. Now System reads the
environment variables (thanks to boost::program_option).
- Change: In Utility, correct "when first called" initialisation of the
System singleton. Access to members only through static members that
ensure the initialisation of the singleton first.
- Change: In System, makes uses of the callback feature of Parameter to
initialize the new configuration parameters (verbosity, coredump, ...).
- Change: In linefill, build upon mstream instead of ostream. Now dual
aspect, inherit ostream and have a mstream member.
- Bug: In CMakeLists.txt, local include directories *first*.
- New: In Utilities, Dots::asBool() & Dots::asLambda().
- New: In display.xml, new <drawingstyle> for Mauka Containers.
- Bug: In AllianceFramework, do not try to build SxLib gauge if the layers are
not presents. Prevent cgt to miserably fails if the environment is not
found.
- Change: In src/ccore/CMakeLists.txt, try to guess the CORIOLIS_TOP from the
compilation environment and pass back to sources.
- Change: Rename hcmos9 into cmos130 in configuration files.
- New: Adds a README.tex describing the essentials features of Coriolis2.
- New: Support for LaTeX in CMake through the macros supplieds by Sandia.
- Change: Adds support for installation of config file in system-wide
/etc.
- Change: adopt a tree layout compliant with the UNIX FHS.
* includes under TOP/include/coriolis2.
* shared datas under TOP/shared/coriolis2.
* docs under TOP/share/doc/coriolis2.
* configuration under TOP/etc/coriolis2
* ./crlcore:
- Change: In Environment, comply to the new tree layout, search configuration
files under TOP/etc/coriolis2/.
* ./knik:
- Change: In flute, comply to the new tree layout, get the "POW*.dat" files
from TOP/share/coriolis2/flute-2.4.
- Change: In the CMakeLists.txt, in all the install commands remove all
the leading "/" as they prevents the CMAKE_INSTALL_PREFIX to be took
into account. It was nevertheless working because buildCoriolis.py was
using DESTDIR which is prepended anyway.
* ./goodies:
- Change: In buildCoriolis.py, no longer uses the DESTDIR but instead
CMAKE_INSTALL_PREFIX.
- Cleanup: No longer import the std namespace in headers.
- Bug: In Measures.h, incoherent prototyping of getMeasure() template.
- Change: In Environment, SearchPath & the XML format, slight change to
allow overwriting of Alliance library pathes. Instead of having an
attribute on the <system> node that applies to all libraries, we
have a "mode" attribute in each <library> node.
"mode" can takes three values:
1. - "append" : the library path is added in tail of the list.
2. - "prepend" : the library path is added in head of the list.
3. - "replace" : if the library already exists in the pathes,
this ones replaces it, whitout modifiying the order.
If it doesn't exists, it simply appended.
The "replace" mode is the one to be used if a users wants to shadow
system libraries by his own versions (sets in ~/.environment.alliance.xml).
- Change: In ToolEngine, adds a static method "destroyAll()" that must be
called *before* the Hurricane database destruction. This is to avoid
a mis-oredering in destruction.
ToolEngines are stored in a property, property are part of the DBo
base object so are destroyed *after* the Cell derived object has been.
Thus ToolEngine are deleted *after* the Cell components and if they
still refers to it, we are doomed.
- Change: In display.xml, color support for displaying references.
./coriolis/src/crlcore,
./coriolis/src/knik,
./coriolis/src/katabatic,
./coriolis/src/kite,
./coriolis/src/equinox,
./coriolis/src/solstice,
./coriolis/src/ispd:
- SVN MOVE: Source tree simplification & uniformisation. Now all tools
are at the same level, directly under the root of the repository.
No more "coriolis/src".