偶数分频器VHDL的实现.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:2 大小:23KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

偶数分频器VHDL的实现.doc

偶数分频器VHDL的实现.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

偶数分频器最易于实现,欲实现占空比为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;entityclk20isport(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='1'thencountQ<="00000";elsif(clk_in'eventandclk_in='1')thenif(countQ<9)thencountQ<=countQ+1;elseclk_outQ<=notclk_outQ;countQ<=(others=>'0');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='1'thencountQ<="00000";elsif(clk_in'eventandclk_in='1')thenif(countQ<19)thencountQ<=countQ+1;elsecountQ<=(others=>'0');endif;endif;endprocess;process(countQ)beginif(countQ<10)thenclk_out<='0';elseclk_out<='1';endif;endprocess;endb;