当前位置:   article > 正文

学习FPGA——时钟分频_时钟分频 频率检测 div 高低频

时钟分频 频率检测 div 高低频

1、偶数分频和奇数分频,代码如下:
// 说 明:
// (1) 对输入时钟进行5分频,得到占空比为50%的时钟输;
// (2) DIV1=5/2,DIV2=5-(5%2) 5为分频数;
// (3) 若将5改为其他整数则表示其他分频数;
module clk_div
(
clk_in,rst_n,
clk_out
);
input clk_in; //输入时钟
input rst_n; //异步复位,低电平有效
output clk_out; //5分频信号输出

reg	[2:0]cnt1;		//上升沿计数器
reg 	[2:0]cnt2;		//下降沿计数器
reg	clk_out1;		//时钟寄存输出
reg 	clk_out2;
reg 	Cnt;				//2分频计数器
reg  	clk_cnt;			//2分频输出信号

parameter DIV1 = 2;	
parameter DIV2 = 4;	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

//2分频
always @(posedge clk_in,negedge rst_n) //上升沿计数器
begin
if(!rst_n) //异步复位
Cnt <= 1’b0;
else if(Cnt==1’b1)
Cnt <= 1’b0;
else
Cnt <= Cnt+1’b1;
end

always @(posedge clk_in,negedge rst_n)	//上升沿输出时钟控制 
begin	
	if(!rst_n)						
		clk_cnt <= 1'b0;
	else if(Cnt==1'b1)				
		clk_cnt <= ~clk_cnt;
	else if(Cnt==1'b0)				
		clk_cnt <= ~clk_cnt;
end


always @(posedge clk_cnt,negedge rst_n)	//上升沿计数器
begin
	if(!rst_n)						
		cnt1 <= 1'b0;
	else if(cnt1<DIV2)				
		cnt1 <= cnt1 + 1'b1;
	else 
		cnt1 <= 1'b0;
end

always @(negedge clk_cnt,negedge rst_n)	//下降沿计数器
begin
	if(!rst_n)						
		cnt2 <= 1'b0;
	else if(cnt2<DIV2)				
		cnt2 <= cnt2 + 1'b1;
	else 
		cnt2 <= 1'b0;
end

always @(posedge clk_cnt,negedge rst_n)	//上升沿输出时钟控制 
begin	
	if(!rst_n)						
		clk_out1 <= 1'b0;
	else if(cnt1==DIV1)				//为2时翻转
		clk_out1 <= ~clk_out1;
	else if(cnt1==DIV2)				//为4时翻转
		clk_out1 <= ~clk_out1;
end

always @(negedge clk_cnt,negedge rst_n)	//下降沿输出时钟控制 
begin	
	if(!rst_n)						
		clk_out2 <= 1'b0;
	else if(cnt2==DIV1)				
		clk_out2 <= ~clk_out2;
	else if(cnt2==DIV2)				
		clk_out2 <= ~clk_out2;
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

//10分频
assign clk_out = clk_out1|clk_out2;

endmodule

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/872390
推荐阅读
相关标签
  

闽ICP备14008679号