在一个过程中,我有这样的事情:
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;
Run Code Online (Sandbox Code Playgroud)
注意这种情况"00"并"01"获得相同的值.是否有类似的正确语法
WHEN "00", "01" => ?
额外注意:除了改变Y之外,还有更多内容,我只是为了简单起见而使用它.所以案例/何时是必要的.
Cha*_*ler 33
您可以使用"管道"或条形符号分隔多个选项.您的示例的正确语法是:
CASE res IS
WHEN "00" | "01" => Y <= A;
WHEN "10" => Y <= B;
WHEN "11" => Y <= C;
WHEN OTHERS => Y <= 'X';
END CASE;
Run Code Online (Sandbox Code Playgroud)
您还可以为案例提供一系列选择:
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;
Run Code Online (Sandbox Code Playgroud)