Let's say I have a module called mymodule. I need to call it 10 times in my top_module file. I have seen someone on ResearchGate mention a method that uses the module instantiation as a vector (see Matt Weber's answer) and I tried doing the following:
mymodule [9:0]inst (inputs/outputs);
The tcl console threw a syntax error message stating the following:
Error (10170): Verilog HDL syntax error at top_module.v(8) near text: "("; expecting ";". Check for and fix any syntax errors that appear immediately before or at the specified keyword.
But, when I did this:
mymodule inst [9:0] (inputs/outputs);
It successfully compiled and did what I wanted it to do, instantiate 10 modules without a loop.
What is this thing called? I tried searching for it online, and I saw nothing but for-loops inside a generate block.