如何使用端口映射忽略输出端口

时间:2013-10-16 19:33:49

标签: port vhdl

通常在VHDL中我注意到某个组件有多个输出端口。即在我们的一个例子中,我们得到了以下组件:

COMPONENT eight_bitadder
  PORT ( a, b: in std_logic_vector(7 downto 0); 
        f: in std_logic; 
        C: out std_logic_vector(7 downto 0); 
        o, z: out std_logic);
END COMPONENT;

其中z确定结果是否为0,o在溢出时触发。

现在在我的情况下我希望使用这个加法器,但实际结果并不重要,相反我只想检查结果是否为“0”。我当然可以添加一个虚拟信号并将端口存储到这个信号中,但这似乎不必要地复杂化,并且可能在合成期间添加额外的组件?

2 个答案:

答案 0 :(得分:17)

实例化组件时,可以保留不关心的输出端口。您关注的唯一信号是“溢出”。

编辑:请注意,综合工具将优化掉任何未使用的输出。

EIGHT_BITADDER_INST : eight_bitadder
  port map (
    a => a,
    b => b, 
    f => f, 
    c => open, 
    o => overflow,
    z => open
    );

答案 1 :(得分:2)

你也可以选择不将输出绑定到这样的东西:

EIGHT_BITADDER_INST : eight_bitadder
    port map (
    a => a,
    b => b, 
    f => f, 
    o => overflow
);

请注意,我只是在端口映射中没有包含输出c和z。有些人可能会对此的清晰度进行辩论(因为可能不清楚输出c和z是否存在),但它也将代码简化为只需要的代码。