【同步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数据

相关推荐
烛.照1036 分钟前
RabbitMQ消息的可靠性
linux·docker·rabbitmq
RLG_星辰26 分钟前
prime-2 靶场笔记(vuInhub靶场)
linux·笔记·网络安全·渗透测试·权限维持·smb协议·lxd提权
CoolScript27 分钟前
WSL2 配置和离线安装linux系统。
linux·运维·服务器
稀饭过霍33 分钟前
【linux】命令收集
linux·服务器·网络
珹洺38 分钟前
Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码
linux·运维·服务器·网络·后端
特立独行的猫a1 小时前
嵌入式Linux设备使用Go语言快速构建Web服务,实现设备参数配置管理方案探究
linux·前端·golang
q_q王1 小时前
Ubuntu上docker、docker-compose的安装
linux·ubuntu·docker
luoqice2 小时前
要彻底卸载VMware,
linux
Linux技术芯2 小时前
Linux内核内存管理单元 详解Linux 内核伙伴系统(Buddy System)的快速路径分配函数get_page_from_freelist
linux
火车叼位2 小时前
Linux文件搜索利器`fd`:正则、glob、路径搜索全解析
linux·运维·shell