一种异步先进先出(fifo)数据缓存的方法

文档序号:6564564阅读:1191来源:国知局
专利名称:一种异步先进先出(fifo)数据缓存的方法
技术领域
本发明涉及一种数据存储地址选择的方法,更具体地说,涉及一种异步先进先出(FIFO)数据缓存的方法。
目前异步FIFO的数据缓存一般是采用双口RAM实现,读写地址在读写使能的作用下加一,对读写地址进行格雷码编码后比较,由读写地址的格雷码比较来产生空满信号。对于数据传递以块为单位的接口,如UTOPIA接口是以信元为单位传递、FBUS接口是以64字节为单位传递的,采用一般的异步FIFO数据缓存的方法,其空满信号的产生与协议的需求不一致,需要外加电路进行适配,导致接口处理的复杂度上升,难度加大,可靠性下降;同时由于在FIFO地址偶然紊乱的情况下,很难恢复正常状态或者在短时间难以恢复,其可靠性和鲁棒性都较差。
本发明目的是通过以下技术方案实现的一种异步先进先出(FIFO)数据缓存的方法,包括存储器的地址采用块地址和块内偏移地址,空信号或满信号以块地址为单位产生。
所述的空信号或满信号的产生包括当读出、写入最后一个块的空间时,只要读出、写入一个单位的数据就产生空信号、满信号。
进一步的,当产生空信号或满信号时仍可以继续读出或写入,直到偏移地址完毕,或者读出、写入一个包尾时,允许读出或允许写入禁止。
上述的块地址进行格雷码编码。
由于空信号、满信号是以块地址为单位产生的,满足了以数据块为单位传递的接口要求,降低接口时序处理的难度,简化处理逻辑;同时若某块数据读写出错,少或多读、写数据,不会蔓延到其它块的数据,到下一块的时候,读写偏移指针就自动校正恢复到0,不会导致错误的延续,从而提高了可靠性。
异步FIFO用深512宽40bits的双口RAM实现,将读、写地址分成块地址和偏移地址,16个偏移地址构成一个块地址,共有32个块。采用对块地址进行格雷码编码的方式,偏移地址在读写使能作用下加1,而块地址在块读使能(Rensoc)、块写使能(Wensoc)有效时加1,Rensoc、Wensoc在以下情况时有效a、读、写偏移地址加到16;b、读出、写入一个包尾(EOP)。
当只剩一个块的空间,只要写入一个单位即产生满信号,但还可继续写,直到写到偏移地址为16或写入一个EOP时,就不能再写入,允许写入(Write-enable)为0。参见

图1所示。图1为产生满信号的写时序图,图中Data-in[33]表示写入数据包的包尾标记。
同样地,当还有一个块的数据未读出,只要读出一个单位即产生空信号,但还可继续,直到读偏移地址为16或读出一个EOP时,就不能再读,允许读出(Read-enable)为0。参见图2所示。图2为产生空信号的读时序图,图中Data-out[33]表示读出数据包的包尾标记。
综上所述,空满标志的产生是以块为基础的。对于FBUS、UTOPIA等接口,它们是以数据块为单位传递的接口,同时要求FIFO中的数据在没有一块但有一个包尾数据的情况下,也必须报非空的要求,这种FIFO处理起来就很简单,因为只要FIFO中写入一个包尾EOP时,块写指针就加一,这样异步FIFO就会报非空。同时,其满信号也是以块为单位产生的,只要非满,就可至少接收一个数据块,这样就简化了接口处理逻辑。
本发明并不局限于上述实施例的具体介绍。本发明可进一步更新,或者对本发明所公开的特征加以新的组合(包括任何相关的权利要求、摘要和附图),也可对本发明所公开的任何方法或者过程进行更新或者进行新组合。
权利要求
1.一种异步先进先出(FIFO)数据缓存的方法,其特征在于该方法包括存储器的地址采用块地址和块内偏移地址,空信号或满信号以块地址为单位产生。
2.根椐权利要求1所述的异步先进先出(FIFO)数据缓存的方法,其特征在于所述的空信号或满信号以块地址为单位产生包括当读出或写入最后一个块的空间时,只要读出或写入一个单位的数据就产生空信号或满信号。
3.根椐权利要求1或2所述的异步先进先出(FIFO)数据缓存的方法,其特征在于进一步包括当产生空信号或满信号时仍然可以继续读出或写入,直到块内偏移地址完毕时,或者读出或写入一个包尾时,允许读出或允许写入禁止。
4.根椐权利要求1所述的异步先进先出(FIFO)数据缓存的方法,其特征在于所述的块地址进行格雷码编码。
全文摘要
本发明公开了一种数据存储地址选择的方法,尤其涉及一种对于数据传递以块为单位的异步先进先出(FIFO)数据缓存的方法,对存储器地址分为块地址和块内偏移地址,对块地址进行格雷码编码,存储器根据接口协议的需要产生操作状态如空满信号,空满信号是以块地址为单位产生的。这种异步FIFO数据缓存的方法,满足了以数据块为单位传递的接口要求,降低接口时序处理的难度,简化处理逻辑,在FIFO地址偶然紊乱的情况下可自恢复,提高了可靠性。
文档编号G06F12/02GK1407458SQ01130699
公开日2003年4月2日 申请日期2001年8月30日 优先权日2001年8月30日
发明者李春, 陈永渝 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1