CDC跨时钟域信号处理
保证时序电路的时序要求:
建立时间:在有效的时钟沿到来之前,输入端的输入信号需要保持稳定不变的最小时间
保持时间:在有效的时钟沿到来之后,输入端的输入信号需要保持稳定不变的最小时间
CDC问题1:亚稳态
亚稳态原因:
亚稳态解决方法:对于单信号来说,使用 Double FF来进行信号同步
CDC问题2:数据收敛
数据收敛的原因:
数据收敛解决方法1:对信号进行格雷码编码(格雷码特点:相邻的两个编码之间,只有一位是不同的,而其他的相同)
对于无法使用格雷码编码的信号组,可以使用握手协议,来处理跨异步时钟域的问题
数据收敛解决方法2:FIFO
CDC问题3:数据丢失
数据丢失原因:输入端信号不能保持足够的时间 使得接收端不能采样到数据 导致数据丢失
数据丢失解决方法:延长输入信号
CDC问题4:多路扇出
多路扇出的原因:
多路扇出解决方法:将信号同步之后再多路扇出
CDC问题5:异步复位
恢复(recovery)时间 和 移除(removal)时间 的概念:
恢复时间:在有效的时钟沿到来之前,触发器的异步复位信号释放时 所要提前释放的最小时间
移除时间:在有效的时钟沿到来之后,触发器的异步复位信号释放时 所要保持不变的最小时间
异步复位信号释放时 不满足恢复时间和移除时间 就造成了异步复位问题的发生。
异步复位解决方法:异步复位信号同步电路