FIFO的基础和时序分析学习

参考文章http://blog.pfan.cn/yanyoushuai/34540.html

  FIFO即First in first out,也叫先入先出电路,可以实现数据先进先出的存储器件。

  FIFO一般普遍用作数据缓冲器,也可以用于顺序数据的缓冲,比如音频信号或视频信号。另一个广泛的应用是在

处理器之间的通讯中。

FIFO的基本单元是寄存器。作为存储器件,FIFO的存储能力是由其内部定义的存储寄存器的数量决定。FIFO存储器

一般以数据量的(深度,即寄存单元的个数)

deepth*width(宽度,即一寄存单元的bits)的形式来说明所采用的基本结构。

  第一代FIFO存储器是基于“导向”理论的,数据从输入端被移到输出端,所需要的时间称为导向时间。每一个数据

字需要一个状态触发器,因此对数据锁存的控制只能实现很短的

FIFO的操作以长度为8的FIFO为例说明其工作原理,如下图:

              ________________________

  D,  C,  B,  A   ——> | 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8|———>

两边的箭头表示数据移动的方向。A,B,C,D表示被处理的数据。1,2,3,4,……8表示FIFO的8个存储单元。

表明这个FIFO中共有8个寄存器单元。每个寄存器单元可以存储一个数据。所以寄存器的单元越多,FIFO的存储能力

就越强。

每个寄存器单元的位宽与FIFO的输入和输出端的位宽是一致的。如果要处理的数据A,B,C,D是16位的数据,那么

输入输出端及每个寄存器单元的位宽就都是16位。

这个FIFO可以命名为8X16 FIFO。它在每一个时钟上升沿到来时,数据向右移动一个存储单元。这样在时钟的控制

下,数据从左到右通过存储单元

FIFO通常是双端口的存储器,其中一个端口用于写入数据,而另一个端口用于读出数据。可以同时对存储器字存储单

元进行写入和读出操作。它的数据吞吐率是普通RAM的两倍。

FIFO型的存储器不需要由地址来存取数据。需要由另外的信号线(或标志)来指明存储器的内容状态。 

  现在的FIFO存储器采用SRAM单元来实现。它是基于带两个指针的环行FIFO结构的。要写入的数据的存储地址

放在写指针中,

而FIFO结构中要读出的第一个数据的地址放在读指针中。在复位后,两个指针都指向存储器的同一个字单元,每次写

操作后,写指针指向下一个存储单元。

对数据字的读取操作,会把读指针指向下一个要读取的数据字,读指针就不断地跟随写指针,当读指针跟上写指针

后,FIFO的结构里面为空。

如果写指针追上读指针,FIFO结构里面的数据是满载的。

  如果从硬件上来实现循环存储器,可以用双端口的SRAM来存取数据。指针用二进制计数器的特征,它用于产生

SRAM的存储器地址,

同步FIFO存储器的基本结构包括存储器阵列标志逻辑扩展逻辑(图太难画了,就不贴了)。存储器阵列由双端口

存储单元构成。

允许同时对存储单元的两个端口(读端口和写端口)进行存取。标志逻辑用于比较两个地址指针的值,如果两个值的

比较结果为零,FIFO存储器为全空,同时全空标志为真。

如果两个值的比较结果等于存储器的容量深度,说明存储器全满,同时全满标志为真。还可以设置其他一些标志,比

如半满,可编程接近满,可编程接近空等。

它们也通过对偏移量寄存器中的编程值和存储器阵列中的字的数量进行比较来生成,扩展逻辑通过对多个模块按容量

深度扩展结构进行的级联来形成更深的FIFO存储器,


采用令牌传递方法来实现逻辑上容量更深的FIFO。

    在普通模式下(没有进行容量,深度级联的模式),每一个地址在到达最大值后,会跳会到零。

    在容量深度扩展模式下,当地址指针到达最大值后,一个脉冲信号会送到扩展端口,该端口把令牌传到另一个

FIFO存储器中(直到令牌重新传回来,这个地址指针才会增加),

(这个地方还有点模糊,有待解决。) 

  字宽扩展,可以使FIFO存储器有更宽的数据通路。在字宽扩展模式中,读操作,写操作和重传输都一样。要在字

宽上扩展多个FIFO存储器,必须同时通过对每个存储器的状态

标志进行与操作生成“混合标志”。混合标志也包括全空标志和全满标志。这样才能保证FIFO存储器保持同步。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值