一种可调整存储单元大小的fifo电路的制作方法

文档序号:6353606阅读:438来源:国知局
专利名称:一种可调整存储单元大小的fifo电路的制作方法
技术领域
本发明涉及一种FIFO缓存电路,尤其涉及一种可调整存储单元大小的FIFO电路。
背景技术
FIFO (first-in-first-out先进先出缓存区)是数字电路设计中常用的电路结构,其主要的功能包括匹配读、写速度的差异;隔离不同时钟域的数据通路等。FIFO的存储体通常为双端口的SRAM,一个端口用作写端口,另一个端口用作读端口。普通FIFO的电路结构框图如图2所示,SRAM左侧的端口用于读操作,SRAM右侧的端口用于写操作,FIFO状态产生逻辑单元用于产生FIFO状态“满”、“空”或其它状态。FIFO的大小会影响到系统电路数据传输的性能。FIFO越大,系统数据传输的性能一般也越高。但FIFO的大小又受到系统芯片面积的约束。通常情况下,FIFO的大小是在综合考虑系统性能和系统芯片设计面积的基础上确定的。在某些复杂的系统应用中,会出现同时存在多个存储单元的情形,例如数据缓存区、系统存储器、FIFO等。当系统处在不同的应用环境时,对各个存储单元大小的要求也会不同。在存储单元总大小不变的情况下,适当调整各存储单元的大小,能够有效地优化系统的整体性能。

发明内容
本发明目的提供一种可调整存储单元大小的FIFO电路,通过动态调整FIFO存储单元的大小,在满足系统性能要求的前提下,将FIFO暂且不用的存储单元分配给其它功能单元使用,从而在不改变系统电路的前提下,提高系统的整体性能。一种可调整存储单元大小的FIFO电路,包含FIFO存储单元、写指针生成逻辑单元、写片选生成逻辑单元、读片选生成逻辑单元、读指针生成逻辑单元和FIFO状态产生逻辑单元。FIFO存储单元用于存放数据;写指针生成逻辑单元用于生成写指针信号;写片选生成逻辑单元用于生成写片选信号;读片选生成逻辑单元用于生成读片选信号;读指针生成逻辑单元用于生成读指针信号;FIF0状态产生逻辑单元用于生成FIFO的状态信号。FIFO的存储单元由多块独立的SRAM构成,在系统内具有唯一的地址范围,除了可以被FIFO控制逻辑访问之外,也可以被系统存储器控制逻辑访问,作为系统存储器的一部分;还可以被数据缓存区控制逻辑访问,作为系统存储器或者数据缓冲区的一部分。普通FIFO存储单元的大小是一个固定的常数,本发明提出的FIF0,存储单元的大小可由系统配置的输入信号控制。当FIFO存储单元大小被配置成不同的值时,FIFO存储单元可被访问的空间也随之调整。在满足系统性能要求的前提下,将FIFO暂且不用的存储单元分配给其它功能单元使用,可提高整体系统性能。


3
图I本发明提出的可调整存储单元大小的FIFO电路框2普通应用的FIFO缓存电路结构框3可调整存储单元大小的FIFO存储单元结构框图
具体实施方案以下结合各附图对本发明所提出的内容进行详细的描述。图I为本发明提出的可调整大小的FIFO电路结构框图。双端口的SRAM为FIFO存储单元,实施方案中以存储单元由四块双端口 SRAM构成为例当FIFO只需要用到其中部分SRAM时,剩余的SRAM可以被系统内其它功能单元使用。FIFO存储单元由多块SRAM而非一块SRAM构成,是为了 FIFO的存储单元可以同时被系统内不同的功能单元访问。图3中FIFO的存储单元包括四片双端口 SRAM、读信号选择逻辑单元和写信号选择逻辑单元。读信号选择逻辑单元用于将来自FIFO和其它功能单元的读使能、读地址、读片选送给相应的双端口 SRAM。FIFO和其它功能单元不能同时读一块双端口 SRAM,但可以同时读不同的双端口 SRAM。读信号选择逻辑单元用于将各双端口 SRAM读出的数据送给FIFO控制逻辑单元或者其它功能单元的控制逻辑。写信号选择逻辑单元用于将来自FIFO和其它功能单元的写使能、写地址、写片选送给相应的双端口 SRAM。FIFO和其它功能单元不能同时写一块双端口 SRAM,但可以同时写不同的双端口 SRAM。普通应用的FIFO的大小是一个固定的常数,在本发明中,FIFO大小是一个由系统配置的输入信号。FIFO存储单元的大小在4个双端口 SRAM的容量总和内可以调整。FIFO存储单元大小被用在读指针生成逻辑、写指针生成逻辑以及FIFO状态产生逻辑。当FIFO的大小不超过SRAM O的容量时,读片选生成逻辑生成的读片选只会选中SRAM 0,读指针生成逻辑生成的读地址只在SRAM O的地址范围内,此时SRAM I、SRAM 2、SRAM 3 可以被其它功能单元使用。当FIFO的大小不超过SRAM O和SRAM I的容量总和但大于SRAM O的容量时,读片选生成逻辑生成的读片选只会选中SRAM O或者SRAM 1,读指针生成逻辑生成的读地址只在SRAM O和SRAM I的地址范围内,此时SRAM2、SRAM 3可以被其它功能单元使用。当FIFO的大小不超过SRAM O、SRAM I和SRAM 2的容量总和但大于SRAMO和SRAM I的容量总和时,读片选生成逻辑生成的读片选只会选中SRAM O或者SRAM I或者SRAM 2, 读指针生成逻辑生成的读地址只在SRAM O、SRAMl和SRAM 2的地址范围内,此时SRAM 3可以被其它功能单元使用。当FIFO的大小不超过四块SRAM的容量总和但大于SRAM O、SRAM I和SRAM 2的容量总和时,读片选生成逻辑生成的读片选会选中四块SRAM中的一块,读指针生成逻辑生成的读地址在四块SRAM的地址范围内,此时没有多余的SRAM可供其它功能单元使用。
权利要求
1.一种可调整存储单元大小的FIFO电路,包含FIFO存储单元、写指针生成逻辑单元、 写片选生成逻辑单元、读片选生成逻辑单元、读指针生成逻辑单元和FIFO状态产生逻辑单元,其特征在于所述FIFO存储单元由系统配置动态调整可被访问的存储空间。
2.如权利要求I所述的一种可调整存储单元大小的FIFO电路,其特征在于所述FIFO 存储单元由多块独立的SRAM构成。
3.如权利要求I所述的一种可调整存储单元大小的FIFO电路,其特征在于所述FIFO 存储单元允许系统存储器控制逻辑访问,作为系统存储器的一部分;
4.如权利要求I所述的一种可调整存储单元大小的FIFO电路,其特征在于所述FIFO 存储单元允许数据缓存区控制逻辑访问,作为数据缓存区的一部分。
全文摘要
本发明提出一种可调整存储单元大小的FIFO电路,电路包含FIFO存储单元、写指针生成逻辑单元、写片选生成逻辑单元、读片选生成逻辑单元、读指针生成逻辑单元和FIFO状态产生逻辑单元。本发明通过动态调整FIFO存储单元的大小,在满足系统性能要求的前提下,将FIFO暂且不用的存储单元分配给其它功能单元使用,从而在不改变系统电路的前提下,提高系统的整体性能。
文档编号G06F5/10GK102609234SQ20111002548
公开日2012年7月25日 申请日期2011年1月24日 优先权日2011年1月24日
发明者迟志刚 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1