Altera_Forum
Honored Contributor
9 years agoGenerate Case Instantiation
Hi,
I would like to instantiate a parameterized sub-module "test1" based on an input value SW[6:0]. So I implement a generate case structure as follows: always @(*) begin generate case (SW[6:0]) 7'b0000000: begin test1 t1(.a(SW[6:0]), .b(LEDR[17:6])); defparam t1.NUM_PULSE = 1; defparam t1.SAMPLES_PER_CYCLE = 8; end 7'b0000001: begin test1 t1(.a(SW[6:0]), .b(LEDR[17:6])); defparam t1.NUM_PULSE = 1; defparam t1.SAMPLES_PER_CYCLE = 16; end default: begin test1 t1(.a(SW[6:0]), .b(LEDR[17:6])); defparam t1.NUM_PULSE = 1; defparam t1.SAMPLES_PER_CYCLE = 8; end endcase endgenerate end But the Altera gives me the following errors: Error (10170): Verilog HDL syntax error at Correlation.v(74) near text "generate"; expecting "end" Error (10170): Verilog HDL syntax error at Correlation.v(77) near text "("; expecting ";" Error (10170): Verilog HDL syntax error at Correlation.v(79) near text "defparam"; expecting "end" Error (10170): Verilog HDL syntax error at Correlation.v(82) near text "("; expecting ";" Error (10170): Verilog HDL syntax error at Correlation.v(84) near text "defparam"; expecting "end" Error (10170): Verilog HDL syntax error at Correlation.v(87) near text "("; expecting ";" Error (10170): Verilog HDL syntax error at Correlation.v(89) near text "defparam"; expecting "end" Error (10170): Verilog HDL syntax error at Correlation.v(92) near text "endgenerate"; expecting "end" Error (10112): Ignored design unit "Correlation" at Correlation.v(7) due to previous errors Can any of you gives me some hints on what causes this compilation error? Thanks -Roger