when usadas son sintaxis que quartus proces else ejemplos arquitecturas case vhdl

case - usadas - vhdl when structure



Caso VHDL/Cuándo: casos múltiples, cláusula única (2)

Puede separar varias opciones con el símbolo de "tubo" o barra. La sintaxis adecuada para su ejemplo es:

CASE res IS WHEN "00" | "01" => Y <= A; WHEN "10" => Y <= B; WHEN "11" => Y <= C; WHEN OTHERS => Y <= ''X''; END CASE;

Dentro de un proceso tengo algo como esto:

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;

Tenga en cuenta que el caso "00" y "01" obtienen el mismo valor. ¿Hay una sintaxis correcta para algo como

WHEN "00", "01" => ?

Nota adicional: hay mucho más en esto que el cambio de Y, simplemente lo usé por simplicidad. Así que el caso / cuándo es necesario.


También puede dar una gama de opciones para un caso:

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;