【同步FIFO_2023.12.13】

同步fifo,写时钟和读时钟为同一个时钟,用于交互数据缓冲

fifo的深度:同一块数据内存的大小

c 复制代码
reg [2:0] Mem [8];//宽度3,深度8

典型同步fifo的三部分

fifo写控制逻辑:写地址、写有效信号,fifo写满、写错等状态信号

fifo读控制逻辑:读地址、读有效信号,fifo写满、写错等状态信号

fifo存储实体memory/reg

空满判断

reg [2:0] Mem [8];//宽度3,深度8

写指针Wr_ptr指向空,读指针Rd_ptr指向满

c 复制代码
读写处于一个地址,用最高位的状态判断空与慢
写地址0011,读地址0011:空
写地址1011,读地址0011:满

一般fifo使用循环指针,不使用该判断,简单判断:个数为0空,个数为深度满

端口

fifo_counter:0时,给出empty;等于fifo深度时,给出full

fifo_counter:写而未满时,加1;读而未空:-1;同时读写时,不变

读写地址宽度:与地址宽度相同;地址增加溢出时,变为0;循环指针

实现



结束该进程,ctrl+c再按q

问题:读不出第一个push数据

相关推荐
渡我白衣21 分钟前
Linux操作系统:再谈虚拟地址空间
linux
阿巴~阿巴~27 分钟前
Linux 第一个系统程序 - 进度条
linux·服务器·bash
DIY机器人工房41 分钟前
代码详细注释:通过stat()和lstat()系统调用获取文件的详细属性信息
linux·嵌入式
望获linux2 小时前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
眠りたいです2 小时前
Mysql常用内置函数,复合查询及内外连接
linux·数据库·c++·mysql
我的泪换不回玫瑰2 小时前
Linux系统管理命令
linux
jjkkzzzz3 小时前
Linux下的C/C++开发之操作Zookeeper
linux·zookeeper·c/c++
二当家的素材网3 小时前
Centos和麒麟系统如何每天晚上2点10分定时备份达梦数据库
linux·数据库·centos
挑战者6668883 小时前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
DD_陈东东3 小时前
gdbus 常用数据结构与库函数
linux