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

相关推荐
山土成旧客几秒前
【Python学习打卡-Day28】类的蓝图:从模板到对象的构建艺术
linux·python·学习
怀旧,3 分钟前
【Linux系统编程】14. 库使用与原理(上)
linux·运维·服务器
QT 小鲜肉5 分钟前
【Linux命令大全】001.文件管理之locate命令(实操篇)
linux·运维·服务器·chrome·笔记
嘻哈baby9 分钟前
eBPF技术入门与实战:Linux内核黑科技
linux
风好衣轻20 分钟前
Ubuntu单卡5090部署VeRL:从安装到运行
linux·运维·ubuntu
火柴棍mcu20 分钟前
Ubuntu设备屏幕旋转、竖屏改横屏
linux·ubuntu·旋转·屏幕
amao998822 分钟前
MITos2022--Lab2: system calls
linux
小码吃趴菜23 分钟前
地址空间详解-fork复制进程
linux
Xの哲學36 分钟前
Linux IPsec 深度解析: 架构, 原理与实战指南
linux·服务器·网络·算法·边缘计算
hqzing37 分钟前
C语言程序调用syscall的几种方式
linux·c++