coriolis/anabatic/src
Jean-Paul Chaput 02777e127e Migration towards Python3, first stage: still based on C-Macros.
* New: Python/C++ API level:
  * Write a new C++/template wrapper to get rid of boost::python
  * The int & long Python type are now merged. So a C/C++ level,
    it became "PyLong_X" (remove "PyInt_X") and at Python code
    level, it became "int" (remove "long").
* Change: VLSISAPD finally defunct.
  * Configuration is now integrated as a Hurricane component,
    makes use of the new C++/template wrapper.
  * vlsisapd is now defunct. Keep it in the source for now as
    some remaining non essential code may have to be ported in
    the future.
* Note: Python code (copy of the migration howto):
  * New print function syntax print().
  * Changed "dict.has_key(k)" for "k" in dict.
  * Changed "except Exception, e" for "except Exception as e".
  * The division "/" is now the floating point division, even if
    both operand are integers. So 3/2 now gives 1.5 and no longer 1.
    The integer division is now "//" : 1 = 3//2. So have to carefully
    review the code to update. Most of the time we want to use "//".
    We must never change to float for long that, in fact, represents
    DbU (exposed as Python int type).
  * execfile() must be replaced by exec(open("file").read()).
  * iter().__next__() becomes iter(x).__next__().
  * __getslice__() has been removed, integrated to __getitem__().
  * The formating used for str(type(o)) has changed, so In Stratus,
    have to update them ("<class 'MyClass'>" instead of "MyClass").
  * the "types" module no longer supply values for default types
    like str (types.StringType) or list (types.StringType).
    Must use "isinstance()" where they were occuring.
  * Remove the 'L' to indicate "long integer" (like "12L"), now
    all Python integer are long.
* Change in bootstrap:
  * Ported Coriolis builder (ccb) to Python3.
  * Ported Coriolis socInstaller.py to Python3.
  * Note: In PyQt4+Python3, QVariant no longer exists. Use None or
    directly convert using the python syntax: bool(x), int(x), ...
    By default, it is a string (str).
* Note: PyQt4 bindings & Python3 under SL7.
  * In order to compile user's must upgrade to my own rebuild of
    PyQt 4 & 5 bindings 4.19.21-1.el7.soc.
* Bug: In cumulus/plugins.block.htree.HTree.splitNet(), set the root
    buffer of the H-Tree to the original signal (mainly: top clock).
      Strangely, it was only done when working in full chip mode.
2021-09-19 19:41:24 +02:00
..
anabatic Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
AnabaticEngine.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
AntennaProtect.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
AutoContact.cpp Rewrite support for minimum area metal wires (stacked VIAs). 2021-04-05 00:01:54 +02:00
AutoContactHTee.cpp Pin management implemented for NetBuilderHV. 2019-03-10 13:25:43 +01:00
AutoContactTerminal.cpp Bug fix: Never slacken a segment from a Pin. 2020-08-02 18:13:47 +02:00
AutoContactTurn.cpp Bug fix, In Katana, do not remove AutoSegment conflicting with blockages. 2020-04-21 15:40:59 +02:00
AutoContactVTee.cpp Pin management implemented for NetBuilderHV. 2019-03-10 13:25:43 +01:00
AutoHorizontal.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
AutoSegment.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
AutoSegments.cpp Improved management of AutoContactTerminal for VH gauges (real ones). 2018-01-25 11:58:04 +01:00
AutoVertical.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
CMakeLists.txt Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
ChipTools.cpp Happy New Year 2018 ! Update license years... 2018-01-06 17:55:44 +01:00
Configuration.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
Constants.cpp Add a zero-length segment compaction stage in Anabatic DTOR. 2021-04-12 23:50:25 +02:00
Dijkstra.cpp More accurate antenna management in Anabatic. 2021-05-22 15:14:32 +02:00
Edge.cpp Added support for loading user defined global routing in Anabatic. 2020-09-30 11:55:39 +02:00
EdgeCapacity.cpp Capacity managment by layer in Edges & GCells (plus fixes). 2018-02-21 00:16:50 +01:00
Edges.cpp Support for density estimation for the global router. 2019-02-26 20:03:53 +01:00
GCell.cpp Complete rewrite of the diode insertion algorithm. 2021-05-04 19:31:12 +02:00
LayerAssign.cpp Rewrite support for minimum area metal wires (stacked VIAs). 2021-04-05 00:01:54 +02:00
Matrix.cpp Improve Edge ripup method. Improve two-metal terminal management. 2018-03-06 01:48:44 +01:00
NetBuilder.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
NetBuilderHV.cpp Prevent wires part of a diode cluster to be moved up. 2021-06-18 19:17:24 +02:00
NetBuilderM2.cpp Rewrite support for minimum area metal wires (stacked VIAs). 2021-04-05 00:01:54 +02:00
NetBuilderVH.cpp Rewrite support for minimum area metal wires (stacked VIAs). 2021-04-05 00:01:54 +02:00
NetConstraints.cpp Improvements in routing quality for ARMv2a, reached 100% success. 2019-08-23 23:48:09 +02:00
NetOptimals.cpp Pin management implemented for NetBuilderHV. 2019-03-10 13:25:43 +01:00
PreRouteds.cpp DRC correct on Arlet6505 / TSMC C180. 2020-11-23 23:07:15 +01:00
PyAnabatic.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
Session.cpp Rewrite support for minimum area metal wires (stacked VIAs). 2021-04-05 00:01:54 +02:00