FIFO学习记录

FIFO(先进先出)是一种数据缓冲器,常用于处理时钟域差异和带宽同步问题。其工作原理包括写入和读出操作,确保数据按顺序处理。在多比特数据跨时钟域处理和前后带宽不同步场景下,FIFO起到关键作用,提供同步和异步两种模式以适应不同的时钟需求。
摘要由CSDN通过智能技术生成

一、FIFO是什么?

FIFO:First In First Out(先进先出)

本质上是一种数据缓冲器,是一个对数据的存储具有先进先出储存器。

FIFO存储器主要作为缓存应用在同步时钟系统和异步时钟系统。

二、工作原理

①写入操作:wr_clk、wr_req(写请求信号)、wr_data(写入数据)

假如要将1-10的数据写入FIFO

第一个数据最下,第二个次之

②读出操作:rd_clk、rd_req(读请求信号)、data_out

读出第一个信号的时候,上面的数据会整体往下降一位,以便后面读出

先被写入的数据同样会先被读出

 

三、应用

①多比特数据跨时钟域处理

模块A输出的一组数据为Data_A,这组数据的同步时钟为CLK_A,

而在实际的运用当中想把模块A的这组数据传入模块B进行数据处理,但模块B的工作时钟CLK_B与模块A的工作时钟不同。

如果直接传入不使用FIFO的话,那么数据对的传入会存在一些问题。

所以这时候就需要FIFO

即模块B向FIFO中传入读时钟CLK_B,以及读请求信号Rd_req来读取数据

Data_A的读取是在是在CLK_B的同步下进行读取的。

FIFO其实就是相当于一个中间的存储状态。

注:FIFO只是一个存储空间,本身没有搭载时钟

 

②前后带宽不同步 

对FIFO进行设置,设置输入的位宽与输出的位宽

 

四、结语

FIFO根据读写时钟的不同可以分为同步FIFO和异步FIFO

同步表示这个FIFO数据写入的时钟和数据读出的时钟是同一个时钟

异步表示读写的时钟不同,即数据写入是一个时钟,数据的读出是另一个时钟

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值