HDLBits-02-Verilog语言–模块:层次结构
Module pos
此问题类似于上一个问题(模块)。您将获得一个名为的模块mod_a,该模块具有2个输出和4个输入(按顺序)。您必须连接6个端口的位置到顶层模块的端口out1,out2,a,b,c,并d按此顺序。
您将获得以下模块:
module mod_a ( output, output, input, input, input, input );
按照上述模板来做。
具体代码如下:
使用端口位置对应方式:
端口位置对应方式是被调用的模板按照一定的顺序出现在端口连接表中的一种模块调用的方式,其语法如下:
模块名<参数值列表> 实例名<信号名1>,<信号名2>…<信号n>;
在设计过程中,会发现a,b,c,d都是由in端输入,如果使用端口名对应方式的话就会出现错误。
这种方式中,模块定义时的端口名和调用时的实际连接信号名之间是一一对应关系,端口之间的对应关系是十分明确的。
此时,在in这个端口,a,b,c,d四个信号是同时进入,就会产生竞争冒险。
而在端口位置对应方式中,端口列表中的这些信号会与所调用模块定义的端口依次连接,会不会产生竞争冒险。