N. Engelhardt
45d654e2d7
avoid merging formal properties
2025-12-17 20:25:24 +01:00
Akash Levy
b3e669c2f3
Ok actually done now
2025-12-05 20:25:56 -08:00
Akash Levy
2aeada6980
Bump Yosys to latest
2025-12-05 20:05:16 -08:00
Robert O'Callahan
638e904f91
Remove cover() coverage tracking
2025-12-04 16:27:13 +01:00
Akash Levy
71586d39b0
Merge from upstream
2025-11-12 08:14:33 -08:00
Robert O'Callahan
325b27f43a
Avoid calling IdString::c_str() in opt_clean
2025-11-12 11:52:04 +01:00
Robert O'Callahan
54bde15329
Implement IdString garbage collection instead of refcounting.
2025-11-12 11:52:04 +01:00
Akash Levy
dee059bee8
Fix minor Yosys issues
2025-09-30 12:05:36 -07:00
Akash Levy
c26f38faeb
Merge branch 'YosysHQ:main' into main
2025-09-30 11:14:33 -07:00
Emil J
7719beb4ae
Merge pull request #5349 from rocallahan/cleanup-hashops
...
Reduce hashops verbiage in `OptMergePass`
2025-09-30 19:34:44 +02:00
Akash Levy
16215b8786
Merge upstream
2025-09-29 20:58:56 -07:00
Akash Levy
313c7e4b95
Fix wreduce using queueing algorithm
2025-09-29 20:28:55 -07:00
Akash Levy
d36bc8231f
Revert wreduce to initial state
2025-09-29 12:44:30 -07:00
Jannis Harder
47639f8a98
Merge pull request #5388 from jix/bufnorm-followup
...
Refactor and fixes to incremental bufNormalize + related changes
2025-09-29 15:15:29 +02:00
Emil J
87c1a868d3
Merge pull request #5384 from rocallahan/simplify-opt-merge-logic
...
Move `OptMerge` cell filtering logic to happen while building the cell vector
2025-09-29 15:03:01 +02:00
Akash Levy
ded986c510
Probably not fast but it works
2025-09-29 04:39:07 -07:00
Akash Levy
b2f2d6d6e3
Actually fix wreduce
2025-09-29 04:16:18 -07:00
Akash Levy
dfc8607a77
Fixups
2025-09-29 03:49:44 -07:00
Martin Povišer
a9318db2fa
opt_hier: Adjust messages
2025-09-29 12:27:27 +02:00
Martin Povišer
ffe2f7a16d
opt_hier: Fix two optimizations conflicting
...
Fix a conflict between the following two:
* propagation of tied-together inputs in
* propagation of unused inputs out
2025-09-29 12:27:27 +02:00
Akash Levy
0b0c7bd19d
Fix wreduce speed issue
2025-09-29 00:18:48 -07:00
Akash Levy
b5f3d7ee9c
Revert three passes
2025-09-29 00:18:34 -07:00
Jannis Harder
cbc1055517
opt_clean: Fix debug output when cleaning up bufnorm cells
2025-09-29 08:21:28 +02:00
Akash Levy
652a9a63b2
Update to latest and fix all disabled tests
2025-09-28 01:33:08 -07:00
Akash Levy
ae2ed5e82a
Fix wreduce speed more
2025-09-27 17:59:25 -07:00
Akash Levy
f7dbfcb278
Fix wreduce speed issue
2025-09-26 07:55:37 -07:00
Robert O'Callahan
4d209c187d
Switch OptMergeWorker cell type switching to use IdString::in()
2025-09-25 03:06:58 +00:00
Robert O'Callahan
1c73011e7e
Swap SigSpecs using std::swap with moves
2025-09-25 03:04:17 +00:00
Robert O'Callahan
e9aacd8a05
Move `OptMerge` cell filtering logic to happen while building the cell vector.
...
This code is quite confusing because there are two "is the cell known" filters
applied, one while building the cell vector and one after building the cell
vector, and they're subtly different. I'm preserving the actual behaviour here
but it looks like there is, or was, a bug here.
2025-09-23 23:26:47 +00:00
Robert O'Callahan
1e5f920dbd
Remove .c_str() from parameters to log_debug()
2025-09-23 19:10:33 +12:00
Akash Levy
72de51a1b0
Smallfix
2025-09-21 01:10:14 -07:00
Akash Levy
60d969530b
Bump to latest
2025-09-21 01:10:04 -07:00
Robert O'Callahan
4fe21dd652
Reduce hashops verbiage in OptMergePass
2025-09-19 03:31:46 +00:00
Jannis Harder
5f79a6e868
Clean up $buf with 'z inputs, $input_port and $connect cells
...
This ensures that entering and leaving bufnorm followed by `opt_clean`
is equivalent to just running `opt_clean`.
Also make sure that 'z-$buf cells get techmapped in a compatible way.
2025-09-17 13:56:46 +02:00
Emil J
73e47ac3fe
Merge pull request #5357 from rocallahan/builtin-ff
...
Instead of using `builtin_ff_cell_types()` directly, go through a method `Cell::is_builtin_ff()`
2025-09-17 11:37:16 +02:00
Robert O'Callahan
d24488d3a5
Instead of using builtin_ff_cell_types() directly, go through a method Cell::is_builtin_ff()
2025-09-17 03:24:19 +00:00
Robert O'Callahan
a7c46f7b4a
Remove .c_str() calls from parameters to log_warning()/log_warning_noprefix()
2025-09-16 23:02:16 +00:00
Robert O'Callahan
5ac6858f26
Remove .c_str() from log_cmd_error() and log_file_error() parameters
2025-09-16 22:59:08 +00:00
Robert O'Callahan
5600eb2e5b
Update passes/opt to avoid bits()
2025-09-16 03:17:23 +00:00
Akash Levy
f5cb0c328f
Bump Yosys to latest
2025-09-13 04:35:52 -07:00
Robert O'Callahan
e0ae7b7af4
Remove .c_str() calls from log()/log_error()
...
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
Akash Levy
f39d78c69f
Smallfixes
2025-09-11 05:02:58 -07:00
Akash Levy
b1f4d0d8aa
Small adjustments
2025-09-11 04:47:28 -07:00
Akash Levy
b70aeea35c
Fixups
2025-09-11 04:37:00 -07:00
Akash Levy
c1557950ef
Support external fanout for addsub_c
2025-09-11 03:48:14 -07:00
Akash Levy
ccf3909982
Initial implementation of addsub_c with no intermediate fanout allowed
2025-09-11 03:28:50 -07:00
Akash Levy
a43de44f9d
Merge upstream changes
2025-09-10 23:02:15 -07:00
Akash Levy
41dfe4fc61
Run toposort in both directions for better results
2025-09-09 07:45:25 -07:00
Robert O'Callahan
66d2c2af08
Make `log_header()` use variadic templates.
2025-09-09 15:41:03 +02:00
Akash Levy
1b3375d8df
Merge upstream in
2025-09-09 05:50:48 -07:00
Akash Levy
eb4539f151
Smallfixes
2025-09-09 04:50:57 -07:00
Akash Levy
b7a4ce8b42
Fix opt balance tree and wreduce
2025-09-09 04:32:15 -07:00
Jannis Harder
3d14108a96
Merge pull request #5323 from rocallahan/IdString-references
...
Pass `IdString` by reference in more places
2025-09-08 20:40:24 +02:00
Jannis Harder
c468ee7add
Merge pull request #5304 from rocallahan/idstring-stringf
...
Support `IdString` parameters in `stringf()` and remove `.c_str()` in a lot of places
2025-09-08 20:29:20 +02:00
Akash Levy
8204fd1d0b
Update Yosys to latest
2025-09-06 16:49:39 -07:00
Mike Inouye
6276464ea7
Increase muxtree glob eval attempts to 10M.
2025-09-04 10:52:37 -07:00
Robert O'Callahan
54a258f854
In hash_cell_inputs, avoid constructing an std::pair (which requires copying the port IdString)
2025-09-04 14:17:08 +02:00
Robert O'Callahan
c7df6954b9
Remove .c_str() from stringf parameters
2025-09-01 23:34:42 +00:00
Emil J
5aa71505fc
Merge pull request #5287 from Anhijkt/opt_dff-fix-5279
...
opt_dff: fix timeout issue
2025-09-01 11:20:35 +02:00
Akash Levy
dc52f6ca1c
Merge branch 'YosysHQ:main' into main
2025-08-27 11:10:13 -07:00
Emil J
c5d096b7b8
Merge pull request #5308 from YosysHQ/emil/opt_muxtree-refactor
...
opt_muxtree: refactor
2025-08-25 16:48:01 +02:00
Emil J. Tywoniak
b45e5854bf
opt_muxtree: comment wording
2025-08-25 16:36:07 +02:00
Akash Levy
e54fa487b8
Merge from upstream
2025-08-21 17:56:55 -07:00
Emil J. Tywoniak
4dea774171
opt_muxtree: refactor
2025-08-21 12:52:22 +02:00
Robert O'Callahan
8c04e5266c
Use commutative hashing instead of expensive allocation and sorting
...
For one of our large circuits, this improves the `OptMergePass` runtime
from about 150s to about 130s. It's also simpler code.
2025-08-20 19:35:22 +00:00
Robert O'Callahan
7d0ea0d64f
Refactor call to sorted_pmux_in to avoid copying the connection dictionary
2025-08-20 19:35:22 +00:00
Emil J
025d7a5641
Merge pull request #5290 from rocallahan/opt-mux-perf
...
Make `OptMuxtreePass` int-indexed vectors into hashtables
2025-08-20 20:00:26 +02:00
Robert O'Callahan
3f2c4f6f83
Remove redundant construction of `assign_map`.
...
We call 'assign_map.set()' below which wipes the `SigMap` and reconstructs it.
This operation is expensive because it scans the whole module. I think it's
better to make heavyweight operations more visible so I'm removing
the less obvious operation.
2025-08-17 23:34:11 +00:00
Robert O'Callahan
dd88423334
Make OptMuxtree int-indexed vectors into hashtables
...
For one of our large circuits, this reduced the time for an OPT_MUXTREE pass from
169s to 5s.
2025-08-14 23:09:15 +00:00
Anhijkt
b3ca5ee0f1
opt_dff: fix timeout issue
2025-08-13 01:48:59 +03:00
Akash Levy
77be4d7be7
Bump Yosys to latest
2025-08-07 17:22:25 -07:00
Krystine Sherwin
3959d19291
Reapply "Add groups to command reference"
...
This reverts commit 81f87ce6ed .
2025-08-06 13:52:12 +12:00
Akash Levy
347d7b6524
Merge branch 'YosysHQ:main' into main
2025-08-04 15:28:01 -07:00
Lofty
7537a49f0d
Merge pull request #5241 from Anhijkt/opt_dff-simplify-pt
...
opt_dff: implement simplify_patterns
2025-08-04 09:44:57 +01:00
Anhijkt
85e0e8ca67
typo
2025-07-30 21:40:20 +03:00
Anhijkt
bfff7a47f1
typo
2025-07-30 21:34:42 +03:00
Anhijkt
206d2a4553
opt_dff: refactor simplify_patterns
2025-07-30 21:31:34 +03:00
N. Engelhardt
81f87ce6ed
Revert "Add groups to command reference"
2025-07-23 14:41:49 +00:00
Anhijkt
d9fc6dda9e
typo
2025-07-21 14:42:52 +03:00
Anhijkt
ca8af1f8c8
opt_dff: implement simplify_patterns
2025-07-21 14:15:26 +03:00
Krystine Sherwin
f2ef17b581
cmdref: Assign rmports to greenpak group
...
Also tidy `#include`s.
2025-07-21 10:35:57 +12:00
Akash Levy
3cfbc0d7af
Merge branch 'YosysHQ:main' into main
2025-07-18 09:38:39 -07:00
Martin Povišer
22a44e4333
Start `opt_hier`
2025-07-05 16:45:52 +02:00
Akash Levy
7e9e4c7afe
Merge branch 'YosysHQ:main' into main
2025-06-23 02:30:24 -07:00
George Rennie
8c38e2081d
opt_dff: don't emit cells until all have been visited to prevent UAF
2025-06-06 23:46:07 +01:00
George Rennie
19cdbc5a0c
opt_dff: don't remove cells until all have been visited to prevent UAF
2025-06-04 21:02:21 +01:00
Akash Levy
d520cb42cc
Merge branch 'YosysHQ:main' into main
2025-05-22 10:30:58 -07:00
George Rennie
6331f92d00
Merge pull request #5101 from georgerennie/george/opt_expr_shift_ovfl
...
opt_expr: fix shift optimization with overflowing shift amount
2025-05-22 15:16:19 +01:00
Akash Levy
3c7c004c31
Fix stuff
2025-05-15 15:27:12 -07:00
Akash Levy
1f00bf0057
Bump yosys to latest
2025-05-15 14:44:26 -07:00
Emil J
3823157c25
Merge pull request #5080 from akashlevy/muldiv_c
...
Add `muldiv_c` peepopt
2025-05-15 11:03:25 +02:00
George Rennie
748600c167
small whitespace cleanup ( #5119 )
2025-05-14 15:18:57 +02:00
Akash Levy
1990c1fac5
Reduce pass verbosity
2025-05-13 20:42:47 -07:00
Akash Levy
d6975c1d5f
Fix src attr inheritance in opt_share
2025-05-13 20:05:16 -07:00
George Rennie
0dcd94b6ad
opt_expr: saturate shift amount instead of overflowing for large shifts
2025-05-07 14:41:13 +02:00
Akash Levy
4bd91fbb11
Add `muldiv_c` peepopt pass
2025-04-30 08:06:59 -07:00
Akash Levy
5e0d59ca90
Merge branch 'YosysHQ:main' into main
2025-04-28 18:12:42 -07:00
George Rennie
c952ab417f
opt_expr: only sign extend shift arguments for arithmetic right shift
2025-04-26 12:40:04 +02:00
Akash Levy
9665a76876
Undo bad wreduce change
2025-04-22 03:40:34 -07:00
Akash Levy
5f5ed1b29e
Merge upstream yosys
2025-04-21 17:36:24 -07:00