跨时钟域的同步问题

两级同步电路

http://www.cnblogs.com/IClearner/p/6485389.html
这个博主讲解的还是很有意思的呢,
配合这个,简短的讲解:
http://dengkanwen.com/238.html

CDC的问题来源:
不同CLK domian间要完成信息交互(控制和数据),一般来讲,只是将讲个寄存器接上就可以了,但是这样会导致亚稳态。

亚稳态

在同步系统中,如果触发器的setup time / hold time不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是究竟是0还是1,这是随机的,与输入没有必然的关系。
由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导致亚稳态的传播)。 逻辑误判有可能通过电路的特殊设计减轻危害(如异步FIFO中Gray码计数器的作用),而亚稳态的传播则扩大了故障面,难以处理。
那么究竟如何避免(或者减小)亚稳态的危险呢?注意到亚稳态的触发器继续停留在亚稳态的几率按照指数减少,那么办法就是 等——等足够长的时间,直到这个几率变得小的实际 上不会发生。到底需要有多长呢?有的厂商有一个数据,有的没有,按照普通的做法,至少等一个时钟周期——这也就是所谓的异步数据要用两个触发器打一下

两级同步的解决

世界上并没有完全解决,只是等了一段时间,所以亚稳态的可能减小了很多
跨时钟域的信号传输过程中,可能出现亚稳态的情况,这个时候,需要同步器进行同步,减小亚稳态传播下去的概率;注意这里的同步器只能减少亚稳态往下传播的概率,如果产生亚稳态,亚稳态恢复稳定后的电平不一定是正确的电平,如果稳定后的电平是错误的,那么就很有可能引起后面的逻辑的错误,这是需要强调的;当然,一般情况下(我这里是说一般情况)很少发生亚稳态,不然后面的逻辑岂不是要挂?
,,,
那么问题来了,sync cell的sim jitter 是在抖动什么呢?
sim jitter 和clk jitter有什么差别呢?

你可能感兴趣的:(IC验证)