Assuming in the design, all module's input/output ports are the same. however, the module name are different and number of module counts are different by project.
Is it possible to have 2 parameters -> Can it be synthesiable ?
parameter NUM_OF_MODULE_COUNTS = 10,
parameter string MODULE_NAME[10] = {module_a,module_b,.....}
genvar i ;
generate
for (i==0;i<NUM_OF_MODULE_COUNTS; i++)
MODULE_NAME[i] u_inst (.port_a(a), .port_b(b)).....);
endgenerate