Commit Graph

2600 Commits

Author SHA1 Message Date
Lofty fecea911ff synth_gatemate: add -abc_new option 2026-05-06 14:02:48 +01:00
Lofty 0d3923d086 abc_new: use default script if not specified 2026-04-28 12:33:21 +01:00
Emil J a966d06524
Merge pull request #5825 from petterreinholdtsen/autotest-race-text-busy
Added locking around compiling in autotest.sh to avoid text busy race.
2026-04-28 09:12:33 +00:00
Emil J cfa66f5335
Merge pull request #5824 from petterreinholdtsen/autotest-cxxflags
Use CPPFLAGS and CXXFLAGS when compiling in autotest.sh.
2026-04-27 22:06:07 +00:00
Petter Reinholdtsen 3187275184 Use CPPFLAGS and CXXFLAGS when compiling in autotest.sh.
This ensure the build flags used elsewhere are included
also during testing.

Patch based on change from Daniel Gröber via Debian.

See also issue #5805.
2026-04-25 06:47:26 +02:00
Petter Reinholdtsen 59b3b6d4e4 Added locking around compiling in autotest.sh to avoid text busy race.
Patch by Daniel Gröber via Debian.

See also issue #5805.
2026-04-25 00:01:34 +02:00
Petter Reinholdtsen c5a8c3cca5 Made autotest.sh print log on error for easier debugging in CI setups.
Patch by Daniel Gröber via Debian.

See also issue #5805.
2026-04-25 00:01:03 +02:00
Emil J ec0a102302
Merge pull request #5832 from YosysHQ/emil/simple-extract
rtlil: rewrite SigSpec::extract for perf and packing
2026-04-24 19:03:53 +00:00
Emil J. Tywoniak 10bbda93f7 rtlil: extend SigSpec::extract test 2026-04-24 11:04:19 +02:00
Emil J. Tywoniak a2dafce910 unit tests: rename SigSpec::extract test 2026-04-24 11:04:19 +02:00
Emil J. Tywoniak 25b9b796c4 rtlil: complicate extract again for packing 2026-04-24 11:04:19 +02:00
Christopher D. Leary 390f09b89a Support positional assignment patterns for unpacked arrays 2026-04-23 14:29:38 -07:00
Emil J 2dc69a7578
Merge pull request #5828 from YosysHQ/emil/bash-no-fhs
Remove FHS dependency by replacing /bin/bash with /usr/bin/env bash
2026-04-23 15:47:57 +00:00
Emil J. Tywoniak 14d0138d0c Remove FHS dependency by replacing /bin/sh with /usr/bin/env sh 2026-04-23 15:55:11 +02:00
Emil J 64e7ce2f57
Merge pull request #5803 from YosysHQ/emil/specrule-port-sanity
Fix $specrule port naming inconsistency
2026-04-22 10:46:36 +00:00
Emil J. Tywoniak f213a34427 Remove FHS dependency by replacing /bin/bash with /usr/bin/env bash everywhere 2026-04-22 10:39:19 +02:00
Miodrag Milanovic a666712687 Update arith_tree tests 2026-04-16 11:04:14 +02:00
Miodrag Milanovic 5737d2db35 Cleanup 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 76732497b9 Cleanup 2026-04-16 11:00:44 +02:00
Miodrag Milanovic bfd3e150fa Add proper deps 2026-04-16 11:00:44 +02:00
Miodrag Milanovic f04532bbac Try to make it more stable 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 8bed9bd824 Use this for now so we can see actual output of functional tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic a490f1c3c4 Move output redirect to one place 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 9c3d79b041 Cleanup 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 1aad357370 Fix some escaping with different approach 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 5ffa0b1dd7 Disabled some in fmt for now 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 686267ea81 Convert functional 2026-04-16 11:00:44 +02:00
Miodrag Milanovic bfd639f6a0 Disable failing test for now 2026-04-16 11:00:44 +02:00
Miodrag Milanovic f087a94470 Convert svinterfaces 2026-04-16 11:00:44 +02:00
Miodrag Milanovic f42800d4d3 Convert arch 2026-04-16 11:00:44 +02:00
Miodrag Milanovic c272bfbdc3 Convert liberty 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 149e2f343a Converted cxxrtl 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 4a89ae66ff Small fix 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 1c76cadac7 Converted rpc 2026-04-16 11:00:44 +02:00
Miodrag Milanovic fdccbe584d Convert realmath 2026-04-16 11:00:44 +02:00
nella 3ceeb3b00c Consolidated memlib generate script 2026-04-16 11:00:44 +02:00
nella 58e0473e29 Convert bram tests 2026-04-16 11:00:44 +02:00
nella ee31950770 Convert memfile tests 2026-04-16 11:00:44 +02:00
nella 4a9dc33098 Convert memlib tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 1effec2029 Make test simple 2026-04-16 11:00:44 +02:00
Miodrag Milanovic c15bcca25a Better fix 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 0ba9a0fb16 Try fixing tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic d1dc23d9f8 Did share, opt_share and fsm 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 652bbd2b41 Convert xprop tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 68e01a03d7 Converted some more 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 2bc46e77c8 Converted blif tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 1231bd5397 Convert memories tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 5a06a79c0c Correctly handle errors 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 2a8d369be3 Document not covered 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 1bfb95513c Convert autotest script wrapper 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 474d0d7b2e cleanup 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 8953007483 Use generic testing on few more places 2026-04-16 11:00:44 +02:00
Miodrag Milanovic f96fa5ff00 cleanup 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 8ff28a2a86 add prep 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 336a06d091 Add common.mk 2026-04-16 11:00:44 +02:00
Miodrag Milanovic c04d724337 report on summary 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 45bb0413bf Look for all result files 2026-04-16 11:00:44 +02:00
Miodrag Milanovic b361569abf Save results, and create summary and report 2026-04-16 11:00:44 +02:00
Miodrag Milanovic ced2521b03 Convert gen-tests shell script to python 2026-04-16 11:00:44 +02:00
Miodrag Milanovic a2e1fbcfc6 Enabled realmath that was disabled for some reason 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 2f9e35acb8 Fix deprecation warning 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 712ce93501 Clean some seed-tests outputs 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 999255e40c Clean some seed-tests outputs 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 2774671346 Cleanup for abcopt-tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic fc55f16fae Ignore some generated files 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 3c2adfb523 Do not write to console for makefile-tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 8f7e5e9449 Make sure targets are built for tests 2026-04-16 11:00:44 +02:00
Miodrag Milanovic 5494000fd7 Move clean for tests in proper Makefile 2026-04-16 11:00:44 +02:00
Miodrag Milanovic c99855535a Split vanilla-test to separate Makefile 2026-04-16 11:00:44 +02:00
Emil J. Tywoniak 3e45f9729e fix $specrule port naming 2026-04-13 22:34:46 +02:00
nella fc71719e6e Rename csa_tree to arith_tree. 2026-04-13 12:48:05 +02:00
nella c3c577f333 Fix test cases. 2026-04-13 12:48:05 +02:00
nella 42c309347b Clarify. 2026-04-13 12:48:05 +02:00
nella 4f4c820f73 Cleaned up CSA tests. 2026-04-13 12:48:05 +02:00
nella 9cc2e7d95e rm misc comments. 2026-04-13 12:48:05 +02:00
nella 9dc408eea7 CSA add alumacc related tests. 2026-04-13 12:48:05 +02:00
nella fc9adae9a2 Consolidate csa tests. 2026-04-13 12:48:05 +02:00
nella ab1c423692 Tighten csa tests. 2026-04-13 12:48:05 +02:00
nella cfee6bb4af Add more robsutness tests. 2026-04-13 12:48:05 +02:00
nella 6b0caedcdd Add chain tests and tighten synthesis assertions for csa. 2026-04-13 12:48:05 +02:00
nella 7183016910 Edge case tests. 2026-04-13 12:48:05 +02:00
nella 1a4a41812c Add csa synth tests. 2026-04-13 12:48:05 +02:00
nella 4c4c5cf15a Add structural tests for csa_tree. 2026-04-13 12:48:05 +02:00
Emil J 86448c0001
Merge pull request #5655 from YosysHQ/emil/dffsr-sr-priority-undef
Undefine set&reset behavior of $dffsr
2026-04-08 14:22:34 +00:00
Emil J cede13a742
Merge pull request #5765 from YosysHQ/emil/muxpack-wide-port
muxpack: fix wide Y port handling
2026-03-31 10:49:39 +00:00
Gus Smith 6a5fea1b27 Regression test for #5765 2026-03-30 08:59:28 -07:00
Miodrag Milanovic 417e871b06 Fix tests due to ABC improvements 2026-03-30 15:23:27 +01:00
Miodrag Milanović cc915b4c76
Merge pull request #5717 from zaun/latch-support
gowin: add hardware latch support (DL/DLN/DLC/DLP variants)
2026-03-23 16:51:30 +00:00
Emil J 7b2ab9b245
Merge pull request #5763 from YosysHQ/emil/c-slow-init
genrtlil: fast memory initialization
2026-03-23 10:21:21 +00:00
Emil J. Tywoniak 12b443e71c dfflibmap: consistent clk2fflogic usage in test 2026-03-19 19:48:25 +01:00
Emil J 9746bd3897
Merge pull request #5724 from abhinavputhran/fix/setundef-respect-selection
setundef: respect selection for cells, processes, and connections
2026-03-18 22:53:06 +00:00
Emil J. Tywoniak 27737c6e2e rtlil: add remove2 unit test 2026-03-18 23:33:35 +01:00
Lofty c4cc53a72e synth: fix after abc -fast removal 2026-03-18 17:59:58 +01:00
Emil J c8f715fed8
Merge pull request #5664 from rocallahan/parallel-opt-clean
Parallelize `opt_clean` pass
2026-03-16 09:52:34 +00:00
abhinavputhran 314d01b35f changed rtlil to verilog. setundef_selection_ff stays rtlil because we use specific cell names if write in verilog yosys assign name that can change 2026-03-08 20:14:03 -04:00
abhinavputhran 47c2257f82 setundef: more tests! and wire selection in -init mode 2026-03-08 19:41:31 -04:00
abhinavputhran c23ba3f917 I think CI runs within the tests directory based on error so I changed the file path 2026-03-08 18:15:35 -04:00
abhinavputhran 5048dac854 setundef: add tests for selection in -zero, -undriven, and -init modes. also made setundef.cc clearer 2026-03-06 18:12:03 -05:00
Lofty 050483a6b2
Merge pull request #5698 from YosysHQ/lofty/analogdevices
synth_analogdevices: synthesis for Analog Devices EFLX FPGAs [sc-273]
2026-03-06 08:57:59 +00:00
Miodrag Milanovic 602f3fd1a5 Add missing EOL 2026-03-06 09:10:55 +01:00
Miodrag Milanovic 52533b0d1c Update opt_lut_ins and stat for analogdevices and remove ecp5 2026-03-06 09:10:36 +01:00
Robert O'Callahan 1260fda83a Add 'init' attributes to RTLIL fuzzing 2026-03-06 02:20:08 +00:00
Robert O'Callahan cdfc586f18 Add unit tests for `ConcurrentWorkQueue` 2026-03-06 02:20:08 +00:00
Robert O'Callahan 1e96328ede Add some tests for `ShardedHashSet` 2026-03-06 02:20:08 +00:00
Robert O'Callahan 3910d569da Add unit tests for `ConcurrentQueue` and `ThreadPool` 2026-03-06 02:20:08 +00:00
Robert O'Callahan ac55935a68 Add unit-tests for `ParallelDispatchThread` and friends 2026-03-06 02:20:08 +00:00
Robert O'Callahan 7f3b11e56b Add test that connects a wire with `init` to a constant 2026-03-06 02:20:08 +00:00
Justin Zaun 9288889e20 gowin: add hardware latch support (DL/DLN/DLC/DLP variants)
Add simulation models, techmap, and dfflegalize rules for Gowin
DL-series latch primitives. Latches use the same physical BEL as
DFFs with REGMODE set to LATCH. All 12 variants are supported:
DL, DLE, DLN, DLNE, DLC, DLCE, DLNC, DLNCE, DLP, DLPE, DLNP, DLNPE.
2026-03-05 16:04:23 +01:00
Emil J 629bf3dffd
Merge pull request #5630 from apullin/array-assignment
ast: Add support for array-to-array assignment
2026-03-05 11:10:12 +00:00
Lofty cd60dd4912 synth_analogdevices: update timing model and tests 2026-03-05 05:37:13 +00:00
Krystine Sherwin 5d3ed5a418 analogdevices: Extra tests
`mem_gen.py` based on quicklogic tests.
Remove BUFG from `lutram.ys`.
Extra `sync_ram_sp` models in `arch/common/blockram.v`.
Add analogdevices to main makefile tests.
Not all the other tests are passing, but that's fine for now.
2026-03-05 05:37:13 +00:00
Lofty 39cb61615f analogdevices: DSP inference 2026-03-05 05:37:12 +00:00
Krystine Sherwin 9be3cfb3f9 analogdevices: Update lutram.ys test 2026-03-05 05:37:12 +00:00
Lofty 6f205b41f5 test suite 2026-03-05 05:37:12 +00:00
Andrew Pullin 6ac8c8cb05 ast: Add support for array-to-array assignment
This commit adds support for SystemVerilog array-to-array assignment
operations that were previously unsupported:

1. Direct array assignment: `b = a;`
2. Array ternary expressions: `out = sel ? a : b;`

Both single-dimensional and multi-dimensional unpacked arrays are
supported. The implementation expands these array operations during
AST simplification into element-wise assignments.

Example of now-supported syntax:
```systemverilog
wire [7:0] state_regs[8];
wire [7:0] r[8];
wire [7:0] sel[8];
assign sel = condition ? state_regs : r;
```

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-04 21:34:40 -08:00
Emil J 0d7a875675
Merge pull request #5512 from YosysHQ/emil/turbo-celltypes
celltypes: compile-time lookup tables for internal cells
2026-03-04 14:47:57 +00:00
nella b8ee0803ab Remove todo. 2026-03-04 12:39:45 +01:00
nella 66bd4716cf rtlil use newcelltypes. 2026-03-04 12:39:45 +01:00
Emil J. Tywoniak 6d4736269b newcelltypes: extend testing 2026-03-04 12:39:45 +01:00
Emil J. Tywoniak ae10e9e955 pyosys: disable test 2026-03-04 12:39:45 +01:00
Emil J. Tywoniak f594014bef newcelltypes: proper bounds for unit test 2026-03-04 12:39:45 +01:00
Emil J. Tywoniak d91e1c8607 newcelltypes: test against builtin_ff_cell_types 2026-03-04 12:22:14 +01:00
Emil J. Tywoniak 2d7d6ca10b newcelltypes: unit test 2026-03-04 12:22:14 +01:00
Miodrag Milanović 05d1d56b9d
Merge pull request #5704 from apullin/apullin/abc9-no-loops-fix
abc9: preserve topological-loop asserts with targeted SCC fallback
2026-03-04 11:09:38 +01:00
Emil J. Tywoniak 5b4603c54f dfflibmap: fix formal $dffsr tests with sat, prove "no s&r" assumption only needed when appropriate 2026-03-03 10:35:03 +01:00
Emil J. Tywoniak 024408004a dfflibmap: allow formal dffsr mapping tests with clk2fflogic 2026-03-03 10:34:29 +01:00
Emil J. Tywoniak 2dddc53ccf dfflibmap: test dffsr and dffsre from proc with equiv 2026-03-03 10:34:29 +01:00
Emil J. Tywoniak c13a623dbc dfflibmap: test dffsr with either priority liberty file 2026-03-03 10:34:29 +01:00
Emil J. Tywoniak ffb76a3486 dfflibmap: test dffsr mapping without assume 2026-03-03 10:34:29 +01:00
likeamahoney e9442194f2 support automatic lifetime qualifier on procedural variables 2026-02-27 20:42:52 +03:00
Andrew Pullin 5970be33fb abc9: preserve topological-loop asserts with targeted SCC fallback
A real-world ABC9 flow hit residual combinational loops after SCC breaking, tripping the prep_xaiger loop assertion.

Keep the existing topological assertions in place (prep_xaiger and reintegrate still assert no_loops).

To handle residual non-box loops, add a targeted fallback in prep_xaiger: when loops remain after normal SCC breaking, insert additional $__ABC9_SCC_BREAKER cuts on non-box loop cells, rebuild toposort, and then re-check the existing assertion.

Also keep pre-ABC9 SCC tagging on all cell types (scc -all_cell_types) and add a regression test (tests/techmap/abc9-nonbox-loop-with-box.ys).
2026-02-26 22:30:32 -08:00
Emil J 5f8489d36d
Merge pull request #5666 from YosysHQ/emil/equiv_induct-missing-model-errors
equiv_induct: error on missing model
2026-02-25 15:39:31 +01:00
Gus Smith c0f1654028 Expand test into three tests for three cases
(1) no check, (2) check with warning, (3) check
with error. Previously the single test was not
testing all cases, as it was exiting after the
first error.
2026-02-23 10:27:36 -08:00
Krystine Sherwin fd311c5501 tests/arch/gowin: Add wr_en test 2026-02-22 09:00:37 +01:00
Gus Smith b454582f54 Detect undriven and error/warn 2026-02-20 11:00:59 -08:00
Emil J 74f7b0cf92
Merge pull request #5685 from chathhorn-galois/chathhorn/issue5684
Fix segfault from shift with 0-width signed arg.
2026-02-20 11:53:05 +01:00
Emil J 53509a9b2a
Merge pull request #5692 from YosysHQ/emil/modtools-fix-db-port-deletion
modtools: fix database sanity
2026-02-20 10:49:28 +01:00
Emil J. Tywoniak abc7563a35 modtools: add ModIndex unit test 2026-02-18 22:15:44 +01:00
Miodrag Milanović ac96f318ef
Merge pull request #5676 from YosysHQ/emil/unit-test-by-default
Run unit tests on make test
2026-02-13 15:02:50 +01:00
Chris Hathhorn 1e852cef16 Fix segfault from shift with 0-width signed arg.
Fixes #5684.
2026-02-12 22:03:42 -06:00
Miodrag Milanović e4b32d6aae
Merge pull request #5670 from max-kudinov/gowin_mult
Gowin: Add DSP inference for GW1N and GW2A
2026-02-12 14:30:27 +01:00
Miodrag Milanovic cc79c6a761 Support building out of tree, but keep always in tests/unit 2026-02-12 12:17:07 +01:00
Maxim Kudinov b055ea05fd gowin: dsp: Add mult inference tests 2026-02-12 14:12:32 +03:00
Gus Smith 7a0774c3bb Don't dump params by default 2026-02-11 08:33:39 -08:00
Gus Smith b0021e5b10 Add tests 2026-02-11 08:10:57 -08:00
Gus Smith e3db8fee6f
Merge pull request #3459 from gs-jgj/feature_dsp48e1_presub
Add support for subtract in preadder
2026-02-11 08:02:18 -08:00
Gus Smith 8ab105ac28
Merge pull request #4303 from Coloquinte/sat_choice
Infrastructure to run a Sat solver as a command
2026-02-11 06:54:53 -08:00
Gus Smith b04948a8cd Simplify test 2026-02-09 09:38:45 -08:00
Robert O'Callahan 34f8582725
Sanitize ABC global and per-run temporary directory names in logs 2026-02-07 12:12:13 +13:00
Emil J 1717fa0180
Merge pull request #5663 from YosysHQ/emil/opt_expr-fix-pow-shift
opt_expr: fix const lhs of $pow to $shl
2026-02-05 13:09:01 +01:00