You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.5 KiB

  1. -- This design should display incrementing binary numbers
  2. -- at LED1-LED8 of the GateMate FPGA Starter Kit.
  3. library ieee ;
  4. use ieee.std_logic_1164.all;
  5. use ieee.numeric_std.all;
  6. library gatemate;
  7. use gatemate.components.all;
  8. entity uart_reg is
  9. port (
  10. clk_i : in std_logic; -- 10 MHz clock
  11. rst_n_i : in std_logic; -- SW3 button
  12. uart_rx_i : in std_logic;
  13. uart_tx_o : out std_logic;
  14. led_n_o : out std_logic_vector(2 downto 0) -- LED1..LED2
  15. );
  16. end entity uart_reg;
  17. architecture rtl of uart_reg is
  18. signal s_pll_clk : std_logic;
  19. signal s_pll_lock : std_logic;
  20. signal s_clk_en : boolean;
  21. signal s_rst_n : std_logic;
  22. signal s_cfg_end : std_logic;
  23. begin
  24. pll : CC_PLL
  25. generic map (
  26. REF_CLK => "10",
  27. OUT_CLK => "1",
  28. PERF_MD => "ECONOMY"
  29. )
  30. port map (
  31. CLK_REF => clk_i,
  32. CLK_FEEDBACK => '0',
  33. USR_CLK_REF => '0',
  34. USR_LOCKED_STDY_RST => '0',
  35. USR_PLL_LOCKED_STDY => open,
  36. USR_PLL_LOCKED => s_pll_lock,
  37. CLK270 => open,
  38. CLK180 => open,
  39. CLK0 => s_pll_clk,
  40. CLK90 => open,
  41. CLK_REF_OUT => open
  42. );
  43. cfg_end_inst : CC_CFG_END
  44. port map (
  45. CFG_END => s_cfg_end
  46. );
  47. s_rst_n <= rst_n_i and s_pll_lock and s_cfg_end;
  48. -- Start with simple loop
  49. uart_tx_o <= uart_rx_i;
  50. -- Debug output
  51. led_n_o <= s_rst_n & not (s_pll_lock, s_cfg_end);
  52. end architecture;