verilog 同步/异步FIFO

同步FIFO

特点:无地址信号,先入先出,适合做缓存(对比ram有一个地址线控制读或写)

  1. 连续写入写满后回到首单元:使能信号为1,未满,写地址就可以加1。
  2. 典型设计方法中 扩展一位用来区别:

                                       写满(waddr-raddr=FIFO深度)(写地址-读地址=FIFO深度)

  1.                                        读空(waddr=raddr):(写地址=读地址)
  2.  比如:4深度加1位扩展成8深度,3bit中扩展的高1位用来判断空还是满,原来的低2bit用于RAM地址索引,100-000=4(写满)。1表示满,00是地址。

异步FIFO

特点:读写具有不同clk频率

空:读指针追上写指针。

满:写指针追上空指针。

问题1:读慢写快,避免过写。读指针通过两级触发器同步器到写时域中。

           例子:比如实际读到了位置5,数据由于两级触发器会有延迟,写时钟域得到的是上一个周期传过去的值,读到了4。因为读数据频率慢,比如出现“相同时间读一个数写入两个数”的情况,这样就余出来一个读的位置保证不会过写入覆盖的问题产生。

问题2:读快写慢,避免过读。写指针通过两级触发器同步器到读时域中。

          例子:同理

总结:都是慢时钟到快时钟域时增加两级触发器同步器,可以认为在快时钟域中获得更早期慢时钟域的值,这样避免过写过读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值