sv2v/test/basic/multipack_port.sv

34 lines
754 B
Systemverilog

module foo(clock, data);
input logic clock;
output logic [10:0] data [5];
initial data[0][0] = 0;
always @(clock) begin
integer i, j;
for (i = 4; i >= 0; i--) begin
for (j = 9; j >= 0; j--) begin
data[i][j + 1] = data[i][j];
end
if (i != 0)
data[i][0] = data[i-1][10];
end
data[0][0] = ~data[0][0];
end
endmodule
module top;
logic [10:0] data [5];
reg clock;
foo f(clock, data);
initial begin
clock = 1;
forever #1 clock = ~clock;
end
initial begin : foo
$monitor("%d %b%b%b%b%b", $time, data[0], data[1], data[2], data[3], data[4]);
#100;
$finish();
end
endmodule