Jannis Harder
7f7ad87b7b
Merge pull request #5033 from jix/liberty-fixes
...
liberty: More robust parsing
2025-04-17 09:24:42 +02:00
Emil J. Tywoniak
c555add231
liberty: Test non-ascii characters
2025-04-17 00:20:18 +02:00
KrystalDelusion
026d161f91
Merge pull request #4923 from KelvinChung2000/const-wrap
...
feat: Allow full constant wrapping for hilomap
2025-04-17 10:16:59 +12:00
Jannis Harder
4b273a4ae9
share: Cleanup and additional testing
...
Fixes a typo and adds another test case that triggers the fallback
behavior as the existing tests all trigger the new optimization.
2025-04-15 12:34:46 +02:00
Kelvin Chung
81f3369f24
Add check at constmap and merge test
2025-04-14 11:44:52 +01:00
Krystine Sherwin
87d3b09988
cutpoint.cc: Fold -instances into -blackbox
...
Replace `cutpoint -blackbox` behaviour with `cutpoint -blackbox -instances` behaviour.
Drop `-instances` flag.
Add `-noscopeinfo` flag.
Use `RTLIL::Selection::boxed_module()` helper to shortcut blackbox check.
Update `cutpoint_blackbox.ys` tests to match.
2025-04-11 04:12:35 +12:00
Krystine Sherwin
779a1fddf6
Testing cutpoint with boxed selections
2025-04-11 04:12:34 +12:00
Krystine Sherwin
cf44a9124f
cutpoint: Test -blackbox with parameter
...
Modify `cutpoint_blackbox.ys` to check that parameters on blackbox modules are maintained after the cutpoint.
Also adjusts the test to check that each instance gets the `$anyseq` cell.
2025-04-11 04:12:34 +12:00
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
Kelvin Chung
414dc85573
Correct and more test
2025-04-10 00:01:50 +01: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
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
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
f410f98d89
clean ignores boxes
2025-04-08 11:59:40 +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
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ć
d49364d96f
Revert "Refactor full_selection"
2025-04-07 12:11:55 +02:00
KrystalDelusion
98d4355b82
Merge pull request #4768 from YosysHQ/krys/refactor_selections
...
Refactor full_selection
2025-04-05 14:15:27 +13: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
Anhijkt
c57cbfa8f9
opt_expr: add test
2025-04-01 21:54:46 +03: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
Emil J. Tywoniak
6194eb939d
opt_expr: expand test coverage
2025-03-31 19:31:53 +02:00
Emil J
1b25e1cee0
Merge pull request #4942 from Anhijkt/fix-ice40dsp
...
ice40_dsp: fix log_assert issue
2025-03-28 13:32:17 +01:00
Emil J
b2816b22c5
Merge pull request #4965 from YosysHQ/krys/gen_err_files
...
More *.err files in test failures
2025-03-28 13:08:44 +01:00
Emil J
ec8b745929
Merge pull request #4733 from antmicro/fix-setundef-pass-for-params
...
Fix setting bits of parameters in setundef pass
2025-03-28 13:06:04 +01:00
Kelvin Chung
a0dabf9203
Add extra test
2025-03-26 22:24:41 +00:00
KrystalDelusion
5b6b3d01bf
Update gen-tests-makefile.sh
...
Keep file extensions so that e.g. tribuf.ys and tribuf.sh don't try to output to the same log file.
2025-03-27 10:33:51 +13:00
KrystalDelusion
8a68ae6023
Update gen-tests-makefile.sh
2025-03-27 10:10:49 +13:00
Anhijkt
cb03a1ec21
ice40_dsp: fix test
2025-03-26 15:13:05 +02:00
Kelvin Chung
7bbdf6049a
Move implementation to constmap and add test
2025-03-26 11:52:55 +00:00
Scott Ashcroft
518986d45c
Make cxxrtl tests work on 32-bit by using __builtin_clzll when needed
2025-03-25 13:12:04 +00:00
KrystalDelusion
a647731812
Merge pull request #4677 from YosysHQ/emil/opt_merge-hashing
...
opt_merge: hashing performance and correctness
2025-03-25 10:36:02 +13:00
Emil J. Tywoniak
980a0a15c1
stat: allow gzipped liberty files
2025-03-19 13:43:44 +01:00
Anhijkt
5ae32efca5
ice40_dsp: add test
2025-03-15 20:05:57 +02:00
KrystalDelusion
9f1271bee0
Merge pull request #4922 from Anhijkt/fix-splitcells-assert
...
splitcells: Fix the assertion bug caused by out-of-bound offset
2025-03-14 16:52:38 +13:00
Krystine Sherwin
8405b3b723
select: Fix -none and -clear
...
If the selection stack only has one element (which it normally does), then
`design->pop_selection()` automatically resets to the default full selection.
This is a problem for `select [-none | -clear]` which were trying to replace the
current selection, but because the pop added an extra element when the `execute`
returned, the extra selection (the one we actually wanted) gets popped too. So
instead, reassign `design->selection()` in the same way as if we called `select
[selection]`.
Also adds selection stack tests, and removes the accidentally-committed
`boxes_dummy.ys`.
2025-03-14 16:32:18 +13:00
Krystine Sherwin
9a9cd05f6c
tests: Fixes for boxes
...
cxxrtl `test_unconnected_output` and simple_abc9 `abc9.v` both expect boxed modules in the outputs, so make sure they work as expected.
2025-03-14 14:08:15 +13:00
Krystine Sherwin
061c234559
tests/select: Add tests for selections with boxes
2025-03-14 14:05:40 +13:00
Martin Povišer
6da543a61a
Merge pull request #4818 from povik/macc_v2
...
Add `$macc_v2`
2025-03-12 22:55:40 +01:00
Anhijkt
be3dfdc5ad
splitcells: add tests
2025-03-10 19:41:22 +02:00
Martin Povišer
d8a4991289
Merge pull request #4931 from povik/buf-clean
...
opt_clean, simplemap: Add `$buf` handling
2025-03-10 15:10:17 +01:00
Emil J. Tywoniak
33bfc9d19c
opt_merge: test more kinds of cells
2025-03-10 13:14:06 +01:00