下载此文档

FPGA时钟分频.doc


文档分类:通信/电子 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
FPGA时钟分频.doc: .
FPGA时钟分频
技术2010-05-16 23:50:09 阅读135评论0字号:大中小 订阅
FPGA分频相信是FPGA中使用比较频繁、比较基础的一项技术。下面讲具体来讲解 FPGA的时钟分频。
概念:
FPGA时钟分频即对FPGA的系统时钟根据自己所需进行频率处理,使之达到
原来的1/N倍频率。根据N的值,通常可分为偶数分频和奇数分频。
偶分频:
偶分频即N为偶数的对系统时钟分频。该设计主要通过一个计数器来实现。设
计原理为:以系统参考时钟为触发条件做一个加计数器,当计数器值为 (n/2 - 1)
时,输出时钟发生跳转。如要实现一个 4分频程序如下:
module div_4(clk,clr_n,clk_o );
in put clk;
in put clr_ n;
output clk_o;
reg [1:0] cnt_div;
reg clk_o_1;
always @ (posedge clk or n egedge clr_ n)
begi n
if( !clr_n)
cn t_div <= 0;
else if(cnt_div == 2'b01)
cn t_div <= 0;
else
cnt_div <= cn t_div+1;
end
always @ (posedge clk or n egedge clr_ n)
begi n
if(!clr_n)
clk_o_1<=0;
else if (cnt_div == 2'b01)
clk_o_1 <= ~clk_o_1;
end
assign clk_o=clk_o_1;
endmodule
奇分频:
奇数倍分频方法即当 N 为奇数时的系统时钟分频。其原理为:设置两个相同的 最大值为(n-1)的计数器,其中一个以系统时钟上升沿为触发条件,另一个以系 统时钟下降沿为触发条件;输出时钟在计数器值为 (n-1)/2和(n-1)时分别进行翻
转,得到两个占空比非 50%的时钟,最后把两个输出时钟进行相或运算,即可 得到一个占空比为 50%的奇数分频时钟。如要实现一个 5 分频时钟的参考代码 如下:
module div_5(clk,clr_n,clk_o);
input clk;
input clr_n;
output clk_o;
reg [2:0] cnt_div1;
reg [2:0] cnt_div2;
reg clk_o_1;
reg clk_o_2;
always @ (posedge clk or negedge clr_n)
begin
if( !clr_n)
cnt_div1 <= 0;
else if(cnt_div1 == 3'b100)
cnt_div1 <= 0;
else
cnt_div1 <= cnt_div1+1;
end
always@ (posedge clk

FPGA时钟分频 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小辰GG1
  • 文件大小24 KB
  • 时间2021-07-18