3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-18 21:25:47 +00:00
Commit graph

5810 commits

Author SHA1 Message Date
Mohamed Gaber
bd7c32f8a6
CMake: Linux fixes + Merge fallout fix 2026-06-16 19:32:45 +03:00
Mohamed Gaber
1d94aa6965
misc: fix unused variable in new main branch merge 2026-06-16 02:14:27 +03:00
Mohamed Gaber
569ab1231b
Merge remote-tracking branch 'silimate/main' into update_from_upstream 2026-06-16 02:02:41 +03:00
Akash Levy
23b021a26b Fix opt_compact_prefix wide packs and opt_priority_onehot max-width test
The tests/silimate suite (which aborted the Run tests CI job) exposed two
issues in the generalized passes:

- opt_compact_prefix: the forward dense pack regressions at 64 and 128 bits
  no longer rewrote. The ConstEval fingerprint was uint64_t-based (capped at
  62 bits) and the per-cone cell cap (max_width*96) was below the O(width^2)
  cell count of a wide pack. The fingerprint now drives whole-width Const
  bit patterns (no width cap) and the cone cap scales quadratically; total
  work stays bounded by the shared walk/eval budgets.

- opt_priority_onehot: the "max-width below lane count" negative test set
  max_width=8 on a 16-lane design expecting no rewrite, but the generalized
  matcher legitimately (and equivalence-provably) rewrites the 8-lane
  sub-region. The test now uses max_width=3 (below min_width 4) to verify
  the width gate suppresses all matching.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 12:02:09 -07:00
Akash Levy
1cc985314a Cleanup 2026-06-15 09:09:27 -07:00
Akash Levy
83baed6731 Generalize and refactor opt_* passes of Silimate 2026-06-12 16:31:41 -07:00
Mohamed Gaber
0217efb67d
Merge remote-tracking branch 'silimate/main' into update_from_upstream 2026-06-10 20:33:33 +03:00
Mohamed Gaber
d986ee91ac
CMake: integrate silimate additions and extensions
- update CMakeLists.txt to load two new files:
  - SilimateConfig.cmake: sets Silimate configuration options and defaults
  - SilimateVerific.cmake: compiles Verific library, optionally with Silimate modifications
- include silimate tests in test Makefile
2026-06-10 20:27:52 +03:00
Akash Levy
3743c4795a opt_priority_onehot 2026-06-09 22:18:20 -07:00
Akash Levy
faea2d904a Make opt_compact_prefix match more 2026-06-09 10:55:10 -07:00
Mohamed Gaber
e58125b605
Merge remote-tracking branch 'upstream/main' into silimate 2026-06-09 16:22:51 +03:00
Akash Levy
b60d2daa41
Merge pull request #183 from Silimate/opt_argmax_fix1
opt_argmax fixes
2026-06-09 02:54:05 -07:00
Akash Levy
4a35c0ab87 opt_argmax fixes 2026-06-09 01:57:11 -07:00
Akash Levy
30c510041a Fix opt_compact_prefix up 2026-06-09 00:34:13 -07:00
Akash Levy
28455c01e4 Support cell_footprint as indicator of stdcell 2026-06-04 00:40:38 -07:00
Miodrag Milanović
693d5a7eb0
Merge pull request #5903 from YosysHQ/krys/verific_memsize
verific: Fix non-contiguous memory flattening producing out of bounds accesses in some cases
2026-06-04 05:43:04 +00:00
Miodrag Milanovic
a599999d1f Fixed warnings found by gcc-16 2026-06-03 13:09:38 +02:00
Catherine
afc0e78d11 Update top-level Python project for CMake compatibility.
This commit reimplements the (no longer recommended) setuptools based
build system using a standards-based in-tree PEP517 build backend.
The implementation is partially based on
  https://codeberg.org/ziglang/zig-pypi/src/branch/main/make_wheels.py
which is licensed under BSD-0-clause.

It also adds a new option `YOSYS_BUILD_PYTHON_ONLY` that is available
only if the binary or the library aren't going to be installed, which
turns off these targets entirely, as well as some dependent ones
(e.g. tests).

Co-authored-by: Mohamed Gaber <me@donn.website>
2026-06-03 09:03:23 +00: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
Stan Lee
09b2bdfb27 better comment 2026-06-02 15:45:52 -07:00
Stan Lee
96ee0f6ec5 Merge branch 'main' of github.com:silimate/yosys into annotate_ff_width 2026-06-02 15:20:18 -07:00
Stan Lee
6b7e5e2685 update annotate_ff_width pass 2026-06-02 15:17:55 -07:00
Akash Levy
b3ea5770cd opt_argmax pass 2026-06-02 04:11:17 -07:00
Akash Levy
c7b2c16405
Merge pull request #179 from Silimate/opt_compact_prefix
Add opt_compact_prefix pass
2026-06-02 02:14:37 -07:00
Akash Levy
24b75b65db Fix UB issue 2026-06-02 01:18:29 -07:00
Akash Levy
950cdf925c
Update passes/silimate/opt_compact_prefix.cc
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-06-02 01:15:18 -07:00
Akash Levy
e03c54c695
Merge pull request #178 from Silimate/opt_balance_tree_improve1
Improvement to opt_balance_tree
2026-06-02 01:03:20 -07:00
Akash Levy
a730032f5f Add opt_compact_prefix pass 2026-06-01 23:00:33 -07:00
Stan Lee
3d8f4999d6 selected cells and modules 2026-06-01 19:20:47 -07:00
Akash Levy
0c3446e8af Fixups for Greptile 2026-06-01 19:03:52 -07:00
Akash Levy
9cc69a3c49 Improvement to opt_balance_tree 2026-06-01 17:56:44 -07:00
Stan Lee
1b707c61f7 necessary clock gate pass modifications 2026-06-01 17:19:23 -07:00
Stan Lee
483b1536d7 update pass 2026-06-01 17:10:18 -07:00
Stan Lee
e3134c6692 annotate_ff_width pass 2026-06-01 16:35:30 -07: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
Krystine Sherwin
f6327cc444
check_mem: Add -non-const option
Can identify potentially dangerous addressing, but also prone to false-positives.
2026-05-29 18:40:24 +12:00
Krystine Sherwin
07e3d648aa
Add check_mem command
Comes with a set of tests which (currently) pass with `read_verilog` but fail with `verific` based on #5878.
Add `--check-sv`, an alternative to `--prove-sv` with generator defined yosys commands.  Helpful for when you want to run the same set of commands on a bunch of sv files.
2026-05-29 18:40:23 +12:00
Akash Levy
d1ec970f86
Merge pull request #174 from Silimate/feat/fst_reuse
[ENG-2072] Rename reg_rename pass argument from -vcd to -waveform
2026-05-28 11:46:15 -07: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
Stan Lee
3d21f58f24 update comment 2026-05-28 01:22:59 -07:00
Stan Lee
e9873f822e bug fix 2026-05-27 23:47:38 -07:00
Krystine Sherwin
680bb69d85
opt_clean: Set group for docs gen 2026-05-28 14:50:11 +12:00
Chia-Hsiang Chang
9dc44b19b2 chore: rename argument name from --vcd to --waveform 2026-05-27 13:03:55 -07:00
Akash Levy
6a8d800e63 Fixes for filtering small cases and catching more larger ones with trickier signatures 2026-05-27 03:40:44 -07:00
Akash Levy
69edb27ab3 muxpack fix 2026-05-27 03:07:24 -07:00
Akash Levy
5c3fbd2d63 Merge branch 'main' into opt_addcin 2026-05-27 01:52:11 -07:00
Akash Levy
89717069fe Fixup 2026-05-27 01:51:54 -07:00
Akash Levy
d3c5591647
Merge pull request #171 from Silimate/infer_icg
infer_icg pass
2026-05-27 01:06:40 -07:00
Akash Levy
7ea578a212
Merge pull request #170 from Silimate/ffnormpol
ffnormpol pass
2026-05-27 01:05:05 -07:00
Akash Levy
46a697e608
Merge pull request #169 from Silimate/opt_andor_pmux
opt_andor_pmux pass
2026-05-27 01:03:58 -07:00