Commit Graph

251 Commits

Author SHA1 Message Date
Jean-Paul Chaput 3774c09bab * All Main Python Modules:
- Change: New problem identified with the Python modules: each module seems
        to be built as a complete binary, so all the static C++ initializers are
        allocated in each module. In particular the C++ tree inheritance is built
        for *each* module so we cannot longer uses the typeid() comparisons
        across modules... It was used by boost::program_options to perform is
        casts with boost::any and was starting throwing exceptions because of
        bad casts. program_option was first initialized in "configuration"
        first included by PyViewer then in PyCRL (see Utilities.cpp).
          A first solution is to re-order the import of Python modules in
        stratus1/st_model so that CRL is imported first.
          The second is to not not link "configuration" with boost::program_option
        as only the binary vlsisapd-conf-editor needs it.
          That is a serious problem of which we must be aware and can cause further
        strange behaviors.
          Debug code used to diagnostic has been kept commented in the sources a
        it may be needed again :-(
          This behavior do not affect our singletons because they are part of
        dynamic libraries that seems to be correctly shared between the various
        Python modules.
2010-07-17 10:22:00 +00:00
The Coriolis Project 9f6e840036 Misplaced include (something about slot defined by QT and python : python must be included first) 2010-07-15 12:11:16 +00:00
Damien Dupuis b2e2eafadb Minor changes for compatibility with Mac osx 10.6
- moving Script from isobar to viewer
    - adding missing target_link_libraries
    - adding boost::filesystem component dependency
2010-07-15 11:13:24 +00:00
Jean-Paul Chaput 21e0040b3b Forgotten. 2010-07-14 20:07:38 +00:00
Jean-Paul Chaput 7231703f4f * All Tools:
- Change: Switch from "goodies" to "bootstrap".
2010-07-14 19:39:36 +00:00
Jean-Paul Chaput 62b8477fee * All tools:
- Bug: target_link_libraries() must be put back for OSX Snow Leopard
        (doesn't seems to affect Leopard). As I do not have an OSX under
        my hand it's untested and is likely to fail at that point.

  * ./hurricane:
    - Bug: In Instance, correct support for Instance::PlacementStatus::Code.
    - New: NetExternalComponents python object wrapper, moves
        getExternalComponents() from Hurricane module into that new object.
    - New: Breakpoint python object wrapper, to allow stratus1 to stop each
        times it calls the viewer.
    - Change: In PyHurricane, UpdateSession is now a true object with static
        methods.
    - Change: In BreakpointWidget uses a local event loop mechanism that no
        longer consumes 100% of a CPU while doing nothing... (copied from
        Qt's sources of QDialog).
2010-07-12 15:07:58 +00:00
Jean-Paul Chaput 90527e4533 Forgotten TextTranslator sources. 2010-07-06 10:10:50 +00:00
Jean-Paul Chaput fbd9aba2f5 * All tools:
- Library linking: there must not be "target_link_library()" for libraries,
        only when building binaries. Avoid clashes between static module
        or class variables, and strange reinitialisation of those variables.
    - Change: Boost is now always linked staticly.
  * ./hurricane/src/hurricane:
    - New: TextTranslator to allow translation to and from text & HTML.
    - Change: In Exception, make uses of TextTranslator to correctly display
        exception text when in graphic mode.
  * ./hurricane/src/isobar:
    - New: Script, small object to wrap around Python scripts.
2010-07-01 11:46:29 +00:00
Jean-Paul Chaput adaae1af9b * ./hurricane/src/hurricane:
- Bug: In Instance::_postCreate, do not disable Go auto materialization if
        the instance is placed.
2010-06-25 08:37:07 +00:00
Jean-Paul Chaput 85b246eb16 * ./hurricane/src/viewer:
- Change: In DisplayStyle, new attribute "goMatched" to tell if the style
        is associated to a given Go and therefore should be displayed in the
        Layer table.
2010-06-22 20:37:28 +00:00
Jean-Paul Chaput 72418edb16 * ./hurricane/src/viewer:
- Change: The tab settings of the controller now refers to the XML
        configuration widget.
2010-06-18 14:01:08 +00:00
Jean-Paul Chaput c293c57fb8 * ./hurricane:
- Change: In Instance & Cell, do *not* materialize unplaced instances.
        This is to avoid overloading the QuadTree at point (0,0) and besides
        has no senses. Uses the PlacementStatus state.
    - Bug: In Viewer CMakeLists.txt, put tool include directories first.
2010-06-08 12:02:03 +00:00
Jean-Paul Chaput 1407845847 Install python modules at the right places. 2010-05-22 22:15:47 +00:00
Jean-Paul Chaput 4db3b0b3de * All tools:
- 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.
2010-05-18 12:53:00 +00:00
Jean-Paul Chaput 9b54c926fe Adds LIB_SUFFIX to all CMakeLists install "lib" targets, so that 64 bits
libraries gets installed in "lib64" instead of "lib".

buildCoriolis.py sets automatically LIB_SUFFIX for cmake.
coriolis2.spec modificated to uses lib64 on 64 bits.
2010-05-17 21:19:07 +00:00
Jean-Paul Chaput bca3815efe Correct argument of dbuModeChanged and changeDbuMode consistently (to unigned int) 2010-05-17 16:37:14 +00:00
Jean-Paul Chaput b8883968be * All tools:
- Change: Correction to suppress all g++ warnings. Except thoses comming
        from bad Python system includes...
2010-05-17 14:40:36 +00:00
Jean-Paul Chaput 8a32b65a39 One more slash to remove on install command. 2010-05-16 17:36:05 +00:00
Jean-Paul Chaput f8d79dc53e * All tools:
- 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.
2010-05-16 16:33:58 +00:00
Jean-Paul Chaput 74e05d19ff * ./hurricane:
- Cleanup: In Slot.h, comment out print for debug.
    - New: In CellViewer, adds a renameCell() method to "rename" the currently
        loaded Cell "in place". Utility function for SaveCellDialog (see below).
2010-05-14 07:36:42 +00:00
Jean-Paul Chaput d89379bc64 * ./hurricane:
- Bug: In Net.h, force expansion of SlotTemplate<Net*> with the line:
        const SlotTemplate<Net*> dummyNetSlot ( string("dummyNetSlot"), NULL );
          I've no satisfactory explanation, but in the cyclop Inspector the
        Cell's NetMap is correctly created and in the cgt Inspector, Nets
        entries of the NetMap appears as "unsupported", meaning that the
        SlotTemplate<> has not been generated for Net. This correct the
        problem.
2010-05-11 11:02:42 +00:00
Jean-Paul Chaput 92422cb683 * ./hurricane:
- Bug: In CellWidget, correct the slightly off position of Labels references.
    - New: In ControllerWidget, new TabSettings tab to hold the configuration
        settings of the various Coriolis tools. The TabSettings is a tab itself.
2010-04-28 15:40:51 +00:00
Damien Dupuis eed0d1b35a - comment correction in PyPad.cpp
- adding getBoundingBox method in PyReference.cpp
2010-04-27 12:25:56 +00:00
Jean-Paul Chaput 22f2a47f99 * ./hurricane:
- Bug: In CellWidget, correct the slightly off position of Labels references.
2010-04-27 10:54:26 +00:00
Jean-Paul Chaput ddf2fb19bc * ./hurricane:
- Bug: In PaletteWidget, do not derive from QScrollArea. Instead uses it
        as a child widget. This solves the refreshing problem of the Palette.
        As a rule now: never derives from anything other than QWidget.
    - New: GotoWidget, not having this feature finally unverved me enough for
        beeing implemented. You can specify an (x,y) on which the view will
        be centered and an aperture which gives the size of the view smallest
        side. It's a way of specifying the zoom level (as the zoom is not
        meaningful for users). An aperture of "zero" disable that feature,
        that is, zoom remains unchanged. The coordinates are integer which
        are implicitly expressed in the current mode used by the viewer
        (Symbolic, Grid, or Physical in micro-meters).
    - Change: Big rewrite of how the Symbolic/Grid/Physical modes are sets
        to/from the CellWidget. Impacted widgets are CellWidget &
        DisplayFilterWidget.
          Main changes are that there is no more "individual" setter/getter for
        modes (setSymbolic(), setGrid(), setPhysical(DbU::UnitPower)) but one
        with two arguments:
              setDbuMode(int mode,DbU::UnitPower)
          Signals & slots of the widgets also evolves into:
              dbuModeChanged(int mode,DbU::UnitPower)
              changeDbuMode (int mode,DbU::UnitPower)
2010-04-26 13:22:23 +00:00
Jean-Paul Chaput b985e8c96f * ./hurricane:
- New: In Reference, adds a type to differentiate between "Labels" and
        "Position". Labels are strings that we wants to display, and position
        are specific points with a name attached to it.
    - New: In CellWidget, specific display for the two kind of references
        (Label & Display).
2010-04-17 10:13:17 +00:00
Jean-Paul Chaput d1d2a2ea01 * ./hurricane/src/hurricane:
- New: In Query, add support for Markers, although they are Go's, are stored
        in a separate QuadTree directly at Cell level. In a very similar fashion
        to the ExtensionGos. Sometimes should look if thoses mecanism could be
        unified.

  * ./hurricane/src/viewer:
    - New: In CellWidget, add support for displaying References. Uses the Marker
        Query. For now labels are displayed centered on the reference point,
        making that point hard to see. That behavior may be changed later if
        needs to be.
    - Bug: In InspectorWidget, the History::push() wasn't updating the ComboBox
        index. The line was strangely commented out (?).
2010-04-03 13:56:07 +00:00
Ramy Iskander 7e0d158a16 Replacing "unsigned int" by "size_t" for demangle so it can be compiled on mac osx 2010-03-29 09:09:22 +00:00
Jean-Paul Chaput 53ba314063 * ./hurricane/src/viewer:
- Change: In Cyclop, now uses the GtkStyle when not under OSX and Qt is
        newer or equal to Qt 4.5.0.
    - Change: In the various Qt Model Table, do the rowHeigh bug correction.
    - Bug: In InspectorWidget/NetlistModel, when browsing through the records
        tree, the records were generated twice at each slot change. This
        was due to the History ComboBox sending a index change signal then
        the InspectorWidget setting the slot *again*.
          When trying to explore a Slot, but this Slot is empty (like an
        empty vector, for instance) do not gut the RecordModel. Because
        as we find out that the new Slot is empty we go back and restore
        the previous contents. Potentially slow if we comes from a Slot
        with lots of records. Now we dump the contents only if there is
        something to explore.

  * ./hurricane/src/hurricane:
    - Bug: In Record, the slots where stored in a list container, which was
        making indexed accesses very very slow. This slowdown was also
        affecting the destructor of Record (this is the explanation why
        the RecordWidget was slow, even when *leaving* the net IntrusiveSet).
          Now implemented in term of STL vector.
    - Bug: In Slot/Common, still some adjustements to make the Inspection
        mechanism work with all types. Correct the "IntrusiveMap<>" not
        working with the NetMap. Related to templates not using the same
        constness.
    - Change: In Entity/DBo/Cell, Some more adjustements on Slot/Records.
2010-03-26 18:01:41 +00:00
Jean-Paul Chaput d55da89955 * ./hurricane/src/viewer:
- Bug: In NetlistWidget/NetlistModel, suppress the "forceRowHeight()"
        method which was terribly slowing down the table display. Instead
        uses the "setDefaultSectionSize()" of the vertical header to setup
        the row height (much more compact display).
    - Bug: In NetlistModel, strangely, although we have a "data()" and a 
        "headerData()" method, the "data()" is also called for the headers
        potentially erasing any previous setting done with "headerData()".
          This was occuring for the fonts settings. Don't known if it is
        a bug or a feature of Qt...
    - Thoses changes has to be ported to the others widgets some times...
2010-03-23 12:54:50 +00:00
Jean-Paul Chaput 822fd9ae23 Rename documentation of hviewer into viewer. 2010-03-15 14:05:45 +00:00
Jean-Manuel Caba c24c8b18e4 some hviewer dir where still present in CMakelist 2010-03-10 10:41:05 +00:00
Jean-Paul Chaput 905c7b4960 * ./hurricane/src/hurricane:
- SVN MOVE: "hviewer" directory renamed to "viewer".
2010-03-09 15:10:18 +00:00
Jean-Paul Chaput b7adc4db52 Caching QVariant of the column to accelerate the QTreeView. 2010-03-09 14:19:23 +00:00
Jean-Paul Chaput 4449b76213 * ./hurricane/src/hurricane:
- Bug: In DebugSession, bad stacking/unstacking of debug levels (unapaired),
        and wrong value stacked sometimes.

   * All Hurricane/Coriolis tools:
     - Change: Simplify the CMakeLists,
2010-03-08 16:33:57 +00:00
Damien Dupuis 88778da1a2 Added DirectSetBoolAttribute method. I did some tests with it and thought it might be useful. 2010-01-29 08:51:48 +00:00
Jean-Paul Chaput bdad551e30 * ./hurricane/src/hviewer:
- Change: In CellWidget, Ruler again, no more negative ticks.
2010-01-27 12:07:51 +00:00
Jean-Paul Chaput ca270f2396 * ./hurricane/src/hurricane,
./hurricane/src/hviewer:
    - Change: In DbU/CellWidget, some more small adjustments on the ruler.
2010-01-27 10:52:34 +00:00
Jean-Paul Chaput 08333f11fa * ./hurricane/src/hurricane:
- Bug: In DbU, "micro" symbol is "u", not "m".
    - Change: In DbU, uses different precisions on differents units.

  * ./hurricane/src/hviewer:
    - Change: In CellWidget, when drawing a Ruler, display the current Unit
        mode on first & last tick.
2010-01-27 09:43:07 +00:00
Jean-Paul Chaput e6f4c5c508 Increase precision of DbU::getValueString() to 3 decimals for micrometer.
Uses SmartTruncate when displaying rulers.
2010-01-26 16:24:20 +00:00
Jean-Paul Chaput faceb1f169 * ./hurricane/src/hurricane:
- New: In DbU, extend the StringMode/getValueString() to support the physical
        unit in addition of lambda & foundry grid. "setStringMode()" has now a
        second parameter "UnitPower", only used when the mode is DbU::Physical.

  * ./hurricane/src/hviewer:
    - New: In CellWidget, the fitToContents now adds a margin of 5% to get border
        clear of the bounding box.
    - New: In CellWidget, ability to display lengths in nanometers & micrometers
        in complement of symbolic and foundry grid. DisplayFilterWidget modificated
        accordingly. New members:
          void           setPhysicalMode ( DbU::UnitPower );
          bool           physicalMode    () const;
          DbU::UnitPower getUnitPower    () const;
        In addition to:
          bool           gridMode        () const;
          bool           symbolicMode    () const;
          void           setGridMode     ();
          void           setSymbolicMode ();
2010-01-26 12:58:36 +00:00
Jean-Paul Chaput 0c88f99622 Spot now uses the custom grid as it should. Allowing to step
by one foundry step.
2010-01-25 15:52:37 +00:00
Jean-Paul Chaput cea214de5e Test for NULL cell in setCell() ... 2010-01-25 14:41:48 +00:00
Jean-Paul Chaput ae85636e13 * ./hurricane/src/hviewer:
- Change: In CellWidget/Ruler, rulers are now unidirectionals (as in Cadence).
    - New: In CellWidget, support for drawing components names. Includes correction
        of badly computed coordinates in drawDisplayText.
          Components names are drawed only for the top level of hierarchy and only
        if the bounding box is large enought (currently hard-coded to 50x50 pixels).
    - New: In Net, "Automatic" attributes to distinguish automatically generated
        net names without string pattern matching. "Automatic" Net's names are not
        drawn by the CellWidget to much cluttering the display. And testing a boolean
        is way faster than a pattern matching on a hard-coded name.
    - Change: In CellWidget, when loading a terminal Cell, draw it's internals.
2010-01-22 16:38:21 +00:00
Jean-Paul Chaput 51573cfa23 * ./hurricane/src/hurricane :
- In Common.h, disable floatCompare(), floatDifference() & floatRound() as
        they triggers g++ warnings in optimized mode. Replace with roundfp().
2009-12-27 20:12:46 +00:00
Jean-Paul Chaput 089ff09c4f Oups. 2009-12-08 14:30:49 +00:00
Jean-Paul Chaput f9c9467ea7 Adds a mutator for BasicLayer extractNumber (for gdsII support). 2009-12-08 14:28:27 +00:00
Jean-Paul Chaput dcf39378c5 * ./hurricane/src/hviewer :
- Change: In RulerCommand, key & mouse now mimic Cadence behavior.
2009-12-03 11:19:54 +00:00
Damien Dupuis e208fbeb2f CHANGES
Depending on the fact the segment relies on contacts or not the translate method behavior is different (useful pour device layout)
2009-11-26 12:21:02 +00:00
Damien Dupuis dda0af6966 ADDS
translate methods
    UpdateSession methods
    for python layout
2009-11-26 12:18:12 +00:00