Krystine Sherwin
583771ef5b
cutpoint: Add -blackbox option
...
Replace the contents of all blackboxes in the design with a formal cut point.
Includes test script.
2025-04-11 04:12:34 +12:00
N. Engelhardt
3410e10ed5
Merge pull request #5000 from YosysHQ/krys/re_refactor_selections
2025-04-10 16:06:36 +00: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
Krystine Sherwin
078602d711
tests/arch/xilinx: Fix for warnings on boxes
...
The two test scripts affected use boxed modules directly; under normal usage the warning shouldn't appear.
2025-04-08 16:58:59 +12:00
Krystine Sherwin
237e454131
design.cc: Fix selections when copying
...
Use `Design::selected_modules()` directly, popping at the end instead of copying the selection.
Also default to a complete selection so that boxes work as before.
Simplify to using `RTLIL::SELECT_WHOLE_CMDERR` instead of doing it manually.
Also add tests for importing selections with boxes.
2025-04-08 16:35:12 +12:00
Krystine Sherwin
911a3ae759
setattr.cc: Use new selection helpers
...
Also test they work as expected.
2025-04-08 15:34:48 +12:00
github-actions[bot]
857baf2031
Bump version
2025-04-08 00:22:31 +00:00
Krystine Sherwin
dbc2611dd6
test_select: Add and exercise test_select pass
...
Developer facing, intended to check internal selection semantics work as expected. i.e. it would have revealed the bug in the now reverted PR.
2025-04-08 11:59:45 +12:00
Krystine Sherwin
f042c36898
rtlil.h: Extra comment on helper enums
...
i.e. making explicit the ones that aren't intended for direct use.
2025-04-08 11:59:42 +12:00
Krystine Sherwin
f410f98d89
clean ignores boxes
2025-04-08 11:59:40 +12:00
Krystine Sherwin
1ef9908a85
rtlil.cc: Fix box checks in selected_modules
2025-04-08 11:59:36 +12:00
Krystine Sherwin
7d7ee5d9bf
rtlil.h: Fix selection ctor ordering
2025-04-08 11:59:32 +12:00
Krystine Sherwin
cd3b914132
Reinstate #4768
...
Revert the reversion so that we can fix the bugs that the PR missed.
2025-04-08 11:58:05 +12: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