3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-16 20:25:43 +00:00
Commit graph

765 commits

Author SHA1 Message Date
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
KrystalDelusion
a647731812
Merge pull request #4677 from YosysHQ/emil/opt_merge-hashing
opt_merge: hashing performance and correctness
2025-03-25 10:36:02 +13:00
Akash Levy
95f489beec Merge nice gzip refactor 2025-03-20 16:47:12 -07:00
KrystalDelusion
b06a661913
Merge pull request #4834 from YosysHQ/emil/gzip-refactor
Memory-efficient zlib usage across Liberty file consumers
2025-03-21 10:01:00 +13:00
Akash Levy
d1f0c38bac
Merge branch 'YosysHQ:main' into main 2025-03-19 19:32:42 -07:00
Emil J
b33787edcb
Merge pull request #4948 from YosysHQ/emil/share-fix-log-again
share: re-add SAT solver cell count to log message
2025-03-19 13:54:17 +01:00
Emil J. Tywoniak
4f3fdc8457 io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
Emil J. Tywoniak
061cf5c6c4 share: re-add SAT solver cell count to log message 2025-03-19 10:27:23 +01:00
Akash Levy
d289e5ef1c
Merge branch 'YosysHQ:main' into main 2025-03-17 10:45:27 -07:00
Akash Levy
a08ab5a67b Add opt_expr's missing mux_ornot and mux_andnot cases (still needs testing) 2025-03-17 04:09:28 -07:00
Akash Levy
4bf3338e1e Muxpack until not possible 2025-03-17 02:29:12 -07:00
Emil J
05cd1e2942
Merge pull request #4904 from YosysHQ/emil/share-limit-effort
share: add -pattern-limit to limit analysis effort
2025-03-15 18:00:42 +01:00
Krystine Sherwin
a3968d43f0
Drop deprecation on Design::selected_modules()
Instead, change the default `Design::selected_modules()` to match the behaviour (i.e. `selected_unboxed_modules_warn()`) because it's a lot of files to touch and they don't really _need_ to be updated.
Also change `Design::selected_whole_modules()` users over to `Design::selected_unboxed_whole_modules()`, except `attrmap` because I'm not convinced it should be ignoring boxes.  So instead, leave the deprecation warning for that one use and come back to the pass another time.
2025-03-14 14:08:56 +13:00
Alain Dargelas
6b6c5c2c19 Actually re-enable pass 2025-03-13 14:48:14 -07:00
Alain Dargelas
68312d046a Fix Yosys test failures 2025-03-13 14:15:13 -07:00
Akash Levy
0a68eb32b3 Disable sub-neg peepopt 2025-03-13 01:55:14 -07:00
Emil J. Tywoniak
6c9857403c share: use share.pattern_limit from scratchpad 2025-03-11 14:57:00 +01:00
Akash Levy
4d4e574ebb
Merge pull request #60 from alaindargelas/peepopt_neg_sub
neg-sub peepopt pass
2025-03-10 15:48:49 -07:00
Alain Dargelas
e1671b45b6 Code review 2025-03-10 14:44:14 -07:00
Akash Levy
3da52326dd Undo muxpack change that causes test failures 2025-03-10 13:50:54 -07:00
Alain Dargelas
6de80bc6b3 neg sub pass 2025-03-10 13:47:06 -07:00
Emil J. Tywoniak
ca9176cd0f share: bail better on too many patterns 2025-03-10 17:55:04 +01:00
Martin Povišer
d8a4991289
Merge pull request #4931 from povik/buf-clean
opt_clean, simplemap: Add `$buf` handling
2025-03-10 15:10:17 +01:00
Emil J. Tywoniak
1d773b50a4 opt_merge: fix dangling pointers in known_cells when keep attribute is used 2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
176faae7c9 opt_merge: fix trivial binary regression 2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
8903740147 opt_merge: switch to unordered_set 2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
ffc057a89c opt_merge: fix the many collisions case 2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
cbb776c626 opt_merge: avoid hashing strings 2025-03-10 13:14:06 +01:00
Akash Levy
706872237f Only muxpack to pmux for size 3 or bigger (size 2 is just a mux) 2025-03-09 22:08:00 -07:00
Akash Levy
86d67b47a4
Merge branch 'YosysHQ:main' into main 2025-03-08 15:11:04 -08:00
Emil J
8bb24badf2
Merge pull request #4895 from YosysHQ/emil/fix-share-portbit-infinite-loop
share: fix infinite loop in find_terminal_bits on $mux loop
2025-03-08 13:14:11 +01:00
Martin Povišer
557047fe1e opt_clean, simplemap: Add $buf handling 2025-03-07 16:08:38 +01:00
Akash Levy
fa97c4830e Generalize muxadd to muxorder 2025-03-06 16:57:47 -08:00
Akash Levy
881080a827 Merge upstream 2025-03-05 07:54:26 -08:00
Akash Levy
fce2f2676d Rename minor things in opt_share 2025-03-05 06:17:41 -08:00
Akash Levy
7c1cb53c85 Packed muxes have src attr for each constituent mux 2025-03-05 06:09:40 -08:00