异步FIFO的设计要点概括

异步FIFO关键点—跨时钟域

如何设计地址编码

  • 扩展bit位,保证分别空和满状态
  • 格雷码验证优势----地址位之间只相差一位,保证亚稳态现象的最小出现可能性
    异步FIFO的设计要点概括_第1张图片

端口IO的一般定义

异步FIFO的设计要点概括_第2张图片

异步FIFO的内部设计

异步FIFO的设计要点概括_第3张图片

  • 异步FIFO器件其实可以通过划分为5个部分进行,正如上图5个框图
设计中的注意点
  • waddr和raddr为二进制编码,而wptr和rptr则为格雷码。二者之间存在线性转换的关系
  • wptr到跨时钟域的第一个寄存器的延迟要小于wclk
  • 我们在做单bit跨时钟的时候,要求,din需要保证足够长的实际,为什么在这里,不这样要求呢?
    • 这就要注意,异步FIFO这个信号并不是必须每个都要传输,只要表示当前的ptr指向在哪里就可以,丢掉一些ptr也无所谓,因此两边的clk速率并无严格要求,我们的目标就是只要读到比较新的状态就可以

本文只是简单介绍,推荐一篇大佬的博文,写的很不错

你可能感兴趣的:(fpga开发)