在例化模块中列出的端口表达式与例化模块内部声明的端口之间建立联系的另一种方法是显式连接从模块声明名称到表达式的端口声明名称,即模块声明中使用的名称和实例化模块中使用的名称。顺序列表和基于名称的模块端口连接不得混用,与模块实例的端口连接应全部按顺序或全部按名称进行。
在下面的示例中,实例化模块将其信号topA和topB连接到模块ALPHA定义的端口In1 和Out,ALPHA 定义的In2端口未被使用。在实例化模块中允许存在未使用的端口。
ALPHA instance1 (.Out(topB),.In1(topA),.In2());
下例定义了模块modB和topmod,然后topmod使用按名称连接的端口实例化了modB:
由于上面这个例子的端口连接是按名称进行的,因此它们出现的顺序并不重要。但verilog不允许模块实例的端口多次连接,例如以下示例就是非法的:
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!