0

それぞれ値が 1 と 0 の 2 つの std_logic_vector を変換すると

signal mlx, mtx : std_logic_vector(15 downto 0) 

を通じて整数に

variable WLX : integer;
variable WTX : integer;

WLX := TO_INTEGER(signed(mlx));
WTX := TO_INTEGER(signed(mtx));

その後、これらの減算を -1 リテラルと比較します。

if WTX-WLX = -1 

結果は本当ですか?

ありがとう

4

1 に答える 1

2

mlx=X"0001" および mtx=X"0000" の場合、はい、整数として mtx から mlx を引くと -1 になるため、質問に対する答えははいです。

ただし、値を操作したり比較したりするために値を整数にキャストすることは、通常、コードの記述が不十分であることを示しています。

mlx と mtx に符号付きを使用し、整数の使用を避けるのはなぜですか?

architecture arch of ent is
    signal mlx, mtx : signed(15 downto 0);
begin
    process(clk) begin
        if(rising_edge(clk)) then
            if(mtx - mlx = -1) then
                -- Do what needs to be done.
            end if;
        end if;
    end process;
end architecture;
于 2013-06-05T15:09:18.803 に答える