Commit Graph

208 Commits

Author SHA1 Message Date
Damien Dupuis 136e5e90c7 Adding new ConfigurationDialog widget (QDialog) and buildDialog method on configuration.
This is very useful when using configuration as a standalone widget
2010-09-20 10:48:13 +00:00
Jean-Paul Chaput 1a33586cf9 * ./vslsisapd/src/configuration:
- Bug: In FilePathEdit, do not sets the file/path if the Dialog has been
        cancelled.
    - Bug: In FilePathEdit, do not uses the native dialog (called by static
        methods) when under Linux/GtkStyle as the native widget seems to be
        badly linked (bug in GtkStyle?).
2010-09-16 20:41:39 +00:00
Jean-Paul Chaput 1c572fe188 * ./vslsisapd/src/configuration:
- Bug: In Configuration parser XML zero status indicate no errors...
2010-09-16 14:43:41 +00:00
Jean-Paul Chaput 7b1fd28df0 * ./vslsisapd/src/configuration:
- New: Integrate the FilePathEdit widget, courtesy of D. Dupuis.
    - Bug: In ConfEditorMain, new boolean switch to allow disable of GtkStyle
        which make FilePathEdit to coredump (Linux feature only!).
2010-09-16 13:26:36 +00:00
Jean-Paul Chaput c5427574a8 * ./vslsisapd/src/configuration:
- New: In Configuration, write methods are ables to completly drive the
        XML file (values & layout), selectable through flags.
    - New: In ConfigurationWidget, the Apply button is now outside the
        tabs. Also adds two modes: Embedded & StandAlone with different sets
        of buttons.
2010-09-15 21:46:42 +00:00
Damien Dupuis 5876530c64 In sizing section : operator property is always converted to upper case (since opsim 'needs' it) 2010-09-09 08:03:31 +00:00
Damien Dupuis 73d8035ad8 Adding code examples for openChams parser/driver in c++/python. 2010-09-02 10:31:55 +00:00
Damien Dupuis 76820567a7 Adding support for Layout section in openChams parser/driver 2010-09-02 10:30:02 +00:00
Damien Dupuis b120048eb3 Missing Boost Libraries under mac osx (snow leo) 2010-08-23 12:54:53 +00:00
Jean-Paul Chaput dd405e619f * ./vlsisapd/src/bookshelf:
- New: A Bookshelf autonomic parser/driver. Made to parse and manipulate
        the ISPD04 benchmarks (ibm 01-18 series). Currently parses/drives
        .nodes, .nets, .scl, .pl, the .wts is not implemented yet.
2010-08-18 20:35:50 +00:00
Jean-Paul Chaput 32c864b996 * ./vlsisapd/src/configuration:
- Bug: In Configuration::writeToStream(), percentage parameters values where
        incorrectly written (divideds by 100).
    - Bug: In ConfEditorMain, read the "dot" configuration file *after* the
        system one.
2010-07-30 16:39:57 +00:00
Jean-Paul Chaput 73fa2f5f7c * 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.

  * ./vlsisapd:
    - Change: In Configuration CMakeLists.txt, add Boost_LIBRARIES only on the
        target_link_libraries() of the binary, not the libraries, as they are
        not needed there and cause later trouble.
2010-07-17 10:30:35 +00:00
Damien Dupuis f6e62a17f8 Adding implict conversion from std::string to Name, to simplify python script 2010-07-15 14:09:39 +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 8fca8eb26e Python module are no more called pyMODULE.so but MODULE.so
Since in CMakeLists.txt there is already a module target (for c++ library) and some file systems are not case sensitive, the target is still pyMODULE but the OUTPUT_NAME property is set to MODULE 

    I've updated all the example python scripts.
2010-07-14 12:11:00 +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
Damien Dupuis 6b33959010 Bug correction std:: was missing 2010-07-13 14:40:50 +00:00
Damien Dupuis f35c77cf73 My mistake, sorry 2010-07-13 13:05:59 +00:00
Damien Dupuis 546cb9548d Return value policy bug correction (for readFromFile static method) 2010-07-13 13:03:59 +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
The Coriolis Project 76215da79c Typo error 2010-07-12 13:27:56 +00:00
Damien Dupuis 8107ef6433 Bug correction :
when defining rule<minSpacing, nWell, active>
        and then      rule<minSpacing, nWell>
        in technology file
        
        the first rule was ever return even if techno.getRule(minSpacing, nWell) was called.
2010-07-12 13:24:33 +00:00
Damien Dupuis 4d9b6b465c Readd the TARGET_LINK_LIBRARIES command in Cmake files (to compile on macosx) 2010-07-07 13:49:20 +00:00
Damien Dupuis 747022ab90 in order to compile (in fact link) on mac osx 10.6 I re-added the TARGET_LINK_LIBRARIES (as cmake documentation specifies it)
JP need to check if it the 'static variable bug' still occurs

    Note that in openChams I added SimulModel support, it has not yet been tested, and driver does not support it.
2010-07-07 13:48:28 +00:00
Damien Dupuis b0b3d50c3e Cleanly pass 'copy_const_reference' for getValueAsString methods (hooping it will solve a big bug in python binding.
DO NOT SUPPRESS TARGET_LINK_LIBRARIES in CMakeLists.txt for ADD_LIBRARY since it is mandotory under man osx (at least under version 10.6.3)
2010-07-07 11:13:00 +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 132ec33599 * ./vlsisapd/configuration:
- Shoot some g++ warnings...
2010-06-25 08:49:05 +00:00
Jean-Manuel Caba 5d8fd732c9 in some configurations FindPythonPackages.cmake was abording compilation ... now no more 2010-06-24 14:55:17 +00:00
Jean-Paul Chaput 45c864dcf5 Activate -Wall. 2010-06-23 14:08:22 +00:00
Jean-Paul Chaput 82fe4c2348 * ./vlsisapd/configuration:
- New: More thorough type checking of parameter's type while setting/
        getting.
    - New: In Parameter, callback mechanism (trimmed down Observer pattern)
        to uses whenever Qt signal/slots are not used. This is needed to
        maintain data coherency througout the software.
2010-06-22 14:06:33 +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 c006a8d96b Name's operators are now available in python 2010-06-15 14:18:42 +00:00
Damien Dupuis 685dde710f Adding Name's operators binding 2010-06-15 14:18:05 +00:00
Damien Dupuis 0a06335e15 to correspond to other parser & driver : PyTechno.cpp become PyDtr.cpp 2010-06-15 13:30:08 +00:00
Damien Dupuis c149c84b50 Forgot to document DTRException 2010-06-15 13:18:41 +00:00
Damien Dupuis 68ca57830b Adding DTR documentation 2010-06-15 13:12:13 +00:00
Damien Dupuis e3bdbfb7f0 Add a Techno::getRule() method and simply Techno::getValue() & Techno::getValueAsString() methods 2010-06-15 11:52:13 +00:00
Damien Dupuis d0b2c0c6eb Corrections due to addRule signature change 2010-06-15 11:29:44 +00:00
Damien Dupuis ba80733d5e Rule & ARule constructors do not need 'Name valueStr' anymore.
It is automatically generated based on 'double value' argument
    Python binding is up to date
2010-06-15 11:29:15 +00:00
Damien Dupuis c3a210e4a5 No need for an install command in cmake.ex
remove 'import sys' in driveDtr.py script : that was only used for debug
2010-06-15 10:47:16 +00:00
Damien Dupuis 5fc116f4b7 adding examples for DTR format 2010-06-15 08:58:29 +00:00
Damien Dupuis 688af29e22 Adding CMakeLists.txt example to compile the provided .cpp examples
Installing .cif and .agds files examples
2010-06-14 11:10:23 +00:00
Damien Dupuis dd66d66741 Renaming examples executable (driveCif, driveAgds, driveCif.py ... instead of test in order to be able to differntiate driver vs parser) 2010-06-14 10:46:09 +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 0774138292 Adding getValueAsString method on Rule, ARule and Techno and export it in python module.
This is a convenient method proposed by Corinne Laurey.
2010-06-11 11:27:15 +00:00
Damien Dupuis ab78dd054b Forgot thses two files, sorry 2010-06-04 14:34:40 +00:00
Damien Dupuis 6663fbd8dc Adapt all files to new source tree 2010-06-03 15:05:14 +00:00
Damien Dupuis 73eba62347 Using absolute path for IS_DIRECTORY (so it works) 2010-06-03 14:40:25 +00:00
Damien Dupuis f016562c7f Moving cpp files to src
h files to src/vlsisapd/openChams

    Updating CMakeLists.txt
2010-06-03 14:33:19 +00:00
Damien Dupuis 97c00c4679 Moving openChams to src/openChams 2010-06-03 14:29:45 +00:00
Damien Dupuis 0103147f4a Moving source files to src & updating CMakeLists.txt 2010-06-03 14:27:51 +00:00
Damien Dupuis 771cf277d4 Updating old CMakeLists 2010-06-03 14:25:54 +00:00
Damien Dupuis 20897a98cc New CMakeLists.txt 2010-06-03 14:25:34 +00:00
Damien Dupuis ec7aba70bb Moving source into src directory 2010-06-03 14:24:17 +00:00
Damien Dupuis fdc34f74b7 Moving dtr to src/dtr 2010-06-03 14:20:08 +00:00
Damien Dupuis ac066afada Correct path for includes 2010-06-03 14:18:09 +00:00
Damien Dupuis 6d2b7264ac Wrong name 2010-06-03 14:11:16 +00:00
Damien Dupuis 638e7dd058 Trying move + corrections in one shot 2010-06-03 14:06:42 +00:00
Damien Dupuis be609e2e75 remove cif directory which is not in src 2010-06-03 14:03:08 +00:00
Damien Dupuis ff40851987 Copy cif directory (no more svn move for me) 2010-06-03 14:02:24 +00:00
Damien Dupuis bce976da3b Adapt to new source tree 2010-06-03 14:01:19 +00:00
Damien Dupuis 6a2fe112ac Since svn move failed (once again) I need to remove this by hand 2010-06-03 14:00:37 +00:00
Damien Dupuis c89ee9f1ca Code modifications to adapt to include files moving 2010-06-03 13:59:49 +00:00
Damien Dupuis 9de4bf0cc9 Moving include files (hope it works this time) 2010-06-03 13:57:00 +00:00
Damien Dupuis b7926ee279 adding agds directory 2010-06-03 13:42:20 +00:00
Damien Dupuis eefb15127a ADDS:
- access to Sizing object in Circuit object (method getSizing())
      - now driver is deterministic since it sorts names in alphabetical order (cannot use name's id since names are destroyed when converted to hurricane and then recreated before drive but with totaly unknow/uncontroled ids)
2010-06-03 11:53:18 +00:00
Damien Dupuis de38cf5496 Cleaning vlsisapd porject file tree
- creating src directory 
        - next step s to move parsers/drivers to this new src directory
2010-06-03 11:44:35 +00:00
Jean-Paul Chaput abceb5b34e Make VLSISAPD more tolerant. 2010-05-25 20:38:46 +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 f375d1c3bb * ./vlsisapd:
- Change: In FindHURRICANE.cmake, prepend ${DESTDIR} to the search pathes
        components (for use by packagers).
2010-05-22 14:05:55 +00:00
Jean-Paul Chaput 380f9470e4 File & namespace renaming. 2010-05-18 15:10:35 +00:00
Jean-Paul Chaput 88b2a63c9a Renamed. 2010-05-18 14:29:28 +00:00
Jean-Paul Chaput 5592499def * ./io:
- Change: Revert back to the state in which "io" must be included into
        the path for #include.
2010-05-18 14:05:46 +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
Jean-Paul Chaput 17294b0b34 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:04 +00:00
Jean-Paul Chaput d25bea005d * All tools:
- Change: Correction to suppress all g++ warnings. Except thoses comming
        from bad Python system includes...
2010-05-17 14:40:32 +00:00
Jean-Paul Chaput 1a874d564a * 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:53 +00:00
The Coriolis Project 6a535b03f6 Coorect pathes detection. 2010-04-28 21:57:14 +00:00
Damien Dupuis 4d1e23eaea Added DTRException translator to python world 2010-04-06 11:45:03 +00:00
Damien Dupuis 306c391a11 Do not use static libs for boost.
That was mentionned in Boost.Python documentation but it prevents linux 64 bits compilation and everything is ok without it !
2010-04-06 11:06:06 +00:00
Damien Dupuis 6e85d89d19 Only try to find PythonLibs if Boost.Python was found 2010-04-06 07:42:46 +00:00
Damien Dupuis 40ab09bea6 When not finding Boost.Python libraries : do not stop compilation (FATAL_ERROR) but do not compile PyTechno.cpp and do not try to create python module. 2010-04-06 07:40:50 +00:00
Damien Dupuis 1b165147cd I needed to set a version for boost, 1.38 does not seem to be a good idea (since version 1.33 is installed at asim) 2010-04-05 16:49:07 +00:00
Damien Dupuis 68f575d028 Added Python interface and python module creation (using Boost.Python libraries)
Name, Rule, Arule and Techno objects has been ported, so it is possible to read a dtr xml file from disk to get a techno and then rules' values.

    DTRException object still need to be ported.
2010-04-05 16:27:18 +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 3c8b1cb005 * 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:27 +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 9d874c5cd6 Bug correction: _sinzing variable was not default initialized to NULL, which make nwidget core dumps 2010-03-04 09:59:51 +00:00
Damien Dupuis feef029cae Added support to transistor in instance so we can reach transistor level in netlist. 2010-03-02 13:25:31 +00:00
Damien Dupuis d3ee85fa2e Forgot to commit these modifications 2010-02-25 15:11:37 +00:00
Farakh Javid 943f28c8fd Minor corrections to compile under Linux SLSoC 2010-02-25 10:59:53 +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 c34902020c Now can parse / drive the sizing procedure. 2010-02-09 12:16:04 +00:00
Damien Dupuis 4d27f3075b No more SHARED option in ADD_LIBRARY, so we will be able to build static libraries. 2010-02-02 09:58:17 +00:00
Damien Dupuis 91363d5cc7 CHANGES
- No more <connectors> section in <instance> because it was redundant and useless
      - several bugs fixes
      - some minor adds to drive from hurricane
2010-02-02 09:55:35 +00:00
Jean-Paul Chaput 8246109d3d * ./io/openChams:
- Typo: Newlines at end of file, case sensitiveness. Shows only under Linux,
        not Mac OSX/Xcode.
2010-01-29 10:49:15 +00:00
Damien Dupuis 50b9cdf2cd ADDS:
- OpenChamsException to cleanly throw errors (and not cerr -_-)
      - New Schematic object to parse&drive schematic section in xml file
      - Lots of checks on node properties

    CHANGES:
      - directly returns reference on objects' maps/vectors to skim through them (instead of begin/end iterators)
2010-01-29 09:10:44 +00:00
Stephanie Youssef 53b89a61dc Bug correction:
NetList.cpp -> Netlist.cpp
	  NetList.h -> Netlist.h
	  Added newlines at end of files needed it
2010-01-26 15:05:20 +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 37b71a532f CHANGES:
PHYSUNITS value is written with scientific representation in order not to write 1e-9 which is not recongnized by agds to gds converter.
2010-01-14 08:26:41 +00:00
Stephanie Youssef 0f7604a5fd oops file name was wrong 2009-12-11 13:57:13 +00:00
Damien Dupuis 23d6a80058 First import of IO project 2009-12-11 12:48:37 +00:00