门和开关实例的端口列表(terminal list)描述了门或开关与模型其他部分的连接方式。列表必须用一对圆括号括起来,列表内的多个端口之间用逗号隔开。输出端口或双向端口应始终排在端口列表的第一位,然后是输入端口。
实例数组的端口连接应遵循这些规则:
- 声明的实例数组中每个端口表达式的位长应与实例化模块或原语中每个单实例端口的位长进行比较。
- 对于实例数组端口表达式的位长与单实例端口的位长相同的每个端口,实例数组端口表达式应连接到每个单实例端口。
- 如果位长不同,则每个实例应从右侧索引开始,获得范围内指定的端口表达式的部分选择。
实例数组中单个实例的引用方式与reg数组中元素的引用方式相同。
例 1-下面的 nand_array 声明了四个实例,分别可以被 nand_array[1] 、nand_array[2] 、nand_array[3] 和 nand_array[4] 引用。
nand #2 nand_array[1:4]( ... ) ;
示例 2--除了有索引的实例名称外,下面的两个模块描述是等价的,它们演示了声明实例数组的范围规范和连接规则:


例 3--除了有索引的实例名称外,下面的两个模块描述是等价的,它们演示了当端口大小不匹配时,实例数组中的不同实例是如何连接的:

例 4-本例演示了如何将一系列模块串联起来。下图1展示了 DFF(D触发器)实例的等效互连示意图。

图1:DFF实例阵列中的互连示意图
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!
1628

被折叠的 条评论
为什么被折叠?



