During parameter overriding, the parameter my_secret is getting overridden by 2.3.4.5. I want to impose a condition that overrides my_secret to 2 for count = 0 to 10, my_secret to 3 for count = 10 to 20, my_secret to 4 for count = 20 to 30, my_secret to 5 for count = 40 to 50 ?
Test bench:
module tb_def_param;
    // Inputs
    reg CLK;
    reg RST;
    reg [4:0] a;
    reg [4:0] b;
   reg  [5:0] count;
    parameter my_secret = 4'd0;
wire [6:0] sum;
    initial 
    begin
        // Initialize Inputs
        a = 0;
        b = 0;
        CLK = 1;
        RST = 1; 
        // Wait 100 ns for global reset to finish
        #100 RST = 1;
      #100 RST = 0; 
        // Add stimulus here
        a = 5'd2;
        b = 5'd3;
    end
always @ (posedge CLK)
   begin
    if(RST)
        count <= 6'd0;
        else 
        count <= count + 1;
    end 
secret_number #(2) U0(.CLK(CLK), .RST(RST), .a(a),.b(b),.sum(sum));
secret_number #(3) U1(.CLK(CLK), .RST(RST), .a(a),.b(b),.sum(sum));
secret_number #(4) U2(.CLK(CLK), .RST(RST), .a(a),.b(b),.sum(sum));
secret_number #(5) U3(.CLK(CLK), .RST(RST), .a(a),.b(b),.sum(sum));
always
    begin
         #10 CLK <= ~CLK;
    end 
endmodule
main module is:
 module secret_number(CLK,RST,a,b,sum); 
 input CLK, RST;
 input [4:0]a,b;
 output [6:0]sum;
 reg [6:0] sum;
 parameter my_secret = 0;
 always@(posedge CLK)    
   sum = a + b + my_secret;
     initial begin
     $display("%d", my_secret);
            end
     endmodule 
Is that possible ???
