3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 03:35:40 +00:00
Commit graph

19016 commits

Author SHA1 Message Date
Mohamed Gaber
e58125b605
Merge remote-tracking branch 'upstream/main' into silimate 2026-06-09 16:22:51 +03:00
Miodrag Milanović
d7093743b8
Merge pull request #5932 from YosysHQ/cmake_fixes
Populate link_flags in yosys-config
2026-06-04 11:10:02 +00:00
Miodrag Milanović
7261c2b444
Merge pull request #5927 from YosysHQ/docs-preview-cmake
Update docs for CMake
2026-06-04 10:51:45 +00:00
Miodrag Milanovic
58f44a1c1b Fix compile with VisualStudio 2026-06-04 12:25:41 +02:00
Krystine Sherwin
72f5836fb1
docs: Resolving todos
Make explicit the location for the `CMakeUserPresets.json` file.
Update docs tests documentation.
Move `BUILD_DIR` and `PROGRAM_PREFIX` comments into the functional tests todo.
Add cmake to MacPorts/FreeBSD install instructions.
Add ccache to example `CMakeUserPresets.json` (it isn't otherwise documented, and is no longer as obvious without an `ENABLE_CCACHE` makevar).

Addressing comments
2026-06-04 20:35:52 +12:00
Krystine Sherwin
e1931596ae
CMake: Add wrapper for test-docs
Also skip calling `tail` on stubnets log outputs.

Fix auxprog prefixes

i.e. if we've set `YOSYS_PROGRAM_PREFIX=why`, we shouldn't be trying to call `build/yosys` when building docs (because if we've done a clean build it doesn't exist).
I suspect this also affects tests, but I was working on docs when I noticed it.
2026-06-04 20:35:51 +12:00
Krystine Sherwin
2889c73338
Tidy up install instructions
Fill out sentences, move things around a little, switch from recommending `Configuration.cmake` to `CMakeUserPresets.json`.
2026-06-04 20:34:52 +12:00
Krystine Sherwin
042dbe593d
docs: Remove build dir from tool help
Pipes the help through sed for the tools that include the path.  Also means we can drop the `|| true` from abc, since we're now reading the sed return instead.
2026-06-04 20:34:52 +12:00
Krystine Sherwin
7c24b69e62
register.cc: Make cmd paths proximate
The CMake refactor changes relative paths to absolute when calling `source_location::current()`.  Use the path to `register.cc` to find the root yosys dir, and use that as the base for other paths.
Includes provisions for when plugins have a valid location; if it's not in the yosys source tree we shouldn't try to make the path relative, and we shouldn't try to auto group by path (since such groups will never be allocated, leaving them as unknown is preferable).
Limited to non wasm (I think that's the only one where we can't (easily) use `<filesystem>`). But where we do use `<filesystem>` we can also simplify the auto group to use `fs::path::parent_path()`.
2026-06-04 20:34:52 +12:00
Krystine Sherwin
1bef426124
docs: Run stubnets with docs tests 2026-06-04 20:34:51 +12:00
Krystine Sherwin
776995c74d
WIP docs 2026-06-04 20:34:51 +12:00
Miodrag Milanovic
81bf182a4d Populate link_flags in yosys-config 2026-06-04 10:15:47 +02: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 Milanović
78e05dfb00
Merge pull request #5894 from YosysHQ/gcc_16
Bump CI to gcc-16 and fix warnings
2026-06-03 12:07:45 +00:00
Emil J
136d80e3d7
Merge pull request #5918 from mikesinouye/keywords
verilog backend: runtime optimization for keyword pool
2026-06-03 11:26:20 +00:00
Miodrag Milanovic
4124649b1b Bump CI to use gcc-16 as latest compiler 2026-06-03 13:09:38 +02:00
Miodrag Milanovic
a599999d1f Fixed warnings found by gcc-16 2026-06-03 13:09:38 +02:00
Miodrag Milanović
337df7fc75
Merge pull request #5895 from YosysHQ/cat/cmake
Migrate build system to CMake
2026-06-03 09:31:46 +00: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
780588f28c Drop YOSYS_ENABLE_HELP_SOURCE since C++20 is required. 2026-06-03 08:58:11 +00:00
Catherine
0d15cb55bf Fix Windows portability issues that break MSVC build. 2026-06-03 08:58:11 +00:00
Miodrag Milanovic
ce280354cf Update CI scripts for CMake
Co-authored-by: Catherine <whitequark@whitequark.org>
2026-06-03 08:58:11 +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
Akash Levy
3cfe3ead82
Merge pull request #181 from Silimate/annotate_ff_width
[ENG-2097] Small fix for annotate_ff_width
2026-06-02 17:45:33 -07: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
Catherine
bcc736ed7d Revert "Putting back some Makefile.conf"
This reverts commit d8587f44f0.
2026-06-02 15:01:50 +00:00
Akash Levy
6a5aecf84a
Merge pull request #180 from Silimate/opt_argmax
opt_argmax pass
2026-06-02 04:25:16 -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
nella
8125af88d6
Merge pull request #5921 from phsauter/peepopt-shiftpow2
peepopt: add shiftpow2 pattern
2026-06-02 08:07:03 +00: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
4f57472783
Merge pull request #176 from Silimate/annotate_ff_width
[ENG-2090] Added annotate_ff_width pass + modifications for support in clockgate
2026-06-02 00:55:38 -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
Miodrag Milanović
7d3819c6bb
Merge pull request #5923 from YosysHQ/release/v0.66
Release version 0.66
2026-06-01 16:58:38 +00:00
Miodrag Milanovic
8bb194af22 Next dev cycle 2026-06-01 18:23:28 +02:00
Miodrag Milanovic
86f2ddebce Release version 0.66 2026-06-01 17:01:26 +02:00
Miodrag Milanović
2105caa844
Merge pull request #5922 from YosysHQ/wheels_fix
Fix wheels
2026-06-01 09:19:13 +00:00
Miodrag Milanovic
904151acd8 Fix wheels 2026-06-01 09:59:04 +02: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