3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-30 21:19:30 +00:00
Commit graph

15932 commits

Author SHA1 Message Date
Jannis Harder
47639f8a98
Merge pull request #5388 from jix/bufnorm-followup
Refactor and fixes to incremental bufNormalize + related changes
2025-09-29 15:15:29 +02:00
Jannis Harder
6a7372626a
Merge pull request #5389 from jix/sva_continue
verific: New `-sva-continue-on-error` import option
2025-09-29 15:07:54 +02:00
Emil J
87c1a868d3
Merge pull request #5384 from rocallahan/simplify-opt-merge-logic
Move `OptMerge` cell filtering logic to happen while building the cell vector
2025-09-29 15:03:01 +02:00
Martin Povišer
04c7013f0e
Merge pull request #5399 from povik/opt_hier-bug
opt_hier: Fix two optimizations conflicting
2025-09-29 14:53:54 +02:00
Akash Levy
acf3a6606f Small gitignore fixes 2025-09-29 12:11:59 +01:00
Martin Povišer
a9318db2fa opt_hier: Adjust messages 2025-09-29 12:27:27 +02:00
Martin Povišer
ffe2f7a16d opt_hier: Fix two optimizations conflicting
Fix a conflict between the following two:

 * propagation of tied-together inputs in
 * propagation of unused inputs out
2025-09-29 12:27:27 +02:00
Miodrag Milanović
69770a844e
Merge pull request #5396 from akashlevy/pyosys_fix
BUGFIX: pyosys cannot parse header with omitted function args
2025-09-29 10:20:31 +02:00
Jannis Harder
86fb2f16f7 bufnorm: Refactor and fix incremental bufNormalize
This fixes some edge cases the previous version didn't handle properly
by simplifying the logic of determining directly driven wires and
representatives to use as buffer inputs.
2025-09-29 08:21:28 +02:00
Jannis Harder
cbc1055517 opt_clean: Fix debug output when cleaning up bufnorm cells 2025-09-29 08:21:28 +02:00
Jannis Harder
90669ab4eb aiger2: Only fail for reachable undirected bufnorm helper cells
The aiger2 backend checks for unsupported cells during indexing. This
causes it to fail when `$connect` or `$tribuf` (as workaround for
missing 'z-$buf support) cells are present in the module.

Since bufnorm adds these cells automatically, it is very easy to end up
with them due to unconnected wires or e.g. `$specify` cells, which do
not pose an actual problem for the backend, since it will never
encounter those during a traversal.

With this, we ignore them during indexing and only produce an actual error
message if we reach such a cell during the traversal.
2025-09-29 08:21:28 +02:00
Jannis Harder
9396e5e5fe portarcs: Ignore all bufnorm helper cells
The `portarcs` pass was already ignoring `$buf` cells when loading
timing data, but now bufnorm will also emit `$input_port` and `$connect`
helper cells, which need to be ignored as well.
2025-09-29 08:21:28 +02:00
Akash Levy
4b6b254e31 pyosys cannot parse header with omitted function args 2025-09-28 01:37:30 -07:00
Jannis Harder
4bb4b6c662 verific: Extend -sva-continue-on-err to handle FSM explosion
This also rolls back any added cells and wires, since we might have
added a lot of helper logic by the point we detect this.
2025-09-27 21:13:02 +02:00
Jannis Harder
ce5d04a42f hierarchy: Suggest more specific command to skip unsupported SVA 2025-09-26 18:41:26 +02:00
KrystalDelusion
7ebd972165
Merge pull request #5277 from YosysHQ/krys/fix_4983_alt
autoname: Avoid integer overflow
2025-09-26 14:11:20 +12:00
github-actions[bot]
6a5d956747 Bump version 2025-09-26 00:22:24 +00:00
Krystine Sherwin
941ba3b745
autoname.ys: Extra check for rename order
Disabling comparison with best score will cause this check to fail.  Preferred names will not be possible if $name2 has not yet been renamed.
2025-09-26 11:36:23 +12:00
Krystine Sherwin
fef6bdae6c
autoname.cc: Return number of renames
Was previously the number of proposed renames, but since renames can be skipped this causes the final count to differ from the number of actually renamed objects.
Check counts in `tests/various/autoname.ys`.
2025-09-26 11:05:50 +12:00
Emil J
8c8d18f2d8
Merge pull request #5392 from rocallahan/opt-merge-cleanup
Some small readability improvements to `OptMergeWorker`
2025-09-25 12:15:33 +02:00
Martin Povišer
29e0144ebc
Merge pull request #5381 from povik/abc9-multilib
Support multiple lib files in abc9_exe
2025-09-25 09:45:09 +02:00
Robert O'Callahan
4d209c187d Switch OptMergeWorker cell type switching to use IdString::in() 2025-09-25 03:06:58 +00:00
Robert O'Callahan
1c73011e7e Swap SigSpecs using std::swap with moves 2025-09-25 03:04:17 +00:00
github-actions[bot]
3f29cd7f4e Bump version 2025-09-25 00:22:44 +00:00
Jannis Harder
83dd99efb7 verific: New -sva-continue-on-error import option
This option allows you to process a design that includes unsupported
SVA. Unsupported SVA gets imported as formal cells using 'x inputs and
with the `unsupported_sva` attribute set. This allows you to get a
complete list of defined properties or to check only a supported subset
of properties. To ensure no properties are unintentionally skipped for
actual verification, even in cases where `-sva-continue-on-error` is
used by default to read and inspect a design, `hierarchy -simcheck` and
`hierarchy -smtcheck` (run by SBY) now ensure that no `unsupported_sva`
property cells remain in the design.
2025-09-24 18:58:54 +02:00
Jannis Harder
cb8f86b64f
Merge pull request #5387 from jix/misc-log-cleanup
Various logging fixes and cleanup
2025-09-24 17:24:22 +02:00
Jannis Harder
2dce50516b log: Print static message as fatal error for YOSYS_ABORT 2025-09-24 13:20:27 +02:00
Jannis Harder
86a46b9e5c log: Flush stdout before printing a fatal error to stderr
This hasn't been an issue when using -l to redirect or when stdout is
line buffered, explaining how we didn't notice this earlier, but for
`yosys ... > log` that extra flush is required to ensure all messages
preceding the fatal error are flushed.
2025-09-24 13:20:27 +02:00
Jannis Harder
71882debe7 simplemap: Remove leftover debug output 2025-09-24 13:20:27 +02:00
Jannis Harder
904d49c6d8 abc9_ops: Remove temporary debug log message
I missed this when adding the -replace_zbufs option.
2025-09-24 13:20:27 +02:00
Emil J
99a23c777c
Merge pull request #5380 from YosysHQ/emil/dev-jf-contributing
CONTRIBUTING: add link to dev jf doc, replace slack with Discourse
2025-09-24 11:07:55 +02:00
Emil Jiří Tywoniak
6de21a8999 CONTRIBUTING: prefer Discourse over GitHub Discussions 2025-09-24 11:07:26 +02:00
Jannis Harder
9c1d0a2346
Merge pull request #5382 from rocallahan/fix-bounds-check
Fix off-by-one error in bounds check in `RTLIL::SigChunk::operator[]`
2025-09-24 08:41:16 +02:00
Jannis Harder
7a69dbb63d
Merge pull request #5372 from rocallahan/abc-done
Make ABC_DONE tracking more robust
2025-09-24 08:40:26 +02:00
github-actions[bot]
ef22c6ee73 Bump version 2025-09-24 00:22:58 +00:00
Robert O'Callahan
e9aacd8a05 Move OptMerge cell filtering logic to happen while building the cell vector.
This code is quite confusing because there are two "is the cell known" filters
applied, one while building the cell vector and one after building the cell
vector, and they're subtly different. I'm preserving the actual behaviour here
but it looks like there is, or was, a bug here.
2025-09-23 23:26:47 +00:00
Robert O'Callahan
0a17205a95 Fix off-by-one error in bounds check 2025-09-23 21:29:57 +00:00
Emil J
5f6819fd76
Merge pull request #5361 from YosysHQ/emil/simplemap-transfer-src
simplemap: fix src attribute transfer
2025-09-23 20:40:57 +02:00
Martin Povišer
3f4b6dc5d3 Support multiple lib files in abc9_exe 2025-09-23 20:34:08 +02:00
Emil Jiří Tywoniak
6527cc2134 gowin: fix test 2025-09-23 20:03:50 +02:00
Emil Jiří Tywoniak
9409a11be4 CONTRIBUTING: don't mention dead slack, add link to dev jf doc 2025-09-23 19:34:13 +02:00
Emil J
a316b8f90c
Merge pull request #4997 from YosysHQ/emil/techmap-alu-half-adder
techmap: map $alu to $fa instead of relying on extract_fa
2025-09-23 18:40:38 +02:00
KrystalDelusion
d4071b63f7
Merge pull request #5268 from YosysHQ/krys/cutpoint_inout
Track wire drivers in cutpoint
2025-09-24 04:14:19 +12:00
Miodrag Milanović
fcc3d7132d
Fix building and running unit tests (#5374)
* Fix building and running unit tests

* Enable unit tests

* Add gtest always

* test-sanitizers.yml: Use makefile.conf

* proper test setup

* make it run on macOS

* Run libyosys build only for unit tests after testing is done

* Disable LTO on public CI

---------

Co-authored-by: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com>
2025-09-23 17:10:18 +02:00
Emil J. Tywoniak
d30f7847d8 techmap: map $alu to $fa instead of relying on extract_fa 2025-09-23 17:05:12 +02:00
George Rennie
b586043647
Merge pull request #5379 from YosysHQ/george/dump_cmds_json
docs typo: -dump-cmds-json
2025-09-23 14:39:19 +01:00
George Rennie
398e5d4bf0 docs typo: -dump-cmds-json 2025-09-23 14:36:27 +01:00
Jannis Harder
e8f8297e5d
Merge pull request #5376 from rocallahan/remove-more-cstr
Remove more uses of `.c_str()`
2025-09-23 12:41:09 +02:00
Robert O'Callahan
1e5f920dbd Remove .c_str() from parameters to log_debug() 2025-09-23 19:10:33 +12:00
Jannis Harder
cb9d0b6ff9
Merge pull request #5378 from rocallahan/static-ID-namespace
Make `ID::` constants be `StaticIdString`s for better optimization
2025-09-23 08:25:54 +02:00