您当前的位置: 首页 > 

耐心的小黑

暂无认证

  • 1浏览

    0关注

    323博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Xilinx伪双口RAM实现同步FIFO(解决读写冲突)

耐心的小黑 发布时间:2021-06-06 23:05:13 ,浏览量:1

一、伪双端口RAM配置

关于创建和配置IP,可以参考我的另一篇文章:Vivado 双口RAM IP核的使用,不同之处只是在于本文使用的伪双端口RAM的写端口和读端口都加了使能信号,也即没有选择始终使能。

这里需要注意的是,如果想要解决读写冲突,也就是当同时读写同一地址时,能读出之前存在该地址的旧数据,也能将要写的新数据正确写入到该地址,那写端口的操作模式一定要选择READ_FIRST或者NO_CHANGE

如果选择WRITE_FIRST,那么当读写冲突时,读出的数据是此时准备写入的数据,并不是之前存储的数据,这显然不符合逻辑。

二、读写地址变化方式

1、关于写地址的变化,只需考虑we有效的情况:

  • 只写不读时:若FIFO满,则写失败,写地址不变;若FIFO不满,则写一定成功,写地址加1。
  • 又写又读时:若FIFO满,读写为同一单元,因读操作只需读取旧数据,所以读写都成功,写地址加1;若FIFO不满,则进行读写操作的是两个不同单元,所以写一定成功,所以写地址也加1。

总结起来,(we有效&&((re无效&

关注
打赏
1640088279
查看更多评论
立即登录/注册

微信扫码登录

0.0372s