一个端口能否在 VHDL 中共享它被映射到的信号的名称?

Can a Port Share the Name of the Signal it's Being Mapped to in VHDL?

正如标题所描述的那样。 我指的端口和信号周围有星号。将端口命名为与其映射到的信号相同的端口是否有任何冲突?还是使用不同的名称只是一种良好的编码习惯?

fml_fulladd_vhdl
    PORT MAP(
        C_in => C_in, -- this line
        x => x(3),
        y => y(3),
        s => s(3),
        C_out => C_out); -- and this line

感谢任何可以提供帮助的人。

是的,这是正常做法。

您不能拥有的是架构中与关联实体的端口之一同名的信号。与同一层次结构中组件上的端口之一相同的命名信号是可以的。事实上,您可以将实体上的端口直接连接到实例化组件上的端口(相同或不同名称的端口),不需要中间信号(假设相同方向的端口和遵循类型规则)。

请注意,如果您级联几个这样的全加器以添加一个多位数字(看起来您可能在您的情况下添加 4 位数字),则只有一个输出(最终实例的输出)应该驱动一位 C_out 信号,否则您将有多个驱动程序。您需要一个中间信号来将每个 fulladd 实例的 C_out 连接到 C_in。