プロセス内には、次のようなものがあります。
CASE res IS
WHEN "00" => Y <= A;
WHEN "01" => Y <= A;
WHEN "10" => Y <= B;
WHEN "11" => Y <= C;
WHEN OTHERS => Y <= 'X';
END CASE;
ケース"00"
と"01"
は同じ値を取得することに注意してください。次のような正しい構文はありますか
WHEN "00", "01" =>
?
補足:Yが変更されるよりもはるかに多くのことがあります。簡単にするために使用しました。したがって、必要な場合/必要な場合
「パイプ」またはバーの記号を使用して、複数の選択肢を区切ることができます。あなたの例の適切な構文は次のとおりです。
CASE res IS
WHEN "00" | "01" => Y <= A;
WHEN "10" => Y <= B;
WHEN "11" => Y <= C;
WHEN OTHERS => Y <= 'X';
END CASE;
ケースにさまざまな選択肢を与えることもできます。
USE IEEE.STD_LOGIC_ARITH.ALL;
CASE CONV_INTEGER(res) IS
WHEN 0 to 1 => Y <= A;
WHEN 2 => Y <= B;
WHEN 3 => Y <= C;
WHEN OTHERS => Y <= 'X';
END CASE;