点击上方码农的假期,订阅、星标我!此刻开始我们一起进步!
01 前言
现如今,随着芯片规模和复杂度的升级,同颗芯片内部存在跨时钟域的逻辑已经在所难免。大家都知道,在处理异步路径时,异步FIFO的使用,是最常见的处理方式。但是,针对于异步FIFO的约束问题,还是非常值得深究的。是否异步FIFO就是完全可以异步处理呢?接下来就跟大家一起分析一下。
02 分类
我们在实现异步FIFO时,比较常见的有两种实现方式:基于握手的实现方式和基于Gray code编码的实现方式。这两种方式在设计当中都是比较常见的,其原理我们不在这里赘述了,相信大家也都非常熟悉了。但是这两种FIFO在使用时,都会存在类似的异步路径问题,这些路径并不能完全的按照异步path简单处理,今天,将着重拿Gray code的实现方式来分析问题解决方案。
03 问题
如下图所示,是基于Gray Code方式FIFO常见基本结构。