2017-07-15 10:35:02 -05:00
|
|
|
.. -*- Mode: rst; explicit-buffer-name: "definition.rst<documentation/etc>" -*-
|
2017-06-30 13:00:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
.. role:: raw-html(raw)
|
|
|
|
:format: html
|
|
|
|
|
|
|
|
.. role:: raw-latex(raw)
|
|
|
|
:format: latex
|
|
|
|
|
|
|
|
.. role:: ul
|
|
|
|
.. role:: cb
|
|
|
|
.. role:: sc
|
|
|
|
.. role:: fboxtt
|
|
|
|
|
|
|
|
.. HTML/LaTeX backends mixed macros.
|
|
|
|
.. |br| replace:: :raw-latex:`\linebreak` :raw-html:`<br/>`
|
|
|
|
.. |medskip| replace:: :raw-latex:`\medskip` :raw-html:`<br class="medskip"/>`
|
|
|
|
.. |newpage| replace:: :raw-latex:`\newpage`
|
|
|
|
.. |linebreak| replace:: :raw-latex:`\smallskip`
|
|
|
|
.. |noindent| replace:: :raw-latex:`\noindent` :raw-html:`<p class="noindent"></p>`
|
|
|
|
.. |dotfill| replace:: :raw-html:` `
|
2017-07-15 10:35:02 -05:00
|
|
|
.. |bcenter| replace:: :raw-latex:`\begin{center}`
|
|
|
|
.. |ecenter| replace:: :raw-latex:`\end{center}`
|
|
|
|
.. |pagestylefancy| replace:: :raw-latex:`\thispagestyle{fancy}`
|
2019-05-27 11:49:51 -05:00
|
|
|
.. |lambda| replace:: :raw-latex:`$\lambda$` :raw-html:`λ`
|
2017-06-30 13:00:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
.. Acronyms & names.
|
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
|
|
|
.. |NDA| replace:: :sc:`nda`
|
2019-05-27 11:49:51 -05:00
|
|
|
.. |OS| replace:: :sc:`os`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |FOSS| replace:: :sc:`foss`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |GNU| replace:: :sc:`gnu`
|
|
|
|
.. |LGPL| replace:: :sc:`lgpl`
|
|
|
|
.. |GPL| replace:: :sc:`gpl`
|
|
|
|
.. |UPMC| replace:: :sc:`upmc`
|
2019-05-26 08:46:44 -05:00
|
|
|
.. |SorbonneUniversite| replace:: :sc:`Sorbonne Université`
|
|
|
|
.. |SU| replace:: :sc:`su`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |CIAN| replace:: :sc:`cian`
|
|
|
|
.. |LIP6| replace:: :sc:`lip6`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Bull| replace:: :sc:`Bull`
|
|
|
|
.. |Cadence| replace:: :sc:`Cadence`
|
|
|
|
.. |Si2| replace:: :sc:`Si2`
|
|
|
|
.. |LEFDEF| replace:: :sc:`lefdef`
|
2017-11-17 05:04:33 -06:00
|
|
|
.. |LEF| replace:: :sc:`lef`
|
|
|
|
.. |DEF| replace:: :sc:`def`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Flute| replace:: :sc:`Flute`
|
|
|
|
.. |MacOS| replace:: :sc:`MacOS`
|
Validating channel routing mode (two metals) on SNX.
* New: In Hurricane::Entity, add an id counter limit and a memory size
limit. The two limits are checked only when a new Entity object is
created. This should help avoiding massive memory links.
* New: In CRL Core, add a "crlcore.groundName" and a "crlcore.powerName"
parameter to specify the name of the ground/power signals to be
created if they are missing in a Cell. For Alliance libraries it
would be "vss" & "vdd" (default values), but for real technologies,
it is often "gnd!" & "vdd!".
The Blif parser is modificated to make use of it.
* Bug: In AnabaticEngine::unify(), set the resulting unified segment in
the center of the GCells common side. Gcells under a segment are
found by using the edge that cover the segment axis. When we have
a "bend" GCell stack and the axis is wrong, they could be ommited.
This was causing deleted segments to be not removed from some
Edges, then core dump.
* Change: In Anabatic::AutoSegment::create(), smarter choosing of the
reference contact, select the fixed or terminal one instead of
always the source one.
* New: In Anabatic::Edge::isEnding(), new function to check if a
segment going through an Edge is starting/ending in either source
or target GCell of the edge (active only when running in channel
mode).
* New: In Anabatic::Edge::add(), a segment takes part in the occupancy
only if it is not ending in either source or target (channel mode
only). The occupancy due to terminal is pre-computed in Katana.
* New: In Anabatic::Edge::ripup(), in channel mode, never ripup a
segment which is ending in either source or target (we *have* to
access this edge to connect to the terminal).
* Bug: In Anabatic::GCell::hcut() and vcut(), force the update of
the Edge which is on the side that will get splitted by the cut.
It's capacity will be reduced to it must be updated.
* Change: In Anabatic::GCell::updateGContacts() add a flag to conditionnally
update horizontals or verticals only. We may require only a partial
update when resizing the GCell in only one direction.
This, again, related to the fact that we compute the GCells under
a segment thanks to it's axis position, so we need to be very careful
when modificating axis.
* Change: In Katana::Block::resizeChannels(), only update GContact vertical
position. Do not disturb X positions of segments.
* Bug: In Katana::GlobalRoute::DigitalDistance, in channel mode, some
Edges can have a zero capacity, but still be reachable if the net has
a terminal in either source or target. Look for this case and return
a distance of zero instead of "unreachable". This was causing the
global routing not to complete in channel mode.
For computing the edge distance, makes the vertical edges much more
long (10 times) than the horizontal ones as the vertical capacity is
very limited. Hard coded for now, should make it a parameter in the
future.
* Change: In KatanaEngine::annotateGlobalGraph(), decrease the capacity
of edges with reserveCapacity for each terminal inside a GCell.
Both north and south edges are decreased as we a terminal will
block both north and south edges.
As a counterpart, the Edge capacity is not decreased when the
global router connect to a terminal.
* Change: In Katana::RoutingEvent::revalidate(), when in repair stage,
do not expand the slack for horizontal segments in channel mode.
So they may not overlap the standard cell row.
* Bug: In Stratus documentation, do not use the french option in babel,
the documentation is in english!
* New: In Documentation, added Hurricane/Python tutorial, part for drawing
layout.
2018-03-16 10:20:04 -05:00
|
|
|
.. |Darwin| replace:: :sc:`Darwin`
|
2019-05-26 08:46:44 -05:00
|
|
|
.. |RHEL| replace:: :sc:`rhel`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |RHEL6| replace:: :sc:`rhel6`
|
|
|
|
.. |RHEL7| replace:: :sc:`rhel7`
|
|
|
|
.. |SL6| replace:: :sc:`Scientific Linux 6`
|
|
|
|
.. |SL7| replace:: :sc:`Scientific Linux 7`
|
|
|
|
.. |Scientific Linux| replace:: :sc:`Scientific Linux`
|
Clarify semantic of flatten Collections (walkthrough).
In the Cell/Instance hierarchy, the "terminal" and "leaf cell" concepts
where not clearly defined and partially overlapping. Now, "Terminal" is
the refer to the physical hierarchy (layout) and "TerminalNetlist" to
the logical hierarchy (netlist). The logical hierarchy can be less deep
than the physical one thanks to a Cell dedicated cell flags. Collections
related to the physical hierarchy keep their old names, the one related
to the logical hierarchy are renamed from "Leaf" to "TerminalNetlist".
The name "Leaf" was too ambiguous (leaf for *what* hierarchy).
* Change: In Hurricane::Device, set the "TerminalNetlist" flag once and
for all. No need set it in all the derived classes again.
* New: In Hurricane::MultiCapacitor, added new parameter "dummy" to
create dummies around the capacity matrix.
* Change: In Hurricane::Cell, remove "Leaf" related methods, replace
them by "TerminalNetlist" one, especially Collections. Now we have
two clear sets of Collections to walkthough the layout or the
netlist.
Change the "Terminal" flag into "TerminalNetlist".
* Change: In Hurricane::CellCollections, rename "Leaf" into
"TerminalNetlist" collections and apply the new semantic to the
locators.
* Change: In Hurricane::DataBase, Leaf to TerminalInstance renaming.
* Change: In Hurricane::DeepNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::HyperNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Instance, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Viewer::HierarchyInformations, Leaf to
TerminalInstance renaming.
* Change: In CRL::AllianceFramework, Leaf to TerminalInstance renaming.
* Change: In CRL::Catalog, Leaf to TerminalInstance renaming.
* Change: In CRL::ApParser, Leaf to TerminalInstance renaming.
* Change: In EtesianEngine::AddFeeds, Leaf to TerminalInstance renaming.
* Bug: In EtesianEngine::resetPlacement, move there the loop over
non terminal netlist instances to flag fully placed sub-blocks
as terminal for the netlist. Only then remove the feed cells
from unplaced instances. Previously, the feed cells where stripped
even from already placed instances.
* Change: In Katana, Leaf to TerminalInstance renaming.
* Bug: In Bora::PyDSlicingNode, allow the range parameter to be the
Python None object when we do not want to pass one but need to
have it as positional parameter.
* Change: In Cumulus/clocktree/ClockTree.py, Leaf to TerminalInstance
renaming.
2020-03-10 06:10:53 -05:00
|
|
|
.. |CentOS| replace:: :sc:`CentOS`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |RedHat| replace:: :sc:`RedHat`
|
|
|
|
.. |Fedora| replace:: :sc:`Fedora`
|
|
|
|
.. |FC13| replace:: :sc:`fc13`
|
2019-05-26 08:46:44 -05:00
|
|
|
.. |EPEL| replace:: :sc:`epel`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Debian| replace:: :sc:`Debian`
|
|
|
|
.. |Ubuntu| replace:: :sc:`Ubuntu`
|
2017-11-17 05:04:33 -06:00
|
|
|
.. |MOSIS| replace:: :sc:`mosis`
|
2018-03-18 17:28:49 -05:00
|
|
|
.. |Blif| replace:: :sc:`blif`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |TSMC| replace:: :sc:`tsmc`
|
|
|
|
.. |AMS| replace:: :sc:`ams`
|
Clarify semantic of flatten Collections (walkthrough).
In the Cell/Instance hierarchy, the "terminal" and "leaf cell" concepts
where not clearly defined and partially overlapping. Now, "Terminal" is
the refer to the physical hierarchy (layout) and "TerminalNetlist" to
the logical hierarchy (netlist). The logical hierarchy can be less deep
than the physical one thanks to a Cell dedicated cell flags. Collections
related to the physical hierarchy keep their old names, the one related
to the logical hierarchy are renamed from "Leaf" to "TerminalNetlist".
The name "Leaf" was too ambiguous (leaf for *what* hierarchy).
* Change: In Hurricane::Device, set the "TerminalNetlist" flag once and
for all. No need set it in all the derived classes again.
* New: In Hurricane::MultiCapacitor, added new parameter "dummy" to
create dummies around the capacity matrix.
* Change: In Hurricane::Cell, remove "Leaf" related methods, replace
them by "TerminalNetlist" one, especially Collections. Now we have
two clear sets of Collections to walkthough the layout or the
netlist.
Change the "Terminal" flag into "TerminalNetlist".
* Change: In Hurricane::CellCollections, rename "Leaf" into
"TerminalNetlist" collections and apply the new semantic to the
locators.
* Change: In Hurricane::DataBase, Leaf to TerminalInstance renaming.
* Change: In Hurricane::DeepNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::HyperNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Instance, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Viewer::HierarchyInformations, Leaf to
TerminalInstance renaming.
* Change: In CRL::AllianceFramework, Leaf to TerminalInstance renaming.
* Change: In CRL::Catalog, Leaf to TerminalInstance renaming.
* Change: In CRL::ApParser, Leaf to TerminalInstance renaming.
* Change: In EtesianEngine::AddFeeds, Leaf to TerminalInstance renaming.
* Bug: In EtesianEngine::resetPlacement, move there the loop over
non terminal netlist instances to flag fully placed sub-blocks
as terminal for the netlist. Only then remove the feed cells
from unplaced instances. Previously, the feed cells where stripped
even from already placed instances.
* Change: In Katana, Leaf to TerminalInstance renaming.
* Bug: In Bora::PyDSlicingNode, allow the range parameter to be the
Python None object when we do not want to pass one but need to
have it as positional parameter.
* Change: In Cumulus/clocktree/ClockTree.py, Leaf to TerminalInstance
renaming.
2020-03-10 06:10:53 -05:00
|
|
|
.. |XFAB| replace:: :sc:`xfab`
|
|
|
|
.. |XH035| replace:: :cb:`XH035`
|
|
|
|
.. |ROHM| replace:: :sc:`rohm`
|
2017-06-30 13:00:22 -05:00
|
|
|
|
|
|
|
.. |Alexandre| replace:: :sc:`Alexandre`
|
|
|
|
.. |Belloeil| replace:: :sc:`Belloeil`
|
|
|
|
.. |Chaput| replace:: :sc:`Chaput`
|
2019-05-23 10:30:42 -05:00
|
|
|
.. |Chotin| replace:: :sc:`Chotin`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Chu| replace:: :sc:`Chu`
|
|
|
|
.. |Clement| replace:: :sc:`Clement`
|
|
|
|
.. |Dupuis| replace:: :sc:`Dupuis`
|
|
|
|
.. |Escassut| replace:: :sc:`Escassut`
|
|
|
|
.. |Gouvine| replace:: :sc:`Gouvine`
|
|
|
|
.. |Masson| replace:: :sc:`Masson`
|
|
|
|
.. |Sroka| replace:: :sc:`Sroka`
|
|
|
|
.. |Yifei| replace:: :sc:`Yifei`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |Mead| replace:: :sc:`Mead`
|
|
|
|
.. |Conway| replace:: :sc:`Conway`
|
2020-02-09 11:18:42 -06:00
|
|
|
.. |Petley| replace:: :sc:`Petley`
|
|
|
|
.. |FloresGomez| replace:: :sc:`Flores Gomez`
|
|
|
|
.. |SNX| replace:: :sc:`snx`
|
2017-06-30 13:00:22 -05:00
|
|
|
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |ASIC| replace:: :sc:`asic`
|
|
|
|
.. |EDA| replace:: :sc:`eda`
|
|
|
|
.. |RTL| replace:: :sc:`rtl`
|
|
|
|
.. |HSL| replace:: :sc:`hsl`
|
2020-02-09 11:18:42 -06:00
|
|
|
.. |FHS| replace:: :sc:`fhs`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |IEEE| replace:: :sc:`ieee`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |ANSI| replace:: :sc:`ansi`
|
|
|
|
.. |MIPS| replace:: :sc:`mips`
|
2020-02-09 11:18:42 -06:00
|
|
|
.. |Pharosc| replace:: :sc:`Pharosc`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Am2901| replace:: :sc:`Am2901`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |CAIRO| replace:: :sc:`cairo`
|
|
|
|
.. |CAIRO+| replace:: :sc:`cairo+`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Hurricane| replace:: :sc:`Hurricane`
|
Validating channel routing mode (two metals) on SNX.
* New: In Hurricane::Entity, add an id counter limit and a memory size
limit. The two limits are checked only when a new Entity object is
created. This should help avoiding massive memory links.
* New: In CRL Core, add a "crlcore.groundName" and a "crlcore.powerName"
parameter to specify the name of the ground/power signals to be
created if they are missing in a Cell. For Alliance libraries it
would be "vss" & "vdd" (default values), but for real technologies,
it is often "gnd!" & "vdd!".
The Blif parser is modificated to make use of it.
* Bug: In AnabaticEngine::unify(), set the resulting unified segment in
the center of the GCells common side. Gcells under a segment are
found by using the edge that cover the segment axis. When we have
a "bend" GCell stack and the axis is wrong, they could be ommited.
This was causing deleted segments to be not removed from some
Edges, then core dump.
* Change: In Anabatic::AutoSegment::create(), smarter choosing of the
reference contact, select the fixed or terminal one instead of
always the source one.
* New: In Anabatic::Edge::isEnding(), new function to check if a
segment going through an Edge is starting/ending in either source
or target GCell of the edge (active only when running in channel
mode).
* New: In Anabatic::Edge::add(), a segment takes part in the occupancy
only if it is not ending in either source or target (channel mode
only). The occupancy due to terminal is pre-computed in Katana.
* New: In Anabatic::Edge::ripup(), in channel mode, never ripup a
segment which is ending in either source or target (we *have* to
access this edge to connect to the terminal).
* Bug: In Anabatic::GCell::hcut() and vcut(), force the update of
the Edge which is on the side that will get splitted by the cut.
It's capacity will be reduced to it must be updated.
* Change: In Anabatic::GCell::updateGContacts() add a flag to conditionnally
update horizontals or verticals only. We may require only a partial
update when resizing the GCell in only one direction.
This, again, related to the fact that we compute the GCells under
a segment thanks to it's axis position, so we need to be very careful
when modificating axis.
* Change: In Katana::Block::resizeChannels(), only update GContact vertical
position. Do not disturb X positions of segments.
* Bug: In Katana::GlobalRoute::DigitalDistance, in channel mode, some
Edges can have a zero capacity, but still be reachable if the net has
a terminal in either source or target. Look for this case and return
a distance of zero instead of "unreachable". This was causing the
global routing not to complete in channel mode.
For computing the edge distance, makes the vertical edges much more
long (10 times) than the horizontal ones as the vertical capacity is
very limited. Hard coded for now, should make it a parameter in the
future.
* Change: In KatanaEngine::annotateGlobalGraph(), decrease the capacity
of edges with reserveCapacity for each terminal inside a GCell.
Both north and south edges are decreased as we a terminal will
block both north and south edges.
As a counterpart, the Edge capacity is not decreased when the
global router connect to a terminal.
* Change: In Katana::RoutingEvent::revalidate(), when in repair stage,
do not expand the slack for horizontal segments in channel mode.
So they may not overlap the standard cell row.
* Bug: In Stratus documentation, do not use the french option in babel,
the documentation is in english!
* New: In Documentation, added Hurricane/Python tutorial, part for drawing
layout.
2018-03-16 10:20:04 -05:00
|
|
|
.. |CRL| replace:: :sc:`crl`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Alliance| replace:: :sc:`Alliance`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |StaCS| replace:: :sc:`StaCS`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Yosys| replace:: :sc:`Yosys`
|
|
|
|
.. |GenLib| replace:: :sc:`GenLib`
|
|
|
|
.. |Nero| replace:: :sc:`Nero`
|
|
|
|
.. |Druc| replace:: :cb:`Druc`
|
|
|
|
.. |Coloquinte| replace:: :sc:`Coloquinte`
|
|
|
|
.. |Coriolis| replace:: :sc:`Coriolis`
|
|
|
|
.. |Coriolis1| replace:: :sc:`Coriolis 1`
|
|
|
|
.. |Coriolis2| replace:: :sc:`Coriolis 2`
|
2019-05-26 08:46:44 -05:00
|
|
|
.. |alliance-check-toolkit| replace:: ``alliance-check-toolkit``
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |VLSISAPD| replace:: :sc:`vlsisapd`
|
|
|
|
.. |CRLcore| replace:: :sc:`CRLcore`
|
|
|
|
.. |Cyclop| replace:: :sc:`Cyclop`
|
|
|
|
.. |Nimbus| replace:: :sc:`Nimbus`
|
|
|
|
.. |hMetis| replace:: :sc:`hMetis`
|
|
|
|
.. |Mauka| replace:: :sc:`Mauka`
|
|
|
|
.. |Etesian| replace:: :sc:`Etesian`
|
|
|
|
.. |Knik| replace:: :sc:`Knik`
|
2019-05-27 11:49:51 -05:00
|
|
|
.. |Anabatic| replace:: :sc:`Anabatic`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Katabatic| replace:: :sc:`Katabatic`
|
|
|
|
.. |Kite| replace:: :sc:`Kite`
|
2018-03-18 17:28:49 -05:00
|
|
|
.. |Katana| replace:: :sc:`Katana`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |Stratus| replace:: :sc:`Stratus`
|
|
|
|
.. |Stratus1| replace:: :sc:`Stratus1`
|
|
|
|
.. |Stratus2| replace:: :sc:`Stratus2`
|
|
|
|
.. |Unicorn| replace:: :sc:`Unicorn`
|
|
|
|
.. |ccb| replace:: :cb:`ccb`
|
|
|
|
.. |cgt| replace:: :cb:`cgt`
|
|
|
|
.. |Chams| replace:: :sc:`Chams`
|
|
|
|
.. |OpenChams| replace:: :sc:`OpenChams`
|
|
|
|
.. |API| replace:: :sc:`api`
|
|
|
|
.. |STL| replace:: :sc:`stl`
|
|
|
|
.. |XML| replace:: :sc:`xml`
|
|
|
|
.. |pdf| replace:: :sc:`pdf`
|
|
|
|
.. |UTF-8| replace:: :sc:`utf-8`
|
|
|
|
.. |Python| replace:: :sc:`Python`
|
|
|
|
.. |Linux| replace:: :sc:`Linux`
|
|
|
|
.. |MacPorts| replace:: :sc:`MacPorts`
|
2019-03-04 07:35:16 -06:00
|
|
|
.. |devtoolset| replace:: :cb:`devtoolset`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |boost| replace:: :cb:`boost`
|
|
|
|
.. |Qt| replace:: :sc:`qt`
|
2019-10-30 10:58:43 -05:00
|
|
|
.. |Qwt| replace:: :sc:`qwt`
|
2019-05-27 11:49:51 -05:00
|
|
|
.. |PyQt| replace:: :sc:`PyQt`
|
|
|
|
.. |PyQt4| replace:: :sc:`PyQt4`
|
|
|
|
.. |PyQt5| replace:: :sc:`PyQt5`
|
Clarify semantic of flatten Collections (walkthrough).
In the Cell/Instance hierarchy, the "terminal" and "leaf cell" concepts
where not clearly defined and partially overlapping. Now, "Terminal" is
the refer to the physical hierarchy (layout) and "TerminalNetlist" to
the logical hierarchy (netlist). The logical hierarchy can be less deep
than the physical one thanks to a Cell dedicated cell flags. Collections
related to the physical hierarchy keep their old names, the one related
to the logical hierarchy are renamed from "Leaf" to "TerminalNetlist".
The name "Leaf" was too ambiguous (leaf for *what* hierarchy).
* Change: In Hurricane::Device, set the "TerminalNetlist" flag once and
for all. No need set it in all the derived classes again.
* New: In Hurricane::MultiCapacitor, added new parameter "dummy" to
create dummies around the capacity matrix.
* Change: In Hurricane::Cell, remove "Leaf" related methods, replace
them by "TerminalNetlist" one, especially Collections. Now we have
two clear sets of Collections to walkthough the layout or the
netlist.
Change the "Terminal" flag into "TerminalNetlist".
* Change: In Hurricane::CellCollections, rename "Leaf" into
"TerminalNetlist" collections and apply the new semantic to the
locators.
* Change: In Hurricane::DataBase, Leaf to TerminalInstance renaming.
* Change: In Hurricane::DeepNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::HyperNet, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Instance, Leaf to TerminalInstance renaming.
* Change: In Hurricane::Viewer::HierarchyInformations, Leaf to
TerminalInstance renaming.
* Change: In CRL::AllianceFramework, Leaf to TerminalInstance renaming.
* Change: In CRL::Catalog, Leaf to TerminalInstance renaming.
* Change: In CRL::ApParser, Leaf to TerminalInstance renaming.
* Change: In EtesianEngine::AddFeeds, Leaf to TerminalInstance renaming.
* Bug: In EtesianEngine::resetPlacement, move there the loop over
non terminal netlist instances to flag fully placed sub-blocks
as terminal for the netlist. Only then remove the feed cells
from unplaced instances. Previously, the feed cells where stripped
even from already placed instances.
* Change: In Katana, Leaf to TerminalInstance renaming.
* Bug: In Bora::PyDSlicingNode, allow the range parameter to be the
Python None object when we do not want to pass one but need to
have it as positional parameter.
* Change: In Cumulus/clocktree/ClockTree.py, Leaf to TerminalInstance
renaming.
2020-03-10 06:10:53 -05:00
|
|
|
.. |UID| replace:: :sc:`uid`
|
|
|
|
.. |UID| replace:: :sc:`uid`
|
|
|
|
.. |GID| replace:: :sc:`gid`
|
|
|
|
.. |root| replace:: :cb:`root`
|
|
|
|
.. |GID| replace:: :sc:`gid`
|
|
|
|
.. |root| replace:: :cb:`root`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |tty| replace:: :cb:`tty`
|
|
|
|
.. |svn| replace:: :cb:`svn`
|
|
|
|
.. |git| replace:: :cb:`git`
|
|
|
|
.. |rpm| replace:: :cb:`rpm`
|
|
|
|
.. |gdb| replace:: :cb:`gdb`
|
2019-05-26 08:46:44 -05:00
|
|
|
.. |valgrind| replace:: :cb:`valgrind`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |cmake| replace:: :cb:`cmake`
|
2020-02-09 11:18:42 -06:00
|
|
|
.. |bison| replace:: :cb:`bison`
|
|
|
|
.. |flex| replace:: :cb:`flex`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |struct| replace:: :cb:`struct`
|
|
|
|
|
|
|
|
.. |KeyUp| replace:: :fboxtt:`Up`
|
|
|
|
.. |KeyDown| replace:: :fboxtt:`Down`
|
|
|
|
.. |KeyLeft| replace:: :fboxtt:`Left`
|
|
|
|
.. |KeyRight| replace:: :fboxtt:`Right`
|
|
|
|
.. |KeyF| replace:: :fboxtt:`f`
|
|
|
|
.. |KeyL| replace:: :fboxtt:`l`
|
|
|
|
.. |KeyG| replace:: :fboxtt:`g`
|
|
|
|
.. |KeyZ| replace:: :fboxtt:`z`
|
|
|
|
.. |KeyM| replace:: :fboxtt:`m`
|
|
|
|
.. |KeyI| replace:: :fboxtt:`i`
|
|
|
|
.. |KeyK| replace:: :fboxtt:`k`
|
|
|
|
.. |KeyP| replace:: :fboxtt:`p`
|
|
|
|
.. |KeyO| replace:: :fboxtt:`o`
|
|
|
|
.. |KeyW| replace:: :fboxtt:`w`
|
|
|
|
.. |KeyQ| replace:: :fboxtt:`q`
|
|
|
|
.. |KeyCapK| replace:: :fboxtt:`K`
|
|
|
|
.. |KeyCapS| replace:: :fboxtt:`S`
|
|
|
|
.. |Plus| replace:: :fboxtt:`+`
|
|
|
|
.. |KeyESC| replace:: :fboxtt:`ESC`
|
|
|
|
.. |CTRL| replace:: :fboxtt:`CTRL`
|
|
|
|
.. |CTRL_L| replace:: :fboxtt:`CTRL+L`
|
|
|
|
.. |CTRL_I| replace:: :fboxtt:`CTRL+I`
|
|
|
|
.. |CTRL_P| replace:: :fboxtt:`CTRL+P`
|
|
|
|
.. |CTRL_O| replace:: :fboxtt:`CTRL+O`
|
|
|
|
.. |CTRL_W| replace:: :fboxtt:`CTRL+W`
|
|
|
|
.. |CTRL_Q| replace:: :fboxtt:`CTRL+Q`
|
|
|
|
.. |CTRL_Down| replace:: :fboxtt:`CTRL+Down`
|
|
|
|
.. |CTRL_Up| replace:: :fboxtt:`CTRL+Up`
|
|
|
|
.. |CTRL_Left| replace:: :fboxtt:`CTRL+Left`
|
|
|
|
.. |CTRL_Right| replace:: :fboxtt:`CTRL+Right`
|
|
|
|
|
|
|
|
.. URLs
|
2017-07-15 10:35:02 -05:00
|
|
|
.. _Doxygen: http://www.stack.nl/~dimitri/doxygen/
|
|
|
|
.. _LaTeX2HTML: http://www.latex2html.org/
|
2017-06-30 13:00:22 -05:00
|
|
|
.. _FGR: http://vlsicad.eecs.umich.edu/BK/FGR/
|
|
|
|
.. _Box Router: http://www.cerc.utexas.edu/~thyeros/boxrouter/boxrouter.htm
|
|
|
|
.. _hMETIS: http://glaros.dtc.umn.edu/gkhome/views/metis
|
|
|
|
.. _Knik Thesis: http://www-soc.lip6.fr/en/users/damiendupuis/PhD/
|
|
|
|
.. _RapidJSON: http://miloyip.github.io/rapidjson/
|
|
|
|
.. _Python/C API Reference Manual: https://docs.python.org/2/c-api/index.html
|
2017-10-30 09:33:37 -05:00
|
|
|
.. _Apache License, Version 2.0: http://www.apache.org/licences/LICENSE-2.0
|
2018-03-18 17:28:49 -05:00
|
|
|
.. _FreePDK45: https://www.eda.ncsu.edu/wiki/FreePDK45:Contents
|
|
|
|
.. _Yosys: http://www.clifford.at/yosys/
|
2020-02-03 10:44:15 -06:00
|
|
|
.. _GHDL: https://github.com/ghdl/ghdl
|
|
|
|
.. _Si2: http://www.si2.org/
|
|
|
|
|
|
|
|
.. _GPL: http://www.gnu.org/copyleft/gpl.txt
|
|
|
|
.. _LGPL: https://www.gnu.org/licenses/lgpl-3.0.html
|
|
|
|
.. _Apache License, Version 2.0: http://www.apache.org/licences/LICENSE-2.0
|
|
|
|
.. _Tokai University: http://www.u-tokai.ac.jp/international/
|
|
|
|
.. _Shimizu Lab: http://labo.nshimizu.com/
|
|
|
|
.. _Smartlabs: http://www.smartlabsinc.com/
|
|
|
|
.. _Don Bosco University: http://www.udb.edu.sv/
|
|
|
|
.. _MyCMP: https://www.mycmp.fr/
|
2017-06-30 13:00:22 -05:00
|
|
|
|
|
|
|
.. Standard CAO/VLSI Concepts.
|
|
|
|
.. |netlist| replace:: *netlist*
|
|
|
|
.. |netlists| replace:: *netlists*
|
|
|
|
.. |layout| replace:: *layout*
|
|
|
|
.. |layouts| replace:: *layouts*
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |VLSI| replace:: :sc:`vlsi`
|
|
|
|
.. |GDS| replace:: :sc:`gds`
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |CMOS| replace:: :sc:`cmos`
|
|
|
|
.. |VHDL| replace:: :sc:`vhdl`
|
|
|
|
.. |NWELL| replace:: :sc:`nwell`
|
|
|
|
.. |POWER| replace:: :sc:`power`
|
|
|
|
.. |GROUND| replace:: :sc:`ground`
|
|
|
|
|
2020-02-03 10:44:15 -06:00
|
|
|
.. Alliance & MBK Concepts
|
2017-06-30 13:00:22 -05:00
|
|
|
.. |MBK| replace:: :sc:`mbk`
|
|
|
|
.. |LOFIG| replace:: :cb:`Lofig`
|
|
|
|
.. |PHFIG| replace:: :cb:`Phfig`
|
|
|
|
.. |SxLib| replace:: :sc:`SxLib`
|
2017-07-15 10:35:02 -05:00
|
|
|
.. |RDS| replace:: :sc:`rds`
|
2020-02-03 10:44:15 -06:00
|
|
|
.. |s2r| replace:: :cb:`s2r`
|
2017-06-30 13:00:22 -05:00
|
|
|
|
|
|
|
.. Hurricane Concepts.
|
|
|
|
.. |hypernet| replace:: *hypernet*
|
|
|
|
.. |hypernets| replace:: *hypernets*
|
|
|
|
.. |Cell| replace:: *Cell*
|
|
|
|
.. |Rings| replace:: *Rings*
|
|
|
|
.. |QuadTrees| replace:: *QuadTrees*
|
|
|
|
.. |Collections| replace:: *Collections*
|
|
|
|
.. |ap| replace:: :cb:`ap`
|
|
|
|
.. |vst| replace:: :cb:`vst`
|
|
|
|
.. |kgr| replace:: :cb:`kgr`
|
|
|
|
.. |dot_conf| replace:: :cb:`.conf`
|