A method and device for realizing asynchronous first in first out queue (FIFO) includes: determining the read clock frequency and write clock frequency of data; performing cross-clock FIFO processing and large-capacity synchronous cache processing for asynchronous FIFO according to the read clock frequency and write clock frequency. The embodiment of the invention reduces the design area of large capacity asynchronous FIFO.
【技术实现步骤摘要】
一种实现先入先出队列的方法及装置
本文涉及但不限于集成电路技术,尤指一种实现异步先入先出队列(FIFO)的方法及装置。
技术介绍
异步FIFO在专用集成电路(ASIC)设计中有着广泛的应用,主要解决短期读写带宽不匹配和跨时钟域的问题,用于缓存数据,将数据从一个时钟域传递到另外一个时钟域。在设计中使用寄存器(小容量)和双端口随机存取存储器(RAM)来实现,在FIFO存储的比特(bit)少时采用寄存器在面积上有优势,但当FIFO存储bit大到一定程度后,用双端口RAM来实现有面积优势。对于大容量的异步FIFO,相关技术中采用双端口RAM实现,图1为相关技术中实现大容量的异步FIFO的电路组成示意图,如图1所示,采用双端口RAM实现大容量的异步FIFO的电路,其组成包括:写控制A、读控制C、双口RAMB、二进制码转格雷码D和G、格雷码转二进制码F和I,和跨时钟域处理E和H;其中,读控制C和写控制A用于产生读写地址进行读写并产生空满信号提供给外围接口。处理过程包括:有数据输入时,写控制A根据当前FIFO的状态更新写地址并将数据写入双口RAMB;写地址通过二进制码转格雷码D、跨时钟域处理E和格雷码转二进制码F传到读控制C(包括:二进制码转格雷码D将写地址的二进制码转换为格雷码,然后通过跨时钟域处理E进行跨时钟域处理,在读时钟域又将通过格雷码转二进制码F格雷码转换为二进制码),读控制C根据读写地址产生空信号提供给FIFO读接口;同样,将输入的数据通过读控制C从双口RAM中读出时,在读时钟域将读地址由二进制码转换为格雷码,并进行跨时钟域的处理传递到写时钟域;,在写时钟域 ...
【技术保护点】
1.一种实现异步先入先出队列FIFO的方法,其特征在于,包括:确定数据的读时钟频率和写时钟频率的大小;根据读时钟频率和写时钟频率的大小,对异步FIFO进行跨时钟域FIFO处理和大容量同步缓存处理。
【技术特征摘要】
1.一种实现异步先入先出队列FIFO的方法,其特征在于,包括:确定数据的读时钟频率和写时钟频率的大小;根据读时钟频率和写时钟频率的大小,对异步FIFO进行跨时钟域FIFO处理和大容量同步缓存处理。2.根据权利要求1所述的方法,其特征在于,所述异步FIFO为大容量异步FIFO,所述对异步FIFO进行跨时钟域FIFO处理和大容量同步缓存处理包括:当所述读时钟频率大于或等于所述写时钟频率时,对所述大容量异步FIFO进行跨时钟域FIFO处理;对跨时钟域FIFO处理后获得的数据进行大容量同步缓存处理;当所述读时钟频率小于所述写时钟频率时,对所述大容量异步FIFO进行大容量同步缓存处理,对大容量同步缓存处理后获得的数据进行跨时钟域FIFO处理。3.根据权利要求1或2所述的方法,其特征在于,所述进行大容量的同步缓存包括:在双倍数据位宽的单口随机存取存储器RAM和预设深度的同步FIFO中,根据数据缓存量进行数据缓存。4.根据权利要求3所述的方法,其特征在于,所述根据数据缓存量进行数据缓存包括:在所述同步FIFO未满时,将数据写入到所述同步FIFO中;在所述同步FIFO写满后,对数据进行一拍缓存,在一拍缓存后仍有数据输入时,将输入的数据存储到单口RAM中;在所述同步FIFO中的数据被读出时,以1个周期写两个数据的吞吐速率将数据从所述单口RAM中读取并写入到所述同步FIFO中;在无数据输入,而输出端需要读取数据时,以1个周期写两个数据的吞吐量将数据从所述单口RAM中读取并写入到所述同步FIFO中;在所述单口RAM中的数据被读取完毕,所述同步FIFO中的数据深度出现不满时,若有数据输入,将输入的数据写入到所述同步FIFO中。5.一种实现异步FIFO的装置,其特征在于,包括:确定单元和处理单元;其中,确定单元用于:确定数据的读时钟频率和写时钟频率的大小;处理单元用于:根据读时钟频率和写时钟频率的大小,对异步FIFO进行跨时钟域FI...
【专利技术属性】
技术研发人员:代开勇,黄勃,徐科,
申请(专利权)人:深圳市中兴微电子技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。