When upgrading from doxygen 1.5.x to 1.8.5 the way the documentation
is generated has underwent many changes, particularly in the headers.
* Change: In <header.html>, must include the javascripts <jquery.js>
and <dynsections.js>.
* In <CMakeLists.txt>, as the header is customized, doxygen seems not
copy some files like the javascripts and some images (open.png,
closed.png). So we copy them from doxygen installation and make
the CMakeLists.txt install them. I hope they will not change too
much in the future.
* In <doxyfile>, disable markdown support as it do not interpret
correctly the formating we already adopted (with a left margin
to put command into). Use HTML_EXTRA_STYLESHEET instead of
HTML_STYLESHEET. Enable the index (DISABLE_INDEX=NO), for the
top header. Enable dot for inheritance diagram. Set the
EXAMPLE_PATH=. to include the synthetic hierarchy.
Correct the tag inclusion (faulty path in some places).
* In <SoC.css>, create style for the new header generated by doxygen.
* In the documentation, move the synthetic hierarchy into a module.
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.
Project hierarchy reorganisation:
* With svn, we were doing a tool by tool checkout, suppressing the
whole repository hierarchy level.
* The tools were also grouped, inside one repository, into multiple
projects (<bootstrap>, <vlsisapd>, <coriolis>).
* We do not want to split up each tool into a separate repository,
given their tight integration (except for vlsisapd).
* We choose to simplify, and consider all tools in a svn repository
one project. Due to the way Git clone repositories, the directory
containing the project is now to be seen under "src/".
CMake modifications:
* Now that the <vlsisapd> and <bootstrap> projects are merged into
coriolis, modificate the top CMakeLists.txt of each tool to uses
only Coriolis (and bootstrap hard wired).
CCB compile script modifications:
* Uses the new source tree hierarchy, with the project directory
inserted.
* Remove (comment) all parts relateds to svn managment.
* Git is sufficiently simple so that we do not want to integrate
command shortcut into the script.
SVN cleanup:
* Remove the obsolete <chamsin> tool, that has become the full fledged
<chams> project long time ago.
- New: Added an id on DBo, SharedName and SharedPath to ensure
database determinism. All the hash key now uses the id instead
of the object's pointer (see _getHashValue()).
- Change: In RoutingPad, position is now only relative to the anchor,
no more (dx,dy). Add a isPlacedOccurrence() to check if all the
occurrence in the path are fixed and thus the position meaningful.
* ./hurricane/doc/hurricane:
- 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.
- New: In hurricane/doc, added documentation RoutingPad, HyperNet & Query.
- New: In isobar, added support for RoutingPad.
- Change: In PyComponent, getCenter() method moved to it's right place in
the base class.
- Change: In PyPath, added duplicated methods (ApplyOn <-> applyOn and
Invert <-> invert).
- A complete sweep of cleanup to suppress allmost all compiler warnings.
* ./hurricane/doc/hurricane:
- New: Documentation cleanup and update, particularly on the new Layer
derived classes.
* ./hurricane/src/hurricane,
./hurricane/src/isobar,
./hurricane/src/viewer:
- New: Creation of new methods, more explicit on DbU. Based on a to/from
naming scheme.
- New: Python support extented to include all objects needed to configure
through python scripts.
- Change: Finally understood what's causing the _XOPEN_SOURCE redefinition.
Basically the Python.h must be included first before any other
include. The type-puned problem will remains still (that is a Python
problem, not our own).
- Change: In DisplayStyle, uses shared_ptr for DrawingStyle instead of
custom made reference count.
- 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.
- Bug: In the various Property sub-types dox file the Hurricane namespace
wasn't closed, resulting in the deseapearance of thoses classes in the
documentation (painful to diagnose).
Still, the doc for the derived Property mostly remains to be written.
- Bug: clearing some remnants of a merge conflict in DataBase.dox.
- New feature : first try at a more ergonomic interface. The "Controller",
a simple Tabbed window for managing all settings.
Reorganize the way things are selected (Nets, Area, single), aglomerated
selection.
Use a "logical" progression Netlist -> Selection -> Inspector.
- In CellWiddget, new Selection managment mecanism to ensure persistent
Selection across cell modifications.
New signals/slots to manage Cell modification :
a. - cellPreModificated() : must be launched *before* the Cell modification
by the tool about to modify it.
b. - cellPostModificated() : must be lauched *after* the Cell modification
This mecanism may be amended to automatically fit with the UpdateSessions.
- Cleanup (part 1) : more consistent name for widgets, replace the 'H' prefix by
a "Widget" suffix. Objects are modified by not filenames yet (due to svn not
liking file renaming and modications at the same time).
- Improved support for static building in CMakeList.txt.
- API : in CellWidget & CellViewer constructors now only takes the
parent QWidget.
- Renaming coordinates translation functions for more clarity.
- Adding a StatusBar showing mouse coordinates.
- Documentation of DbU, replacing documentation of Unit.
* ./hurricane/src/hurricane/hurricane/DBo.h :
- Property set is now a mutable member, allowing const DBo to changes
their properties. Strange side effect on SlotAdapter in which we
need to declare two separate templates, one for const type and
another for non-const type.
- _getTypeName() defined to prevents noisy error message when a
derived class (from DBo) do not want to implement support for
the inspector.
- Unit evolution to allow Symbolic (lamda) and Real (grid founder) mixing.
All functions related to Unit translations are now grouped under
the "DbU" class (another tribute to OpenAccess). "DbU" contains
only static attributes (constants) and methods. Unit itself becomes
a typedef inside this class, hence the file renaming from Unit.{h,cpp}
to DbU.{h.cpp}. Have to replace all instances of "Unit" by "DbU::Unit".
- Doc will be updated shortly.
- CompositeLayer replaced by 5 kind of symbolic layers :
RegularLayer (1 BasicLayer)
DiffusionLayer (2 or 3 BasicLayers: active+implant,well)
TransistorLayer (3 or 4 BasicLayers: poly+active+implant,well)
ContactLayer (4 or 5 BasicLayers: metal+cut+active+implant,well)
ViaLayer (3 BasicLayers: metal0+cut0+metal1)
- To better follow the OpenAccess semantic, the "obstacle" Material type
is renommed to "blockage".
- NB: doxygen documentation is not up-to-date and issue warnings.
* ./coriolis/src/crlcore :
- Migrate from CompositeLayer to the various SymbolicLayers.
- Symbolic rules are now closer to the reality so that a Cell displayed
with Hurricane should look identical to the Graal one.
- Complete rewrite of the AP parser. Much simplificated, do not try to
merge/articulates segments. This ensure a true rendering of the
Cell. Especially do not create contact to anchor diffusion segments,
which leads to very strange randering (DRC error as well).
./hurricane/doc/hurricane/src/hurricane/BasicLayer.{h.cpp}
- Changed "Type" to "Material" to fit better the OpenAccess semantic.
Introduce Material meanings : pWell, nWell, pImplant, nImplant
active, metal, cut, obstacle & other.
* ./coriolis/src/crlcore :
- Switched to the generic layer model. Updated technology XML configuration
files, technology parser & AP parser/driver.
- Note that the representation of transistors visually changes as it's now
modelled with Implant + Active.
- Added (empty) directories "html" & "latex". Those directories are
created by doxygen, but as they are used in the CMakeList.txt, they
must be present even before the fisrt run of cmake (otherwise cmake
choke on them).
- Doxygen sets to only generate html & pdf (through LaTeX) documentation.
- All ".dox" files corrected to suit the new function members naming
scheme (some work may remains in code examples).
- Complete include re-organisation.
include/hurricane/*.h : kernel.
include/hurricane/viewer/*.h : hviewer.
include/hurricane/inspector/*.h : hinspector.
Includes have been moved into subdirectories of .cpp files (as in
crlcore).
- Now you must include files like this :
#include <hurricane/Layer.h>
#include <hurricane/viewer/CellViewer.h>
#include <hurricane/inspector/HInspector.h>
- Suppressed viewer specific include path in FindHURRICANE.cmake.
- Re-enabled documentation, with dot disabled as it seems to slow down
doxygen.
* ./crlcore/src/crlcore :
- Adapted to new Hurricane include scheme. Corrected bugs in it's own
include files (noticeably "Utilities.h").