sv2v/test/core/pattern.v

235 lines
4.3 KiB
Verilog
Raw Normal View History

module test;
reg [31:0] a_w, a_x;
reg [7:0] a_y;
reg a_z;
reg [72:0] a;
always @* a = {a_w, a_x, a_y, a_z};
initial begin
$monitor("%2d: %b %b %b %b %b", $time, a, a_w, a_x, a_y, a_z);
#1 a_w = 0;
#1 a_x = 0;
#1 a_y = 0;
#1 a_z = 0;
#1 begin
a_w = 1;
a_x = 1;
a_y = 1;
a_z = 1;
end
#1 begin
a_w = 2;
a_x = 2;
a_y = 2;
a_z = 2;
end
#1 begin
a_w = 3;
a_x = 3;
a_y = 3;
a_z = 3;
end
#1 begin
a_w = 0;
a_x = 0;
a_y = 0;
a_z = 0;
end
#1 begin
a_w = -1;
a_x = -1;
a_y = -1;
a_z = -1;
end
#1 begin
a_w = -2;
a_x = -2;
a_y = -2;
a_z = -2;
end
#1 begin
a_w = 0;
a_x = 0;
a_y = 1;
a_z = 1;
end
#1 begin
a_w = 1;
a_x = 1;
a_y = 0;
a_z = 1;
end
#1 begin
a_w = 1;
a_x = 1;
a_y = 1;
a_z = 0;
end
#1 begin
a_w = 2;
a_x = 2;
a_y = 3;
a_z = 1;
end
#1;
#1 begin
a_w = 3;
a_x = 3;
a_y = 2;
a_z = 0;
end
#1 begin
a_w = 8;
a_x = 0;
a_y = 1;
a_z = 1;
end
#1 begin
a_w = 8;
a_x = 1;
a_y = 0;
a_z = 1;
end
#1 begin
a_w = 8;
a_x = 1;
a_y = 1;
a_z = 0;
end
#1 begin
a_w = 8;
a_x = 2;
a_y = 3;
a_z = 1;
end
#1;
#1 begin
a_w = 8;
a_x = 3;
a_y = 2;
a_z = 0;
end
2019-10-14 05:37:43 +02:00
end
reg [31:0] b_x;
wire [72:0] b_y;
reg b_z;
reg [105:0] b;
assign b_y = a;
always @* b = {b_x, b_y, b_z};
initial begin
#100;
a_w = 'bx;
a_x = 'bx;
a_y = 'bx;
a_z = 'bx;
$monitor("%2d: %b %b %b %b", $time, b, b_x, b_y, b_z);
#1 b_x = 0;
#1 begin
a_w = 0;
a_x = 0;
a_y = 0;
a_z = 0;
end
#1 b_z = 0;
#1 begin
a_w = 1;
a_x = 1;
a_y = 1;
a_z = 1;
b_x = 1;
b_z = 1;
end
#1 begin
a_w = 2;
a_x = 2;
a_y = 2;
a_z = 2;
b_x = 2;
b_z = 2;
end
#1 begin
a_w = 3;
a_x = 3;
a_y = 3;
a_z = 3;
b_x = 3;
b_z = 3;
end
#1 begin
a_w = 0;
a_x = 0;
a_y = 0;
a_z = 0;
b_x = 0;
b_z = 0;
end
#1 begin
a_w = -1;
a_x = -1;
a_y = -1;
a_z = -1;
b_x = -1;
b_z = -1;
end
#1 begin
a_w = -2;
a_x = -2;
a_y = -2;
a_z = -2;
b_x = -2;
b_z = -2;
end
#1 begin
a_w = 0;
a_x = 0;
a_y = 1;
a_z = 1;
b_x = 0;
b_z = 1;
end
#1 begin
a_w = 1;
a_x = 1;
a_y = 0;
a_z = 1;
b_x = 1;
b_z = 1;
end
#1 begin
a_w = 1;
a_x = 1;
a_y = 1;
a_z = 0;
b_x = 1;
b_z = 0;
end
#1 begin
a_w = 2;
a_x = 2;
a_y = 3;
a_z = 1;
b_x = 2;
b_z = 1;
end
#1;
#1 begin
a_w = 3;
a_x = 3;
a_y = 2;
a_z = 0;
b_x = 3;
b_z = 0;
end
end
endmodule
module top; endmodule