Commit Graph

5050 Commits

Author SHA1 Message Date
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 e4a3b44e8e Fixed not intentional log_signal removal 2026-05-15 12:34:54 +02:00
Miodrag Milanovic 965a3e67f0 Remove pmgen related users of log_id 2026-05-14 17:28:10 +02:00
Miodrag Milanovic 4a7878b17f Fixing couple more conversion errors 2026-05-14 15:58:58 +02:00
Miodrag Milanovic 58df27ce7c Refactor uses of log_id in pgm files 2026-05-14 12:21:32 +02:00
Miodrag Milanovic c6f53aec5f Fixed log_id instances used with fprintf 2026-05-14 11:28:16 +02:00
Mike Inouye e20a57b09e
Reuse knowledge_t and pass by reference 2026-05-13 10:57:18 -07:00
nella 7d3e56523b Preserve param signedness across overrides. 2026-05-13 16:25:15 +02:00
Iztok Jeras 81219c58b2 documentation: updated description of 'abc' argument '-dont_use' 2026-05-13 11:59:22 +02:00
Miodrag Milanovic 90e019e319 Fix compiling on GCC11 2026-05-13 10:11:36 +02:00
Emil J 2046a23a2f
Merge pull request #5876 from YosysHQ/emil/error-unused-containers
Makefile: error on unused variables, including hashlib containers
2026-05-12 21:53:23 +00:00
Emil J. Tywoniak 3a150f2883 remove unused hashlib containers 2026-05-12 12:52:10 +02:00
Leo Moser fb83719745
memlib: fix documentation for `PORT_<name>_CLK_POL`
Signed-off-by: Leo Moser <leomoser99@gmail.com>
2026-05-09 10:28:07 +02:00
Codexplorer e41b969da2 Refactored uses of log_id() 2026-05-08 20:59:24 -07:00
Emil J 1f02343268
Merge pull request #5817 from YosysHQ/emil/clockgate-reject-sdffe
clockgate: reject $sdffe to fix priority handling
2026-05-08 18:38:51 +00:00
Tianji Liu 3f354eb03b abc: update log for extra read_lib args 2026-05-08 07:17:29 +08:00
Emil J. Tywoniak f4a10a4808 clockgate: reject $sdffe for correct priority handling 2026-05-07 14:41:18 +02:00
Tianji Liu cb6209506e abc: disable scl merge if extra read_lib args provided 2026-05-07 18:45:35 +08:00
Tianji Liu f8a50e7174 Merge commit 'ab316c14d2c3f950eda7672e5c5507bb5219205a' into abc-liberty-args 2026-05-07 18:12:49 +08:00
Lofty ab316c14d2
Merge pull request #5844 from YosysHQ/lofty/abc-refactor-5
abc_new: integration testing via synth_gatemate
2026-05-06 13:40:15 +00:00
Lofty de1dd3b1c5 add aiger2_zbuf to constids 2026-05-06 14:03:07 +01:00
Emil J 73e15f2144
Merge pull request #5851 from YosysHQ/emil/share-remove-force
share: remove -force
2026-05-05 09:06:16 +00:00
Emil J. Tywoniak 7fa660fc60 share: remove -force 2026-05-04 21:34:19 +02:00
bin 5dfe1937a0 Upgrade to WASI SDK 33 and enable exceptions 2026-05-01 13:30:43 -04:00
Ethan Mahintorabi 805c302411
simplemap: Moves $pmux mapping from techmap.v to simple map
This Fixes the slow downs I observed in techmap.v, which we
attempted to fix via the simplify ast.h route originally. This
turned out to be rather complex though.

By moving $pmux to simplemap we can just avoid that code. My
test case now runs in 310s which is 40s faster than the baseline
change.

B:507898959
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2026-04-29 21:20:39 +00:00
nella 92287d4857
Merge pull request #5841 from YosysHQ/nella/fix-liberty
Fix ABC: Merged scl conversion failed, using liberty format warning when using -genlib.
2026-04-28 16:43:25 +00:00
nella d2f7fecef5 Fix liberty cache warning with -genlib. 2026-04-28 15:21:54 +02:00
Lofty 0d3923d086 abc_new: use default script if not specified 2026-04-28 12:33:21 +01:00
Emil J 627b691578
Merge pull request #5831 from stashcroft/main
Make sure co-simulation only uses integer arithmetic
2026-04-27 14:03:58 +00:00
Emil J 30a914167f
Merge pull request #5809 from QuantamHD/pmux_on2
opt: Remove O(n²) opt routines across the codebase for pmux
2026-04-24 19:03:40 +00: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
Scott Ashcroft 23a05fcf35 Add comments to make sure it is clear scale is an exponent of 10 2026-04-23 17:22:14 +01:00
Scott Ashcroft e69341cd5f Make sure co-simulation only uses integer arithmetic 2026-04-23 17:22:14 +01:00
nella d795a4f1d2 Fix WASI, store in temp dir. 2026-04-23 12:43:43 +02:00
nella afac9a28b0 Fix WASI build. 2026-04-23 12:43:43 +02:00
nella 5d4d94a5dd Fix mac compile. 2026-04-23 12:43:43 +02:00
nella 94a215b4f7 Add dont_use_cells to scl cache. 2026-04-23 12:43:43 +02:00
nella edd3ad525e Add scl caching to abc_new. 2026-04-23 12:43:43 +02:00
nella 9143178343 Merge liberty files into stripped scl files. 2026-04-23 12:43:43 +02:00
N. Engelhardt 240f7030b2 xprop: ignore $scopeinfo cells 2026-04-21 10:52:50 +02:00
Emil J. Tywoniak b4c081c70b abc: fix deferred logs 2026-04-17 13:35:47 +02:00
nella 4506dffa9f Fix use after free. 2026-04-13 12:48:05 +02:00
nella fc71719e6e Rename csa_tree to arith_tree. 2026-04-13 12:48:05 +02:00
nella c3c577f333 Fix test cases. 2026-04-13 12:48:05 +02:00
nella 135812ab02 Further CSA cleanup. 2026-04-13 12:48:05 +02:00
nella 847a8941e9 Clang-Format CSA tree. 2026-04-13 12:48:05 +02:00
nella a02c238874 Consolidate Wallace from booth and CSA. 2026-04-13 12:48:05 +02:00
nella 4bbffecf98 Invert. 2026-04-13 12:48:05 +02:00
nella 42c309347b Clarify. 2026-04-13 12:48:05 +02:00
Emil J. Tywoniak b6d656e932 csa_tree: move to techmap 2026-04-13 12:48:05 +02:00
Emil J. Tywoniak b6a8feec22 csa_tree: refactor 2026-04-13 12:48:05 +02:00
nella 67e145618b Replace utf arrow with ascii arrow. 2026-04-13 12:48:05 +02:00
nella 5d90bcc792 CSA add support for macc and alu cells. 2026-04-13 12:48:05 +02:00
nella 335cce4895 Add sub chain support for csa trees. 2026-04-13 12:48:05 +02:00
nella e69914b8be better balancing. 2026-04-13 12:48:05 +02:00
nella 46df888191 impl csa tree. 2026-04-13 12:48:05 +02:00
Lofty 564c617721
Merge pull request #5790 from Eiko-Eira/main
Fixed typos and incorrect grammar
2026-04-11 03:26:55 +00:00
Emil J 86448c0001
Merge pull request #5655 from YosysHQ/emil/dffsr-sr-priority-undef
Undefine set&reset behavior of $dffsr
2026-04-08 14:22:34 +00:00
Emil J. Tywoniak 41b69df2cb abc_new: stable TopoSort 2026-04-06 15:09:52 +02:00
Noah Van Dijk 52243e10fb
Fix typo in pmgen/README.md
Line 161:
calulated > calculated
2026-04-02 10:24:31 -05:00
Emil J cede13a742
Merge pull request #5765 from YosysHQ/emil/muxpack-wide-port
muxpack: fix wide Y port handling
2026-03-31 10:49:39 +00:00
tondapusili 5b22e64d19 sim: cache sigmap in register_output_step_values 2026-03-24 16:10:11 -07:00
Miodrag Milanović 66306a8ca3
Merge pull request #5769 from Silimate/optimize_sim_pass
sim: early return from checkSignals in sim mode
2026-03-23 17:19:26 +00:00
Emil J b44188110b
Merge pull request #5764 from YosysHQ/emil/constmap-error
constmap: error if no -cell set
2026-03-23 15:15:04 +00:00
tondapusili 69219e6be0 sim: early-return from checkSignals in sim mode 2026-03-20 12:32:49 -07:00
Lofty f560cba952
Merge pull request #5757 from YosysHQ/lofty/abc9-refactor-3
abc9: remove -fast [sc-269]
2026-03-19 08:41:45 +00:00
Lofty 27210627e5 abc9: remove -fast 2026-03-19 07:30:23 +00:00
Lofty 8d1d5a25e5
Merge pull request #5760 from YosysHQ/lofty/abc-refactor-2
abc: remove -S [sc-269]
2026-03-19 07:26:54 +00:00
Lofty 05de1c4ae2
Merge pull request #5759 from YosysHQ/lofty/abc9-refactor-4
abc9: remove abc9.if.C [sc-269]
2026-03-19 07:26:37 +00:00
Emil J. Tywoniak 4f4672d17b muxpack: fix wide Y port handling 2026-03-19 00:12:49 +01:00
Emil J. Tywoniak 7aaa0621d3 constmap: error if no -cell set 2026-03-19 00:01:14 +01:00
Emil J 9746bd3897
Merge pull request #5724 from abhinavputhran/fix/setundef-respect-selection
setundef: respect selection for cells, processes, and connections
2026-03-18 22:53:06 +00:00
Lofty f9d930ba5a
Revert "abc: remove -fast [sc-269]" 2026-03-18 17:55:17 +00:00
Lofty e05ed6b850
Merge pull request #5758 from YosysHQ/lofty/abc-refactor-1
abc: remove -fast [sc-269]
2026-03-18 15:09:36 +00:00
Lofty 0b3f103745 abc: remove -S 2026-03-18 14:40:23 +00:00
Lofty 93c762c7c1 abc9: remove abc9.if.C 2026-03-18 14:27:27 +00:00
Lofty 926814f1e4 abc9: cleanup commented code 2026-03-18 14:16:31 +00:00
Lofty 0ea739b7d9 abc: remove -fast 2026-03-18 14:15:42 +00:00
Lofty e78690fc47 abc9_exe: fix typo 2026-03-18 11:44:13 +00: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
Emil J. Tywoniak 498cb79abe async2sync: explain dffsr control signal variable polarity 2026-03-09 20:18:56 +01:00
Emil J. Tywoniak 43ef4d2901 fixup! async2sync: $dffsr has undef output on S&R 2026-03-09 20:12:24 +01:00
abhinavputhran 47c2257f82 setundef: more tests! and wire selection in -init mode 2026-03-08 19:41:31 -04:00
abhinavputhran 5048dac854 setundef: add tests for selection in -zero, -undriven, and -init modes. also made setundef.cc clearer 2026-03-06 18:12:03 -05:00
abhinavputhran 9e666c727f setundef: respect selection in -undriven mode 2026-03-06 10:37:59 -05: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
abhinavputhran 6cd66aed47 setundef: rename process loop variable and respect selection in -init mode 2026-03-05 17:51:01 -05:00
abhinavputhran df283fa1c9 setundef: use selected_processes() per review feedback 2026-03-05 11:22:00 -05:00
abhinavputhran 4e54853e35 setundef: use selected_processes() per review feedback 2026-03-05 11:16:07 -05:00
abhinavputhran 94c789e9c8 setundef: respect selection for cells, processes, and connections
Previously, setundef would rewrite sigspecs in all cells, processes,
and connections regardless of the active selection. Only modules and
memories were correctly filtered by selection.

Fix by using module->selected_cells() for cells, adding a
module->selected() check for processes, and checking wire selection
on the lhs of each connection before rewriting.

Fixes #5624
2026-03-04 17:48:35 -05:00
Emil J 0d7a875675
Merge pull request #5512 from YosysHQ/emil/turbo-celltypes
celltypes: compile-time lookup tables for internal cells
2026-03-04 14:47:57 +00:00
nella 66bd4716cf rtlil use newcelltypes. 2026-03-04 12:39:45 +01:00
Emil J. Tywoniak ecb8b20f62 yosys: use newcelltypes for yosys_celltypes users 2026-03-04 12:39:44 +01:00
Emil J. Tywoniak 4ab22cbb97 abc: use newcelltypes 2026-03-04 12:22:14 +01: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
Miodrag Milanović 05d1d56b9d
Merge pull request #5704 from apullin/apullin/abc9-no-loops-fix
abc9: preserve topological-loop asserts with targeted SCC fallback
2026-03-04 11:09:38 +01:00
Miodrag Milanovic b7d013e6bf Fix help message for equiv passes 2026-03-04 07:46:40 +01:00
Tianji Liu 750d536bba abc: new option to pass ABC read_lib args 2026-03-04 11:24:24 +08:00
Emil J. Tywoniak 6f74c54c02 async2sync: $dffsr has undef output on S&R 2026-03-03 10:34:29 +01:00
Emil J. Tywoniak a53104379d clk2fflogic: $dffsr has undef output on S&R 2026-03-03 10:34:29 +01:00
KrystalDelusion 1d3f9b7905
Merge pull request #5687 from YosysHQ/nella/pdr-doc
Update help text for rename -witness and write_aiger -ywmap
2026-03-02 09:29:25 +13:00
Andrew Pullin 5970be33fb abc9: preserve topological-loop asserts with targeted SCC fallback
A real-world ABC9 flow hit residual combinational loops after SCC breaking, tripping the prep_xaiger loop assertion.

Keep the existing topological assertions in place (prep_xaiger and reintegrate still assert no_loops).

To handle residual non-box loops, add a targeted fallback in prep_xaiger: when loops remain after normal SCC breaking, insert additional $__ABC9_SCC_BREAKER cuts on non-box loop cells, rebuild toposort, and then re-check the existing assertion.

Also keep pre-ABC9 SCC tagging on all cell types (scc -all_cell_types) and add a regression test (tests/techmap/abc9-nonbox-loop-with-box.ys).
2026-02-26 22:30:32 -08:00
Emil J 5f8489d36d
Merge pull request #5666 from YosysHQ/emil/equiv_induct-missing-model-errors
equiv_induct: error on missing model
2026-02-25 15:39:31 +01:00
Gus Smith 366f98ae25 ADd clarification 2026-02-23 11:51:54 -08:00
Gus Smith b454582f54 Detect undriven and error/warn 2026-02-20 11:00:59 -08:00
Gus Smith cdc728b6f0 Suggest use of YW when possible 2026-02-20 09:33:51 -08:00
Miodrag Milanović 0ed7c5ad53
Merge pull request #5620 from YosysHQ/lofty/abc9-verify
abc9: verify post-mapping equivalence by default
2026-02-20 13:41:11 +01:00
Krystine Sherwin 094481739f memory_libmap: Add -force-params
Reduce complexity for adi brams by unconditionally providing the WIDTH and ABITS parameters.
2026-02-20 10:57:00 +00:00
nella 01e89a8f9e Remove cell mentions. 2026-02-18 09:29:35 +01:00
nella 2b4f481850 Cleanup docs. 2026-02-18 09:24:41 +01:00
Emil J. Tywoniak 77f64de997 satgen: move report_missing_model here from equiv.h 2026-02-16 17:01:09 +01:00
Emil J. Tywoniak 81ea922512 sat: use the same cell import warnings as equiv 2026-02-16 16:54:26 +01:00
nella e6e57b33e3 document abc --keep-going pdr [sc-220]. 2026-02-15 09:00:04 +01:00
Gus Smith 8ab105ac28
Merge pull request #4303 from Coloquinte/sat_choice
Infrastructure to run a Sat solver as a command
2026-02-11 06:54:53 -08:00
Emil J fba29ea8f1
Merge pull request #5679 from YosysHQ/emil/abc9-remove-liberty
abc9: remove -liberty
2026-02-11 12:36:29 +01:00
Emil J. Tywoniak 915912cc76 abc9: remove -dont_use 2026-02-11 11:39:09 +01:00
Emil J. Tywoniak c4094e457b abc9: remove -genlib, -constr 2026-02-11 11:34:54 +01:00
Emil J. Tywoniak 5a46106a46 abc9: remove -liberty 2026-02-11 01:04:50 +01:00
Gus Smith 6f6fa49d3c Typo 2026-02-09 09:05:56 -08:00
Gus Smith 1502e23371 Set solver from scratchpad or command line 2026-02-06 19:26:32 -08:00
Gus Smith f062a0c8d6 Typo 2026-02-06 17:26:08 -08:00
Robert O'Callahan 34f8582725
Sanitize ABC global and per-run temporary directory names in logs 2026-02-07 12:12:13 +13: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
Robert O'Callahan 7326bb7d66
Only reuse ABC processes if we're using yosys-abc and it was built with ENABLE_READLINE
(cherry picked from commit 5054fd17d7b70f2df97360bb0f0cc1c92a6ffe72)
2026-02-04 17:19:10 +13:00
Emil J. Tywoniak ed53ff2f49 equiv_simple, equiv_induct: fix config 2026-02-03 18:37:39 +01:00
Emil J. Tywoniak 8d1c1faf82 equiv_simple, equiv_induct: error by default on missing model, add -ignore-unknown-cells 2026-02-03 18:10:29 +01:00
Emil J. Tywoniak 8e73e2a306 sat: add -ignore-unknown-cells instead of -ignore_unknown_cells for consistency 2026-02-03 18:10:29 +01:00
Emil J. Tywoniak 000be270ca equiv_simple, equiv_induct: refactor 2026-02-03 17:54:46 +01:00
Emil J. Tywoniak 3bfeaee8ca opt_expr: fix const lhs of $pow to $shl 2026-02-03 11:59:00 +01:00
KrystalDelusion 414b1b6019
Merge pull request #5651 from rocallahan/abc-error-nonfatal
Handle ABC nonfatal "Error:" messages
2026-02-03 08:55:05 +13:00
Miodrag Milanović ac427a79b0
Merge pull request #5644 from nataliakokoromyti/upstream-linux-perf-unistd
Add unistd header for Linux
2026-01-30 08:17:43 +01:00
Robert O'Callahan 9c56c93632 Add missing newlines to some 'log_error's 2026-01-30 01:52:19 +00:00