《偶数分频器VHDL的实现》由会员分享,可在线阅读,更多相关《偶数分频器VHDL的实现(2页珍藏版)》请在金锄头文库上搜索。
1、偶数分频器最易于实现,欲实现占空比为50%的偶数N分频,一般来说有两种方案:一是当计数器计数到N/2-1时,将输出电平进行一次翻转,同时给计数器一个复位信号,如此循环下去;二是当计数器输出为0到N/2-1时。时钟输出为0或1,计数器输出为N/2到N-1时,时钟输出为1或0,当计数器计数到N-1时,复位计数器,如此循环下去,第一种方案只能用于50%占空比,第二种方案可有限度的调占空比。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityclk
2、20isport(clk_in:instd_logic;rst:instd_logic;clk_out:outstd_logic);endentityclk20;architectureaofclk20issignalclk_outQ:std_logic:=0;signalcountQ:std_logic_vector(4downto0):=00000;beginprocess(clk_in)beginifrst=1thencountQ=00000;elsif(clk_ineventandclk_in=1)thenif(countQ9)thencountQ=countQ+1;elseclk_o
3、utQ=notclk_outQ;countQ0);endif;endif;endprocess;clk_out=clk_outQ;enda;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityclk6isport(clk_in:instd_logic;rst:instd_logic;clk_out:outstd_logic);endentityclk6;architecturebofclk6issignalcountQ:std_logic_vector(4downto0);beginprocess(clk_in)beginifrst=1thencountQ=00000;elsif(clk_ineventandclk_in=1)thenif(countQ19)thencountQ=countQ+1;elsecountQ0);endif;endif;endprocess;process(countQ)beginif(countQ10)thenclk_out=0;elseclk_out=1;endif;endprocess;endb;