在一个过程中我有这样的东西:
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;
注意 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;
也可以给一个case选择范围:
USE IEEE.NUMERIC_STD.ALL;
CASE TO_INTEGER(res) IS
WHEN 0 to 1 => Y <= A;
WHEN 2 => Y <= B;
WHEN 3 => Y <= C;
WHEN OTHERS => Y <= 'X';
END CASE;