3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-06-22 00:30:27 +00:00
Commit graph

773 commits

Author SHA1 Message Date
nella
74b4afeaa1
Merge 46cbeab720 into 5d7486115a 2026-06-19 04:27:29 +00:00
nella
46cbeab720 Add effort limit. 2026-06-18 11:58:01 +02:00
nella
75a30a22d6 Cleanup bitsim, document hypo. 2026-06-18 11:43:13 +02:00
nella
25810193ab Reuse sat/hashlib. 2026-06-18 10:57:20 +02:00
Emil J. Tywoniak
6032b064e2 opt_muxtree: optimize for single driver, error on multiple drivers 2026-06-15 15:08:26 +02:00
Miodrag Milanovic
a599999d1f Fixed warnings found by gcc-16 2026-06-03 13:09:38 +02:00
Catherine
a727e7f6e7 Migrate build system to CMake
See #5895 for details.

This commit does not include CI or documentation changes.
2026-06-03 08:58:10 +00:00
Philippe Sauter
c89cfe1e6e peepopt: add shiftpow2 pattern
Rewrite power-of-two indexed word selects to $bmux when the shift
amount already carries the scale as low zero bits.

Keep the rule to non-overlapping selections and bound the generated
mux ways. Add regressions for aligned shifts, padding, signed
extension, and shiftmul handoff cases.
2026-05-31 02:01:32 +02:00
KrystalDelusion
4230ebff71
Merge pull request #5912 from YosysHQ/krys/opt_clean_docs
opt_clean: Set group for docs gen
2026-05-28 08:35:52 +00:00
Krystine Sherwin
680bb69d85
opt_clean: Set group for docs gen 2026-05-28 14:50:11 +12:00
nella
68df0be7d2 Remove eqbits flag. 2026-05-25 14:16:55 +02:00
nella
386e63ae20 Add prepass for bit simulation. 2026-05-25 12:49:29 +02:00
nella
bbec8d2902 Gate behind flag. 2026-05-20 16:44:52 +02:00
nella
c6bf13bb94 Implement worklist and SAT counterexample splitting. 2026-05-20 16:44:52 +02:00
nella
d85e3f10de Add tests. 2026-05-20 16:44:52 +02:00
nella
f69a5fc077 Elim equiv bits. 2026-05-20 16:44:52 +02:00
Emil J
e87a9bd9a7
Merge pull request #5888 from mikesinouye/pmux
opt_muxtree: reuse knowledge_t and pass by reference
2026-05-15 16:21:33 +00:00
Miodrag Milanović
36eceed720
Merge pull request #5862 from codexplorer-fish/cleaning-up-log-id
Cleaning up log_id()
2026-05-15 11:07:43 +00:00
Miodrag Milanovic
58df27ce7c Refactor uses of log_id in pgm files 2026-05-14 12:21:32 +02:00
Mike Inouye
e20a57b09e
Reuse knowledge_t and pass by reference 2026-05-13 10:57:18 -07:00
Emil J. Tywoniak
3a150f2883 remove unused hashlib containers 2026-05-12 12:52:10 +02:00
Codexplorer
e41b969da2 Refactored uses of log_id() 2026-05-08 20:59:24 -07:00
Emil J. Tywoniak
7fa660fc60 share: remove -force 2026-05-04 21:34:19 +02:00
Emil J. Tywoniak
e0b833ac1a opt_muxtree: dense knowledge 2026-04-24 11:07:58 +02:00
Emil J. Tywoniak
4abaca273e opt_reduce: further optimization 2026-04-24 11:07:58 +02:00
Emil J. Tywoniak
4f4672d17b muxpack: fix wide Y port handling 2026-03-19 00:12:49 +01:00
Emil J
c8f715fed8
Merge pull request #5664 from rocallahan/parallel-opt-clean
Parallelize `opt_clean` pass
2026-03-16 09:52:34 +00:00
Miodrag Milanovic
52533b0d1c Update opt_lut_ins and stat for analogdevices and remove ecp5 2026-03-06 09:10:36 +01:00
Robert O'Callahan
9c51ba1b09 Reduce opt_clean parallelism 2026-03-06 02:20:16 +00:00
Robert O'Callahan
8d8c05b338 Fix OptCleanPass usage of CleanRunContext to avoid constructing extra KeepCache and ParallelDispatchThreadPool 2026-03-06 02:20:16 +00:00
Robert O'Callahan
32f5044eaf Clarify "Not passing module as function argument" comment
This correct in terms of intent, it's just not fully enforced due to const laundering.
2026-03-06 02:20:16 +00:00
Emil J. Tywoniak
70cc2d67fd opt_clean: refactor 2026-03-06 02:20:14 +00:00
Robert O'Callahan
3603cd52a0 Pass the module Subpool to rmunused_module_signals and parallelize that function 2026-03-06 02:20:08 +00:00
Robert O'Callahan
19a7c8fcf3 Pass the module Subpool to rmunused_module_cells and parallelize that function 2026-03-06 02:20:08 +00:00
Robert O'Callahan
8e044d1045 Pass the module Subpool to rmunused_module_init and parallelize that function 2026-03-06 02:20:06 +00:00
Robert O'Callahan
a7437c636d Pass the toplevel thread pool to rmunused_module, create a Subpool, and parallelize remove_temporary_cells 2026-03-06 02:05:46 +00:00
Robert O'Callahan
887c32cb54 Create a toplevel ParallelDispatchThreadPool and parallelize keep_cache_t::scan_module() with it 2026-03-06 02:05:46 +00:00
Robert O'Callahan
72a21fe01d Introduce RmStats struct to encapsulate removal statistics
Turns out this is not strictly necessary for this PR but it's
still a good thing to do and makes it clearer that the stats
are not modified in a possibly racy way.
2026-03-06 02:05:43 +00:00
Robert O'Callahan
c2bb7d6a82 Make keep_cache_t process all modules up-front instead of on-demand
We will want to query `keep_cache` from parallel threads. If we compute
the results on-demand, that means we need synchronization for cache
access in those queries, which adds complexity and overhead. Instead, prefill
the cache with the status of all relevant modules. Note that this doesn't
actually do more work --- we always consult `keep_cache` for all cells of
all selected modules, so scanning all those cells and determining the kept
status of all dependency modules is always required.

Later in this PR we're going to parallelize `scan_module` itself, and that's also
much easier to do when no other parallel threads are running.
2026-03-06 02:05:04 +00:00
Emil J. Tywoniak
07ec8708e4 share: use newcelltypes 2026-03-04 12:22:14 +01:00
Emil J. Tywoniak
9e59f05c25 newcelltypes: wrap design celltypes support 2026-03-04 12:22:14 +01:00
Emil J. Tywoniak
35ccaa60d7 newcelltypes: TurboCellTypes -> StaticCellTypes 2026-03-04 12:22:14 +01:00
Emil J. Tywoniak
6adc08b0e5 opt_expr: use newcelltypes 2026-03-04 12:22:14 +01:00
Emil J. Tywoniak
3671d577a0 opt_clean: use newcelltypes 2026-03-04 12:22:14 +01:00
Emil J
1717fa0180
Merge pull request #5663 from YosysHQ/emil/opt_expr-fix-pow-shift
opt_expr: fix const lhs of $pow to $shl
2026-02-05 13:09:01 +01:00
Emil J
8bbde80e02
Merge pull request #5631 from rocallahan/cleanup-compare-signals
Clean up `compare_signals()` in `opt_clean`
2026-02-04 17:45:05 +01:00
Emil J
992e64342c
Merge pull request #5621 from rocallahan/remove-opt-sort
Remove `Design::sort()` calls from optimization passes
2026-02-04 16:55:56 +01:00
Emil J. Tywoniak
3bfeaee8ca opt_expr: fix const lhs of $pow to $shl 2026-02-03 11:59:00 +01:00
nella
8f6c4d40e4
Merge pull request #5623 from YosysHQ/nella/opt-dff-rewrite
opt_dff restructure.
2026-01-28 14:41:40 +01:00
nella
9367090763 OptDff more accurate ctrl/pattern desc. 2026-01-26 22:19:36 +01:00