Commit Graph

116 Commits

Author SHA1 Message Date
Jean-Paul Chaput 2c50fae3d3 * ./crlcore/src/ccore:
- New: In Utilities, uses the new Backtrace to print the stack before
        core-dumping.
    - New: In Environment, pattern recognition of Pad model names.
    - New: In AllianceFramework, pattern recognition of Pad model names.
    - Bug: In Measures, add inspector support and uses pointer to prevent using
        copy construction. Makes the inspector to core-dump.
    - New: In RoutingLayerGauge, inspector support for Constant::Direction.
    - Change: In ApDriver, correct managment of BIGVIA sizes. BIGVIA in one
        metal keep their sizes, but BIGVIA whith cut must be expandeds to
        contains their enclosure in metals. In Hurricane VIA size are relatives
        to the cut but in Alliance, to the biggest metal.
          Generate correct direction (always UP or RIGHT) for segments.
    - Change: In ApParser, shrink BIGVIA to the size of their cut from the
        Alliance format. Avoid VIA "bloating".
          More thorough verification of Segment data coherency, mainly with
        direction.  
          Suppress warning of non-existent logical instance in the special
        case of "padreal".
    - Change: In VstParserGrammar, perform an explicit plug connection on globals
        Nets if the names of globals Nets differs.
    - New: In display.xml, add style for printers (B&W).
    - Bug: In technology.symbolic.xml, BLOCKAGE6 was associated to metal6 instead
        of blockage6.
          Correct extensions value for VIA metal layers above cut1.
    - Bug: In Utilities, in System singleton constructor check of duplicated
        type_info/RTTI initialization. Occurs when python modules are useds.
        CRL must always be included first.
2010-11-16 13:57:57 +00:00
Damien Dupuis c904ed18f7 path variable does not exist and makes compilation fail.
maybe deisgnPath is the good one (at least compilation succeed)
2010-09-20 09:23:55 +00:00
Jean-Manuel Caba 37d8084a6a separated oaTech opening and creation from design driving ... for mixed mode debug ... 2010-09-18 11:57:37 +00:00
Jean-Manuel Caba 868e3788fb add roadmap ... 2010-09-15 13:15:27 +00:00
Jean-Manuel Caba 476608ceb2 small compile error left, and commit before fucking the code in all the positions ... 2010-09-03 12:57:14 +00:00
Jean-Manuel Caba 9ece24db8c remove test from svn source tree 2010-08-26 13:45:14 +00:00
Jean-Paul Chaput b0e234b3af * ./crlcore:
- New: In LefExport, export the spacer cells (rowend & tie) to enable
        filling in Cadence Encounter.
    - New: In DefImport, added support for regular wiring in NETS. Allows us
        to import routing from Encounter and characterize it.
    - New: In Catalog, added a CatalogExtension static property manager to
        allow more easy access to the Catalog::State of each Cell. Do not
        uses the default template because of a specific destructor and a
        "by pointer" value.
2010-08-25 11:42:04 +00:00
Jean-Manuel Caba d53d1f53b0 oops ... 2010-08-23 13:21:30 +00:00
Damien Dupuis ab4a8e4346 moving extern command from .yy file o .ll file so there is no error under mac osx 2010-08-23 12:56:53 +00:00
Jean-Paul Chaput d0f15b901f * ./crlcore:
- New: In tools.configuration.xml, add default values for METAL minimum break
        lengths.
    - Change: In AcmSigda, makes the parser an autonomous one, like for ICCAD or
        ISPD.
    - Change: Remove AcmSigda, Bookshelf and LEF/DEF parsers from the Alliance
        builtins. They are now to be used through import/export.
    - Bug: In Utilities, the <misc.logMode> parameter boolean parameter was used
        the wrong way (true/false).
2010-08-22 12:36:23 +00:00
Jean-Paul Chaput 4426fc4f0c * ./crlcore:
- New: In AllianceFramework constructor, now look for an XML configuration
        file in the current directory (<cwd>/.environment.alliance.xml).
    - New: DefParser, DefDriver & LefDriver are replaced by DefImport, DefExport
        and LefExport (resp.). LEF/DEF parser/driver are no longer integrated
        in among Alliance ones due to too much difference in data organisation.
        Instead they are build as Import/Export utilities.
    - New: Iccad04Lefdef import the ICCAD'04 benchmarks into the SxLib format
        suitable for Knik/Kite. They are derived from the ISPD'98 (ibm01--ibm18)
        benchmarks. Many corrections are applieds to ensure a more realistic
        representation.
          Generate a new library from the LEF file "on the fly".
    - New: Ispd04Bookshelf import the ISPD'04 benchmarks in SxLib from bookshelf.
        Thoses benchmarks can be placeds whith fastplace. Unfortunatly fastplace
        do not manage blocks and reduce them to standard cell which is not
        usable for detailed placement. Too bad, the parser exists still.
          Make uses of the new vlsisapd/bookshelf parser. A whole library is
        generated "on the fly" on the basis of "one node, one Cell" (so we have
        a bijection between Cell and Instance). The result of this parsing is
        different from the one of the stand-alone ispd04 binary in the sense it
        fits the circuit to the SxLib gauge thus changing the routing capacity:
        from 16 to 20.
    - Change: In ApDriver, the lookup modify the lookup table for matching
        Alliance layers against Hurricane ones, "OBSTACLEx" became "BLOCKAGEx".
    - Change: In default <enviromnent.alliance.xml> adds the name of the
        blockage net: "^obstacleNet$". Some work over the coherency of the
        blockage managment remains to be done.
    - Change: In AllianceFramework, partial rewrite of the get/creation of
        AllianceLibrary to fit the requirements of the "on the fly" generation
        from the benchmarks loaders. And correct some bugs by the way.
    - Change: In Environment, suppress any reference to LEF technology as LEF/
        DEF is now used as import/exports.
    - Bug: In VstDriver, perform only one lookup for global signals among all
        nets and not for each instance master cell. That was making the driver
        quadratic! Now it's linear and reasonably fast.
2010-08-18 20:22:10 +00:00
Jean-Manuel Caba 6c9ea0fd09 update script for using cadence + freePDK45 env ... 2010-08-18 12:18:53 +00:00
Jean-Manuel Caba 8418a8c6b2 create oaRect when a segment can't be converted to oaPathSeg, i.e: source point is equal to target point in segment 2010-08-18 11:51:24 +00:00
Jean-Manuel Caba 5d871b1353 better cluster management ... 2010-08-18 09:32:54 +00:00
Jean-Manuel Caba 73e73aa86f better Via management ... 2010-08-18 08:38:25 +00:00
Jean-Manuel Caba 3d09907286 oaPinFig and oaVia creation ... 2010-08-17 11:09:26 +00:00
Jean-Paul Chaput 10a91d7d68 * ./crlcore:
- In SymbolicTechnologyParser, the POLY layer was not flagged as "working layer"
        preventing the getBottomLayer() to work on "CONT_POLY".
2010-08-16 13:43:48 +00:00
Jean-Manuel Caba 15e6d4a452 oaLayerConstraint down ... :-P 2010-08-16 11:08:47 +00:00
Jean-Manuel Caba b6048dab6f work in progress: create oaViadef from ViaLayer, more advanced Component convertion ... 2010-08-13 16:05:58 +00:00
Jean-Manuel Caba dd47776631 forgot those files ... 2010-08-13 14:03:53 +00:00
Jean-Manuel Caba 9dd5e7311e update env script, for version `GCC_4.2.0' not found error introduced by bugged libgcc_s.so.1 in cadence tools :'( ... 2010-08-13 11:47:27 +00:00
Jean-Manuel Caba 71aae62f39 doxygen doc for crlcore ... 2010-08-13 02:01:18 +00:00
Jean-Manuel Caba ce19e896aa + testing on 32 and 64 bits x86 machines
+ change cmake OpenAccess macro we need 2 env variables :
    OA_LIB_DIR where are the oa libs 
    OA_INCLUDE_DIR where are the oa headers 
   this way different headers version can be tested versus different OA compiled libs
2010-08-13 00:08:16 +00:00
Jean-Manuel Caba c261412fc8 + correct parser to handle tech in another lib than the cell (for example with a tech from a kit in one lib and the developer designs in an other lib ) 2010-08-12 22:30:57 +00:00
Jean-Manuel Caba fb81cfce94 remove Nangate cells ... 2010-08-12 22:26:32 +00:00
Jean-Manuel Caba ecd43b561b correcting oaSnapBonudary (abutment box) creation ... 2010-08-12 13:04:17 +00:00
Jean-Manuel Caba d8cebfe1f0 add test for parser with NangateOpenCell in FreePDK45 techno ... 2010-08-12 12:15:28 +00:00
Jean-Manuel Caba 4200cd5f76 add OA abutment box equivalent in design and cleaning ... 2010-08-11 00:19:30 +00:00
Jean-Manuel Caba 58c9bb33e1 correct bug when OA is not present 2010-08-08 23:48:43 +00:00
Jean-Manuel Caba 9f71af1fc9 forgot this ... 2010-08-08 02:22:27 +00:00
Jean-Manuel Caba 5e00d1092f correcting layout view ... 2010-08-06 13:33:10 +00:00
Jean-Manuel Caba a9a9bc2a20 cleaning ... 2010-08-05 23:58:15 +00:00
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