
CDC跨时钟域处理
本专栏介绍CDC相关的基础与IC设计中常用的处理方式,检查方式
ty_xiumud
有些时候,不是因为看到了希望才去坚持,而是坚持了,才看到希望。
展开
-
可综合的异步FIFO的设计与仿真
可综合的异步FIFO的设计与仿真综述FIFO(First in First out),经常用来对跨时钟域多bit数据的同步处理。常用的有同步FIFO与异步FIFO,本文主要处理异步FIFO的问题。首先,试图将多个变化的信号从一个时钟域同步到一个新的时钟域,并确保所有变化的信号都同步到新时钟域的同一个时钟周期,已经被证明是有问题的,在CDC部分中已经进行了说明,后续也会进一步的解释。这也是为什么引入格雷码来做数据同步的原因。在FIFO设计中判断FIFO的空满状态,是一个关键性的问题。原创 2022-10-23 20:52:59 · 582 阅读 · 1 评论 -
常见的CDC问题
本节用于总结常见的CDC错误的处理方式,根据CDC部分介绍的同步方式是一些基本原则,在使用中只要遵循这些原则,就可以避免CDC问题。如下根据之前描述的原则,总结了一下常见的问题。CDC基本原则CDC常见问题总结1,不满足保持时间(未进行异步处理)CLK1与CLK2为异步关系,其相位是不确定的,可能不满足建立保持时间,导致不可预期的状态传递。另外如下情况也是可能会导致的问题,尤其是不适用实例化的两级同步器可能导致的问题。本质上这种情况也是使用了未同步的信号做逻辑,与上边图示本质上是一致的~原创 2022-10-09 22:53:58 · 696 阅读 · 0 评论 -
CDC(Clock Domain Crossing )跨时钟域问题的处理
常常有这样的问题,同步信号更优的选择是不是应该是寄存器输出的信号?答案是肯定的,需要同步的信号若是从组合逻辑输出,则会有不同的路径延时,这种组合必定会增加数据变化频率,可能会产生小的振荡glitch数据突发,从而增加在变化时可以采样的边沿的数量,相应地增加对变化数据进行采样和生成亚稳态信号的可能性。根据三边沿要求,如果较快时钟域的频率是较慢时钟域的频率(或更多)的 1.5 倍(或更多),则将较慢的控制信号同步到较快的时钟域通常不是问题,因为较快的时钟信号将对较慢的 CDC 信号进行一次或多次采样。原创 2022-10-03 11:50:05 · 502 阅读 · 0 评论