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

17228 commits

Author SHA1 Message Date
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
Catherine
bcc736ed7d Revert "Putting back some Makefile.conf"
This reverts commit d8587f44f0.
2026-06-02 15:01:50 +00:00
nella
8125af88d6
Merge pull request #5921 from phsauter/peepopt-shiftpow2
peepopt: add shiftpow2 pattern
2026-06-02 08:07:03 +00: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
Krystine Sherwin
0360a4bd0a
tests/check_mem: Drop unused init check
It was also raising an error in `read_verilog`.
2026-05-30 11:06:11 +12:00
Mike Inouye
a14650d07b verilog backend: runtime optimization for keyword pool
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2026-05-29 17:53:31 +00:00
Miodrag Milanović
e56c6a954c
Merge pull request #5915 from YosysHQ/emil/auto-lifetime-hotfix-nosync
genrtlil: don't avoid emitting flops for nosync
2026-05-29 14:08:45 +00:00
Miodrag Milanović
b85777a6e6
Merge pull request #5914 from pu-cc/gatemate-scopename
gatemate: add option to create 'scopename' attributes when flattening netlist
2026-05-29 10:31:04 +00:00
Emil J. Tywoniak
80bdbaa010 genrtlil: don't avoid emitting flops for nosync 2026-05-29 11:37:08 +02:00
Krystine Sherwin
5f53410db7
verific: Fix negative array dimensions
Recurse over memory dimensions once, doing both our min/max address checking and parsing out the initval.  This also avoids problems with negative numbers (if `a < b` and one or both are negative, `a` might be the intended `max_addr_chunk`).
Fix sub addressing, where we use some but not all of the current dimension's bits.
2026-05-29 18:40:25 +12:00
Krystine Sherwin
52e0030cc5
tests/check_mem: Add problematic case
Verific reports it as 16 2-bit addresses, meaning we have to iterate over the last dimension while skipping indices.
2026-05-29 18:40:25 +12:00
Krystine Sherwin
21966ef496
verific: Fix non-contiguous memory init
Recurse over nested type ranges to calculate true addresses.
2026-05-29 18:40:25 +12:00
Krystine Sherwin
ab5f25db9a
Add test for non-contiguous memory init
Also negative memory addresses.
2026-05-29 18:40:24 +12:00
Krystine Sherwin
aac7366862
tests: Add check_mem to vanilla-test 2026-05-29 18:40:24 +12: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
099c664dc9
verific: Fix upto ranges 2026-05-29 18:40:23 +12:00
Krystine Sherwin
7cf0c55466
verific: Fix non-contiguous memory flattening
May not be the best approach, insofar as it uses empty memory elements for padding out the alignment, but it does avoid costly address arithmetic.
Still needs to adjust ascii init val addresses, but should work fine for read/write accesses.
2026-05-29 18:40:23 +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
Patrick Urban
1d86b3cd6e gatemate: add option to create 'scopename' attributes when flattening the netlist 2026-05-28 14:46:25 +02:00
Miodrag Milanović
1801abf30a
Merge pull request #5913 from YosysHQ/abcexternal
Putting back some Makefile.conf
2026-05-28 09:49:16 +00:00
Miodrag Milanovic
d8587f44f0 Putting back some Makefile.conf 2026-05-28 11:13:29 +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
nella
715bc4d7d2
Merge pull request #5909 from YosysHQ/nella/fuse_dsp
Add matching for fused mac operations for Nexus (fix #5906).
2026-05-28 08:28:16 +00:00
nella
1414012676 Add sign and op checks. 2026-05-28 09:58:18 +02:00
nella
7fef67a141 Simplify nexus map. 2026-05-28 09:58:18 +02:00
nella
d6106f141c Add matching for fused mac operations for Nexus (fix #5906). 2026-05-28 09:58:18 +02:00
Krystine Sherwin
680bb69d85
opt_clean: Set group for docs gen 2026-05-28 14:50:11 +12:00
Emil J
94ec78b6e8
Merge pull request #5907 from JesseDebuger/main
proc: ignore nosync temporaries in always_latch checks
2026-05-27 07:33:42 +00:00
junyao
6f111118de proc: ignore nosync temporaries in always_latch checks 2026-05-26 00:56:07 +08:00
Miodrag Milanović
9d0cdb8551
Merge pull request #5901 from YosysHQ/test_cleanup
Test out-of-tree build support
2026-05-20 10:55:28 +00:00
Miodrag Milanovic
4c8e61a52b Expose SBY binary location 2026-05-19 16:08:21 +02:00
Miodrag Milanovic
07924a3c62 Use common.mk for sva tests as well 2026-05-19 15:15:41 +02:00
Miodrag Milanovic
2b3f4c37f5 Fix functional tests 2026-05-19 14:42:08 +02:00
Miodrag Milanovic
15e09163cd Do not use Makefile.conf 2026-05-19 14:29:06 +02:00
Miodrag Milanovic
c0779f488a Make out of tree build testing possible 2026-05-19 14:26:07 +02:00