Commit Graph

5439 Commits

Author SHA1 Message Date
Stan Lee b11eef4fe1 fix bug 2026-02-26 16:00:27 -08:00
Akash Levy 0b46d8b201
Merge pull request #109 from Silimate/clkgate_attr
Added is_clock_gated attr to flops created via clockgate.cc pass
2026-02-20 17:02:02 -08:00
AdvaySingh1 8f5b8cb46c Added is_clock_gated attr to flops created via clockgate.cc pass 2026-02-20 11:34:08 -08:00
AdvaySingh1 b29514fafc Added built in cell alongside sim support for cell 2026-02-19 11:48:35 -08:00
Akash Levy 723ddd74cf Improve wreduce runtime 2026-02-19 01:03:26 -08:00
AdvaySingh1 5769cdbea8 Added node retention 2026-02-18 16:05:56 -08:00
Akash Levy c04975b78c Remove custom mux opt_exprs 2026-02-17 20:41:29 -08:00
Akash Levy 2b247d165b Merge from main 2026-02-13 04:14:08 -08:00
Akash Levy b8d83c1d5b Fix cell naming issues 2026-02-13 01:05:51 -08:00
Akash Levy e81b5b810d Lack of node retention should only be a warning 2026-02-13 01:04:59 -08:00
Gus Smith 8ab105ac28
Merge pull request #4303 from Coloquinte/sat_choice
Infrastructure to run a Sat solver as a command
2026-02-11 06:54:53 -08:00
Emil J fba29ea8f1
Merge pull request #5679 from YosysHQ/emil/abc9-remove-liberty
abc9: remove -liberty
2026-02-11 12:36:29 +01:00
Emil J. Tywoniak 915912cc76 abc9: remove -dont_use 2026-02-11 11:39:09 +01:00
Emil J. Tywoniak c4094e457b abc9: remove -genlib, -constr 2026-02-11 11:34:54 +01:00
Emil J. Tywoniak 5a46106a46 abc9: remove -liberty 2026-02-11 01:04:50 +01:00
Gus Smith 6f6fa49d3c Typo 2026-02-09 09:05:56 -08:00
Akash Levy ee46f498e1
Update negopt.cc 2026-02-07 17:54:16 -08:00
Gus Smith 1502e23371 Set solver from scratchpad or command line 2026-02-06 19:26:32 -08:00
Gus Smith f062a0c8d6 Typo 2026-02-06 17:26:08 -08:00
tondapusili 6bb43f109c fixed edge cases in negopt passes, fixed cell naming inconsistencies 2026-02-06 16:38:55 -08:00
Robert O'Callahan 34f8582725
Sanitize ABC global and per-run temporary directory names in logs 2026-02-07 12:12:13 +13:00
tondapusili d592f312ab mux_push implementation 2026-02-05 16:49:59 -08:00
Akash Levy 5f7658ca7c
Merge branch 'YosysHQ:main' into main 2026-02-05 13:10:34 -08:00
Emil J 1717fa0180
Merge pull request #5663 from YosysHQ/emil/opt_expr-fix-pow-shift
opt_expr: fix const lhs of $pow to $shl
2026-02-05 13:09:01 +01:00
Akash Levy f74ac17a5f Undo the terrible upstream changes that break everything... 2026-02-04 22:26:06 -08:00
Akash Levy d3ab45c2fa
Merge branch 'YosysHQ:main' into main 2026-02-04 15:53:43 -08:00
AdvaySingh1 8d22f6d7e1 Merged with main 2026-02-04 13:00:22 -08:00
AdvaySingh1 607ef02339 Added abc_max_node_retention_origins flag in AbcConfig struct 2026-02-04 12:12:04 -08:00
AdvaySingh1 43027720d2 Fixed no sources log error to only output error if node_retention mode is on 2026-02-04 10:22:24 -08:00
Emil J 8bbde80e02
Merge pull request #5631 from rocallahan/cleanup-compare-signals
Clean up `compare_signals()` in `opt_clean`
2026-02-04 17:45:05 +01:00
Emil J 992e64342c
Merge pull request #5621 from rocallahan/remove-opt-sort
Remove `Design::sort()` calls from optimization passes
2026-02-04 16:55:56 +01:00
Akash Levy 48e7b5a167 Let's go back to a simpler time for abc... 2026-02-04 04:33:19 -08:00
Akash Levy c57c49873e Please just stop modifying yosys... 2026-02-04 03:48:58 -08:00
Akash Levy 241852eebd Test merge from upstream 2026-02-04 02:07:01 -08:00
Akash Levy af7e124c26
Merge pull request #101 from Silimate/yosys_abc_test1
Small abc update to see what happens
2026-02-04 01:45:56 -08:00
Akash Levy dd08ba75bc
Merge pull request #100 from Silimate/negopt-pass-pr
Add negopt pass with comprehensive pattern matching
2026-02-04 01:44:45 -08:00
Akash Levy 715e062bcd Merge branch 'main' into negopt-pass-pr 2026-02-04 00:15:53 -08:00
Akash Levy 0e0740a3a0
Remove unnecessary blank line in abc.cc 2026-02-04 00:08:42 -08:00
Akash Levy 33bcfe26dd Merge branch 'main' into sim 2026-02-03 23:57:24 -08:00
Akash Levy 23ed2ef523 Small abc update to see what happens 2026-02-03 23:55:25 -08:00
Akash Levy 807df40422 Undo the weird abc changes 2026-02-03 23:21:48 -08:00
Robert O'Callahan 7326bb7d66
Only reuse ABC processes if we're using yosys-abc and it was built with ENABLE_READLINE
(cherry picked from commit 5054fd17d7b70f2df97360bb0f0cc1c92a6ffe72)
2026-02-04 17:19:10 +13:00
tondapusili 643427d9c9 Add negopt pass with comprehensive pattern matching
This commit introduces the negopt pass with pre/post optimization modes
for handling negation patterns in arithmetic circuits.

Pre-optimization patterns (expose for tree balancing):
- manual2sub: (a + ~b) + 1 → a - b
- sub2neg: a - b → a + (-b)
- negexpand: -(a + b) → (-a) + (-b) [with output width fix]
- negneg: -(-a) → a
- negmux: -(s ? a : b) → s ? (-a) : (-b)

Post-optimization patterns (cleanup/rebuild):
- negrebuild: (-a) + (-b) → -(a + b)
- muxneg: s ? (-a) : (-b) → -(s ? a : b)
- neg2sub: a + (-b) → a - b

All patterns use nusers() for fanout checking (standard Yosys style).
Comprehensive test coverage with positive/negative cases and formal
verification via equiv_opt.
2026-02-03 17:21:21 -08:00
Stan Lee bea2a7d473 add few debug 2026-02-03 14:40:33 -08:00
Stan Lee ce959ec1bb fixes 2026-02-03 12:42:33 -08:00
Stan Lee 6620d098d4 lower verbosity 2026-02-03 12:05:14 -08:00
Advay Singh 941be57cae
Added design->select after setting strpool_attribute for non-special case cells
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-03 08:41:53 -08:00
Advay Singh e73c15750c
Update passes/techmap/abc.cc for WARNING: Source wire not
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-03 08:38:07 -08:00
AdvaySingh1 d097e536f2 Fixed log to log_error 2026-02-03 08:33:57 -08:00
Akash Levy 8e5d24aa6b Bump yosys to latest 2026-02-03 06:08:36 -08:00