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

相关推荐
秋深枫叶红11 小时前
嵌入式第三十五篇——linux系统编程——exec族函数
linux·前端·学习
@Wufan11 小时前
ubuntu服务器子用户(无sudo权限)安装/切换多个版本cuda
linux·服务器·ubuntu·cuda
studytosky11 小时前
Linux 基础开发工具(3):Git 控制与 GDB 调试实用指南
linux·运维·服务器·网络·数据库·git
WG_1711 小时前
Linux:环境变量
linux·运维·服务器
努力的小帅11 小时前
Linux_基础IO(Linux入门到精通)
linux·动态库·静态库·计算机组成原理·io操作
txzz888811 小时前
CentOS-Stream-10 系统安装之Firewalld防火墙配置
linux·运维·网络·计算机网络·centos·firewall-cmd·linux防火墙
Konwledging11 小时前
VMA-virtual memory areas
linux
无事好时节11 小时前
【Linux 进程详解】从 PCB 到 fork
linux
kaoa00012 小时前
Linux入门攻坚——57、HAProxy
linux·运维·服务器
噜啦噜啦嘞好12 小时前
Linux——网络概念
linux·网络