首页 > 编程知识 正文

分频计数器设计原理,计数器作为分频器

时间:2023-05-06 00:32:03 阅读:120619 作者:2216

lesson2:分频计数器设计1 :分频时钟工程应用**概念:可以通过对FPGA频率较高的系统时钟进行分频来生成频率较低的分频时钟。

应用:分频时钟可以作为FPGA低速外围设备同步时钟,例如

集成电路总线时钟(=400KHz )。

低速SPI总线时钟(=1MHz )。

*注: **对于频率高的分频时钟,不能直接作为FPGA内部的PLL等时钟管理单元生成的外围设备时钟或FPGA内部时钟使用。 但是,由于PLL的输出时钟范围为5.65MHz-800MHz,所以对于kHz的时钟频率一般在分频中发生。

2 :输入分频计数器功能要求http://www.Sina.com/:100MHz,生成1MHz低频时钟

分析:

1 :计数范围确定: 100MHz/1MHz=100

2 )即,需要将100MHz分频100分钟

3 :计数器周期计数周期为0-99。

3 )实例设计与仿真3.1 )接口说明接口位宽方向说明clk1I系统时钟27MHzrst_n1I系统复位clk_out1O输出时钟1MHz3.2 )主要时序

3.reg[6:0]CNT实现; reg clk_out_reg; `使用defineCNT_max100//define定义,使用` ` defineCNT_max_div250//define定义,使用`//localparam CNT_MAX=7'd99 //cnt计数Always@(Posedgeclk ) begin if (! rst_n ) begin cnt=7'b0; endelseif(CNT==`CNT_max ) begin cnt=7'b0; end else begin cnt=cnt 1'b1; 结束//clk _ out always @ (posedge clk ) begin if (! rst_n ) begin clk_out_reg=1'b0; endelseif(CNT`CNT_max_div2) begin clk_out_reg=1'b0; end else begin clk_out_reg=1'b1; endendassignclk _ out=clk _ out _ reg; 3.4 )仿真分析

[外部链接图像的导出失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-C4DuhN5A-1633965457910 )文件://c : (用户(联想(appdata )本地) )

assign clk_out=clk_out_reg;

3.4 )仿真分析! 在此插入图像说明(3359 img-blog.csdn img.cn/26036 c 0903940968 a 518b 786 c 74a 560.png # pic _ center )! [在此插入图像说明] 65https://img-blog.csdn img.cn/87c 5370817914 fbba 291 f 157 e 87 c 867 c.png # pic _ center ]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。