Commit Graph

134 Commits

Author SHA1 Message Date
Jean-Manuel Caba 9505e8779a use boost::filesystem::path to create and manage directries of OA database ... 2010-08-05 16:54:46 +00:00
Jean-Manuel Caba 3aefb415f2 o the path where to save the OA database can be relative :)
o memory cheching with valgrind
2010-08-02 16:11:06 +00:00
Jean-Manuel Caba 1693eb500e o correcting layer id (extractNumber) handling in driver
o  add sxlib2lef method we use to compare in test dir
2010-08-02 13:07:12 +00:00
Jean-Paul Chaput cdbfff194d * ./crlcore:
- New: Added support for ACM/SIGDA ISCAS98 (.bench extension).
    - Bug: In Parsers/Drivers changes the signature of the prototype, passes
        file name string by value instead of by reference. In the cases of
        reentrant P&D calls it may causes havoc.
2010-07-30 16:31:27 +00:00
Jean-Manuel Caba 0b9a17f85d re-add OpenAccessDriver.cpp Oops, and at last .cds file are generated the way we want them to ... 2010-07-30 15:01:57 +00:00
Jean-Manuel Caba 2b78ecef1a O correct bug : don't always create an oaScalarInst, when the instance already exist (saved to disk and reading), just find it.
O integration of old parser
 O and more, more cleaning.
2010-07-27 15:38:16 +00:00
Jean-Manuel Caba 2ac25af062 keep cleaning/enhancing and completed test to drive all sxlib cells ... 2010-07-23 14:48:12 +00:00
Jean-Manuel Caba 6b1613c990 correct bug: when loading an already existing OA design ... 2010-07-22 14:27:56 +00:00
Jean-Manuel Caba a516708ed4 cleaning, begin parser implementation, generate cds.lib ... 2010-07-21 17:31:19 +00:00
Jean-Paul Chaput d0b37d41ef Do not try to detect LaTeX if doc is not requested. 2010-07-21 11:55:50 +00:00
Jean-Paul Chaput 632fb019e5 * ./crlcore:
- Change: In environment.alliance.xml, configuration by default is setup
        for SoC lab.
2010-07-19 21:04:25 +00:00
Jean-Paul Chaput 6d4e94616d * ./crlcore:
- New: In Utilities, automatic setting of STRATUS_MAPPING_NAME. It's put
        back into the environment from the configuration. This suppress the
        need for the last environment variable under cgt.
2010-07-18 10:00:38 +00:00
Jean-Paul Chaput 32cd2304e9 * 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.

  * ./crlcore:
    - In PyCRL, module method "getAllianceFramework()" moved as static object
        method "get()" of AllianceFramework. Object AllianceFramework added
        to module CRL.
2010-07-17 10:22:34 +00:00
Jean-Manuel Caba 39ba5a56a8 correcting getOATechFromTecnolology ... 2010-07-15 17:31:33 +00:00
Jean-Manuel Caba 4538d4fbca rewrited driver :
cleaner separated functions converting Hurricane objects to oa
	 create 4 "Design CellView" of the cell : netlist, symbol, schematic and layout
	 remove bug with oaLib or oaTech at openning
	 adding oaLayerConstraint in oaLayer from the oaTech for the rule of the technology
2010-07-15 15:53:20 +00:00
Jean-Paul Chaput 9ba2c5c0bc * All Tools:
- Change: Using more Bootstrap macros. Simpler way of setting the
        CMAKE_MODULE_PATH.
2010-07-15 14:00:28 +00:00
Damien Dupuis e69ba3bd4b Minor correction to compile under mac osx 2010-07-15 11:46:40 +00:00
Jean-Paul Chaput 9900944fc1 * All Tools:
- Change: Switch from "goodies" to "bootstrap".
2010-07-14 19:39:26 +00:00
Jean-Paul Chaput 08b55a4bd8 All tools: using the new Goodies macro.
Suppress loops in Hurricane libraries.
2010-07-13 16:25:20 +00:00
Jean-Paul Chaput 551c6ec8cd UNSTABLE. DO NOT UPDATE. 2010-07-13 11:23:14 +00:00
Jean-Paul Chaput 1ccefdb128 * 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.

  * ./crlcore:
    - New: PyCatalog & PyCatalogState python wrappers, mainly to have constants
        values for stratus1 parsers/drivers.
2010-07-12 15:09:29 +00:00
Jean-Manuel Caba 09cd76f80f convert Components in the correct oaLayer ... embed schematic view in layout ... 2010-07-07 14:40:09 +00:00
Jean-Manuel Caba 5fb64e6da5 add Net::Type conversion and more ... 2010-07-06 15:40:11 +00:00
Jean-Manuel Caba 2797086746 working on technology and Layer conversion ... 2010-07-05 15:29:11 +00:00
Jean-Paul Chaput f901abe0ad * 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.
  * ./crlcore:
    - Change: In System, static initialisation problem again, there seems to
        be a race between it and boost::filesystem, make the singleton creation
        "at first call" again. Triggers the System singleton creation in
        AllianceFramework to spare the user the need to explicitly doing it.
    - New: In Utilities, automatically adds the "site-packages" PYTHONPATH
        component, guessed from CORIOLIS_TOP.
2010-07-01 11:48:16 +00:00
Jean-Manuel Caba 31328a6811 cleaning up OA driver, add simple test source ... 2010-06-30 13:15:47 +00:00
Jean-Paul Chaput c50c480263 * ./crlcore:
- New: In tools.configuration.xml, new mauka key.
2010-06-25 08:37:30 +00:00
Jean-Manuel Caba fe342a9849 add similar interface as Gds driver for OA driver 2010-06-24 13:19:42 +00:00
Jean-Paul Chaput c824b088be * ./crlcore:
- Change: In PaletteWidget, uses "goMatched" to hide DrawingStyle that are
        not associated to a Go to hide/show. That is, are only pure color useds
        by ExtensionGo.
2010-06-22 20:38:00 +00:00
Jean-Paul Chaput fcbd24a9e2 * ./crlcore:
- New: In <tools.configuration.xml>, added parameters for verbosity, info
        and trace level.
    - New: Uniform mecanism to get the "/etc" path. Now System reads the
        environment variables (thanks to boost::program_option).
    - Change: In Utility, correct "when first called" initialisation of the
        System singleton. Access to members only through static members that
        ensure the initialisation of the singleton first.
    - Change: In System, makes uses of the callback feature of Parameter to
        initialize the new configuration parameters (verbosity, coredump, ...).
    - Change: In linefill, build upon mstream instead of ostream. Now dual
        aspect, inherit ostream and have a mstream member.
2010-06-22 13:55:37 +00:00
Jean-Paul Chaput 541a48531e * ./crlcore:
- In /etc, supplies a default XML configuration file for all tools:
        tools.configuration.xml.
2010-06-18 14:01:50 +00:00
Damien Dupuis c35059f0ad Since there might be a conflict between Hurricane::Library and AGDS::Library : I clear the 'using namespace AGDS' line.
This is a good example for people who want to use the driver.
2010-06-14 07:59:31 +00:00
Jean-Paul Chaput 3a9619d938 * ./crlcore:
- New: "linefill" class which allows to print filled lines and automatically
        go to the next line whenever the line is full (more than 80 characters).
    - New: In ToolBox, getInstancesCount() recursively counts leaf cell instances.
    - New: In CellGauge, added getClone() method (for Configuration).
    - Change: It seems that the changes to match the new VLSISAPD weren't commited
        by Damien...
2010-06-13 20:50:18 +00:00
Jean-Manuel Caba eac3f7a932 More verbose and simpler FindOPENACCESS.cmake script
My view is : the possibility of configuration and combination of OA,
are almost infinite, the .cmake should not bother on finding the directory
hierarchy depending on uname value but only identify OA libraries and includes.

To compile the OPENACCESS WRAPPER
all you have to do is set an OPENACCESS_TOP like
in the other projects.

Example :
Now assuming you work on coriolis machine
To use the precompiled cadence OA v22.04.057 in
 /users/soft/opus/6.1.0/Linux/IC-6.1.0/oa_v22.04.057/lib/linux_rhel40_64/opt
and the headers extracted from si2 OA v22.04.042 in 
 /dsk/l1/misc/caba/OA_HEADER/include

you can create a directory, let's say /dsk/l1/misc/caba/CADENCE_OA
containing symbolic links respectively named lib and include 

Then set OPENACCESS_TOP to this created dir
export OPENACCESS_TOP=/dsk/l1/misc/caba/CADENCE_OA
2010-06-09 19:51:16 +00:00
Jean-Paul Chaput 85297540fc * ./crlcore:
- Bug: In CMakeLists.txt, local include directories *first*.
    - New: In Utilities, Dots::asBool() & Dots::asLambda().
    - New: In display.xml, new <drawingstyle> for Mauka Containers.
2010-06-08 12:02:31 +00:00
Jean-Paul Chaput 6990f03bec * ./crlcore:
- Change: In README, last adjustements for release 1475. They belongs to this
        release even if they are tagged 1476.
2010-06-02 15:52:45 +00:00
Jean-Paul Chaput 3401f78d35 * ./crlcore:
- Change: Rename doc files that differs only by the case, to comply with OSX.
    - Packaging: Fourth try, svn 1475.
2010-06-02 09:46:22 +00:00
Damien Dupuis 352650932e Same temporary patch for key_s.fig and key_s.png 2010-06-02 08:15:32 +00:00
Damien Dupuis d97ef75d06 Finally found what prevent me to update / checkout crlcore on mac osx :
DO NOT name two files with the same name with only case difference !
    Mac osx is by default formated as NON case sensitive system file.

    key_k.fig becomes key_k_.fig
    key_k.png becomes key_k_.png

    key_K.fig and key_K.png are not modified

    IMPORTANT: this is a temporary update to allow me to finally checkout crlcore but need to be corrected by the author
2010-06-02 08:13:22 +00:00
Jean-Paul Chaput a11088b292 * ./crlcore:
- Change: Makes all e-mail references to points to <alliance-users@asim.lip6.fr>.
    - Packaging: Third try, svn 1472.
2010-06-01 21:36:12 +00:00
Jean-Paul Chaput 4f0803096b * ./crlcore:
- Change: In Banner, use a wider cartouche.
    - Change: In README, small adjustments.
    - Packaging: Second try, svn 1470.
2010-06-01 12:15:23 +00:00
Jean-Paul Chaput 40ab589962 die die cmake die die. 2010-05-31 14:22:18 +00:00
Jean-Paul Chaput 92d134e0cb Die cmake die. 2010-05-31 14:15:37 +00:00
Jean-Paul Chaput 647a59ca3d One less FILE(COPY) ... 2010-05-31 14:09:56 +00:00
Jean-Paul Chaput 5d33854f57 Do not uses the FILE(COPY) command which is only supported from cmake 2.8. 2010-05-31 13:33:59 +00:00
Jean-Paul Chaput 026a2ac679 * ./hurricane:
- Change: When static linking is required, also switch Boost libraries in static
        mode. Automatically done is modules using FindHURRICANE through
        SET_LIB_LINK_MODE(). Note: FindBoost must be called *after* SET_LIB_LINK_MODE().
2010-05-31 12:28:22 +00:00
Jean-Paul Chaput 3fe20ba62a The good published revision numer: try 1456 2010-05-29 14:11:42 +00:00
Jean-Paul Chaput 34d150ebd3 * ./crlcore:
- Change: In the to CMakeLists.txt checks for CMake version to see what policy
        to apply.
2010-05-29 14:08:01 +00:00
Jean-Paul Chaput 2e6242df73 * ./crlcore:
- Bug: In AllianceFramework, do not try to build SxLib gauge if the layers are
        not presents. Prevent cgt to miserably fails if the environment is not
        found.
    - Change: In src/ccore/CMakeLists.txt, try to guess the CORIOLIS_TOP from the
        compilation environment and pass back to sources.
    - Change: Rename hcmos9 into cmos130 in configuration files.
2010-05-27 16:12:04 +00:00
Jean-Paul Chaput d792e71110 Don't forget / to separate pathes... 2010-05-27 13:34:40 +00:00
Jean-Paul Chaput 08aa1aa1ac Pass the SYS_CONF_DIR to the compiler so that we can set a reasonable
default for CORIOLIS_TOP.
2010-05-27 12:48:11 +00:00
Jean-Paul Chaput 2e287fb3b4 Include the Flute license reference. 2010-05-27 11:37:16 +00:00
Damien Dupuis bf1bdca47c Rename technology files to 'standard' names cmosXX 2010-05-27 11:32:16 +00:00
Jean-Paul Chaput 5d54aac81f Support for LaTeX2HTML translator. 2010-05-26 22:13:22 +00:00
Jean-Paul Chaput 52c909aa77 * ./crlcore:
- Change: Conditionnal compilation of "doc".
2010-05-25 15:53:47 +00:00
Damien Dupuis 660db5e45c Copy of the original FindLATEX.cmake, with minor modifications to be able to find latex when installed with MacTEX package on mac osx, or with darwin ports 2010-05-25 09:34:58 +00:00
Jean-Paul Chaput 740b6354d8 * ./crlcore:
- Change: In top CMakeLists.txt, prepend ${DESTDIR} to CMAKE_MODULE_PATH
        components (for use by packagers).
2010-05-22 13:46:35 +00:00
Damien Dupuis 53af1cbf49 Minor english correction 2010-05-21 21:35:45 +00:00
Jean-Paul Chaput 54b3b6fc1f * ./crlcore:
- New: Adds a README.tex describing the essentials features of Coriolis2.
    - New: Support for LaTeX in CMake through the macros supplieds by Sandia.
    - Change: Adds support for installation of config file in system-wide
        /etc.
2010-05-21 16:54:41 +00:00
Jean-Paul Chaput 82f9c8dc07 * All tools:
- Change: Adds ${LIB_SUFFIX} to all library search paths.
2010-05-19 14:31:04 +00:00
Jean-Paul Chaput 3c65703695 * All tools:
- Change: take account of the renaming "io" -> "vlsisapd".
2010-05-18 15:04:34 +00:00
Jean-Paul Chaput 4d00fce5b2 * ./io:
- Change: Revert back to the state in which "io" must be included into
        the path for #include.
2010-05-18 14:06:05 +00:00
Jean-Paul Chaput 002fa55cdb * 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:04 +00:00
Jean-Paul Chaput b6edd2cb3d 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:08 +00:00
Jean-Paul Chaput 07cc25dd2e Sets the default CORIOLIS_TOP to /opt/coriolis2, where the
distributed package will be.
2010-05-17 16:38:06 +00:00
Jean-Paul Chaput 605eeff9e4 * All tools:
- Change: Correction to suppress all g++ warnings. Except thoses comming
        from bad Python system includes...
2010-05-17 14:40:39 +00:00
Jean-Paul Chaput c61f191a61 * 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:34:02 +00:00
Jean-Paul Chaput babd0f5419 * ./crlcore:
- Change: In Cyclop, rename COpenCellDialog in OpenCellDialog.
2010-05-14 07:37:14 +00:00
Jean-Paul Chaput cd7a294ca9 * ./crlcore:
- Cleanup: No longer import the std namespace in headers.
    - Bug: In Measures.h, incoherent prototyping of getMeasure() template.
    - Change: In Environment, SearchPath & the XML format, slight change to
        allow overwriting of Alliance library pathes. Instead of having an
        attribute on the <system> node that applies to all libraries, we
        have a "mode" attribute in each <library> node.
          "mode" can takes three values:
            1. - "append" : the library path is added in tail of the list.
            2. - "prepend" : the library path is added in head of the list.
            3. - "replace" : if the library already exists in the pathes,
                    this ones replaces it, whitout modifiying the order.
                    If it doesn't exists, it simply appended.
          The "replace" mode is the one to be used if a users wants to shadow
        system libraries by his own versions (sets in ~/.environment.alliance.xml).
2010-05-13 09:45:20 +00:00
The Coriolis Project 9220380596 Correct pathes detection. 2010-04-28 21:54:49 +00:00
Jean-Paul Chaput 245185de14 * Most of tools:
- Bug: In top CMakeLists.txt the SETUP_PROJECT_PATHS was not inserting
        X_USER_TOP *before* X_TOP, thus potentially allowing an obsolete
        system-wide configuration to shadow an up-to-date local one.

  * ./crlcore:
    - New: In Utilities, The Dots class which allow nice pretty printing on
        a terminal (like lines of books summaries).
2010-04-28 15:41:35 +00:00
Jean-Manuel Caba 25e47d7ea0 add copyright note 2010-04-26 14:11:09 +00:00
Jean-Manuel Caba 8d812c035a Use work from a previous cmake_module file Christophe Alexandre did, as a starting point.
Add missing liboaCM.so shared by the core libraries in OA version of si2 and Cadence,
also add a copyright note.
2010-04-26 13:57:00 +00:00
Jean-Paul Chaput 448a345a26 * ./crlcore:
- New: In AllianceFramework, getInstancesCount() to count the number of
        instances in a Cell. The count can be recursive or not or ignore or
        not feed cells. This could be viewed as a very simple query, and has
        to be implemented here because we only new Feed Cell from the CATAL
        of the Alliance Framework.
2010-04-23 13:12:51 +00:00
Jean-Paul Chaput 9a90f87c65 * ./crlcore:
- New: The Measure extension (on any DBo) that allows to save measurement
        and print them later into a file. Mainly to supply gnuplot with datas.
          Obsoletes the "statsExtract.py" script from statistics, and much
        more reliable.
2010-04-17 10:13:48 +00:00
Jean-Paul Chaput fe7acbc389 * ./crlcore:
- Change: In ToolEngine, adds a static method "destroyAll()" that must be
        called *before* the Hurricane database destruction. This is to avoid
        a mis-oredering in destruction.
          ToolEngines are stored in a property, property are part of the DBo
        base object so are destroyed *after* the Cell derived object has been.
        Thus ToolEngine are deleted *after* the Cell components and if they
        still refers to it, we are doomed.
     - Change: In display.xml, color support for displaying references.
2010-04-12 11:21:41 +00:00
Damien Dupuis bc295bda31 Adding new technology support = freePDK45 (this will be used to generate openAccess files since it is the only design kit we've got that is compliant with Cadence 6.x) 2010-04-06 14:32:40 +00:00
Jean-Paul Chaput 7d805f94e8 * ./crlcore:
- Change: In Cyclop, now uses the GtkStyle when not under OSX and Qt is
        newer or equal to Qt 4.5.0.
2010-03-26 18:05:17 +00:00
Jean-Paul Chaput ba824a9d3c * All Tools:
- Change: <PROJECT>_SEARCH_PATH are put back into the *first* tool of
         a project.
     - Bug: In HURRICANE_CHECK_MACRO(), the quiet flag was not correctly
         implemented. User ARGV instead of argv (case sensitivity!).
2010-03-19 14:22:18 +00:00
Jean-Paul Chaput 863bc7a4c4 * 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:24 +00:00
Jean-Paul Chaput 20687dc00a * ./crlcore:
- Change: In ApParser, do not stop the parser whenever an external
         component is found on an internal Net. Instead, display a warning,
         sets the Net external and continue.
2010-03-15 15:53:16 +00:00
The Coriolis Project 1f9fb3d425 Restore the add_subdirectory whitout CMakeList as cmake no longers
find files in it when running. Set policy 0014 to OLD to avoid
warnings.
2010-03-11 21:39:12 +00:00
The Coriolis Project 5206920063 * All tools:
- Change: Adaptation to cmake 2.8. No more "add_subdirectory()" when
       the sub directory doesn't hold a CMakeList.txt.
         For "add_definition()", set policy 00005 to NEW.
   - Change: Integrate IO extenal libraries.
   - Change: Small compatibilities between "size_t" and "unsigned int"
       under 64 bits.
   - Change: Temporarily disable Equinox/Solstice in unicorn.
2010-03-11 16:00:38 +00:00
Jean-Paul Chaput c5d8077730 * ./hurricane/src/hviewer,
./coriolis/src/crlcore,
     ./coriolis/src/knik,
     ./coriolis/src/katabatic,
     ./coriolis/src/kite,
     ./coriolis/src/equinox,
     ./coriolis/src/solstice,
     ./coriolis/src/ispd:
     - SVN MOVE: Source tree simplification & uniformisation. Now all tools
         are at the same level, directly under the root of the repository.
         No more "coriolis/src".
2010-03-09 15:20:13 +00:00