Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LIBRARY IEEE;
- USE IEEE.std_logic_1164.ALL;
- USE IEEE.numeric_std.ALL;
- -- Generates 16 ticks per bit
- ENTITY baud_gen IS
- GENERIC(divider: INTEGER := 13 -- 24M/115200*16
- );
- PORT(
- clk, reset: IN STD_LOGIC;
- s_tick: OUT STD_LOGIC
- );
- END baud_gen;
- ARCHITECTURE working OF baud_gen IS
- BEGIN
- PROCESS(clk)
- VARIABLE counter: UNSIGNED(3 DOWNTO 0) := to_unsigned(0,4);
- BEGIN
- IF clk'EVENT AND clk='1' THEN
- IF reset='1' THEN
- s_tick <= '0';
- counter := to_unsigned(0,4);
- ELSIF counter=to_unsigned(divider-1,4) then
- s_tick <= '1';
- counter:= to_unsigned(0,4);
- ELSE
- s_tick <= '0';
- counter := counter + 1;
- END IF;
- END IF;
- END PROCESS;
- END working;
Add Comment
Please, Sign In to add comment