Verilog中的复杂端口连接

时间:2014-02-21 13:21:05

标签: verilog

请帮助理解verilog端口定义的以下语法。

module same_port (.a(i), .b(i)); 
// Name ’i’ is declared inside themodule as a inout port.
// Names ’a’ and ’b’ are
// defined for port connections.

此连接合法吗?

1 个答案:

答案 0 :(得分:3)

是的,这是合法的。看起来您直接从standard(非ANSI样式端口声明)的第23.2.2.1节中获取此示例。正如它所说,你有两个端口ab,它们都连接到内部网i。实例化此模块时,您可以使用命名端口连接将两个不同的东西连接到i

same_port inst(.a(connection1), .b(connection2));

在上述实例中,connection1connection2都将连接到inst.i

即使这是合法的,我建议不要使用它,除非你有充分的理由。这不是非常常用的语法,可能会导致其他人查看您的代码时出现混淆。我见过的唯一一个地方就是从原理图中自动生成的verilog网表。