Commit Graph

16327 Commits

Author SHA1 Message Date
Gus Smith d603b7bb58 Update ABC 2025-11-29 14:23:51 -08:00
Gus Smith 6fe35fa46c Merge remote-tracking branch 'origin/main' into gussmith23-rosette-backend-updates 2025-11-29 14:20:36 -08:00
KrystalDelusion 34fa8a4ff7
Merge pull request #3516 from dehekkendekrekker/subcircuit_fix
Fixes #3515
2025-11-29 12:51:15 +13:00
Emil J 9525f79d61
Merge pull request #5514 from rocallahan/idstring-safety
Make `IdString` thread-safe for read-only access
2025-11-28 23:58:33 +01:00
github-actions[bot] e4044e1b4a Bump version 2025-11-27 00:24:24 +00:00
Miodrag Milanović c43246bba5
Merge pull request #5517 from povik/static
Add static library option
2025-11-26 16:11:37 +01:00
Martin Povišer c1e40e113c Use `$(AR)` 2025-11-26 13:02:44 +01:00
Martin Povišer 7cb3a0f830 Add static library option 2025-11-26 12:34:37 +01:00
github-actions[bot] 752d24c0a8 Bump version 2025-11-26 00:24:41 +00:00
Robert O'Callahan b23dc345ae Make it safe to access .c_str() for autoidx IDs in a multithreaded context 2025-11-25 22:49:41 +00:00
Robert O'Callahan 948001f39f Merge the two autoidx hashtables into one
When something calls `IdString::c_str()` on an autoidx ID, we need to cache the
full string in a thread-safe way. If we need to allocate an entry in some data
structure to do that, it's difficult to do in a thread-safe no-performance-hazard way.
So instead, store the cached string pointer in the same hashtable as the prefix
pointer.
2025-11-25 21:57:46 +00:00
Robert O'Callahan 8f0ecce53f Forbid creating IdStrings and incrementing autoidx during multithreaded phases, and add dynamic checks for that
We could make it safe to increment autoidx during multithreaded passes, but that's
actually undesirable because it would lead to nondeterminism. If/when we need new
IDs during parallel passes, we'll have to figure out how to allocate them in a
deterministic way, and that will depend on the details of what the pass does.
So don't try to tackle that now.
2025-11-25 21:57:46 +00:00
Robert O'Callahan 4c8b537d71 Remove YOSYS_NO_IDS_REFCNT
Refcounting is hardly used at all so this option is not that useful.

We might want to have a different option that disables GC if that becomes
a performance issue, but that should be a different option.
2025-11-25 21:57:46 +00:00
Robert O'Callahan 7f9de6e48f Make coverage data thread-safe 2025-11-25 21:46:48 +00:00
Miodrag Milanović 10fd97821e
Merge pull request #5511 from YosysHQ/update_abc
Update ABC as per 2025-11-24
2025-11-25 14:56:28 +01:00
Miodrag Milanovic cae020a581 Update ABC as per 2025-11-24 2025-11-25 11:29:48 +01:00
github-actions[bot] 5d3599a78c Bump version 2025-11-25 00:23:19 +00:00
Krystine Sherwin a8e8746fc0
tests: Tidy up bug3515
Add base case where mapping is possible for sanity checking.
2025-11-25 07:35:19 +13:00
Krystine Sherwin ba31a02578
tests: Add bug3515 2025-11-25 07:04:34 +13:00
De hekkende krekker 38a1e66145
Fixes #3515 2025-11-25 06:58:14 +13:00
Emil J 510f9ef63d
Merge pull request #5499 from mikesinouye/abc_new
Enable abc_new pass when not in NDEBUG
2025-11-24 16:57:29 +01:00
Emil J. Tywoniak e8cbc92462 abc_new: sorted -> is_sorted 2025-11-24 11:46:09 +01:00
Emil J faa1e8fac4
Merge pull request #5500 from mikesinouye/xaiger2
Enable xaiger2 pass when not in NDEBUG
2025-11-24 11:44:36 +01:00
Miodrag Milanović 0d954f2f4c
Merge pull request #5498 from YosysHQ/krys/check_enable_abc
Check ENABLE_ABC validity
2025-11-24 08:09:45 +01:00
Miodrag Milanović d550757b4e
Merge pull request #5501 from rocallahan/tcl-size
Use `Tcl_Size` instead of `int` to fix build errors
2025-11-24 08:07:00 +01:00
Robert O'Callahan 53614a37a1 Use `Tcl_Size` instead of `int` to fix build errors
Fixes these build errors I'm getting locally with `tcl-devel-9.0.0-7.fc42.x86_64`.
I guess Tcl 9 broke this.

```
passes/cmds/sdc/sdc.cc:438:6: error: no matching function for call to 'Tcl_ListObjLength'
  438 |         if (Tcl_ListObjLength(interp, listObj, &listLength) == TCL_OK) {
      |             ^~~~~~~~~~~~~~~~~
/usr/include/tclDecls.h:1788:13: note: candidate function not viable: no known conversion from 'int *' to 'Tcl_Size *' (aka 'long *') for 3rd argument
 1788 | EXTERN int              Tcl_ListObjLength(Tcl_Interp *interp,
      |                         ^
 1789 |                                 Tcl_Obj *listPtr, Tcl_Size *lengthPtr);
      |                                                   ~~~~~~~~~~~~~~~~~~~
passes/cmds/sdc/sdc.cc:446:8: error: no matching function for call to 'Tcl_ListObjLength'
  446 |                         if (Tcl_ListObjLength(interp, subListObj, &subListLength) == TCL_OK) {
      |                             ^~~~~~~~~~~~~~~~~
/usr/include/tclDecls.h:1788:13: note: candidate function not viable: no known conversion from 'int *' to 'Tcl_Size *' (aka 'long *') for 3rd argument
 1788 | EXTERN int              Tcl_ListObjLength(Tcl_Interp *interp,
      |                         ^
 1789 |                                 Tcl_Obj *listPtr, Tcl_Size *lengthPtr);
      |                                                   ~~~~~~~~~~~~~~~~~~~
```
2025-11-24 18:46:56 +13:00
github-actions[bot] 33a49452d9 Bump version 2025-11-22 00:23:19 +00:00
Mike Inouye f098352ae6
Enable xaiger2 pass when not in NDEBUG 2025-11-21 14:23:32 -08:00
Mike Inouye 615e338acd
Fix abc_new pass when not in NDEBUG 2025-11-21 14:10:05 -08:00
KrystalDelusion 542723d121
Check ENABLE_ABC validity
From https://github.com/YosysHQ/yosys/pull/5497#issuecomment-3561398279, for ENABLE_ABC=1 to be valid, either ABC must be linked (LINK_ABC=1), or it must be possible to spawn executables (DISABLE_SPAWN=0).  This configuration (ENABLE_ABC=1 LINK_ABC=0 DISABLE_SPAWN=1) already fails compilation in `abc.cc` trying to call `run_command()` which doesn't exist if DISABLE_SPAWN=1.  All we are doing here is catching the known bad configuration and providing an explanation for why it isn't working.
2025-11-22 09:51:07 +13:00
KrystalDelusion bf70581efa
Merge pull request #5497 from YosysHQ/krys/abc_done
Fix ABC completion detection edge case
2025-11-22 09:37:50 +13:00
Krystine Sherwin 44ab884b06 bug5495.sh: Skip test if timeout isn't available 2025-11-21 04:03:39 +00:00
Robert O'Callahan e33ca17388 Force a newline to appear before YOSYS_ABC_DONE 2025-11-21 03:50:07 +00:00
Krystine Sherwin 4d1b688717
Tests: Add testcase for problematic ABC DONE check 2025-11-21 14:46:01 +13:00
Emil J 8ea51e1479
Merge pull request #5493 from YosysHQ/emil/sdc-fix-leak
sdc: use Tcl memory management functionality
2025-11-20 11:39:36 +01:00
github-actions[bot] 25ba41f424 Bump version 2025-11-20 00:24:25 +00:00
Emil J. Tywoniak 6eb9e823e0 sdc: use Tcl memory management functionality 2025-11-20 00:21:15 +01:00
Emil J b5625f9189
Merge pull request #5237 from YosysHQ/emil/sdc_expand
SDC expansion with OpenSTA
2025-11-19 23:27:33 +01:00
Miodrag Milanović e83d721cb0
Merge pull request #5492 from donn/getitem
pyosys: __getitem__ for supported classes
2025-11-19 17:58:01 +01:00
Mohamed Gaber 58e831486d
pyosys: __getitem__ for supported classes
- functions that have a const `[]` operator method now support `__getitem__` in Python
- fields of a pointer type now return a `reference_internal` instead of a `copy` because classes referenced to by pointers typically aren't copyable (e.g. RTLIL::Wire, RTLIL::Module, etc)
- removed duplicate of test_script.py
2025-11-19 18:09:41 +02:00
Emil J 2eff366e8c
Merge branch 'main' into emil/sdc_expand 2025-11-19 16:29:37 +01:00
Emil J 2cc0770305
Merge pull request #5412 from YosysHQ/emil/sdc-read-only
Add sdc command with smart flattening
2025-11-19 16:02:55 +01:00
Emil J. Tywoniak 1edc32dcd0 opensta, sdc_expand: mark as experimental 2025-11-19 15:31:17 +01:00
Emil J. Tywoniak 920f4793fb sdc: error on unknown getters 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak 229123eb87 sdc: disable without YOSYS_ENABLE_TCL 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak 033a2d5a67 sdc: remove vestigial code for tracked constraint followup work 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak f56e121ddb sdc: add help 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak 650392d4ec sdc: specialize stubs for the call graph 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak 07de7509bf sdc: add -keep_hierarchy test 2025-11-19 15:26:02 +01:00
Emil J. Tywoniak 224ed524fa sdc: move to directory 2025-11-19 15:26:01 +01:00