KrystalDelusion
cc3d569ade
Merge pull request #5591 from YosysHQ/krys/clean_empty_switch
...
Improve handling of empty switches
2026-01-09 11:52:27 +13:00
Robert O'Callahan
8da919587d
Parallelize `opt_merge`.
...
I'm not sure why but this is actually faster than existing `opt_merge` even with
YOSYS_MAX_THREADS=1, for the jpeg synthesis test. 16.0s before, 15.5s after for
end-to-end synthesis.
2026-01-08 04:21:39 +00:00
Krystine Sherwin
c0e29ef57c
proc_clean: Removing an empty full_case is doing something
2026-01-07 13:10:32 +13:00
Emil J
0ab967b036
Merge pull request #5564 from rocallahan/pass-fuzz
...
Add support for fuzz-test comparison of two passes intended to give identical RTLIL results
2026-01-06 20:07:31 +01:00
Emil J
5c630a366d
Merge pull request #5555 from rocallahan/defer-redirects
...
Defer redirecting cell outputs when merging cells in `opt_merge` untill after we've done a full pass over the cells.
2026-01-06 18:48:16 +01:00
Robert O'Callahan
042ec1cf60
Defer redirecting cell outputs when merging cells in `opt_merge` until after we've done a full pass over the cells.
...
This avoids changing `assign_map` and `initvals`, which are inputs to the hash function for `known_cells`,
while `known_cells` exists. Changing the hash function for a hashtable while it exists leads to
confusing behavior. That also means the exact behavior of `opt_merge` cannot be reproduced by a
parallel implementation.
2026-01-06 16:21:48 +00:00
Miodrag Milanović
aa9991d3ee
Merge pull request #5571 from YosysHQ/micko/warning
...
remove unused variable
2025-12-23 16:32:10 +01:00
Miodrag Milanovic
4bc4e4eb41
remove unused variable
2025-12-23 15:47:35 +01:00
Miodrag Milanović
09f9e0e8d1
Merge pull request #5568 from rocallahan/abc-spawn-errno
...
Print `errno` to help diagnose failure to spawn ABC
2025-12-23 08:09:14 +01:00
Robert O'Callahan
0e61f57458
Print errno to help diagnose failure to spawn ABC
2025-12-22 21:58:15 +00:00
N. Engelhardt
d5b38af4a7
Merge pull request #5550 from YosysHQ/nak/dont_merge_properties
2025-12-22 16:54:43 +01:00
Robert O'Callahan
48cdb499f2
Remove `IdString::id_string()`.
...
This was needed for the short time when `ID()` could return a value of `StaticIdString`.
That is no longer a problem.
2025-12-22 01:57:30 +00:00
Robert O'Callahan
46cb05c471
Pass IdString by value instead of by const reference.
...
When IdString refcounting was expensive, it made sense to pass it by const reference
instead of by value, to avoid refcount churn. Now that IdString is not refcounted,
it's slightly more efficient to pass it by value.
2025-12-22 01:52:59 +00:00
Robert O'Callahan
914e14946d
Implement design_equal command
2025-12-21 21:47:40 +00:00
N. Engelhardt
45d654e2d7
avoid merging formal properties
2025-12-17 20:25:24 +01:00
Krystine Sherwin
9d3d8bf502
Switch posix_spawn to posix_spawnp
2025-12-15 09:40:04 +13:00
Emil J
f003eca615
Merge pull request #5526 from YosysHQ/emil/fix-cellaigs-function-arg-eval-order
...
cellaigs: fix function argument evaluation order
2025-12-12 10:00:09 +01:00
Robert O'Callahan
638e904f91
Remove cover() coverage tracking
2025-12-04 16:27:13 +01:00
Krystine Sherwin
9ec361beab
test_cell.cc: Generate .aag for all compatible cells
...
Skips (with warning) on cells that didn't convert to avoid `write_aiger` from raising an error.
2025-12-02 14:03:36 +13:00
Emil J
9871e9b17e
Merge pull request #5496 from YosysHQ/emil/liberty-flop-loops
...
read_liberty: support loopy retention cells
2025-12-01 22:50:20 +01: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
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
Mike Inouye
615e338acd
Fix abc_new pass when not in NDEBUG
2025-11-21 14:10:05 -08:00
Robert O'Callahan
e33ca17388
Force a newline to appear before YOSYS_ABC_DONE
2025-11-21 03:50:07 +00:00
Emil J. Tywoniak
b3112bf025
filterlib: prefer using precedence over unsynthesizable verilog
2025-11-21 00:43:54 +01:00
Emil J. Tywoniak
6eb9e823e0
sdc: use Tcl memory management functionality
2025-11-20 00:21:15 +01:00
Emil J
2eff366e8c
Merge branch 'main' into emil/sdc_expand
2025-11-19 16:29:37 +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
224ed524fa
sdc: move to directory
2025-11-19 15:26:01 +01:00
Emil J. Tywoniak
94dd248dfb
sdc: graph mode only
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
8a54e51300
sdc: add -keep_hierarchy
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
d4228efae8
sdc: keep_hiearchy
2025-11-19 15:25:24 +01:00
Emil Jiří Tywoniak
075237f73b
sdc: refactor more
2025-11-19 15:25:24 +01:00
Emil Jiří Tywoniak
48ff9d4950
sdc: refactor find_matching
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
ae1235210d
sdc: functional graph
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c6491629d8
sdc: start graph
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
24a6412ea8
sdc: bit selections
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
21c68e0022
sdc: unknown handler experiment
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
420a083d9b
sdc: simple mode, remove per-tool stubs
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
834125a076
sdc: return resolved patterns
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
dc48ceadd9
sdc: collect strictly matching objects
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
9a3c7f70ad
sdc: stubs SDC commands supported by OpenSTA
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c26aa3186d
sdc: collect design objects
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c1c6ec1266
sdc: stubs SDC commands supported by Vivado
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
5a798b64ef
sdc: separate out
2025-11-19 15:25:22 +01:00