一种异步FIFO装置论文和设计-耿志远

全文摘要

本实用新型提供了一种深度为任意偶数的异步FIFO装置,其中的读(写)指针采用一种特殊的格雷码编码。该异步FIFO中的读(写)指针信号,既直接连接到跨时钟域同步模块,也直接连接到RAM作为读(写)地址信号。该异步FIFO不再需要另外计算或存储自然二进制编码的RAM地址。

主设计要求

1.一种异步FIFO,包括RAM、写指针生成器、满信号生成器、写时钟域同步模块、读指针生成器、空信号生成器和读时钟域同步模块,其特征在于使用格雷码编码的指针同时用于RAM地址和跨时钟域同步。

设计方案

1.一种异步FIFO,包括RAM、写指针生成器、满信号生成器、写时钟域同步模块、读指针生成器、空信号生成器和读时钟域同步模块,其特征在于使用格雷码编码的指针同时用于RAM地址和跨时钟域同步。

2.根据权利要求1所述的异步FIFO,其特征在于,其深度为任意偶数。

3.根据权利要求1所述的异步FIFO,其特征在于,所述的写指针生成器和读指针生成器仅需计算,存储和输出使用格雷码编码的指针。

4.根据根据权利要求1所述的异步FIFO,其特征在于,所述的写指针生成器或读指针生成器包括储存格雷码指针的寄存器和对格雷码指针加一的组合逻辑电路。

设计说明书

技术领域

本实用新型涉及集成电路领域,尤其涉及异步FIFO领域。

背景技术

异步先进先出缓冲区(Asynchronous FIFO),通常称为异步FIFO,常用于跨时钟域的数据传输。异步FIFO有一个写端口和一个读端口,两个端口工作于不同的时钟域,数据从写端口写入到内部RAM的与写指针对应的地址,从读端口读出内部RAM中与读指针对应的地址对应的数据。当上下游模块对异步FIFO进行读写操作时,异步FIFO更新读写指针,并根据两指针的位置关系产生空满信号。

通常,异步FIFO的读写指针采用自然二进制编码。但是,多比特的自然二进制码无法直接做跨时钟域同步。因此一般会将自然二进制码指针转化为其格雷码编码的形式用于跨时钟域同步。这就对所采用的格雷码序列的长度有一定的要求。在一些技术方案中,格雷码的序列长度须等于异步FIFO的深度。在另一些技术方案中,格雷码的序列长度为异步FIFO深度的2倍。常用的二进制反射格雷码的序列长度为2的整数次幂。当异步FIFO的深度不是2的整数次幂时,二进制反射格雷码不适用。如果采用现有技术方案中的序列长度为非2的整数次幂的格雷码,由于其值域与对应的自然二进制码不一致,无法直接作为内部RAM的地址。因此,在深度为任意偶数的情况下,异步FIFO电路通常同时使用自然二进制码编码的指针及其格雷码编码的形式,其中自然二进制码编码的指针用作内部RAM的读写地址,其格雷码编码的形式用于跨时钟域同步。但是这种设计增加了异步FIFO电路的复杂度。

实用新型内容

针对现有技术中存在的问题,本实用新型提供了一种深度为任意偶数的异步FIFO,所述异步FIFO只需要格雷码编码的指针,同时把格雷码编码的指针用于内部RAM的读写地址和跨时钟域同步。

本实用新型采用如下技术方案:一种使用格雷码作为内部RAM地址的深度为任意偶数的异步FIFO,包括双端口RAM,读指针生成器,写指针生成器,空信号生成器,满信号生成器,读时钟域同步模块,写时钟域同步模块。其中双端口RAM的读端口,读指针生成器,空信号生成器,读时钟域同步模块工作在读时钟域;双端口RAM的写端口,写指针生成器,满信号生成器,写时钟域同步模块工作在写时钟域。

上述的异步FIFO,所述读指针生成器由读指针的寄存器和格雷码的加一电路构成,用于生成格雷码编码的读指针。所述格雷码编码的读指针连接至双端口RAM的读地址端口,空信号生成器和写时钟域同步模块。

上述的异步FIFO,所述读时钟域同步模块将写时钟域的写指针同步到读时钟域。同步到读时钟域的写指针连接至空信号生成器。

上述的异步FIFO,所述空信号生成器通过判断读时钟域的读指针和写指针的某种逻辑关系来生成空信号。

上述的异步FIFO,所述写指针生成器由写指针的寄存器和格雷码的加一电路构成,用于生成格雷码编码的写指针。所述格雷码编码的写指针连接至双端口RAM的写地址端口,满信号生成器和读时钟域同步模块。

上述的异步FIFO,所述写时钟域同步模块将读时钟域的读指针同步到写时钟域。同步到写时钟域的读指针连接至满信号生成器。

上述的异步FIFO,所述满信号生成器通过判断写时钟域的读指针和写指针的某种逻辑关系来生成满信号。

上述的异步FIFO,所述的格雷码具有以下特征。该格雷码的序列长度等于FIFO深度,该格雷码的值域与对应的自然二进制码的值域相同。

本实用新型的有益效果是,本实用新型异步FIFO,采用格雷码编码的读写指针,同时将格雷码编码的读写指针用于内部双端口RAM的读写地址和跨时钟域同步,有效地简化了电路,降低了面积和功耗。

附图说明

图1为异步FIFO的电路图。

图2为指针生成器的电路图。

图3为深度等于14的异步FIFO所需要的格雷码示意图。

具体实施方式

以下结合附图对本实用新型的原理和特征进行描述。

根据本实用新型一实施例,图1为一种深度为任意偶数的以格雷码编码的指针作为双端口RAM地址的异步FIFO的示例图,包括双端口RAM(100),读指针生成器(120),写指针生成器(110),满信号生成器(111),空信号生成器(121),写时钟域同步模块(112),读时钟域同步模块(122)。对异步FIFO,输入信号包括写时钟(130),写时钟域复位信号(131),写入数据(136),读时钟(140),读时钟域复位信号(141);输出信号包括空信号(143),满信号(133),读取数据(146)。

本实用新型实施例中异步FIFO各个模块与各个信号间的关系如表1所示。

在本实用新型实施例中,写指针生成器(110)和读指针生成器(120)分别生成以格雷码编码的写时钟域写指针(134)和读时钟域读指针(144),并将格雷码编码的指针同时用于跨时钟域同步和双端口RAM的地址。本实用新型实施例中所述指针生成器如图2。包括指针寄存器(200),格雷码加一电路(201)。在时钟(210)的上升沿,若读信号或写信号(212)为高电平,则更新指针寄存器(200)的值。格雷码加一电路(201)为对格雷码进行加一的组合逻辑电路。现行的技术方案中,指针生成器通常由格雷码寄存器,自然二进制码寄存器,自然二进制码加一电路,自然二进制码到格雷码的转换电路构成。显然,本实用新型实施例中的写指针生成器(110)和读指针生成器(120)的电路比现行的技术方案更精简。

以格雷码作为双端口RAM的地址还会带来额外的优势。相邻的两个格雷码码字间仅有一个比特不同,相邻的两个自然二进制码码字间可能有多个比特不同。以格雷码编码的指针作为双端口RAM的地址有助于减少信号反转的次数,进而降低异步FIFO的功耗。

对于上述深度为任意偶数的异步FIFO,其地址生成器中所用的格雷码须符合一定要求。记异步FIFO的深度为N。我们需要具备如下性质的格雷码:格雷码的序列长度为N,格雷码的码字的值域为从0到N-1的整数。此时,格雷码指针可以直接用于跨时钟域同步和双端口RAM的地址。

图3为深度等于14的异步FIFO的读写指针所采用的格雷码编码的一个示例。显然,该编码为格雷码,具备码字唯一性、单步特性和循环特性,而且其值域为0到13,与大小为14的RAM的地址的值域一致。因此,采用该编码的读写指针,既可以做跨时钟域同步,也可以直接用作RAM的读写地址。

关于符合上述要求的格雷码的一般性构造方法,我们将在另一发明专利申请中做出详细说明。

本实用新型实施例工作时的行为如下。若复位信号为低电平,初始化读指针与写指针,双口双端口RAM中可能存在的数据被视为无效数据,满信号为低电平,空信号为高电平;若复位信号为高电平,在写时钟的上升沿,当写信号为高电平时,写入数据被写入双口双端口RAM中写指针对应位置,同时写指针更新为新的值,比较写时钟域两指针生成满信号;若复位信号为高电平,在读时钟的上升沿,当读信号为高电平时,将双口双端口RAM中读指针对应位置的数据读出,同时读指针更新为新的值,比较读时钟域两指针生成空信号。读指针与写指针的初始值和变化方式均一致,这使得先被写入双口双端口RAM的数据先被读出。通过空满信号控制读写操作避免错误读取数据和数据丢失。

本实用新型实施例对上下游模块的要求为:当满信号为高电平时,写信号必为低电平;当空信号为高电平时,读信号必为低电平。

本实用新型实施例中,异步FIFO的深度为任意偶数,无需自然二进制码指针的有关计算和存储,使用格雷码编码的指针作为双端口RAM的地址。与现行的主流技术方案相比,适用范围更广,功耗更低,面积更小。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本实用新型的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本实用新型的意图和范围内。

表1:异步FIFO各个模块与各个信号间的关系

设计图

一种异步FIFO装置论文和设计

相关信息详情

申请码:申请号:CN201921090981.8

申请日:2019-07-12

公开号:公开日:国家:CN

国家/省市:31(上海)

授权编号:CN209765494U

授权时间:20191210

主分类号:G06F13/42

专利分类号:G06F13/42;G06F7/60

范畴分类:40B;

申请人:本征信息技术(上海)有限公司

第一申请人:本征信息技术(上海)有限公司

申请人地址:201203 上海市浦东新区蔡伦路1690号2幢206室

发明人:耿志远;陈惕生

第一发明人:耿志远

当前权利人:本征信息技术(上海)有限公司

代理人:代理机构:代理机构编号:优先权:关键词:当前状态:审核中

类型名称:外观设计

标签:;  ;  ;  ;  ;  ;  ;  ;  

一种异步FIFO装置论文和设计-耿志远
下载Doc文档

猜你喜欢