1

「U」、「X」、「-」などのコンポーネントの入力信号をテストおよび管理する方法について、ご意見をお聞かせください。

たとえば、入力の少なくとも 1 ビットが「0」または「1」ではない、すべての無効な入力に対して出力を「X」にしたい場合:

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;

このように、テストはデフォルトで false になります。

入力をテストする一般的な方法はどのようになりますか?

4

1 に答える 1

3

から使用Is_Xstd_logic_1164ます。「U」、「X」、「Z」、「W」、「-」のいずれかが含まれているtrue場合に返されます。std_logic_vector

Is_X合成中に常に戻ります (たとえば、シミュレーションまたは合成のどちらにいるかをテストするためにfalse使用できます)。Is_X('W')

于 2012-11-12T01:07:38.733 に答える