参考博客:https://blog.csdn.net/hengzo/article/details/49683707
1、基本框图
1)双端口RAM加两个读写指针
2)写数据、写使能、写满;读数据、读使能、读满
2、代码思路
1)Full和Empty的产生:使用fifo_counter记录FIFO RAM中的数据个数,等于0时,给出empty信号,等于BUF_LENGTH时,给出full信号
2)fifo_counter的更新:发生有效写操作时+1,发生有效读操作时-1,同时发生读写操作时不变
3)读写指针的控制:读写指针宽度与地址宽度相当,地址增加而溢出后,自动变成0。循环指针。初始时刻都指到0,发生有效写时写指针+1,写指针指向将要写的地址;发生有效读时读指针-1,读指针指向将要读的地址。
3、代码
原文:https://www.cnblogs.com/wt-seu/p/12355764.html