preserve generate else branch association in codegen

This commit is contained in:
Zachary Snow
2021-01-25 12:33:04 -05:00
parent e4adf6a74c
commit 5f0dc6be0c
2 changed files with 77 additions and 1 deletions
+62
View File
@@ -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