如何使用同一源产生的时钟处理多时钟设计信号? 例如, 一个时钟域是25Mhz 另一个是100Mhz 如何处理从25Mhz到100Mhz的数据总线 还有100Mhz到25Hhz?
不想使用AFIFO 任何其他简单的CDC方式来处理它?</ p>
答案 0 :(得分:2)
案例1:如果源确保时钟边缘对齐,则无需在设计中执行任何操作。单比特和多比特数据没有区别。
情况2:如果边缘未对齐,但相位关系已知,则时钟仍然是同步的。合成/ STA / P&amp; R工具可以计算定时(例如建立/保持)检查的最坏情况。如果没有违规,则无需再做任何事情。这里最重要的部分是正确定义时序约束。
案例3:如果时钟是异步的,则一种解决方案是携带总线的使能信号。使能信号由一对触发器同步。然后根据同步使能信号的值屏蔽或传递数据位。解决了这个解决方案here以及许多其他解决方案和案例。
答案 1 :(得分:0)
取决于两个时钟是否相互同步或异步。您可以使用2位/ n位同步器来消除CDC中的元稳定性问题。其他方法是基于多路复用的握手机制,格雷码计数器。
答案 2 :(得分:0)
如果要从较慢的时钟域向较快的时钟域发送数据,则快速时钟应为慢速时钟的1.5倍。 对于更快的时钟到更慢的时钟域,快速时钟的数据应该是慢速时钟的1.5倍。