码迷,mamicode.com
首页 > 其他好文 > 详细

CDC spyglass

时间:2016-08-30 20:58:22      阅读:608      评论:0      收藏:0      [点我收藏+]

标签:

SoC中会有着几百的clock domains,millions的async data crossing。

Glitch等cdc问题是netlist level simulation的主要目的。

 

CDC的困难点:

1)STA不会进行asynchronous的检查,只会进行synchronous的检查;

2)Path across clock domain通常会被设置为false path,不进行check;

3)CDC带来的一些问题只有在进行post-sim的时候,才会暴露出来;

在RTL level simulation中,无法发现问题。

4)CDC带有一定的lucky性质,simulation只能检查出一部分的error;

 

典型的CDC问题:

1)Metastability:异步相位的必然结果;

技术分享

技术分享

2-sync cell会导致一个clock cycle的uncertainty;

metastability可能会导致data-coherency和re-covergence的问题;

2)Reconvergence(correlation):一些reconvergence信号会带来的glitch以及sample single出错;(multi-bit uncertainty)

会导致在receiving domain中有一到两个cycle的latency或者cycle uncertainty;

可以通过gray encoding的方式来避免;

通过verify signals肯定不会在destination clock cycle进行toggle,从而waive掉这个path。

技术分享

技术分享

3)Data hold problem(data loss):Fast to slow clock以及data enable sequencing场景;

技术分享技术分享

技术分享

可以通过implement pulse extenders的方式来避免:

技术分享

Spyglass对于这类fast-slow cdc crossing,会自动进行formal check,如果data不能被capture到,会报error

 

处理方法:

1)synchronization scehme(such as handshake,FIFO)

2)reset synchronization(reset is asynchronously asserted and synchronously de-assert)

3)bus async bridge;

4)尽量使用glitch-free的mux;

5)well managed convergence paths;

CDC中主要的问题会在register中,因为Apb/Ahb clock与fucntion clock的async。 

CDC spyglass

标签:

原文地址:http://www.cnblogs.com/-9-8/p/5823299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!