Commit Graph

33 Commits

Author SHA1 Message Date
Jean-Paul Chaput c339e5c9e3 Check for any version of Python 2, instead of 2.7. 2017-07-11 17:52:58 +02:00
Jean-Paul Chaput c44c6b13f3 Adjust Katana event sort. CMake detection of Python 2.7 only.
* Change: In all top CMakeLists.txt, force the use of Python 2.7 as
    we do not compile against 3.x flavors. Do not use the "EXACT"
    flags as it will not recognize 2.7.x versions.
* Change: In Katana::RoutingEvent::Key::Compare(), preliminary
    experiments shows that the best sorting order is:
      - Lower layer first (i.e. M2 -> M3 -> M4 -> ... )
      - Longer segments first.
      The later seems to be counter-intuitive. Guess is that placing
    the small ones first generate a more important fragmentation of
    the big ones. They are placed too early and are difficult to move
    afterwards.
      Another feature to test is *not* inserting pushed left/right
    segments if they are not *already* routed.
* Change: In PyKatanaEngine.runNegociate() now takes a flag argument,
    provided through the new PyKatanaFlags exported object.
    (doChip.py must be changed accordingly)
2017-05-11 17:26:56 +02:00
Jean-Paul Chaput a9a0a7d107 Update the socInstaller for the support repositories.
* Change: In bootstrap, in socInstaller.py checkout the support git
    repositories (currently, only rapidjson). Send the report mail
    to <jpc> & <lao>.
* Bug: in VLSISAPD, in the top CMakeLists.txt, do not requires the
    Hurricane cmake, it is build after (cycling dependency).
2016-02-21 11:58:54 +01:00
EricLaoGitHub 5809fc7aa0 Modifications in OpenChams description:
- Add OpenChams::SlicingNode class to drive/parse XML files.
  OpenChams::SlicingNode contains information to create a real slicing tree (SlicingNode from hurricaneAMS)
- Minor modification in Circuit.cpp for case when HBTree are not described in XML file.
2016-02-16 19:21:37 +01:00
Jean-Paul Chaput d0d045b55b Starting to implement support for Windows/Cygwin.
* New: In all to CMakeLists.txt, disable the warning about deprecated
   WIN32 under cygwin.
* New: In boostrap, in ccb.py, coriolisEnv.py and builder/Configuration.py
   add recognition in uname for the values returned under Windows/Cygwin.
* New: In Documenation, in UsersGuide.rst add some informations about
   Cygwin and a section for the devel branch.
2014-07-13 13:14:49 +02:00
Jean-Paul Chaput 4842f21a2e Update to Qt 5, requires cmake 2.8.9. New placer: Etesian.
Update to Qt 5:
* Change: Now requires at least cmake 2.8.9.
* Change: CMakeLists.txt needs small changes. Qt modules must be found
    one by one (Core, Gui, Widgets). Must add "set(CMAKE_AUTOMOC ON)"
    in the top file and replace "qt4" prefix in macros by "qt5".
    Added simpler macro "setup_qt()" in FindBootstrap.cmake.
* Change: No longer need to include <QGtkStyle> is is choosen by default
    according to the current desktop environment.
* Change: In <hurricane>, In HApplication, launch ExceptionWidget when
    a std::exception is catched instead of silently discarting it.

New placer Tool: Etesian
* New: <etesian> analytical placer. Encapsulate Coloquinte from
   Gabriel Gouvine.
* New: in <documentation>, add stub demonstration ToolEngine <smurf>.
   Needs to be commented.

Miscellaneous:
* New: in <boostrap> and <unicorn>, added support for Etesian, the new
    analytic placer. The tool itself will be added in the next commit.
* Bug: in <CellWidget>, when shifting the display buffer, we no longer
    can copy the buffer on itself (we should never have). Now go through
    a temporary one (PlaneId::AutoCopy) which is added to the
    DrawingPlanes. Affect "goLeft()" and "goUp()".
* Bug: In <CellWidget>, remove the WA_PaintOnScreen flag/attribute.
    When it's on, no PaintEvent is transmitted to the CellWidget
    when it's the central widget of the <CellViewer> (QMainWindow).
    It's something I still don't understand from the doc of Qt.
* Change: In <AreaCommand>, use the PlaneId enumeration instead of a
    anonymous numerical index.
* Change: In <HApplication>, no longer catch and silently discard
    standartd exceptions but launch the ExceptionWidget...
    Suppress the now deprecated constructor with "Type" argument.
* Change: In <SelectionModel>, the "reset()" method is deprecated in
    Qt5, instead enclose the "clear()" by a "beginResetModel()" and
    "endResetModel()" pair.
* New: In <crlcore>, add support for ISPD05 benchmarks (in Bookshelf
    format). Forked from ISPD04 and not finished yet.
* Change: In <Mauka>, distinguish the Action string identifier from
    <Etesian>
* New: In <unicorn>, add entry for ISPD05 loader. Add entry for
    <Etesian> analytic placer.
2014-03-22 11:50:36 +01:00
Jean-Paul Chaput f6ab7b87f0 Compliance with g++ 4.8.1, support for devtoolset-2
Details:
* New: in <bootstrap>: add support for devtoolset-2 in ccb. Run the
    cmake commands through 'scl', set shell environment variables
    BOOST_INCLUDEDIR & BOOST_LIBRARYDIR and disable the default
    system path search.
* Change: In various flex scanners add the %nounput to suppress
    compiler warnings.
* Change: Little cleanup for g++ 4.8.1 as it's more strict.
* Change: In various top CMakeLists.txt, suppress extraneous '/'
    after DESTDIR.
2014-03-15 10:47:37 +01:00
Jean-Paul Chaput 34e0edfd61 Cleanup after SVN importation, <ccb> builder script adaptation.
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.
2014-02-26 18:24:41 +01:00
Jean-Paul Chaput 9a12f43e6b * ./vlsisapd/src/utilities:
- New: Path module to provide a ligthweight alternative to boost::filesystem.
        The compatibility change in boost was giving more and more touble and was
        not worth it. Path is aimed to provides the same services, but with a
        better portability.
2013-04-21 15:35:11 +00:00
Jean-Paul Chaput 9eb7b14bc5 * <All Tools>/CMakeLists.txt:
- Bug: During the packaging stage, DESTDIR must be appended to the
        pathes prepended to CMAKE_MODULE_PATH.
2011-02-02 10:43:02 +00:00
Sophie Belloeil 7f878e6c3c New liberty parser / driver :
- only c++ (python will follow)
      - parse and drive examples
2010-10-08 11:22:59 +00:00
Jean-Paul Chaput d1f225d4bf * All Tools:
- Change: Using more Bootstrap macros. Simpler way of setting the
        CMAKE_MODULE_PATH.
2010-07-15 14:09:17 +00:00
Damien Dupuis a5d98eca47 CMakeLists cleaning : -D__PYTHON_MODULE__=1 is absolutely not needed when using boost::python (it is specific to isobar) 2010-07-15 11:15:47 +00:00
Jean-Paul Chaput de5dd02c6f * All Tools:
- Change: Switch from "goodies" to "bootstrap".
2010-07-14 19:52:08 +00:00
Damien Dupuis 91a82cdbfe Bug correction : when creating a python module do not include .cpp files that are not python definition since corresponding .o files will be added twice (as .o and in lib.so)
This has been tested on Mac os 10.6 and linux RHEL 32bits.
2010-07-14 09:21:39 +00:00
Jean-Paul Chaput 7dcdf849a4 All tools: using the new Goodies macro.
Suppress loops in Hurricane libraries.
2010-07-13 16:33:51 +00:00
Jean-Paul Chaput 7ad43e1c05 UNSTABLE. NO DOT UPDATE. 2010-07-13 11:14:03 +00:00
Damien Dupuis d057ce5a8d Correct Boost Dependency for mac osx (boost 1.42) and linux (boost 1.33):
system component does not exist in boost 1.33


    !!!!! Merci de ne commiter AUCUN changement dans vlsisapd tant que Jean-Paul et moi n'avons pas résolu les problèmes de bibliothèques statiques !!!!!!
2010-07-13 07:25:30 +00:00
Jean-Manuel Caba de5152941c bug:
undefined reference to `boost::system::get_system_category()'
symptoms that boost_system was not used at the linking phase
at least on my system (mac OSX leopard with apple gcc and boost 1.43.0)
solution: add the dependency
2010-07-12 20:13:51 +00:00
Jean-Paul Chaput ff826d31cf * 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.
2010-07-01 11:59:35 +00:00
Jean-Paul Chaput 45c864dcf5 Activate -Wall. 2010-06-23 14:08:22 +00:00
Jean-Paul Chaput 8d46e014ab * ./vlsisapd:
- New: Generic XML configuration parser "Configuration", comes with a
        little editor "vlsisapd-conf-editor" (temporary name).
2010-06-18 14:12:42 +00:00
Damien Dupuis f4537e017c CHANGES
* agds : 
       - all agds object now belong to AGDS namespace
       - 'Gds' has been removed from all filenames
     * cif
       - all cif objects now belong to CIF namespace
       - 'Cif' has been removed from all filenames
     * dtr
       - minor modifications in CMakeLists.txt since Boost Python is now used by other driver & parser

    ADDS
     * agds :
       - new python module
     * cif
       - new python module
     * doc
       - brand new doxygen documentation with 
           global presentation
           cif format (driver)
           agds format (driver)
           links & contacts
     * examples
       - examples files in C++ and Python for cif & agds drivers (others will follow)
2010-06-11 14:49:21 +00:00
Damien Dupuis bce976da3b Adapt to new source tree 2010-06-03 14:01:19 +00:00
Jean-Paul Chaput 659635588c * ./vlsisapd:
- Change: Conditional compilation of DTR & OpenChams. They are compiled only if
        their directory is present (see buildCoriolis.doRpm()).
2010-05-25 16:01:16 +00:00
Jean-Paul Chaput f64001a35d * ./vlsisapd:
- Change: New cmake to find the python site packages directory. Install
        python modules in that library.
2010-05-22 22:22:54 +00:00
Jean-Paul Chaput 380f9470e4 File & namespace renaming. 2010-05-18 15:10:35 +00:00
Jean-Paul Chaput 3af2b0694f * 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:52:57 +00:00
Damien Dupuis 8fc0656949 Adding new standalone DTR parser/driver.
Since there is a new project that need to parse DTR xml file we've decided to set a standalone parser.

  This parser will be extended with a python API (I'm gonna have a look at boost ^^)
2010-04-03 15:52:29 +00:00
Jean-Paul Chaput 9c72b88210 * All Tools:
- Change: New structure for the installation & CMake system.
         * Tools are now grouped in "projects". There are three projects:
           1. - IO: Standalones parsers/drivers (IO_USER_TOP, IO_TOP).
           2. - Coriolis: Base & digital tools (CORIOLIS_USER_TOP, CORIOLIS_TOP).
           3. - Chams: Analogic tools (CHAMS_USER_TOP, CHAMS_TOP).
           Each *project* has a two "TOP" environement variables, for
         example: IO_TOP and IO_USER_TOP. Thoses variables are the only
         ones useds to locate the tool (CMake modules, headers & libraries).
           The local path always takes precedence over the global one.
           The localisation process occurs in each tool top CMakeLists.txt
         where the macro SETUP_PROJECT_PATH is to be defined. There is no
         way to put it in a shared includes file as it's the macro precisely
         used to locates the includes... You have to call the macro once for
         each project you wants to uses:
             SETUP_PROJECT_PATHS(IO)
             SETUP_PROJECT_PATHS(CORIOLIS)
         * In FindTOOL.cmake, supress the <TOOL>_DIR_SEARCH and uses the
         <PROJECT>_DIR_SEARCH instead (example: CORIOLIS_DIR_SEARCH).
         * buildCoriolis.py modificated according to the new "TOP" scheme.
2010-03-18 15:32:06 +00:00
Damien Dupuis b23964b8c3 YEAH a brand new CIF driver !!!
CIF is a text format
    CIF can be directly read by cadence
    -> we should be able to script multi layout generation / load into cadence / drc check
2010-02-23 15:34:16 +00:00
Damien Dupuis d2fa201e09 New standalone openChams parser/driver.
Right now, only <netlist> section is supported.
2010-01-19 09:50:19 +00:00
Damien Dupuis 23d6a80058 First import of IO project 2009-12-11 12:48:37 +00:00