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

相关推荐
AI+程序员在路上3 分钟前
Linux网桥内核配置与使用
linux·网络
济6174 分钟前
linux(第十六期)--按键输入实验-- Ubuntu20.04
linux·运维·服务器
nbsaas-boot14 分钟前
Linux 服务(systemd)最完整使用文档
linux·运维·服务器
不染尘.23 分钟前
Linux的基本管理及命令(下)
linux·windows·ssh
三花猫咪29 分钟前
UBUNTU串口打印终端,X86主机变开发板
linux·运维·嵌入式硬件·ubuntu
HalvmånEver32 分钟前
Linux:深入剖析 System V IPC上(进程间通信八)
linux·运维·数据库·c++·system v·管道pipe
EndingCoder32 分钟前
泛型类和高级用法
linux·运维·前端·ubuntu·typescript
BIBI204937 分钟前
CentOS 7 安装 MongoDB
linux·mongodb·centos·nosql·环境搭建·安装教程·服务器运维
chenzhiyuan201838 分钟前
钡铼技术ARMxy系列BL440究竟多适合作为具身机器人核心控制器?
linux
斯文by累1 小时前
Ubuntu系统上安装Kafka 8.0
linux·ubuntu·kafka