Commit a87ee7c1 by Zachary Snow

additional param type conversion bug fixes

- general refactoring throughout
- improved metrics for dropping unneeded modules
- fix re-visiting a converted instance in the same pass
parent 003d4dbc
...@@ -15,7 +15,8 @@ module mod #( ...@@ -15,7 +15,8 @@ module mod #(
endmodule endmodule
module top; module top;
typedef struct packed { byte y; } W; parameter type BASE = byte;
typedef struct packed { BASE y; } W;
W w; W w;
typedef struct packed { type(w) x, y; } V; typedef struct packed { type(w) x, y; } V;
V v; V v;
......
module mod #(
parameter type T = logic
);
initial $display("$bits(T) = %0d", $bits(T));
endmodule
module top;
parameter SIZE = 8;
mod #(logic [SIZE-1:0]) m();
endmodule
module mod #(
parameter S = 1
);
initial $display("$bits(T) = %0d", S);
endmodule
module top;
parameter SIZE = 8;
mod #(SIZE) m();
endmodule
...@@ -28,4 +28,4 @@ module top_2; bar #(byte, 3) x(); endmodule ...@@ -28,4 +28,4 @@ module top_2; bar #(byte, 3) x(); endmodule
module top_3; foo #(bit, 4) x(); endmodule module top_3; foo #(bit, 4) x(); endmodule
module top_4; bar #(bit, 5) x(); endmodule module top_4; bar #(bit, 5) x(); endmodule
module top; endmodule module top; foo x(); endmodule
...@@ -48,4 +48,4 @@ module top_2; bar_byte #(3) x(); endmodule ...@@ -48,4 +48,4 @@ module top_2; bar_byte #(3) x(); endmodule
module top_3; foo_bit #(4) x(); endmodule module top_3; foo_bit #(4) x(); endmodule
module top_4; bar_bit #(5) x(); endmodule module top_4; bar_bit #(5) x(); endmodule
module top; endmodule module top; foo_bit #(0) x(); endmodule
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment