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
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