--- Quote Start ---
Can anyone help me shorten this if into a case ?
--- Quote End ---
PROCESS (CLOCK_50) -- Key() should not be in the list , KEY(0), KEY(1))
variable KeyCode: natural range 0 to 3;
BEGIN
IF (CLOCK_50'EVENT AND CLOCK_50 = '1') THEN -- Trigger Condition
-- Assuming that Key is a std_logic_vector and possibly longer than
-- just two bits.
KeyCode := to_integer(unsigned(Key(1 downto 0));
case KeyCode is
when 1 => q <= '1'; -- Set
when 2 => q <= '0'; -- Reset
when others => null;
end case;
END IF;
END PROCESS;
--- Quote Start ---
Is it smart?
--- Quote End ---
No it is not smart...people can be smart, but 'it' cannot.
Kevin Jennings