最近由于准备面试,任意小数分频设计似乎是比较常问的问题。对于任意小数分频,常用的方法有双模前置小数分频和脉冲删除小数分频。前一种方法设计较为复杂,因此主要以第二种方式为主设计了一下。
任意小数均可以化为分数,例如要进行5.3分频即53/10分频,因此之后全部以分数来表示。
以13/4分频为例,我们首先要想明白什么是13/4分频。什么是2分频呢?就是每两个输入时钟得到一个输出时钟,4分频就是4/1即四个输入时钟得到一个输出时钟,因此13/4分频其实就是13个输入时钟得到4个输出时钟,想明白这一点很重要。
在双模前置小数分频设计中,虽然这个设计我还没完成不过也提一下,是通过分数值的前后两个正数数分频选择输出得到最终结果的。对于13/4而言:
M = 13/4 = 3 ... 1这意味着13/4的分频可以通过3分频和4分频选择输出得到,继续计算:
a + b = 4
3a + 4b = 13得到a=3,b=1。也就是说通过3个3分频和1个4分频可以得到13/4分频。
在不考虑其他情况仅仅做简单选择输出的话,可以画出这样的时序图:

本文探讨了在面试中常见的任意小数分频问题,重点介绍了脉冲删除小数分频方法。以13/4分频为例,解释了其原理,即在13个输入时钟中删除9个,实现4个输出时钟。设计思路包括设置计数器cnt,在输入时钟上升沿加4,判断并减去13,通过delete信号控制脉冲删除。
订阅专栏 解锁全文
3247

被折叠的 条评论
为什么被折叠?



