Incorrect syntax for custom types in parameter list
Summary
When the source module contains a parameter that uses custom data type defined in a package, TMRG generates incorrect syntax in the triplicated output file.
TMRG Version
Steps to reproduce
Source file:
package my_pkg;
typedef logic [1:0] e_t;
endpackage
module m #(parameter my_pkg::e_t c = 2'b10) ();
my_pkg::e_t b = 2'b10;
assign b = c;
endmodule
TMRG output:
package my_pkg;
typedef logic [1:0] e_t;
endpackage
module mTMR #(
// Missing double colon and type
parameter my_pkg c = 2'b10
);
my_pkg::e_t bA = 2'b10;
my_pkg::e_t bB = 2'b10;
my_pkg::e_t bC = 2'b10;
assign bA = c;
assign bB = c;
assign bC = c;
endmodule
What is the expected correct behavior?
parameter my_pkg::e_t c = 2'b10
Edited by Anvesh Nookala