2017-07-15 10:35:02 -05:00
|
|
|
.. -*- Mode: rst -*-
|
|
|
|
|
|
|
|
.. include:: ../etc/definitions.rst
|
|
|
|
|
|
|
|
|
|
|
|
Release Notes
|
|
|
|
=============
|
|
|
|
|
|
|
|
Release 1.0.1475
|
|
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
This is the first preliminary release of the |Coriolis2| framework.
|
|
|
|
|
|
|
|
This release mainly ships the global router |Knik| and the detailed router
|
|
|
|
|Kite|. Together they aim to replace the |Alliance| |Nero| router.
|
|
|
|
Unlike |Nero|, |Kite| is based on an innovating routing modeling and ad-hoc
|
|
|
|
algorithm. Although it is released under |GPL| license, the source code
|
|
|
|
will be avalaible later.
|
|
|
|
|medskip|
|
|
|
|
|
|
|
|
|
|
|
|
|noindent| Contents of this release:
|
|
|
|
|
|
|
|
1. A graphical user interface (viewer only).
|
|
|
|
2. The |Knik| global router.
|
|
|
|
3. The |Kite| detailed router.
|
|
|
|
|
|
|
|
|noindent| Supported input/output formats:
|
|
|
|
|
|
|
|
* |Alliance| |vst| (netlist) & |ap| (physical) formats.
|
|
|
|
* Even if there are some references to the |Cadence| |LEFDEF| format, its
|
|
|
|
support is not included because it depends on a library only available
|
|
|
|
to |Si2| affiliated members.
|
|
|
|
|
|
|
|
|
|
|
|
Release 1.0.1963
|
|
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Release 1963 is alpha. All the tools from |Coriolis1| have been ported into
|
|
|
|
this release.
|
|
|
|
|
|
|
|
|noindent| Contents of this release:
|
|
|
|
|
|
|
|
#. The |Stratus| netlist capture language (|GenLib| replacement).
|
|
|
|
#. The |Mauka| placer (still contains bugs).
|
|
|
|
#. A graphical user interface (viewer only).
|
|
|
|
#. The |Knik| global router.
|
|
|
|
#. The |Kite| detailed router.
|
|
|
|
#. Partially implemented python support for configuration files
|
|
|
|
(alternative to |XML|).
|
|
|
|
#. A documentation (imcomplete/obsoleted in |Hurricane|'s case).
|
|
|
|
|
|
|
|
|
|
|
|
Release 1.0.2049
|
|
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Release `2049` is Alpha.
|
|
|
|
|
|
|
|
|noindent| Changes of this release:
|
|
|
|
|
|
|
|
#. The |Hurricane| documentation is now accurate. Documentation
|
|
|
|
for the Cell viewer and |CRLcore| has been added.
|
|
|
|
#. More extensive Python support for all the components of
|
|
|
|
|Coriolis|.
|
|
|
|
#. Configuration is now completly migrated under Python.
|
2019-06-04 07:32:23 -05:00
|
|
|
|XML| loaders can still be used for compatibilty.
|
2017-07-15 10:35:02 -05:00
|
|
|
#. The |cgt| main has been rewritten in Python.
|
|
|
|
|
|
|
|
|
|
|
|
Release v2.0.1
|
|
|
|
~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
#. Migrated the repository from |svn| to |git|, and release complete sources.
|
|
|
|
As a consequence, we drop the distribution packaging support and give
|
|
|
|
public read-only access to the repository.
|
|
|
|
#. Deep rewrite of the |Katabatic| database and |Kite| detailed router,
|
|
|
|
achieve a speedup factor greater than 20...
|
|
|
|
|
|
|
|
|
|
|
|
Release v2.1
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
#. Replace the old simulated annealing placer |Mauka| by the analytical placer
|
|
|
|
|Etesian| and its legalization and detailed placement tools.
|
|
|
|
#. Added a Blif format parser to process circuits generated by the Yosys and ABC
|
|
|
|
logic synthetizers.
|
2019-05-24 06:24:11 -05:00
|
|
|
#. The multiple user defined configuration files are now grouped under
|
2017-07-15 10:35:02 -05:00
|
|
|
a common hidden (dot) directory ``.coriolis2`` and the file extension
|
|
|
|
is back from ``.conf`` to ``.py``.
|
|
|
|
|
|
|
|
.. #. Under |RHEL7| / |SL7|, there is a known bug in the graphical visualizer.
|
|
|
|
.. When shifting to the left, the right-half part of the screen gets
|
|
|
|
.. badly redrawn. Uses |CTRL_L| to refresh. It will be corrected as soon
|
|
|
|
.. as possible.
|
|
|
|
|
|
|
|
|
2019-05-27 11:49:51 -05:00
|
|
|
Release v2.2
|
|
|
|
~~~~~~~~~~~~
|
2017-07-15 10:35:02 -05:00
|
|
|
|
|
|
|
#. Added JSON import/export of the whole Hurricane DataBase. Two save mode
|
|
|
|
are supported: *Cell* mode (standalone) or *Blob* mode, which dump the
|
|
|
|
whole design down and including the standard cells.
|
2019-05-27 11:49:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
Release v2.3
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
2019-06-04 07:32:23 -05:00
|
|
|
#. Reverts to a more standard organisation of the branches. **devel_anabatic** is
|
2019-05-27 11:49:51 -05:00
|
|
|
closed and we go on with **master** (stable version) and **devel**.
|
|
|
|
|
2019-06-04 07:32:23 -05:00
|
|
|
#. Makes |Katana| the default global & detailed router. Put |Knik| & |Kite| in the
|
|
|
|
obsolete menus.
|
2019-05-27 11:49:51 -05:00
|
|
|
|
2019-06-04 07:32:23 -05:00
|
|
|
#. Finally makes use of |PyQt4| widgets. Seems to integrate without problems
|
2019-05-27 11:49:51 -05:00
|
|
|
with the |Coriolis| own |Qt| widget. The drawback is that to build against |Qt| 5
|
2019-06-04 07:32:23 -05:00
|
|
|
needs adjustement from the user.
|
2019-05-27 11:49:51 -05:00
|
|
|
|
|
|
|
#. Improved support for whole chip management. The outer part of the chip containing
|
2019-06-04 07:32:23 -05:00
|
|
|
the pad is decoupled from the core. This allows to cleanly separate real pads from
|
2019-05-27 11:49:51 -05:00
|
|
|
the foundry from a symbolic core. But this does not preclude other combinations
|
|
|
|
as fully symbolic or fully real.
|
|
|
|
|
2019-06-04 07:32:23 -05:00
|
|
|
To perform the separation, an intermediate hierarchical level ``corona`` between chip
|
2019-05-27 11:49:51 -05:00
|
|
|
and core has been introduced.
|
Migrating the initialisation system to be completely Python-like.
* New: In bootstrap/coriolisEnv.py, add the "etc" directory to the
PYTHONPATH as initialization are now Python modules.
* New: In Hurricane/analogic, first groundwork for the integration of
PIP/MIM/MOM multi-capacitors. Add C++ and Python interface for the
allocation matrix and the list of capacities values.
* Change: In Hurricane::RegularLayer, add a layer parameter to the
constructor so the association between the RegularLayer and it's
BasicLayer can readily be done.
* Change: In Hurricane::Layer, add a new getCut() accessor to get the
cut layer in ViaLayer.
* Change: In Hurricane::DataBase::get(), the Python wrapper should no
longer consider an error if the data-base has not been created yet.
Just return None.
* Bug: In Isobar::PyLayer::getEnclosure() wrapper, if the overall
enclosure is requested, pass the right parameter to the C++ function.
* Change: In AllianceFramework, make public _bindLibraries() and export
it to the Python interface.
* Change: In AllianceFramework::create(), do not longer call bindLibraries().
This now must be done explicitely and afterwards.
* Change: In AllianceFramework::createLibrary() and
Environement::addSYSTEM_LIBRARY(), minor bug corrections that I don't
recall.
* Change: In SearchPath::prepend(), set the selected index to zero and
return it.
* Change: In CRL::System CTOR, add "etc" to the PYTHONPATH as the
configuration files are now organized as Python modules.
* New: In PyCRL, export the CRL::System singleton, it's creation is no
longer triggered by the one of AllianceFramework.
* New: In CRL/etc/, convert most of the configuration files into the
Python module format. For now, keep the old ".conf", but that are no
longer used.
For the real technologies, we cannot keep the directory name as
"180" or "45" as it not allowed by Python syntax, so we create "node180"
or "node45" instead.
Most of the helpers and coriolisInit.py are no longer used now.
To be removed in future commits after being sure that everything
works...
* Bug: In AutoSegment::makeDogleg(AutoContact*), the layer of the contacts
where badly computed when one end of the original segment was attached
to a non-preferred direction segment (mostly on terminal contacts).
Now use the new AutoContact::updateLayer() method.
* Bug: In Dijkstra::load(), limit symetric search area only if the net
is a symmetric one !
* Change: In Katana/python/katanaInit.py, comply with the new initialisation
scheme.
* Change: In Unicorn/cgt.py, comply to the new inititalization scheme.
* Change: In cumulus various Python scripts remove the call to
helpers.staticInitialization() as they are not needed now (we run in
only *one* interpreter, so we correctly share all init).
In plugins/__init__.py, read the new NDA directory variable.
* Bug: In cumulus/plugins/Chip.doCoronafloorplan(), self.railsNb was not
correctly managed when there was no clock.
* Change: In cumulus/plugins/Configuration.coronaContactArray(), compute
the viaPitch from the technology instead of the hard-coded 4.0 lambdas.
In Configuration.loadConfiguration(), read the "ioring.py" from
the new user's settings module.
* Bug: In stratus.dpgen_ADSB2F, gives coordinates translated into DbU to
the XY functions.
In st_model.Save(), use the VstUseConcat flag to get correct VST files.
In st_net.hur_net(), when a net is POWER/GROUND or CLOCK also make it
global.
* Change: In Oroshi/python/WIP_Transistor.py, encapsulate the generator
inside a try/except block to get prettier error (and stop at the first).
2019-10-28 12:09:14 -05:00
|
|
|
|
|
|
|
|
|
|
|
Release v2.4
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
#. Complete rewrite of the initialisation system. No longer use "configuration like"
|
|
|
|
files with various list of items. Now the configuration is supplied under the
|
|
|
|
from of |Python| modules to be imported as the user see fit.
|
|
|
|
|
|
|
|
#. Clean separation between |NDA| protected parts and free ones. Now all the |NDA|
|
|
|
|
related components are put under one separated tree, whether they are configuration
|
|
|
|
files or |Python| plugins, so that they be can easily by exported.
|
|
|
|
|
|
|
|
#. In |Anabatic| & |Katana| better accuracy at how obstacles decrease the edges
|
|
|
|
capacities of the GCells. Reduce the edge capacity of a GCell according to it's
|
|
|
|
inner cluttering (that is, it's number of terminals). Change of semantics
|
|
|
|
for ``katana.hReservedLocal`` and ``katana.vReservedLocal`` parameters.
|