The debouncer circuit is useful when we specially use push button switches in our design. This design code will generate high pulse for 1 millisecond after press and goes back to low. If you want to input a manual switch signal into a digital circuit you'll need to debounce the signal so a single press doesn't appear like multiple presses. Pin description is given below.
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity debouncer is port( msClk: in std_logic; pb: in std_logic; debouncedPb: out std_logic); end debouncer; architecture Behavioral of debouncer is --one millisecond per bit signal q: std_logic_vector(19 downto 0):= "00000000000000000000"; begin process (msClk) begin if(msClk'event and msClk='1')then q <= q(18 downto 0) & pb; end if; if (q="00000000000000000000")then debouncedPb<='0'; else debouncedPb<='1'; end if; end process; end Behavioral;
No comments:
Post a Comment