使用分频时钟模块的复位问题
时间:10-02
整理:3721RD
点击:
设计中需要使用多个不同频率的时钟,所有的复位都使用的同步复位,复位信号低电平有效,那对于使用分频时钟的模块该怎么复位呢?因为那些低频时钟的第一个上升沿到来时,输入的上电复位信号已经从0变成1了。
为此,我自己定义了一个复位信号,在频率最低的分频时钟第二个上升沿把这个复位信号拉高(低电平复位),实现了各个模块的复位。但是觉得这个方法太笨了,不知道这个该怎么处理,在此求问,多谢!
为此,我自己定义了一个复位信号,在频率最低的分频时钟第二个上升沿把这个复位信号拉高(低电平复位),实现了各个模块的复位。但是觉得这个方法太笨了,不知道这个该怎么处理,在此求问,多谢!
我觉得除非特殊的复位顺序需求,否则不必纠结这个吧,一般合理的系统,不存在那几个时钟周期的复位差异。
还有,几个时钟域的模块,靠逻辑是绝对无法实现复位信号的同时释放,而且这个事情没有意义。
小编实际的目的是,保证复位时,所有的时钟都已经ready了。不然有些逻辑可能会有问题。
是的,那请问怎么做到呢?
用异步复位不行么,先给复位信号,再放时钟
可以尝试自己做一个复位模块,不同的时钟对应不同的复位信号,但是复位时间要足够长才可以。
复位时,给一个预定值
如果小编是希望确保复位释放前,所有的时钟都OK,那么你的做法是正确的,但我劝你做个延时复位计数器,外部异步复位后,自己再用最低的分频时钟计数一段时间,然后生成一个系统复位信号,来保证各模块时钟的稳定性,不是用什么“最低分频时钟的第二个边沿”这种极端的条件。
用MMCM的locked信号来复位不就完事了么
