异步时钟域
在实际的设计中经常碰到跨时钟域的信号,异步时钟分为两种情况
- 1两个不同频率的时钟进行数据交换。
- 2两个频率相同但相位不同的时钟域进行数据交换。
异步时钟的处理方法很多,博主之前的博客可以参考脉冲同步器,异步FIFO设计
跨时钟域可能出现的问题以及危害 - 亚稳态问题(搞数电的应该都听过这个名字)
- 数据采样错误(奈奎斯特定理,尤其在快时钟进入慢时钟域)
- 时序问题。
结绳法
在快时钟域->满时钟域时会出现快时钟域的信号由于脉冲太短,慢时钟域的时钟无法采样的该脉冲而导致错误,解决办法都是拉伸该脉冲,知道慢时钟域采样到该信号,其中脉冲同步器以及接下来介绍的结绳法都是基于这个原理,但与结绳法相比脉冲同步器的限制太多,结绳法适用任意时钟域之间的信号处理,但其实现复杂,不适合高速信号处理,最好的跨时钟域信号数据流的处理还是异步FIFO。结绳法又分为很多,本博文主要讲一讲一种依靠数据边沿进行采样的设计的方法。