本文主要是介绍芯片跨时钟域同步,即异步处理的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上有一套资料Clifford E. Cummings论文合集,还不错。
以下是临时想到的
- 亚稳态就是时序违反的后果,异步信号肯定有时序违反可能。
- 单bit 源时钟域打一拍,目的时钟域打两拍或者更多拍
– 注意快时钟和慢时钟。
– 注意源数据信号,是不是脉冲信号。 单拍源时钟信号,做展宽+打拍同步+上升沿检测等,来实现同步。 - 多bit fifo方法,原理是格雷码指针判断空满,深入了解,可以分析一下源目的时钟分别是快或慢的情况。架构简单,设计review快,质量可靠。
– 注意格雷码的set_max_delay的约束 - 所有异步处理机制,都多想一下。源目的时钟分别是快或慢的情况下,相应同步机制是否靠谱。别出现丢失和多采情况。
- 握手实现同步,不是一拍完成的,所以很影响数据传输效率。
- dmux机制(数据利用控制信号有效的同步方法),同步条件要求高,不适合很多场景,新手不建议使用。
- 参考synopsys的set_max_delay等异步时序要求。
– https://blog.csdn.net/u011729865/article/details/126027877?spm=1001.2014.3001.5501
芯片规模大,投资大,重点是稳定可靠。设计多用成熟设计,多用公司已有量产过的成熟设计。
这篇关于芯片跨时钟域同步,即异步处理的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!