任意小数分频(占空比非50%)

任意小数分频(占空比非50%)
假设分频为int+fenzi/fenmu
1、对输入时钟取反clkn。clk与clkn做时钟无glitch切换,将电路进行修改,a)打拍寄存器减一拍,并且使用负沿,有利于gating时钟.b)时钟gating使用与非。
2、将输出的两个时钟做与非处理。可以实现当sel切换时,可以减少插入半个周期的延时。
3、对于int为偶数时,比如4;cnt_max=int/2-1,cnt_max为1,实际从0加到1,记两个周期;flag为1时,控制sel切换,增加半个周期。flag为0时,sel不切换;
对于int为奇数时,比如5;cnt_max=flag ? int/2(2) : int2/2-1(1);flag为1时,sel不切换;flag为0时,sel进行切换,一直增加半个周期,相当于一直是2.5分频。小结一下int为奇数时,可以看为一直作2.5分频;当小数累加大于1后,补偿半个周期,即为3分频。
当计数器等于cnt_max时,clko输出翻转。
当计数器等于cnt_max时,将分子累加自己,当大于等于分母时,减去分母;当大于等于分母后,flag=1;检测到flag 1,控制sel信号变化,实现周期补偿。
4、注意更新需要当一个周期完整后,再进行配置的改变。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值