coriolis/etesian/src
Jean-Paul Chaput 087ef239c2 Add support for Antenna/Diode insertion in Etesian.
* New: In Etesian::Configuration add new parameters for antenna
    effect management:
    * "etesian.diodeName"    : the name of the diode cell.
    * "etesian.antennaMaxwl" : maximum length above which antenna
         effect can occur. Must be the maximum for all the normal
	 routing layers.
    * "etesian.antennaInsertThreshold" : during the placement steps,
         threshold for linear disruption at which we will look for
	 the RSMT and insert diodes.
* New: In EtesianEngine::antennaProtect(), at a designated point
    in the placement iteratives step, when the spreading starts to
    be significant enough estimate the RSMT length and add a diode
    if need be. The diode will be put side by side with the driver
    cell. This is done by enlarging the driver cell of the diode
    width.
* New: In EtesianEngine::_updatePlacement(), in the final stage,
    modify the netlist to connect the diode. The diode will be
    put on the side of the cell closest to the driver. This may
    alow to make the connexion directly in METAL1 in the future.
* Change: In etesian/Placement.cpp, make the whole placement
    structure a persistent attribute of the EtesianEngine so
    it can be used afterwards.
      Add a post-placement diode insertion feature. Finally
    unused as they are added on the fly during placement.
      In the Area, add data about the diode tie in the TieLut.
* Change: Add EtesianEnginea::clearColoquinte(), to keep the
    post-placement structure while purging the Coloquinte one.
* Change: In cumulus/plugins.block.block, keep the Etesian engine
    until the whole P&R is done, so we potentially can exploit
    the post-placement datas.
* Bug: In cumulus/plugins.chip.power.GoCb(), for the METAL1 power
    and ground wires coming from the standard cell, it was assumed
    they where made of Horizontal segments, this is not the case
    in FlexLib... So force to consider the plane as Horizontal when
    we are processing that plane.
      Better solution should be to use Horizontals...
2021-01-13 19:36:20 +01:00
..
etesian Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
AddFeeds.cpp Compute and display feed insertion statistic per row. 2020-12-09 00:15:54 +01:00
BloatCells.cpp Added multiple clock support in cumulus/plugins/alpha/block. 2020-08-11 14:49:07 +02:00
BloatProperty.cpp Groudwork for routing density driven placement. Compliance with clang 5.0.1. 2019-12-09 01:57:44 +01:00
CMakeLists.txt Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
Configuration.cpp Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
EtesianEngine.cpp Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
FeedCells.cpp Etesian should use the CellGauge slice step when adding the feed cells. 2019-11-15 12:26:14 +01:00
GraphicEtesianEngine.cpp Support for mixing real pads & symbolic core. Wrapper around s2r. 2019-05-22 14:34:32 +02:00
Placement.cpp Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
PyEtesian.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyEtesianEngine.cpp Add support for Antenna/Diode insertion in Etesian. 2021-01-13 19:36:20 +01:00
PyGraphicEtesianEngine.cpp Happy New Year 2018 ! Update license years... 2018-01-06 17:55:44 +01:00