sv2v/test/relong/split_struct.v

27 lines
457 B
Verilog

`default_nettype none
// typedef struct packed {
// logic [1:0] last;
// logic [1:0] first;
// } MyStruct_t;
module Example(
input wire [1:0] a, b,
output wire [3:0] result
);
reg [3:0] s;
assign result = s;
// Convert to always @* block
// It might be easier to go directly to always @*
wire [1:0] _s_3_2;
assign _s_3_2[1:0] = a;
always @* s[3:2] = _s_3_2;
always @* begin
s[1:0] = b;
end
endmodule