相同的来源,不同的clk频率(多时钟设计)

时间:2017-06-09 20:31:30

标签: verilog system-verilog vlsi asic

如何使用同一源产生的时钟处理多时钟设计信号? 例如, 一个时钟域是25Mhz 另一个是100Mhz 如何处理从25Mhz到100Mhz的数据总线 还有100Mhz到25Hhz?

不想使用AFIFO 任何其他简单的CDC方式来处理它?<​​/ p>

3 个答案:

答案 0 :(得分:2)

案例1:如果源确保时钟边缘对齐,则无需在设计中执行任何操作。单比特和多比特数据没有区别。

情况2:如果边缘未对齐,但相位关系已知,则时钟仍然是同步的。合成/ STA / P&amp; R工具可以计算定时(例如建立/保持)检查的最坏情况。如果没有违规,则无需再做任何事情。这里最重要的部分是正确定义时序约束。

案例3:如果时钟是异步的,则一种解决方案是携带总线的使能信号。使能信号由一对触发器同步。然后根据同步使能信号的值屏蔽或传递数据位。解决了这个解决方案here以及许多其他解决方案和案例。

答案 1 :(得分:0)

取决于两个时钟是否相互同步或异步。您可以使用2位/ n位同步器来消除CDC中的元稳定性问题。其他方法是基于多路复用的握手机制,格雷码计数器。

答案 2 :(得分:0)

如果要从较慢的时钟域向较快的时钟域发送数据,则快速时钟应为慢速时钟的1.5倍。 对于更快的时钟到更慢的时钟域,快速时钟的数据应该是慢速时钟的1.5倍。