3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 11:45:41 +00:00
Commit graph

15932 commits

Author SHA1 Message Date
Akash Levy
c0a6985adb
Merge branch 'YosysHQ:main' into main 2025-04-07 14:48:16 -07:00
KrystalDelusion
e08aeae1d0
Merge pull request #4989 from YosysHQ/krys/fix_4590
opt_expr: Fix #4590
2025-04-08 08:30:18 +12:00
Akash Levy
de375d6542 Accommodate reversion and fix wreduce naming 2025-04-07 07:35:39 -07:00
Akash Levy
06c614a010
Merge branch 'YosysHQ:main' into main 2025-04-07 07:28:06 -07: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
Akash Levy
5c332df764 Bump abc 2025-04-07 00:43:58 -07:00
Akash Levy
6f44b93749 Bump abc 2025-04-07 00:24:31 -07:00
Akash Levy
f86204b8ba Fix pyosys for NamedObject 2025-04-06 22:52:59 -07:00
Akash Levy
0dab4308a3 Actual merge here 2025-04-06 18:53:43 -07:00
Akash Levy
69ce16c4a0 Bump abc to latest 2025-04-06 18:50:32 -07: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
276800c39b wreduce shifter signedness fix 2025-04-04 14:27:38 -07:00
Akash Levy
61715c2c28 Fix memory too large issue 2025-04-04 03:22:22 -07:00
Akash Levy
c3657eee6d Fix Silimate tests 2025-04-04 03:21:53 -07:00
Akash Levy
f218b5ba58 Revert "Represent memory size with size_t"
This reverts commit bb5f8415af.
2025-04-04 03:20:07 -07:00
Akash Levy
bb5f8415af Represent memory size with size_t 2025-04-04 02:04:34 -07:00
Akash Levy
507308d34e Add muxpacker draft 2025-04-03 21:38:16 -07:00
Akash Levy
d4119e1ad3 lut2bmux fix 2025-04-03 21:37:27 -07: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
Akash Levy
809a38a597
Merge pull request #78 from williamzhu17/extract_reduce-tests
extract_reduce tests and removed XNOR functionality from extract_reduce
2025-04-03 15:23:09 -07:00
Akash Levy
439d859bba
Merge branch 'YosysHQ:main' into main 2025-04-03 10:48:42 -07:00
williamzhu17
05a3c28f39 small name change 2025-04-03 10:38:55 -07:00
williamzhu17
ba709dc0ed added stress tests 2025-04-03 10:37:32 -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
Akash Levy
4bd08ac362
Merge branch 'YosysHQ:main' into main 2025-04-01 22:10:43 -07:00
github-actions[bot]
f03b44959b Bump version 2025-04-02 00:23:07 +00:00
williamzhu17
58d903eee6 deleted old file 2025-04-01 17:19:04 -07:00
williamzhu17
776479d7aa wip tests 2025-04-01 17:17:39 -07:00
Anhijkt
c57cbfa8f9 opt_expr: add test 2025-04-01 21:54:46 +03:00
williamzhu17
bc2d9d1f33 added deeper cases for gates 2025-04-01 11:10:50 -07:00
williamzhu17
2f9e6e08f0 added tests with constants 2025-04-01 10:39:33 -07:00
Anhijkt
6b5507139e opt_expr: requsted changes 2025-04-01 20:37:22 +03:00
williamzhu17
8991707dee zero indexed wires 2025-04-01 10:19:54 -07:00
williamzhu17
101f775b64 added extra test for muxes 2025-04-01 10:18:20 -07:00
williamzhu17
8f5f4ecab4 inital extract_reduce tests 2025-04-01 10:11:17 -07:00
williamzhu17
bbd132f6ba updated extract_reduce to not consider xnors 2025-04-01 10:10:06 -07: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