tags:

views:

113

answers:

1

Inside a process I have something like this:

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;

Note that case "01" and "01" get the same value. Is there correct syntax for something like

WHEN "00", "01" => ?

Extra note: There's far more to this than Y being changed, I just used that for simplicity. So the case/when is necessary.

+5  A: 

You can separate multiple choices with the "pipe" or bar symbol. The proper syntax for your example is:

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