FPGA时钟分频技术2010-05-1623:50:09阅读135评论0字号:大中小订阅FPGA分频相信是FPGA中使用比较频繁、比较基础的一项技术。下面讲具体来讲解FPGA的时钟分频。概念:FPGA时钟分频即对FPGA的系统时钟根据自己所需进行频率处理,使之达到原来的1/N倍频率。根据N的值,通常可分为偶数分频和奇数分频。偶分频:偶分频即N为偶数的对系统时钟分频。该设计主要通过一个计数器来实现。设计原理为:以系统参考时钟为触发条件做一个加计数器,当计数器值为(n/2-1)时,输出时钟发生跳转。如要实现一个4分频程序如下:modulediv_4(clk,clr_n,clk_o);inputclk;inputclr_n;outputclk_o;reg[1:t_div;regclk_o_1;always@(posedgeclkornegedgeclr_n)beginif(!t_div<=0;t_div==2't_div<=0;t_div<=cnt_div+1;endalways@(posedgeclkornegedgeclr_n)beginif(!clr_n)clk_o_1<=0;t_div==2'b01)clk_o_1<=~clk_o_1;endassignclk_o=clk_o_1;endmodule奇分频:奇数倍分频方法即当N为奇数时的系统时钟分频。其原理为:设置两个相同的最大值为(n-1)的计数器,其中一个以系统时钟上升沿为触发条件,另一个以系统时钟下降沿为触发条件;输出时钟在计数器值为(n-1)/2和(n-1)时分别进行翻转,得到两个占空比非50%的时钟,最后把两个输出时钟进行相或运算,即可得到一个占空比为50%的奇数分频时钟。如要实现一个5分频时钟的参考代码如下:modulediv_5(clk,clr_n,clk_o);inputclk;inputclr_n;outputclk_o;reg[2:t_div1;reg[2:t_div2;regclk_o_1;regclk_o_2;always@(posedgeclkornegedgeclr_n)beginif(!t_div1<=0;t_div1==3't_div1<=0;t_div1<=cnt_div1+1;endalways@
FPGA时钟分频 来自淘豆网www.taodocs.com转载请标明出处.