阅读Altera的HardCopy时序收敛设计指导手册的时候看到其中处理跨时钟域传输多个控制信号的方法,摘下来收藏.
说接收端需要两个控制信号id2-2,en2-2同时有效时才能正确采到数据,问题发生在这两个控制信号在从clk1向clk2传输时如果存在很小的偏差(skew),那么就有可能造成clk2采下来的控制信号正好相差一个周期.解决这个问题的方法是在clk1时钟域中就将这个两个控制信号组合成一个控制信号,然后传输到clk2时钟域.具体如下图所示:
附:
该技术手册中同时还介绍了通用的跨时钟传输数据的方法,即或者通过握手机制或者通过FIFO.提出来通过握手机制跨时钟传输数据如果控制信号越多必然要忍受更长的latency.使用FIFO的好处就是latency比使用握手机制小.
coyoo 2012-9-12 12:15
用户183270 2012-9-5 13:22