3804 Commits

Author SHA1 Message Date
Hippolyte Melica
69b7325c85 Removing unused header that caused compilation problems with newer libboost versions
Some checks are pending
github pages / deploy (push) Waiting to run
Wheel builder / build-custom-manylinux (push) Waiting to run
Wheel builder / Build wheel for cp310-manylinux_x86_64 (push) Blocked by required conditions
Wheel builder / Build wheel for cp311-manylinux_x86_64 (push) Blocked by required conditions
Wheel builder / Build wheel for cp312-manylinux_x86_64 (push) Blocked by required conditions
Wheel builder / Build wheel for cp38-manylinux_x86_64 (push) Blocked by required conditions
Wheel builder / Build wheel for cp39-manylinux_x86_64 (push) Blocked by required conditions
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Blocked by required conditions
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Blocked by required conditions
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Blocked by required conditions
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Blocked by required conditions
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Blocked by required conditions
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Blocked by required conditions
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Blocked by required conditions
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Blocked by required conditions
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Blocked by required conditions
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Blocked by required conditions
2026-05-27 16:36:14 +02:00
Hippolyte Melica
1a2991311c Fixing typo
Return y should be return x.
Count is an unused variable.
2026-05-27 16:33:23 +02:00
Jean-Paul Chaput
a9ce8a7aeb Re-enable the VHDL substitution of '__' by '_' (single). 2026-05-27 00:05:18 +02:00
Ali Oudrhiri
22418e2dd7 clean automatic connectors placement, it is directly generated by coriolis/plugins/block/block.py 2026-05-27 00:00:55 +02:00
Ali Oudrhiri
6386303c14 DFT support: optimized FFs stitching + remove __ in vhdl translation 2026-05-27 00:00:55 +02:00
Jean-Paul Chaput
0b5f1843d5 Fast AL9 rpm generation. Share the functions of uploadOBS.sh
Some checks failed
github pages / deploy (push) Has been cancelled
Wheel builder / build-custom-manylinux (push) Has been cancelled
Wheel builder / Build wheel for cp310-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp311-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp312-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp38-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp39-manylinux_x86_64 (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
* Change: Put all shared functions of uploadOBS.sh inside a common
    uploadUtils.sh. When a fix or an update is made, this file is to
    be copied inside the packaging/ directory of the other repositories,
    using the copyUpload script.
* New: In uploadOBS.sh, add an option to fast rebuild, on the local
    machine, a rpm. Currently the AlmaLinux 9 flavor.
      Re-created RPMs are put under <root_dir>/src/coriolis-rpm/
    Note: whenever a new "fast" version of a package is created, in
          order to be seen as "newer" than the one provides by fossEDA,
	  adjust the obsCI_CNT value to be *exactly* one above the
	  distributed version.
* New: packaging/buildDevelPackages.sh scripts to rebuild all the
    RPM packages (AL9) and push them into the 9_devel repository, ready
    for fast deployment.
2026-05-26 15:45:29 +02:00
Jean-Paul Chaput
9397022f27 Add a case for local RPM build in Makefile.devs 2026-05-22 17:06:12 +02:00
Jean-Paul Chaput
8f2a480ce1 Explicitely states EnforceVhdl through a flag in Blif::load(). 2026-05-20 23:06:19 +02:00
Jean-Paul Chaput
5e7fc54b2e Various changes in Collections (CachedVector, const_iterator).
* New: VectorCached<> collection, create a vector containing the elements
    of the collection before iterating over it with the locator.
      Use with moderation as *each* Locator will contains a complete
    copy of all the elements, sorted by Id.
      Not used yet.
* Change: In Collection<>, rewrite the support for the "for" loops using
    const_iterator instead of iterators (non const).
2026-05-20 00:43:21 +02:00
Jean-Paul Chaput
c48c342cbf Add first part support for S2R in layers and segments.
Some checks failed
github pages / deploy (push) Has been cancelled
Wheel builder / build-custom-manylinux (push) Has been cancelled
Wheel builder / Build wheel for cp310-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp311-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp312-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp38-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp39-manylinux_x86_64 (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
* New: Add RDL and RDW support in Layer, RegularLayer, Horizontal
    and Vertical.
    - RDL --> realDeltaCap
    - RDW --> realDeltaWidth
      Now Horizontal and Vertical looks for realDeltaCap & Width to
    perform their bounding box calculation on a given BasicLayer.
      For now, only RegularLayer provides support for thoses
    extensions.
      To activate this real mode display (also active in GDS driving),
    use Layer::setS2RMode().
2026-05-13 12:41:57 +02:00
Jean-Paul Chaput
1284fde12f Add a techno.common.addStyle() helper.
* New: Create a techno.common.addStyle() helper able to load and
    create a new DisplayStyle from a JSON-like set of data.
    This allow a much more compact and readable writing of their
    styles.
2026-05-13 12:33:56 +02:00
Jean-Paul Chaput
77b8f426e2 Force type conversion in overlay.CachedParameter.cacheWrite()
* Fix: In overlay.CachedParameter.cacheWrite(), if the Python type
    of the parameter was not in accordance with the expected one
    the C++ parameter setter setInt(), setDouble() ...
      At least one mismatch was occurring when writing 0 (int)
    into a double 0.0.
2026-05-13 12:30:48 +02:00
Jean-Paul Chaput
86c4e73cba Allow Technology.getBasicLayers() to be called without a layer mask. 2026-05-11 17:55:59 +02:00
Jean-Paul Chaput
67acca4fe1 Fix crash in apParser, do not run with unitialized technology. 2026-05-11 17:54:56 +02:00
Jean-Paul Chaput
0896060453 Upgrade the designflow to support standard cell library validation.
* New: designflow.proof, support for the Alliance formal proof tool.
* New: designflow.group, allow to group a bunch of DoIt rules together.
* Change: In designflow.cougar, allow to keep the generated spice files.
* Fix: In designflow.druc, forgot to add the targets at DoIt level,
    this was preventing druc rules to be chaineds.
* Change: In designflow.graal, display the RDS/GRAAL techn if requested.
* Change: In designflow.dreal, display the RDS/GRAAL techn if requested.
* Fix: In designflow.task, add LD_LIBRARY_PATH component *only once*.
* New: In designflow.tasyagle, add derived tasks:
    1. ExtractCell to run Yagle from the spice file, using the
         extractCell.tcl script.
    2. Liberty to generate the liberty file. Use the buildLib.tcl script.
    Also add *once* the TCL initialisation script path.
* Change: In designflow.vasy, add a cleanup option to replace the
    "linkage" by "in" and completely remove the "ck.delayed".
    Feature activated by the VbeCompliant flag.
* Change: In CRL::Environment CTOR, set the default value of SCALE_X to
    100 (instead of 10). Strangely enough, it seems that the reduced
    precision of the extracted spice files by cougar make Tas/Yagle
    fail while regenerating the liberty.
* Change: In CRL::ApParser::_parseBigVia(), don't stop when encoutering
    an unknown layer. Instead issue a warning and continue. So at least
    we can look at the partially loaded cell.
2026-05-08 14:21:15 +02:00
Jean-Paul Chaput
0fdc58d6b3 Fine tuning for VH gauges.
* Change: In Manipulator::relaxVH(), increase the high density threshold
    from 0.5 to 0.7. Take account the perpandicular wire density (M3)
    when looking for the break point.
* Fix: In SegmentFsm::_slackenGlobal(), forgot to break the switch in case
    of success in the Dogleg/ripupPerpandiculars case.
2026-04-29 15:44:16 +02:00
Jean-Paul Chaput
ea35de854e Cosmetic changes, more detailed logging. 2026-04-29 15:33:34 +02:00
Jean-Paul Chaput
992a3e577a Fix an infinite fragmentation loop.
* Fix: In TrackSegment::canDogleg(), the "return false" statement was
    forgotten in one reject case, allowing for infinite fragmentation.
2026-04-24 11:36:42 +02:00
Jean-Paul Chaput
ead3fdbe58 Fix in LefParser::_pinStdPostProcess() to avoid offgrid segments. 2026-04-23 15:04:24 +02:00
Jean-Paul Chaput
3bb9c07e26 First round of fix & improvement for VH topologies (for AMS 350).
Some checks failed
github pages / deploy (push) Has been cancelled
Wheel builder / build-custom-manylinux (push) Has been cancelled
Wheel builder / Build wheel for cp310-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp311-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp312-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp38-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp39-manylinux_x86_64 (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
* Change: In AutoContact::doRp_Access(), assume that M1 terminal are
    on grid on the vertical axis at least, so suppress the offgrid
    vertical segment. On the other hand, on HSmall one add a non-pref
    (i.e. horizontal) strap right on the terminal to give access to
    at least 3 vertical tracks.
* Fix: In Manipulator::moveUp(), reject segments in non-preferred
    routing direction.
* Fix: In AutoVertical::_makeDogleg(), forgot to fully re-canonize
    the new & old segments. This was leading to multiple TrackSegment
    creation over the *same* canonical set of AutoSegments.
    And message over TrackSegment built over non-canonical ones.
* Fix: In TrackSegment::_check(), when computing track span of non-pref,
    we are using the segment *width*, and in fact, the extension cap
    from the ending VIAs. Now use the max between source & target VIAs,
    instead of only the source. Was generating false positives.
2026-04-20 11:12:22 +02:00
Jean-Paul Chaput
bc122a37b0 Use pragma one to prevent double inclusion. 2026-04-17 12:02:58 +02:00
Roselyne Chotin
58480a2ac3 Add the new PyMeasures module 2026-04-17 12:02:58 +02:00
Roselyne Chotin
e921e662b2 Add python export of Measures 2026-04-17 12:02:58 +02:00
Hippolyte Melica
7805fa7237 Changing all string stuff to std::string 2026-04-17 11:26:56 +02:00
Hippolyte Melica
0ec9d68e58 Liberty one line init 2026-04-17 11:26:56 +02:00
Jean-Paul Chaput
2c93175e6e Fix, put a failsafe in LefImport if the number of metal/cut is exceeded. 2026-04-17 10:58:31 +02:00
Jean-Paul Chaput
2796cb2ce2 Add segment/pin adjustment for M1 vertical gauge in LefImport::_createBestSegment(). 2026-04-16 20:47:29 +02:00
Jean-Paul Chaput
a3f3c9fe4e Fix, directly return NULL if NULL are passed to Katana::Session::lookup(). 2026-04-15 13:55:11 +02:00
Jean-Paul Chaput
3bbf04b7a4 Fix in KatanaEngine, confusion between V & H maximums.
* Fix: In KatanaEngine::annotateGlobalGraph(), when caping the maximum
    reserved capacity on horizontal edges, we where using the maximum
    *vertical* threshold instead of the *horizontal* one. In some case,
    it would lead to the reserved capacity eating up all the edge, hence
    seemingly completly unroutable cases...
2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
8f053ec559 Add the ability to pre-register a layer LEF layer mapping in LefImport.
In some case, the LEF technology definition do not defines all the
CUT and ROUTING layers, so there are *less* than in the Hurricane
complete one. This may cause a discrepency in the mapping table
between Hurricane and LEF. Thus we modify LefImport::addLayer() so
that we can specify a LEF type and load it into the mapping table the
missing ones. This case did occur for an undeclared *contact* layer.
2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
3ff2908f55 Fix pin management when there are only offgrids.
* Change: In LefImport::_createBestSegment(), always create a Segment
    to attach to, even if offgrid. Otherwise, the router cannot use
    it and make it on grid.
* Fix: In Configuration::selectRpComponent(), must use the bounding boxes
    shrunken by the bottom VIA enclosure to compute the track span
    accessible to the pin. And if empty, to flag it as offgrid.
      The enclosure shrink was forgotten...
2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
5321f94ae3 Separate management of xpdf dependency between AlmaLinux 9 & 10. 2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
9921b2e1e3 In sram.Column.__del__(), disable attributes when there *are* instances. 2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
b34c7af02c Remove AP file dependency in designflow.routecheck rules. 2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
00086cdb13 Fix crash in debug mode when the UpdateSession stack is empty. 2026-04-14 17:37:04 +02:00
Jean-Paul Chaput
71a50a41e6 Do not raise segments if they are above the maximum level.
* Fix: In AutoSegment::mustRaise(), do not try to raise segments if
    it is already at the maximum allowed depth.
2026-04-14 17:37:04 +02:00
Hippolyte Melica
83a8c1cba0 Adding Liberty::Group::getGroups with regex to get multiple groups. Tested. 2026-04-14 17:32:10 +02:00
Hippolyte Melica
9b18da3e0a Adding Liberty to Hurricane bridge + python wrapper
Adding Python wrappers, fixes accross liberty lib
Fixing infinite loop
Tested and fixed Liberty to Hurricane bridge

Setting proper ownership of liberty library.

Changing name of LibertyToDb (because name was nonsense)
2026-04-14 17:32:10 +02:00
Jean-Paul Chaput
efd64d35c6 Force use of Alliance installed alonhside Coriolis. 2026-04-14 17:24:45 +02:00
Jean-Paul Chaput
c97cb84c82 Rename the individual build scripts from -LIP6 into -devs in Makefile.devs 2026-04-14 16:38:00 +02:00
Jean-Paul Chaput
c53de6f8c1 Rename Makefile.LIP6 into Makefile.devs as it is now intended for general development. 2026-04-14 16:24:47 +02:00
Hippolyte Melica
a3cf225b07 Removing .wraplock from PR
Some checks failed
github pages / deploy (push) Has been cancelled
Wheel builder / build-custom-manylinux (push) Has been cancelled
Wheel builder / Build wheel for cp310-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp311-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp312-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp38-manylinux_x86_64 (push) Has been cancelled
Wheel builder / Build wheel for cp39-manylinux_x86_64 (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / test_upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp310) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp311) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp312) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp38) (push) Has been cancelled
Wheel builder / upload_pypi ([ubuntu-24.04 manylinux_x86_64], cp39) (push) Has been cancelled
2026-04-13 09:58:41 +02:00
Hippolyte Melica
9f708283c7 Adding attribute map to groups 2026-04-13 09:58:41 +02:00
Hippolyte Melica
b140ae53bd Moving liberty parser to crlcore 2026-04-13 09:58:41 +02:00
Hippolyte Melica
876f2bbdfe Fix segfault
Caused by library having library pointer to 0x0
2026-04-13 09:58:41 +02:00
Hippolyte Melica
ecedcbeb55 Removing main... 2026-04-13 09:58:41 +02:00
Hippolyte Melica
c685c6fa5c Adding doc in comments 2026-04-13 09:58:41 +02:00
Hippolyte Melica
986d8874b7 Making library group top level, adding search capability 2026-04-13 09:58:41 +02:00
Hippolyte Melica
6d5ef3d9fb Meson.build updates. Does compile. 2026-04-13 09:58:41 +02:00
Hippolyte Melica
2a32c54937 Style changes 2026-04-13 09:58:41 +02:00