关于亚稳态的问题?
时间:10-02
整理:3721RD
点击:
Altera FPGA/CPLD高级篇 p25-p27 讲到,使用两级寄存器采样(即打2拍)可以有效的减小亚稳态的传播。并且举例画波形图进行了说明。例子中是从高频的时钟域到低频的时钟域,那么从低频的时钟域到高频的时钟域呢?是否也是这样?还是说从低频到高频本身出现亚稳态的概率就是很低的?
我是这么认为的。知道的高手发表一下意见啊。谢谢!
我是这么认为的。知道的高手发表一下意见啊。谢谢!
我的理解:这里讲的是电平信号的传输,如果是脉冲信号还应该考虑脉宽与采样周期的问题了。对电平信号来说,从低频到高频也需要同样处理,然后才能得到稳定的信号。
同意楼上的见解,对于长时间的信号在穿越clock domain的时候可以考虑两级采样的方法,对已脉冲信号或者短时间变化的信号在高频向低频传递时尽量推荐采用握手信号处理
学习了
信号在高频向低频传递时可以用握手信号,也可以用结绳法,网上可以收到
FIFo是最保险的做法,如果两个时钟没有相位关系那么用两级寄存器也解决不了
认为应该使用FIFO,但是其实异步FIFO内部实现同样用到了双寄存器解决亚稳态,但是更稳定些(按概率讲是这样的)。
谢谢了 ,学习了,呵呵
异步FIFO实现起来比较麻烦,而且综合出来的面积好像是比较大,一般用在数据处理上
如果是控制信号处理还是多双触发器吧
针对电平信号来讲,低到高,高到低都是一样的
不论是高频到低频还是低频到高频,只要是异步时钟域的转换,都要做处理。如果是电平信号,接收的时钟域下双DFF打2拍。若是pulse的信号,则需要先在发送的时钟域下打一拍成电平信号,然后在接收的时钟域打2拍,通过边沿变化计算出这个pulse。对于数据的传送,当然是异步FIFO的了。
看看啥!
数据用FIFO,
但是信号就没有必要用FIFO了!
可以用脉冲同步器(可能就是楼上某位说的接绳法)。
同意,非到万不得已还是最好不用异步FIFO
学习了
