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

相关推荐
wangjialelele38 分钟前
Linux中的进程管理
java·linux·服务器·c语言·c++·个人开发
杜子不疼.1 小时前
【Linux】库制作与原理(二):动态库的制作与使用
linux·运维·服务器
森焱森1 小时前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
RisunJan1 小时前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
山君爱摸鱼1 小时前
Linux-服务进程
linux·运维·服务器
阿乐艾官1 小时前
【linux文件系统重要目录及命令解释】
linux·运维·服务器
blueSatchel1 小时前
U-Boot启动后做的事情
linux·u-boot
senijusene1 小时前
Linux软件编程: Linux 操作系统基础与shell脚本
linux·运维·chrome
予枫的编程笔记2 小时前
【Linux进阶篇】Linux后台运行避坑指南:nohup、& 用法及Systemd守护进程实操
linux·进程管理·linux运维·nohup·systemctl·ps命令·kill命令
code monkey.2 小时前
【Linux之旅】Linux 进程间通信(IPC)全解析:从管道到共享内存,吃透进程协作核心
linux·c++·ipc