FPGA试题练习--------任意整数分频器设计

一.设计目标
对输入时钟信号进行1~N分频。
二.设计思路
从分频数来看,整个设计可分为三部分:1分频、奇数分频、偶数分频。
①1分频:可直接将输入时钟信号进行输出。
②偶数分频:使用一个计数器在上升沿或者下降沿进行计数,计数到N/2时,分频时钟进行跳变。
③奇数分频:由于奇数分频会在输入时钟信号的上升沿或者下降沿进行跳变输出,所以采用两个计数分别对上升沿和下降沿进行计数。
在这里插入图片描述
设计原理如上图所示,将奇数N分成三个部分,前(N-1)/2个Tclk、中间一个Tclk、后(N-1)/2个Tclk。从0时刻开始,在时钟下降沿时clk_n置高,在到达中间T时刻时进行置低;同理从0时刻开始,在时钟上升沿时clk_p置高,在到达中间T时刻时进行置低。对两个信号进行整合变得到所需分频时钟,即clk_p或上clk_n的值为clk_div。
完成对这三种情况进行编写代码,再整合到一起,框图如下:
在这里插入图片描述
控制模块主要协调三种分频情况,当DIV==奇数时,奇数分频模块工作,偶数分频模块失能;反之同理。选通信号根据DIV的值不同从而选通对应模块。
三.设计代码
①奇数分频

<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值