Commit Graph
5103 Commits
Author SHA1 Message Date
Miodrag Milanovic b1fda43bcd chores: first pass of fixes spaces to tabs 2026-08-21 14:43:33 +02: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 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 caceaaa2bb abc: remove -sop 2026-08-19 12:52:10 +01:00
Simon Bucher b98d7b6853 Gracefully handle EINTR during read.
EINTR should be retried.
2026-08-19 10:46:41 +00:00
Lofty edb411a622 synth_greenpak4, nlutmap: remove 2026-08-19 10:56:16 +01: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
nellaandMike Inouye 38b6e5e76c fix WASI, harden scl cache locking.
Co-authored-by: Mike Inouye <[email protected]>
2026-08-18 11:31:57 +02:00
Mike Inouye 977e55315d fix macOS build
Signed-off-by: Mike Inouye <[email protected]>
2026-08-17 22:05:09 +00:00
Mike Inouye 7c3becfbcd add file lock on liberty scl cache
Signed-off-by: Mike Inouye <[email protected]>
2026-08-17 21:18:34 +00:00
Lofty 621d943ac8 Merge pull request #6101 from YosysHQ/lofty/abc-refactor-10
read_xaiger2: remove
2026-08-17 17:42:25 +00:00
nella 598862f45b Merge pull request #6125 from YosysHQ/nella/share-sat-effort
share: limit SAT effort [sc-750]
2026-08-17 12:18:28 +00:00
nella 027677d43b Move scl cache args to libcache, fix -disable. 2026-08-17 12:37:49 +02:00
nella ce0785a01b Limit SAT effort. 2026-08-17 12:20:43 +02:00
nella 5efa8187ad Add control over scl cache. 2026-08-17 10:49:45 +02: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
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. Tywoniak 0253911ee2 opt_clean: move unused_bits analysis to kernel/unused_bits.h 2026-08-12 11:42:50 +02:00
Lofty 1dce7895e0 read_xaiger2: remove 2026-08-11 08:56:55 +01:00
nella b19d906075 Fix replace_known misindexing on constant S bits. 2026-08-11 07:07:33 +02: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
nella a03e5ec2ca Style fixups. 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 9c144d59aa Fix OOB read. 2026-08-07 14:29:14 +02:00
Catherine 1277640bdf CMake: add missing dependency edges for synth_* passes. 2026-08-06 14:48:56 +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 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 b89dc992e5 Revert "hierarchy: fix cache usage by caching false too"
This reverts commit ae14b5e6a8.
2026-08-05 16:52:14 +00:00
nella fae99416d4 Only init modwalker once. 2026-08-05 12:57:56 +02:00
nella eff7e1f360 Budget SAT effort via shared SatEffortBudget. 2026-08-05 12:57:56 +02:00
nella 15d50d4fcf Add help message + cleanup. 2026-08-05 12:57:56 +02:00
nella 2ee7dc5a1d Implement constbit gather. 2026-08-05 12:57:56 +02:00
nella c57f66cee7 eqbits drop_all. 2026-08-05 12:57:56 +02:00
nella a9159ad435 Test solve_budgeted. 2026-08-05 12:57:56 +02:00
Emil J 468ba27d91 Merge pull request #6078 from YosysHQ/emil/hierarchy-fix-keep-cache
hierarchy: fix keep cache usage by caching false too
2026-08-03 15:54:50 +00:00
Emil J. Tywoniak ae14b5e6a8 hierarchy: fix cache usage by caching false too 2026-08-03 14:55:03 +02:00
Lofty 5e6fcf3b36 cleanup 2026-08-03 13:28:33 +01:00
Emil J. Tywoniak 89a5cbbaa6 abc_ops_reintegrate: xaiger2 compatibility 2026-08-03 12:34:01 +01:00
Lofty 6d9f5d1b0c wip 2026-08-03 12:34:01 +01:00
nella abe32c86a0 Merge 'origin/main' into emil/muxpack-fix-chain. 2026-08-03 11:50:21 +02:00
Krystine Sherwin 2f8cf84882 alumacc: cmp_mergeable function
Replace all the existing mergeable checks with a call to a single function.
Fix remaining discrepencies (undersized output and mismatched signed inputs).
2026-07-31 16:59:57 +12:00
Krystine SherwinandLofty bb49b0be32 alumacc: Fix get_lt for oversized output
Current behavior uses the output width to determine the MSb(s), however this is not correct if the output is larger than the inputs (which doesn't happen when creating an `$alu` for a compare op, but does when folding a compare op into an arithmetic `$alu`).

Co-authored-by: Lofty <[email protected]>
2026-07-31 16:59:56 +12:00
Emil J c03bbc3309 Merge pull request #6069 from YosysHQ/emil/liberty-flop-fix-polarity
read_liberty: fix set&reset polarity
2026-07-30 15:34:24 +00:00
Emil J. Tywoniak 5f5f8b99b1 liberty: cleanup 2026-07-30 16:44:12 +02:00