Commit Graph
17744 Commits
Author SHA1 Message Date
itsaflower 43ce62997a Update CONTRIBUTING.md 2026-08-31 12:50:57 +02:00
nella c30457480f Merge pull request #6155 from YosysHQ/nella/xaiger2-bufnorm-edgecases
ABCU: fix bufnorm edge cases
2026-08-27 15:08:19 +00:00
nella 2c40c4ea13 Readd seeding comment. 2026-08-27 15:16:48 +02:00
nella f0236d8d20 Move module seeding into Design::add. 2026-08-27 14:34:10 +02:00
nella 5ff5eeb9f8 Fix bufnorm edge cases. 2026-08-26 16:08:45 +02:00
Miodrag Milanović 13b43f8c85 Merge pull request #6149 from YosysHQ/mmicko/cxxheaderparser
pyosys: Check for required cxxheaderparser version, fixes #5974
2026-08-26 06:01:37 +00:00
Miodrag Milanovic ab2610b816 pyosys: Check for required cxxheaderparser version, fixes #5974 2026-08-25 13:37:56 +02:00
Emil J dd83bbad28 Merge pull request #6116 from antmicro/mgan/hdlname-fix
Fix ignored `hdlname` attribute in `dfflibmap` pass
2026-08-24 11:36:17 +00:00
Emil J e3af33003d Merge pull request #6141 from john-kearney/fix-json-netnames-signed
json: read 'signed' on netnames, matching ports
2026-08-24 10:19:44 +00:00
Emil J 85acd07685 Merge pull request #6123 from sifferman/fix-resetall-default-nettype
Fix resetall not affecting default_nettype
2026-08-24 09:47:04 +00:00
Miodrag Milanović 2e1666cd82 Merge pull request #6147 from YosysHQ/mmicko/cleanup
cleanup: remove status message
2026-08-24 09:41:29 +00:00
Miodrag Milanovic 1643567be6 cleanup: remove status message 2026-08-24 11:23:35 +02:00
Miodrag Milanović 47bbdab297 Merge pull request #6139 from tangxifan/xt_openfpga_cmake
Support Yosys built as a subdirectory
2026-08-24 07:16:21 +00:00
tangxifan 02dc5a82d7 [core] add a cmake option to disable unit test during compilation; Use cmake_current_source for submodule integration
[core] debug yosys version extraction

[core] debug

[core] now cache the cmake source dir

[core] debug

[core] debug kernel dependencies

[core] debug common include directories

[core] debug

[core] debug simlib_help.inc

[core] debug pmgen py path in cmake

[core] syntax

[core] debug flex source

[core] restore

[core] debug executable output as it now shows linking to .

[core] debug yosys-abc directory

[core] debug cmake share directory

[core] debug yosys abc

[core] restore shared directory location as yosys requires fixed location

[core] rework link target to yosys sub dir under build

[core] fixed the bug on yosys-config.install location for install

[core] cmake syntax

[core] correct the location for share directory

[core] debug

[core] debug

[core] debug

[core] enforce internal attributes; rename the YOSYS_ENABLE_UNIT_TESTS; use YOSYS_CMAKE_BINARY_DIR for all

[core] apply review comments

[core] rename

[core] change all the CMAKE_BINARY_DIR to YOSYS_CMAKE_BINARY_DIR

[core] replace CMAKE_SOURCE_DIR to YOSYS_CMAKE_SOURCE_DIR
2026-08-21 12:09:04 -07:00
nella a34d3baae9 Merge pull request #6131 from DanielMBouyou/fix/arith_tree-narrow-intermediate-truncation
arith_tree: don't fold a chain link narrower than its consumer
2026-08-21 09:12:00 +00:00
Daniel M'BOUYOU 25c7053114 arith_tree: add regression tests for truncating narrow chain links
#6130 fixed arith_tree so that a chain link narrower than its consumer
is left out of the tree, and added an equivalence regression for the
exact failing shape. Cover what that test does not: structural checks
that the narrow link survives as its own cell, on both the raw $add
path and the alumacc $alu path, and a mixed case where a wider chain
consuming the truncated link as a leaf still folds and stays
equivalent.

Signed-off-by: Daniel M'BOUYOU <[email protected]>
2026-08-21 10:38:58 +02:00
John Kearney 0f5efca3c9 json: read 'signed' attribute on netnames, matching ports
The JSON backend writes "signed": 1 for any signed wire, including
internal nets. The frontend only parsed the attribute for ports,
so a write-read roundtrip silently cleared is_signed on internal
nets. Signed internal wires became unsigned between the two passes.

Fix: parse 'signed' in the netnames loop, next to the existing
upto/offset handling. Regression test does a full roundtrip and
checks the internal signed wire survives.
2026-08-20 22:20:24 -07:00
Nick Allison 144c707b78 Merge pull request #6117 from Zaneham/check-cells-backends
Error rather than silently drop $check cells in write_smt2 and write_btor
2026-08-20 20:16:36 +00:00
Nick Allison 5c0100c45e Merge branch 'main' into check-cells-backends 2026-08-20 13:07:22 -06:00
Miodrag Milanović 2fd290ad47 Merge pull request #6134 from SimonEbner/main
Retry read operations interrupted by EINTR
2026-08-20 16:24:26 +00:00
Lofty 4ad3dc46ad Merge pull request #6137 from YosysHQ/lofty/abc-refactor-14
synth_gatemate: remove classic ABC mapping for LUTs
2026-08-20 10:33:07 +00:00
Zane Hambly bec454465f Merge branch 'main' into check-cells-backends 2026-08-20 21:42:56 +12:00
Lofty be69f88e55 Merge pull request #6135 from YosysHQ/lofty/abc-refactor-13
abc: remove -sop
2026-08-20 09:34:26 +00:00
nella 59a3826bbd Merge pull request #6130 from DanielMBouyou/arith-tree-narrow-link
arith_tree: do not flatten a chain link narrower than its consumer
2026-08-20 08:40:25 +00:00
Lofty 030e13569c synth_gatemate: remove classic ABC mapping for LUTs 2026-08-20 09:33:47 +01:00
Lofty caceaaa2bb abc: remove -sop 2026-08-19 12:52:10 +01:00
Lofty c92678eb26 Merge pull request #6103 from YosysHQ/lofty/abc-refactor-9
synth_*: remove classic ABC mapping
2026-08-19 11:15:54 +00:00
Simon Bucher b98d7b6853 Gracefully handle EINTR during read.
EINTR should be retried.
2026-08-19 10:46:41 +00:00
Lofty 4cb0a5e2f2 synth: remove classic ABC mapping for LUTs 2026-08-19 11:43:00 +01:00
Lofty 1f72d02f39 synth_microchip: remove classic ABC mapping 2026-08-19 11:43:00 +01:00
Lofty ee75cd3ea0 synth_lattice: remove classic ABC mapping 2026-08-19 11:43:00 +01:00
Lofty dd4b6689e8 synth_intel: remove classic ABC mapping 2026-08-19 11:43:00 +01:00
Lofty 3a148d7633 synth_gowin: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 737560c471 synth_fabulous: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 5fe16f60f9 synth_efinix: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 6df15312cc synth_anlogic: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 873bed6300 synth_achronix: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 63fbb31921 synth_sf2: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 8a01ff15f4 synth_quicklogic: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 6824ee065a synth_nanoxplore: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty c053706540 synth_analogdevices: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 086cd8e685 synth_xilinx: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty 44bab117d7 synth_ice40: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
Lofty fc6433bbae Merge pull request #6132 from YosysHQ/lofty/abc-refactor-12
synth_greenpak4, nlutmap: remove
2026-08-19 10:19:14 +00:00
Lofty 2578106368 Merge pull request #6126 from YosysHQ/lofty/abc-refactor-11
synth_coolrunner2: remove
2026-08-19 09:59:59 +00:00
Lofty edb411a622 synth_greenpak4, nlutmap: remove 2026-08-19 10:56:16 +01:00
nella 9eb62484dc Merge pull request #6129 from YosysHQ/nella/flock-improvements
liberty_cache: fix WASI build, add Windows lock, harden scl cache [sc-793]
2026-08-18 10:28:33 +00:00
Daniel M Bouyou e5c56c6400 arith_tree: do not flatten a chain link narrower than its consumer
sole_chainable_consumer folded a cell into its consumer without ever
comparing widths. A link truncates its result at its own Y width, and that
truncation is invisible only when the consumer truncates at least as hard,
since (x % 2**link) % 2**parent == x % 2**parent holds only when
parent <= link. When the consumer is wider, the carry the link discards
becomes observable, and flattening the chain silently recovers it.

For

  module top(input [7:0] a, b, c, output [8:0] o);
    wire [7:0] t = a + b;
    assign o = t + c;
  endmodule

synth -arith_tree computes a + b + c where the design specifies
((a + b) % 256) + c. The two differ by 256 whenever a + b overflows,
for example at a=169 b=135 c=7.

alumacc already guards the structurally identical $macc merge using
macc_may_overflow(); arith_tree carried no equivalent check.

Add two cases to tests/arith_tree/arith_tree_equiv.ys: equiv_double_neg
widened to a 5 bit result, and a dedicated equiv_narrow_intermediate.
2026-08-18 12:06:48 +02:00
Miodrag Milanović 850de483cd Merge pull request #6128 from YosysHQ/update_abc
Update ABC as per 2026-08-18
2026-08-18 09:55:14 +00:00
Miodrag Milanovic ed9bdc7665 Update ABC as per 2026-08-18 2026-08-18 11:37:56 +02:00