Forum Discussion
Altera_Forum
Honored Contributor
14 years agoCase?
Can anyone help me shorten this if into a case ? Is it smart? -- Signaltap end
PROCESS (CLOCK_50, KEY(0), KEY(1))
BEGIN
IF (CLOCK_50'EVENT AND CLOCK_50 = '1') THEN -- Trigger Co...
Altera_Forum
Honored Contributor
14 years ago --- 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