verilator/test_regress/t/t_slice_cond.v

40 lines
868 B
Systemverilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2017 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
module t ( /*AUTOARG*/
// Outputs
dataout,
// Inputs
clk,
sel,
d0,
d1
);
input clk;
input sel;
logic [7:0] data[1:0][3:0];
input [7:0] d0, d1;
output wire [8*2*4-1:0] dataout;
always_comb begin
for (integer j = 0; j <= 1; j++) begin
if (sel) data[j] = '{d0, d1, 8'h00, 8'h00};
else data[j] = '{8'h00, 8'h00, 8'h00, 8'h00};
end
for (integer j = 0; j <= 1; j++) begin
data[j] = sel ? '{d0, d1, 8'h00, 8'h00} : '{8'h00, 8'h00, 8'h00, 8'h00};
end
end
assign dataout = {
data[0][0], data[0][1], data[0][2], data[0][3], data[1][0], data[1][1], data[1][2], data[1][3]
};
endmodule