上一节讲过FIFO类似一个上下游中间用于缓冲的储水池,因此FIFO的设计对调节上下游的吞吐量平衡具有非常重要的作用,是多bit数据流跨时钟域传输解决方法之一。
https://zhuanlan.zhihu.com/p/344089790zhuanlan.zhihu.com![eccaf28bab14e292348f841001a9fcbc.png](https://img-blog.csdnimg.cn/img_convert/eccaf28bab14e292348f841001a9fcbc.png)
一、多bit数据流同步策略_异步FIFO
1、异步FIFO常见参数
![c34c2ef0743a39512406890553680b7f.png](https://img-blog.csdnimg.cn/img_convert/c34c2ef0743a39512406890553680b7f.png)
2、异步FIFO的总体结构
![2c401e1b5f5ebc491b92e4d7d23b2fff.png](https://img-blog.csdnimg.cn/img_convert/2c401e1b5f5ebc491b92e4d7d23b2fff.png)
- 双端口SRAM:
![5654bf98cdb1e463184575fae65ede1b.png](https://img-blog.csdnimg.cn/img_convert/5654bf98cdb1e463184575fae65ede1b.png)
- 满信号生成电路
通过判断写时钟域下,写指针和读指针的关系,然后实时生成满信号wfull以通知上游节点停止写操作
- 空信号生成电路
通过判断读时钟域下,写指针和读指针的关系,然后实时生成空信号wfull以通知下游节点停止读操作
- 空/满信号生成前提
- 满信号:将读指针传递到写时钟