3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-20 23:56:38 +00:00
Commit graph

14971 commits

Author SHA1 Message Date
Miodrag Milanovic 22e6ce4282 verific: bit blast RAM if using mem2reg attribute 2025-04-14 15:24:11 +02:00
github-actions[bot] 33c57937cd Bump version 2025-04-10 00:22:42 +00:00
Emil J a5e8f52ce5
Merge pull request #4976 from Logikable/main
Support array ranges for identifiers in the Liberty parser.
2025-04-09 22:49:52 +02:00
Emily Schmidt 32ec5a9ccd Revert "add dft_tag documentation"
This reverts commit 2443facc46.
2025-04-09 10:34:11 +01:00
Emily Schmidt 2443facc46 add dft_tag documentation 2025-04-09 10:18:25 +01:00
Miodrag Milanovic a2c0847667 Next dev cycle 2025-04-09 08:21:08 +02:00
Miodrag Milanovic fee39a3284 Release version 0.52 2025-04-09 07:38:42 +02:00
github-actions[bot] f602248a2e Bump version 2025-04-09 00:22:49 +00:00
Miodrag Milanović c261da4e79
Merge pull request #5001 from YosysHQ/micko/abc
Update to latest ABC
2025-04-08 18:20:41 +02:00
Miodrag Milanovic a9656455b1 Update to latest ABC 2025-04-08 17:39:41 +02:00
Miodrag Milanovic 406ee4c8d3 read_verilog_file_list: change short help message to start with lower case 2025-04-08 13:20:16 +02:00
github-actions[bot] 857baf2031 Bump version 2025-04-08 00:22:31 +00:00
KrystalDelusion bf386feba7
Merge pull request #4994 from marzoul/adrien-mux-x
Fix mux mapping for xilinx techno when all inputs are x
2025-04-08 11:50:46 +12:00
KrystalDelusion e08aeae1d0
Merge pull request #4989 from YosysHQ/krys/fix_4590
opt_expr: Fix #4590
2025-04-08 08:30:18 +12:00
Emil J cc8fd3efc3
Merge pull request #4986 from jix/faster-liberty-caching
Liberty file caching with new `libcache` command
2025-04-07 15:15:41 +02:00
Miodrag Milanović 1a820e259c
Merge pull request #4998 from YosysHQ/revert-4768-krys/refactor_selections
Revert "Refactor full_selection"
2025-04-07 15:12:59 +02:00
Miodrag Milanović d49364d96f
Revert "Refactor full_selection" 2025-04-07 12:11:55 +02:00
Adrien Prost-Boucle 3911a627a8 Clearer diff for the all-x corner case 2025-04-07 07:55:30 +02:00
Adrien Prost-Boucle 7a1729e609 Fix mux xilinx mapping when all inputs are x 2025-04-06 11:43:17 +02:00
KrystalDelusion 98d4355b82
Merge pull request #4768 from YosysHQ/krys/refactor_selections
Refactor full_selection
2025-04-05 14:15:27 +13:00
github-actions[bot] 331952f78d Bump version 2025-04-05 00:22:08 +00:00
KrystalDelusion 40c5694650
Merge pull request #4901 from akashlevy/pyosys_copy_abc
Copy `abc` stuff for pyosys to enable use of the `abc` pass
2025-04-05 10:57:02 +13:00
Krystine Sherwin d8a9ad6860
Add Selection::clear() method
Use method in `select.cc` to reduce code duplication.
2025-04-05 10:56:01 +13:00
Krystine Sherwin dab67f84da
rtlil.h: Document selections 2025-04-05 10:46:09 +13:00
Akash Levy 9c0da98531 Updates 2025-04-03 17:47:48 -07:00
Krystine Sherwin 406b400458
opt_expr: Fix #4590
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.

This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes.  It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
Sean Luchen 307db1ec50 Add tests for #4976. 2025-04-03 10:01:34 -07:00
Sean Luchen bdcbbf2db6 Fix existing tests/liberty tests, and add them to Makefile. 2025-04-03 09:56:24 -07:00
George Rennie 63b3ce0c77
Merge pull request #4971 from Anhijkt/pow-optimization
opt_expr: optimize pow of 2 cells
2025-04-03 14:34:36 +02:00
Jannis Harder 0f13b55173 Liberty file caching with new libcache command
This adds optional in-memory caching of parsed liberty files to speed up
flows that repeatedly parse the same liberty files. To avoid increasing
the memory overhead by default, the caching is disabled by default. The
caching can be controlled globally or on a per path basis using the new
`libcache` command, which also allows purging cached data.
2025-04-03 13:39:35 +02:00
Jannis Harder 26a4b9b0c6
Merge pull request #4981 from jix/faster-liberty-lexing
Improve lexer performance for read_liberty
2025-04-03 13:32:33 +02:00
KrystalDelusion 1cfe1e2813
Merge pull request #4974 from YosysHQ/micko/config_exitcode
yosys-config: Propagate exit code for help command
2025-04-03 09:56:13 +13:00
github-actions[bot] f03b44959b Bump version 2025-04-02 00:23:07 +00:00
Sean Luchen 4610889d27 Fix two parsing bugs that were causing private regression tests to fail.
These were introduced by 0a6d9f4.
1) While in a paren "(", don't error on newline.
2) Don't parse an extra token when parsing vector ranges. Let the caller parse the next token as necessary.
2025-04-01 13:01:00 -07:00
Anhijkt c57cbfa8f9 opt_expr: add test 2025-04-01 21:54:46 +03:00
Anhijkt 6b5507139e opt_expr: requsted changes 2025-04-01 20:37:22 +03:00
Miodrag Milanović 402af3ece7
Merge pull request #4982 from YosysHQ/micko/verific_fix_restore
verific: fix restoring msg state after blackbox import
2025-04-01 18:32:08 +02:00
Miodrag Milanovic 72f2185a94 verific: fix restoring msg state after blackbox import 2025-04-01 17:35:59 +02:00
Jannis Harder bc01468c75 read_liberty: Faster std::string construction in the liberty lexer
This extends the `LibertyInputStream` added in the previous commit to
allow arbitrary lookahead. Then this uses the lookahead to find the
total length of the token within the input buffer, instead of consuming
the token byte by byte while appending to a std::string. Constructing
the std::string with the total length is known avoids any reallocations
from growing std::string's buffer.
2025-04-01 14:12:12 +02:00
Jannis Harder 119e998f12 read_liberty: Faster input handling for the liberty lexer
The lexer for liberty files was using istream's `get` and `unget` which
are notorious for bad performance and that showed up during profiling.

This replaces the direct `istream` use with a custom LibertyInputStream
that does its own buffering to provide `get` and `unget` that behave the
same way but are implemented with a fast path that is easy to inline and
optimize.
2025-04-01 14:12:12 +02:00
Miodrag Milanovic 66d7ffb2c5 yosys-config: redirect to stderr/stdout depending of exit code 2025-04-01 08:39:11 +02:00
github-actions[bot] c08f72b806 Bump version 2025-04-01 00:26:08 +00:00
Emil J 3a1255546a
Merge pull request #4975 from YosysHQ/emil/opt_expr-cover-with-tests
opt_expr: expand test coverage
2025-03-31 20:13:16 +02:00
Sean Luchen 23f59e0196 Support array ranges for identifiers in the Liberty parser.
This change only handles the case `id : id[range] ;`.
2025-03-31 10:54:00 -07:00
Sean Luchen ac1033ecd5 Factor parse_vector_range out into its own function.
This also fixes the parsing a bit. It was consuming 1 fewer token than
required.
2025-03-31 10:46:18 -07:00
Sean Luchen 0a6d9f4dc9 Factor report_unexpected_token out into its own function. 2025-03-31 10:44:23 -07:00
Emil J. Tywoniak 6194eb939d opt_expr: expand test coverage 2025-03-31 19:31:53 +02:00
Miodrag Milanovic 58a515d57f yosys-config: Propagate exit code for help command 2025-03-31 16:19:45 +02:00
Anhijkt 83b095ab6c opt_expr: optimize pow of 2 cells 2025-03-30 15:43:41 +03:00
github-actions[bot] 314842d2a0 Bump version 2025-03-29 00:22:03 +00:00