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

相关推荐
_OP_CHEN2 分钟前
【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!
linux·数据库·mysql·c/c++·表约束·mysql表
淮北49425 分钟前
tmux使用指南
linux·python·html·tmux·md
杨云龙UP38 分钟前
Oracle DG / ADG日常巡检操作指南
linux·运维·服务器·数据库·ubuntu·oracle
L_09071 小时前
【Linux】进程控制
linux·运维·服务器
weixin_446260851 小时前
小而强大的文件系统,大大提高微控制器的稳定性
linux·服务器·网络
ChengQianO2 小时前
从 0 开始:Mac 下 UTM 虚拟机安装 ROS Noetic(Ubuntu 20.04)
linux·ubuntu·macos
深念Y2 小时前
旧物新生:用魅蓝Note5 root后搭建家用Linux服务器(部署宝塔/AList/QB)
linux·运维·服务器·手机·diy·魔改·魅族
weixin_447640062 小时前
AI使用验证:windows上通过WSL2运行ubuntu,ubuntu的系统时间变慢且不同步
linux·运维·ubuntu
开开心心就好2 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·pdf·1024程序员节·oneflow
RDCJM3 小时前
Linux下MySQL的简单使用
linux·mysql·adb