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
Jannis Harder
4b273a4ae9
share: Cleanup and additional testing
...
Fixes a typo and adds another test case that triggers the fallback
behavior as the existing tests all trigger the new optimization.
2025-04-15 12:34:46 +02:00
Jannis Harder
7593b5b224
share: Only print optimized activation patterns when different
...
This removes redundant information from the log and makes it easier to
spot where the new optimization had an effect.
2025-04-15 12:34:46 +02:00
Jannis Harder
27ed77ea24
share: Keep filtered activation patterns for the supercell
...
The previous commit introduced code that optimizes the activation
patterns to be able to generate smaller activation logic. The resulting
supercell was then enqueued as shareable using those optimized
activation patterns. The condition represented by the optimized patterns
is an over-approximation of the actual activiation condition. This means
using it as activiation for the supercell loses precision and pessimises
sharing of the supercell with further cells, breaking the sat/share
test.
This commit fixes that by using the optimized activiation patterns only
for the generation of activation logic and using the original patterns
for enqueuing the supercell.
2025-04-15 12:34:46 +02:00
Jannis Harder
6dff9e7787
share: Restrict activation patterns to potentially relevant signals
...
In case the two sets of activation patterns are mutually exclusive
without considering the logic feeding into the activation signals, an
activation condition can only be relevant if present in both sets with
opposite polarity.
This detects pattern-only mutual exclusion by running an additional SAT
query before importing the input cone logic. If that is already UNSAT,
we remove all non-relevant condition and re-simplify the remaining
patterns.
In cases of pattern-only mutual exclusion, this will often produce much
smaller selection logic and avoid the more costly SAT query that
includes the input cones.
2025-04-15 12:34:46 +02:00
Martin Povišer
38beae1e06
Merge pull request #4946 from povik/cost-cc-enhance
...
cost: Add `$mem_v2`, `$macc_v2` estimates
2025-04-14 11:08:59 +02:00
Akash Levy
e241c9d513
Merge branch 'YosysHQ:main' into main
2025-04-10 14:28:10 -07:00
Krystine Sherwin
cd3b914132
Reinstate #4768
...
Revert the reversion so that we can fix the bugs that the PR missed.
2025-04-08 11:58:05 +12:00
Akash Levy
c0a6985adb
Merge branch 'YosysHQ:main' into main
2025-04-07 14:48:16 -07:00
Akash Levy
de375d6542
Accommodate reversion and fix wreduce naming
2025-04-07 07:35:39 -07:00
Akash Levy
06c614a010
Merge branch 'YosysHQ:main' into main
2025-04-07 07:28:06 -07:00
Miodrag Milanović
d49364d96f
Revert "Refactor full_selection"
2025-04-07 12:11:55 +02:00
Akash Levy
0dab4308a3
Actual merge here
2025-04-06 18:53:43 -07:00
KrystalDelusion
98d4355b82
Merge pull request #4768 from YosysHQ/krys/refactor_selections
...
Refactor full_selection
2025-04-05 14:15:27 +13:00
Akash Levy
276800c39b
wreduce shifter signedness fix
2025-04-04 14:27:38 -07:00
Krystine Sherwin
406b400458
opt_expr: Fix #4590
...
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.
This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes. It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
Akash Levy
439d859bba
Merge branch 'YosysHQ:main' into main
2025-04-03 10:48:42 -07:00
Anhijkt
6b5507139e
opt_expr: requsted changes
2025-04-01 20:37:22 +03:00
Akash Levy
3f00e57076
Improve the naming for opt_reduce
2025-03-31 01:22:42 -07:00
Anhijkt
83b095ab6c
opt_expr: optimize pow of 2 cells
2025-03-30 15:43:41 +03:00
Akash Levy
3d13f7aae2
Bump to latest
2025-03-26 14:56:10 -07:00