mirror of https://github.com/zachjs/sv2v.git
34 lines
754 B
Systemverilog
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
|