verilator/test_regress/t/t_unpack_array_no_expand.v

43 lines
1017 B
Systemverilog
Raw Normal View History

2023-01-18 19:35:48 +00:00
// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain, for
// any use, without warranty, 2023 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0
module t
(
output logic [255:0] data_out
);
localparam int NUM_STAGES = 3;
/* verilator lint_off ALWCOMBORDER */
/* verilator lint_off UNOPTFLAT */
`define INPUT 256'hbabecafe
logic [255:0] stage_data [NUM_STAGES+1];
genvar stage;
generate
always_comb begin
stage_data[0] = `INPUT;
end
for (stage = 0; stage < NUM_STAGES; ++stage) begin : stage_gen
always_comb begin
stage_data[stage+1] = stage_data[stage];
end
end
endgenerate
/* verilator lint_on UNOPTFLAT */
/* verilator lint_on ALWCOMBORDER */
always_comb begin
data_out = stage_data[NUM_STAGES];
if (data_out !== `INPUT) $stop;
$write("*-* All Finished *-*\n");
$finish;
end
endmodule