mirror of
https://github.com/zachjs/sv2v.git
synced 2026-09-02 10:27:21 +02:00
preserve generate else branch association in codegen
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
module Example;
|
||||
parameter X = 1;
|
||||
parameter Y = 1;
|
||||
parameter Z = 1;
|
||||
initial $display("X=%0d Y=%0d Z=%0d Example", X, Y, Z);
|
||||
generate
|
||||
if (X) begin
|
||||
if (Y) begin
|
||||
if (Z) begin
|
||||
initial $display("X=%0d Y=%0d Z=%0d A", X, Y, Z);
|
||||
end
|
||||
end
|
||||
else begin
|
||||
initial $display("X=%0d Y=%0d Z=%0d B", X, Y, Z);
|
||||
end
|
||||
end
|
||||
initial
|
||||
if (X) begin
|
||||
if (Y) begin
|
||||
if (Z) begin
|
||||
$display("X=%0d Y=%0d Z=%0d C", X, Y, Z);
|
||||
end
|
||||
end
|
||||
else begin
|
||||
$display("X=%0d Y=%0d Z=%0d D", X, Y, Z);
|
||||
end
|
||||
end
|
||||
if (X) begin
|
||||
initial
|
||||
if (Y) begin
|
||||
if (Z) begin
|
||||
$display("X=%0d Y=%0d Z=%0d E", X, Y, Z);
|
||||
end
|
||||
end
|
||||
else begin
|
||||
$display("X=%0d Y=%0d Z=%0d F", X, Y, Z);
|
||||
end
|
||||
end
|
||||
if (X) begin
|
||||
if (Y) begin
|
||||
initial
|
||||
if (Z) begin
|
||||
$display("X=%0d Y=%0d Z=%0d G", X, Y, Z);
|
||||
end
|
||||
end
|
||||
else begin
|
||||
initial $display("X=%0d Y=%0d Z=%0d H", X, Y, Z);
|
||||
end
|
||||
end
|
||||
endgenerate
|
||||
endmodule
|
||||
|
||||
module top;
|
||||
Example #(0, 0, 0) e000();
|
||||
Example #(0, 0, 1) e001();
|
||||
Example #(0, 1, 0) e010();
|
||||
Example #(0, 1, 1) e011();
|
||||
Example #(1, 0, 0) e100();
|
||||
Example #(1, 0, 1) e101();
|
||||
Example #(1, 1, 0) e110();
|
||||
Example #(1, 1, 1) e111();
|
||||
endmodule
|
||||
Reference in New Issue
Block a user