您当前的位置: 首页 > 

9527华安

暂无认证

  • 5浏览

    0关注

    35博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

**FPGA偶数分频器的设计详解(特别适合小白)**

9527华安 发布时间:2021-04-03 13:22:47 ,浏览量:5

FPGA偶数分频器的设计详解(特别适合小白) 首先,我们了解一下什么是周期,以我的女朋友——右手为例,我的右手握住一根长条形的物体,在竖直方向做上下运动,完成一次上下运动的时间叫做一个周期,如下图:请自行补脑,提前备好营养快线和湿巾纸。。。不好意思我跑题了 在这里插入图片描述 周期的倒数叫做频率,那么,频率怎么理解呢? 还是以我的女朋友为例,她完成一次上下运动的时间越短,频率也就越快,说得通俗一点就是:频率就是手速,手速越快=频率越快=秒啥啥啥的。

再回到主题,硬件上,有个东西专门用来产生固定的频率,叫做晶振,比如,FPGA的外接晶振是50M时钟,也就是说,板子上电后,这个晶振就会持续的给FPGA提供一个50M的时钟频率,怎么理解呢?

就好比,电路板是人体,FPGA是大脑,他有感觉,晶振是右手 板子上电后,右手就给身体的某个部位做上下运动,手速有多快呢?50MHz,什么概念呢?1秒钟做50000000次,1秒钟做五千万次,你说你的大脑,也就是FPGA,能不爽吗?

现在,我觉得身体吃不消了,感觉身体被掏空,50MHz的手速太快,我受不了,我想让右手把手速放慢1倍,也就是2分频

2分频的意思是:原来我撸2次的时间,现在只撸1次

以此类推,8分频的意思是:原来我撸8次的时间,现在只撸1次

好,原理搞清楚了,再来看看时钟波形是啥样? 在这里插入图片描述 两个上升沿之间的波形也就是一个周期,

现在,我们来设计一个4分频的分频电路,参考时钟50MHz,

很显然,对于4分频而言,我需要一个计数器,对50M时钟的每个上升沿进行计数,当计数到4时,50M时钟已经走完了4个周期,而此时,我的目标4分频时钟刚好走完一个周期,

对于10分频而言,我需要一个计数器,对50M时钟的每个上升沿进行计数,当计数到10时,50M时钟已经走完了10个周期,而此时,我的目标10分频时钟刚好走完一个周期,

看verilog代码:

module DVI(
	input clk,
	input rst,
	output wire DVI_4,
	output wire DVI_10
);

reg [2:0] r_dvi4;	//4分频时钟计数器
reg [3:0] r_dvi10;	//10分频时钟计数器

reg dvi4;
reg dvi10;

assign DVI_4=dvi4;
assign DVI_10=dvi10;

///
//4分频时钟产生模块
always @(posedge clk) begin
	if(!rst) begin 
		r_dvi4            
关注
打赏
1659431378
查看更多评论
0.0355s