BJ-EPM CPLD开发板:VHDL入门例程1

2012年05月16日 10:22 来源:本站整理 作者:秩名 我要评论(0)




  -- Filename ﹕ CLKDIV.vhd

  -- Author ﹕ wuhouhang

  -- Description ﹕ 分频计数器,50MHz时钟做分频后的50%占空比方波驱动蜂鸣器发声

  library IEEE;

  use IEEE.std_logic_1164.all;

  use IEEE.std_logic_arith.all;

  use IEEE.std_logic_unsigned.all;

  entity CLKDIV is

  port (

  Clk : in STD_LOGIC; --50MHz输入时钟

  Rst_n : in STD_LOGIC; --低电平复位信号

  Clk_div : out STD_LOGIC --分频信号,连接到蜂鸣器

  );

  end entity CLKDIV;

  --20bit计数器循环计数

  architecture COUNTER OF CLKDIV is

  signal cnt20b : STD_LOGIC_VECTOR (19 downto 0); --20bit计数器

  begin

  process (Clk,Rst_n)

  begin

  if Rst_n = '0' then

  cnt20b <= x"00000";

  elsif Clk'event AND Clk = '1' then

  cnt20b <= cnt20b+"1"; --分频计数

  end if;

  end process;

  Clk_div <= cnt20b(19); --分频赋值

  end architecture COUNTER;