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