verilator/test_regress/t/t_slice_cond.v

39 lines
921 B
Systemverilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2017 by Wilson Snyder.
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