1

我想知道您对如何测试和管理“U”、“X”、“-”、...的组件的输入信号的看法

例如,如果我希望所有无效输入的输出为“X”,其中输入的至少一位不是“0”或“1”:

entity foo is
    port (
        signal inp : std_logic_vector(7 downto 0);
        signal outp: std_logic );
end entity foo;

architecture bar of foo is
begin
    process(inp)
        if (inp < "11001010") then
            outp <= '1';
        else
            outp <= '0';
        end if;
    end process;
end architecture bar;

这样,测试默认为假。

如何测试输入的一般方法?

4

1 回答 1

3

Is_Xstd_logic_1164;使用 true如果您std_logic_vector包含“U”、“X”、“Z”、“W”、“-”中的任何一个,它将返回。

Is_X将始终false在综合期间返回(例如,您可以使用它Is_X('W')来测试您是在模拟还是在综合中。)

于 2012-11-12T01:07:38.733 回答