Commit Graph

16389 Commits

Author SHA1 Message Date
Gus Smith ade6379345 Explicitly store whether to use association lists
Instead of checking for the presence of helper names each time we need to
determine whether to use association lists, explicitly store a boolean flag
indicating whether association list helpers are being used.
2025-11-29 15:24:56 -08:00
Gus Smith ddcd93024f Capture error case more correctly 2025-11-29 15:20:37 -08:00
Gus Smith 5d5a7ab443 remove unused 2025-11-29 15:08:57 -08:00
Gus Smith 473edd19ed Undo formatting 2025-11-29 15:06:46 -08:00
Gus Smith 403740428c Remove unknown change 2025-11-29 15:01:17 -08:00
Gus Smith ded7c9cb03 More formatting undos' 2025-11-29 14:59:04 -08:00
Gus Smith 9909049d2a Undo formatting changes 2025-11-29 14:55:55 -08:00
Robert O'Callahan 7e75200b2a Check that we don't use logging during multithreading 2025-11-29 22:47:23 +00:00
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. Tywoniak bfc957ee2d filterlib, read_liberty: add loopy retention cell formal equivalence test 2025-11-21 00:57:54 +01:00
Emil J. Tywoniak b3112bf025 filterlib: prefer using precedence over unsynthesizable verilog 2025-11-21 00:43:54 +01:00
Emil J. Tywoniak d5c1cd8fc0 read_liberty: support loopy retention cells 2025-11-20 13:21:32 +01:00
Emil J. Tywoniak 302643330c read_liberty: add cell context to more errors, remove log_id 2025-11-20 13:21:28 +01: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