Commit Graph
17681 Commits
Author SHA1 Message Date
nella bbcbdcec09 Add test. 2026-08-17 12:20:51 +02:00
nella ce0785a01b Limit SAT effort. 2026-08-17 12:20:43 +02:00
nella cd029c0638 Add solve without model. 2026-08-17 12:19:07 +02:00
nella dbe5b7c03f Merge pull request #6118 from Emin017/emin/key-abc-scl-cache
liberty_cache: key SCL cache on ABC executable mtime and size
2026-08-15 20:08:27 +00:00
Emin b564fa2e71 liberty_cache: key SCL cache on ABC executable mtime and size
The SCL format is written/read by ABC and can change between ABC builds,
so a cache entry created with a different ABC binary must not be reused.
2026-08-15 23:16:31 +04:00
Nick Allison f77ddfb875 Merge pull request #6114 from YosysHQ/nick/fix-6085
cmp2lut techmap fix + re-adding tests
2026-08-14 19:57:43 +00:00
nick bd90d0e83a cmp2lut techmap fix 2026-08-14 10:17:30 -06:00
nick b57ffad7d0 Adding test to demonstrate techmap failure with lut_cmp 2026-08-14 10:08:40 -06:00
Catherine 81b04d3029 Merge pull request #6119 from Wren6991/fix-cxxrtl-looprotate
CXXRTL: workaround LLVM regression in LoopRotatePass (fixes #4419)
2026-08-14 15:05:07 +00:00
Luke Wren 2b96cc5d38 CXXRTL: workaround LLVM regression in LoopRotatePass (fixes #4419)
Problem: LoopRotatePass applies a transformation to each loop which
has O(function size) cost due to invalidating some bookkeeping. CXXRTL
output is one huge function with thousands of loops. Most of these loops
are 1-trip but that doesn't help because loop elimination is after loop
rotation.

Fix is to add an `if` (with constexpr condition) for the common 1-word
case, to cause the loop to be DCE'd long before LoopRotatePass. This
does not seem to affect performance (at -O2) but reduces compile time
for Hazard by around 7.5x. Do this for the worst offenders: trunc, zext,
sext, rtrunc, rzext, which are used everywhere in slice and concat.

Arguably an upstream LLVM bug but it has been present since v18 at
least, so affects a lot of users.
2026-08-14 14:25:30 +01:00
nella b8959e70ba Merge pull request #6072 from YosysHQ/nella/dlatchlibmap-cleanup
Update to `dfflibmap` to be able to map LATCHes (clean up of #5976)
2026-08-13 08:38:19 +00:00
Emil J edbc62a44e Merge pull request #6107 from YosysHQ/emil/opt_clean-no-unused_bits
opt_clean: move unused_bits analysis out
2026-08-12 14:58:48 +00:00
Miodrag Milanović 7011770a1b Merge pull request #6112 from YosysHQ/mmicko/update_abc
Update ABC as per 2026-08-12
2026-08-12 12:26:16 +00:00
Miodrag Milanović ce574abb7c Merge pull request #6111 from YosysHQ/mmicko/update_svelab
Update slang and sv-elab (2026-08-12)
2026-08-12 11:41:53 +00:00
Miodrag Milanovic d276eda227 Update ABC as per 2026-08-12 2026-08-12 13:24:07 +02:00
Miodrag Milanovic dc6ac344b7 Update slang and sv-elab to latest 2026-08-12 13:13:30 +02:00
nella 2939d04884 Merge pull request #6109 from YosysHQ/nella/count-ports-as-consumers
gatemate_foldinv: count module output ports as consumers [sc-737]
2026-08-12 10:10:47 +00:00
Emil J. Tywoniak 0253911ee2 opt_clean: move unused_bits analysis to kernel/unused_bits.h 2026-08-12 11:42:50 +02:00
nella 7f5b7aacb9 Count module output ports as consumers. 2026-08-12 10:00:30 +02:00
nella bf86dd7faf Merge pull request #6105 from YosysHQ/nella/fix-6089
opt_muxtree: fix replace_known misindexing on constant S bits
2026-08-11 07:43:35 +00:00
nella b19d906075 Fix replace_known misindexing on constant S bits. 2026-08-11 07:07:33 +02:00
Catherine ff5817c34d Merge pull request #6102 from donn/homebrew_off
cmake: use homebrew from PATH
2026-08-10 20:16:55 +00:00
Mohamed Gaber f5f930e186 cmake: use homebrew from PATH
The current version of UseHomebrew defaults to /opt/homebrew/Cellar and prioritizes it over anything currently existing in PATH. This has two issues:

- On x86_64 installations of Homebrew (including when emulating on ARM), the path is /usr/local/Cellar
- When building in a `nix develop` environment, the homebrew versions take priority, complicating testing

This addresses this issue by using the output of `brew --prefix`, doing nothing if brew is not in `PATH`.

Additionally, CMakeLists.txt was updated such that if YOSYS_ENABLE_HOMEBREW is defined as OFF, using Homebrew is skipped entirely.
2026-08-10 22:55:57 +03:00
Lofty fd6367405e Merge pull request #6077 from YosysHQ/lofty/abc-refactor-8
abc_ops_reintegrate: xaiger2 compatibility
2026-08-10 13:14:40 +00:00
Loftyandnella d1357f171f fix handling of multiple modules
Co-authored-by: nella <[email protected]>
2026-08-10 10:17:31 +01:00
nella a03e5ec2ca Style fixups. 2026-08-10 10:59:03 +02:00
nellaandIztok Jeras 9050446798 Add latch tests, extend dff tests.
Co-authored-by: Iztok Jeras <[email protected]>
2026-08-10 10:59:03 +02:00
nellaandIztok Jeras e75e42c5d7 Pick first cell of smallest area.
Co-authored-by: Iztok Jeras <[email protected]>
2026-08-10 10:59:03 +02:00
nellaandIztok Jeras 011c3fc8c3 Add latch mapping.
Co-authored-by: Iztok Jeras <[email protected]>
2026-08-10 10:59:03 +02:00
nellaandIztok Jeras c590157cd3 Deduplicate FF cell finders.
Co-authored-by: Iztok Jeras <[email protected]>
2026-08-10 10:59:03 +02:00
nella 0f2bcb94b7 Merge pull request #6096 from YosysHQ/nella/opt-muxtree-fix-self-conflict
opt_muxtree: fix OOB read on self-conflicting mux Y port
2026-08-07 12:47:38 +00:00
nella 9c144d59aa Fix OOB read. 2026-08-07 14:29:14 +02:00
Miodrag Milanović 95aaed113a Merge pull request #6095 from YosysHQ/micko/verific_std
verific: Added sv2023 support, and cleanup
2026-08-07 07:47:38 +00:00
Miodrag Milanovic 92bdbafe82 verific: Added sv2023 support, and cleanup 2026-08-07 08:41:55 +02:00
Catherine 17d51a3307 Merge pull request #6093 from YosysHQ/cat/missing-deps
CMake: add missing dependency edges for `synth_*` passes
2026-08-06 15:25:13 +00:00
Catherine 1277640bdf CMake: add missing dependency edges for synth_* passes. 2026-08-06 14:48:56 +00:00
Miodrag Milanović 25b06f428e Merge pull request #6087 from YosysHQ/cat/windows-utf8
Accept UTF-8 filenames and terminal I/O on Windows.
2026-08-06 12:28:04 +00:00
Catherine 9020fc2ffe Accept UTF-8 filenames and terminal I/O on Windows. 2026-08-06 12:06:07 +00:00
nella f21b2d2ee8 Merge pull request #6092 from YosysHQ/nella/opt-balance-detect-cycles
opt_balance_tree: don't hang on combinational loops [sc-734]
2026-08-06 09:25:17 +00:00
nella e20909bb3b Collect chains via TopoSort. 2026-08-06 11:10:12 +02:00
nella c5d47334f4 Use toposort. 2026-08-06 10:51:49 +02:00
nella 7bbb69872c Add regression tests. 2026-08-06 09:14:44 +02:00
nella 3c536a06b7 Detect graph cycles and skip them. 2026-08-06 09:14:37 +02:00
Emil J 72ce1b63d7 Merge pull request #6090 from YosysHQ/emil/hierarchy-fix-keep-cache-again
hierarchy: fix keep cache usage by caching false too 2
2026-08-05 21:54:55 +00:00
Emil J. Tywoniak 253388a87f hierarchy: fix cache usage by caching false too 2 2026-08-05 23:32:37 +02:00
Catherine c2071b80ed Merge pull request #6088 from YosysHQ/revert-slop
Revert slop being committed in `main`
2026-08-05 20:36:45 +00:00
Catherine f26ef15b2a Revert "hierarchy: regression test for keep cache"
This reverts commit a27378cff8.
2026-08-05 16:52:59 +00:00
Catherine b89dc992e5 Revert "hierarchy: fix cache usage by caching false too"
This reverts commit ae14b5e6a8.
2026-08-05 16:52:14 +00:00
nella 1410a14345 Merge pull request #6030 from YosysHQ/nella/eqbits-perf-enhancements
opt_dff: add SAT effort limits
2026-08-05 11:15:00 +00:00
nella f2cf07584d Improve test coverage. 2026-08-05 12:57:56 +02:00