3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-14 06:05:29 +00:00
yosys/tests/svtypes
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
..
array_assign.sv ast: Add support for array-to-array assignment 2026-03-04 21:34:40 -08:00
enum_simple.sv
enum_simple.ys tests: Run async2sync before sat and/or sim to handle $check cells 2024-02-01 16:14:11 +01:00
logic_rom.sv
logic_rom.ys
multirange_array.sv Add support for packed multidimensional arrays 2024-02-11 11:26:52 -05:00
multirange_subarray_access.ys
run-test.sh test: restore verific handling, nicer naming 2024-12-13 10:24:47 +01:00
static_cast_negative.ys
static_cast_nonconst.ys
static_cast_simple.sv
static_cast_verilog.ys
static_cast_zero.ys
struct_array.sv Resolve struct member multiple dimensions defined in stages with typedef 2024-02-11 11:26:52 -05:00
struct_dynamic_range.sv Handling of attributes for struct / union variables 2023-05-03 18:44:07 +02:00
struct_dynamic_range.ys tests: Run async2sync before sat and/or sim to handle $check cells 2024-02-01 16:14:11 +01:00
struct_simple.sv
struct_sizebits.sv fix test for verific 2024-02-12 09:19:58 +01:00
typedef_initial_and_assign.sv sv: improve support for wire and var with user-defined types 2021-08-12 22:41:41 -06:00
typedef_initial_and_assign.ys tests: remove -seq 1 from sat with -tempinduct where possible 2025-09-08 18:04:32 +02:00
typedef_memory.sv
typedef_memory.ys
typedef_memory_2.sv
typedef_memory_2.ys
typedef_package.sv
typedef_param.sv
typedef_scopes.sv Correct hierarchical path names for structs and unions 2024-01-04 17:22:07 +01:00
typedef_simple.sv
typedef_struct.sv Corrected handling of nested typedefs of struct/union 2023-07-20 23:39:44 -04:00
typedef_struct_global.ys Tests: Add svtypes/typedef_struct_global.ys 2025-05-26 12:16:58 +12:00
typedef_struct_port.sv
typedef_struct_port.ys tests: remove -seq 1 from sat with -tempinduct where possible 2025-09-08 18:04:32 +02:00
union_simple.sv Handle struct members of union type (#3641) 2023-01-29 13:45:45 -05:00