CN101681249A - 先进先出缓冲器 - Google Patents

先进先出缓冲器 Download PDF

Info

Publication number
CN101681249A
CN101681249A CN200880016077A CN200880016077A CN101681249A CN 101681249 A CN101681249 A CN 101681249A CN 200880016077 A CN200880016077 A CN 200880016077A CN 200880016077 A CN200880016077 A CN 200880016077A CN 101681249 A CN101681249 A CN 101681249A
Authority
CN
China
Prior art keywords
circuit
address
pointer
clock
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880016077A
Other languages
English (en)
Other versions
CN101681249B (zh
Inventor
约翰内斯·布恩斯特拉
森达拉瓦拉丹·兰加拉让
拉金德拉·库马尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101681249A publication Critical patent/CN101681249A/zh
Application granted granted Critical
Publication of CN101681249B publication Critical patent/CN101681249B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
  • Air Bags (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路。该电路包括:FIFO存储器(10);写入指针电路(16),由第一时钟域的时钟进行时钟控制,所述写入指针电路(16)控制被写入数据的存储单元;以及读取指针电路,由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元。读取指针电路和写入指针电路都使用格雷编码。存储器电路还包括复制写入指针电路(30),其写入指针地址与写入指针电路(16)同步地加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于FIFO存储器(10)大小的多个地址存储单元。比较器(34)将读取指针电路地址与复制写入指针电路地址进行比较以确定FIFO存储器的满状态。

Description

先进先出缓冲器
技术领域
本发明涉及设计用于在不同时钟域之间进行接口的FIFO(先进先出)缓冲器。
背景技术
现有的片上系统(SoC)具有多个时钟域,其中实现了数字逻辑电路。这些时钟域可以具有独立的频率和/或相位。当在这些时钟域之间进行通信时,会出现半稳态:电路会暂时进入介于0和1之间的状态。为了安全地在这些时钟域之间进行通信,通常与握手机制结合地使用同步触发器。
为了跨过时钟域交叉来进行大数据量的通信,众所周知的是使用先进先出硬件缓冲器(FIFO)。FIFO的写入端位于第一时钟域内,而FIFO的读取端位于第二时钟域内。
FIFO包括存储元件(存储器、触发器或锁存器)和控制逻辑电路。控制逻辑电路产生用于访问存储器的写入地址和读取地址,并用于控制时钟域之间的同步。这些写入地址和读取地址通过读取指针和写入指针来确定。
写入指针指向将被写入的下一个字。在FIFO写入操作(由第一时钟域进行时钟控制)过程中,对由写入指针指向的存储单元进行写入,然后使写入指针加1以指向将被写入的下一存储单元。
类似的,读取指针指向将被读取的当前FIFO字。
在复位时,读取指针和写入指针都被设置为零。于是,FIFO为空,并使用空标记对此进行指示。在将第一个数据字写入FIFO后,写入指针加1、清除空标记、以及读取指针寻址第一个FIFO存储器字的内容。该第一个字被推向FIFO数据输出端口。写入指针总是指向将被读取的下一个FIFO字,从而接收器逻辑电路不必使用两个时钟周期来读取数据字。
在读取指针和写入指针两者相等时,FIFO为空。这种情况发生在复位操作过程中将读取指针和写入指针都设置为零的时候、或发生在读取指针已经从FIFO中读取了最后一个字而赶上写入指针的时候。
FIFO被用作循环存储器件。FIFO可以变满(例如,在写入时钟频率高于读取时钟频率的情况下),因此存在最大数据传输容量。当写入指针和读取指针再次相等时,FIFO为满,不过此时写入指针已经回转并已赶上读取指针。为了避免将数据写入存储器从而导致对未读取数据的存储单元进行重写,需要检测在先的写入指针状态。这样做可以有很多方法,其中之一是引入符号位。于是在写入指针和读取指针相等但是符号位不相等时,FIFO为满。
为了有效地在各时钟域之间进行同步,典型地使用格雷编码来实现地址指针。对于每次时钟跳变,格雷码允许有一个位变化,这样避免在一个时钟沿有多个变化的信号。在如上概述的读取格雷码指针等于写入格雷码指针的情况下,FIFO将为空。在添加了附加MSB符号位的情况下,如果读取格雷码指针的两个高位与写入格雷码指针的两个高位相反,而其余位都相等,则FIFO将为满。这是因为格雷码的反射性质造成的。第一半个序列中的格雷码的低(n-2)位序列在第二半个序列中被重复,但是将头两位反相。FIFO存储器大小对应于(n-1)位,即,全格雷码循环的一半,并且可以基于两个MSB的反相来检测一半的格雷码。
图1示出了已知的包括存储元件和控制格雷码计数器逻辑电路的FIFO电路,其中控制格雷码计数器逻辑电路包括格雷码状态寄存器、同步寄存器和满/空检测逻辑电路。
FIFO电路包括:存储器10;多路复用器结构12,用于基于格雷码编码的地址信号对存储器进行写入寻址;以及多路复用结构14,用于基于格雷码编码的地址信号对存储器进行读取寻址。
利用单元18在每个写入时钟域周期处使格雷码编码的写入地址指针16加1,并且写入地址指针输出被提供给多路复用器结构12。
利用单元22在每个读取时钟域周期处使格雷码编码的读取地址指针20加1,并且读取地址指针输出被提供给多路复用器结构14。FIFO满状态基于写入指针地址和再同步的读取指针地址的比较结果。
基于如上所述所使用的附加MSB符号位,通过使用反相器24使再同步的读取指针地址的两个MSB反相,使该值与写入指针地址之间的相等性被用来指示FIFO的满状态。FIFO空状态基于读取指针地址和再同步的写入指针地址之间的比较结果,利用相等性来指示FIFO空状态。
格雷编码的性质防止了格雷码序列成为任意长度。事实上,格雷码序列长度将总是为4的倍数。实际上,这意味着只使用一个读取指针和一个写入指针的时钟域交叉FIFO将具有偶数个项(深度)。格雷编码或二进制编码地址的使用还引入了用于对FIFO进行读取的长路径。需要选择这些寄存器中的一个寄存器用于进行读取,从而造成了多路复用器12、14的树形结构,这就引入了相当大的延迟。
发明内容
根据本发明的第一方面,提供了一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括:
FIFO存储器;
写入指针电路,由第一时钟域的时钟进行时钟控制,该写入指针电路控制被写入数据的存储单元;以及
读取指针电路,由第二时钟域的时钟进行时钟控制,该读取指针电路控制从其中读取数据的存储单元,
其中,读取指针电路和写入指针电路都使用格雷编码;以及其中,存储器电路还包括复制格雷编码写入指针电路,其写入指针地址与写入指针电路同步地加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于FIFO存储器大小的多个地址存储单元;以及其中,该存储器电路还包括比较器,用于将读取指针电路地址与复制写入指针电路地址进行比较以确定FIFO存储器的满状态。
该配置还使用其他的写入指针(除了传统的读取格雷码指针和写入格雷码指针以外),该其他的写入指针被看作是阴影指针。其起始于负的FIFO大小(格雷编码)处。该阴影指针用于确定FIFO的满状态。使用该阴影指针,可以实现任意大小的FIFO,包括偶数和奇数大小。如果两个指针(包括任何符号位)相等,则FIFO将为满。
优选的,比较器包括用于检测复制写入指针地址和读取指针地址的相等性的电路。这使得无需复杂的技术来确定FIFO的满状态。
比较器还可以用于将读取指针电路地址和写入指针电路地址进行比较,以确定FIFO存储器的空状态。于是比较器包括用于检测写入指针地址和读取指针地址的相等性的电路。
根据本发明的第二方面,提供了一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括:
FIFO存储器;
写入指针电路,由第一时钟域的时钟进行时钟控制,该写入指针电路控制被写入数据的存储单元;以及
读取指针电路,由第二时钟域的时钟进行时钟控制,该读取指针电路控制从其中读取数据的存储单元,
其中,读取指针电路和写入指针电路都使用格雷编码;以及其中,该存储器电路还包括第一转换电路,用于将读取指针电路地址转换成一位热码(one-hot)信号,并用于控制FIFO存储器的读取地址;以及其中,读取指针电路格雷编码值和写入指针电路格雷编码值被用于获取FIFO存储器的空状态信息和满状态信息。
本发明的该方面通过提供以一位热码编码值存储读取地址的附加阴影寄存器,使得能够加快FIFO读取处理的速度。
于是可以使用AND代替传统的读取结构的多路复用器层级,减小了OR树,并减少了从地址寄存器到数据输出端的延迟。
可以在写入端口处实现相同的指针逻辑电路以改善定时。在这种情况下,该电路还包括:第二转换电路,用于将写入指针电路地址转换为一位热码信号,并用于控制FIFO存储器的写入地址。
FIFO存储器优选的是一位热码可寻址存储器。
附图说明
现在将参照附图来详细描述本发明的实例,附图中:
图1示出了已知的用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路;
图2示出了本发明的FIFO存储器电路的第一实例;
图3示出了本发明的FIFO存储器电路的第二实例;以及
图4示出了用于图3的电路中的转换电路。
在附图中使用相同的参考标号来表示相同的部件。
具体实施方式
图2示出了本发明的存储器电路的第一实例。图2的电路对应于图1的电路,并增加了复制格雷编码写入指针电路30和相关联的递增电路32。复制电路30的写入指针地址与写入指针电路同步地(即,在FIFO的写入侧,在第一时钟域的时钟控制下)加1。
起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于FIFO存储器大小的多个地址存储单元。换言之,复制写入指针起始于对应于负的FIFO大小的格雷编码值处(格雷编码是循环的)。
这使得可以使用任意大小的FIFO。通过允许FIFO具有任意深度而不是仅仅具有偶数深度,可以减小硅区。
通过使用附加的读取/写入地址寄存器组产生存储器地址,FIFO可以为任意大小。该附加的寄存器组可以被进行二进制编码或一位热码编码。在此情况下,格雷码寄存器只用于产生满/空状态。
在此情况下,将会有六个寄存器:
读取和写入指针;
读取和写入阴影指针;
读取和写入地址。
比较器34用于将再同步的读取指针电路地址与复制写入指针电路地址进行比较,以确定FIFO存储器的满状态。这使得在进行比较前无需以图1中所示的方式对读取指针地址进行处理。
复制写入指针可以被看作是阴影指针。
空状态可以使用图1中所示的传统方法进行检测。
图3示出了本发明的存储器电路的第二实例,该电路提高了操作速度。
图3的电路使用与图1电路相同的格雷编码读取指针和格雷编码写入指针,并使用相同的技术来检测满和空状态(尽管在图3中未详细示出)。存储器电路还包括第一转换电路40,其用于将读取指针电路地址转换为一位热码信号,并用于控制FIFO存储器的读取地址。
以此方式,一位热码编码的地址被用于对存储元件进行读取。对于简单的FIFO,可以使用标准的触发器或锁存器。在存储器或寄存器堆实施方式的情况中,需要一位热码可寻址存储器。
一位热码存储器读取的使用使得可以提高FIFO读取处理的速度。
第一转换电路40包括用于存储一位热码地址的电路42和用作递增电路的旋转电路44,该旋转电路使一位热码“1”移动一位空间。一位热码值被提供给基于加法器45和OR树46的寻址逻辑电路,以得到将被寻址的存储器单元。从而,图3的电路结合了用于实现FIFO满状态标记和空状态标记的格雷编码的优点,以及一位热码存储器读取的优点。该电路提供了改进的写入数据输入和读取数据输出的定时,导致了较高的工作频率和/或较低的功耗。
在该配置中,格雷码寄存器(常规或阴影)仅用于两个时钟域之间的握手以及检测满/空状态;一位热码寄存器用于进行实际的存储器访问。使用一位热码编码将减少对存储器的访问时间(相比于格雷码或二进制码),从而提高了工作频率。
可以使用传统的格雷编码以图1所示的方式实现写入地址。然而,图3示出了令写入地址电路复制一位热码读取电路的改进实施例。以此方式,一位热码编码的地址还用于对存储元件进行写入。该电路还包括第二转换电路50,用于将写指针电路地址转换为一位热码信号,并用于控制FIFO存储器的写入地址。
第二转换电路50包括用于存储一位热码地址的电路52,和用作递增电路的旋转电路54,该旋转电路使一位热码“1”移动一位空间。该一位热码值被提供给基于加法器55的寻址逻辑电路。
用于将一位热码信号转换为存储器地址信号的转换电路在读取侧和写入侧是不同的,这是因为写入和读取具有不同的要求。在进行写入时,存储单元之一需要被使能(使用单元45),以及一位热码编码中的每一位都对应于一个存储单元的使能端。在进行读取时,需要选择存储单元中的一个,并且读取的一位热码寄存器中的每一位都对应于一个存储单元。通过将这些位与它们相应的存储单元进行逻辑AND(在单元55中)以及将结果进行逻辑OR(在单元56中),就可以对寄存器进行读取。
FIFO存储器可以实现为一位热码可寻址存储器。在此情况中,电路55、45、和46可以被实现为存储器本身的一部分。
图4示出了利用8位的数据示出用于深度为8的FIFO的格雷/二进制地址(图4的上部分)以及一位热码地址的寄存器读取逻辑电路。
该格雷/二进制电路将数据从格雷码编码数据转换为二进制编码数据,并使用多路复用器电路60的树。基于多路复用器结构的格雷/二进制编码地址的逻辑深度为6个AND/OR层,以及最大扇出(位0)为32。
在图的顶部,电路的输入是值d0至d7,并且这些值是被存储在8个FIFO存储单元中的值。在电路的底部,这些存储单元中的一个被选择作为输出向量[7:0]。
一位热码地址转换器包括加法器电路62的阵列和OR门树64。基于AND/OR结构的一位热码编码地址的逻辑深度为4。最大扇出(所有位)为8。
图4的电路是常用的并仅被提供用来显示一位热码寻址可以减少等待时间以及提高工作频率。
通过使用一位热码信号的处理而得到的减小了的逻辑深度和减小了的扇出允许更高的工作频率,或较低的工作电压从而允许较低的功率。
本发明可以应用于具有多个时钟域以及相关联的时钟域交叉的各种片上硅电路。FIFO电路可以构成片上总线桥以及接口模块的一部分。
对于本领域技术人员来说,各种其他的改进都将是显而易见的。

Claims (9)

1.一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括:
FIFO存储器(10);
写入指针电路(16),由第一时钟域的时钟进行时钟控制,所述写入指针电路(16)控制被写入数据的存储单元;以及
读取指针电路,由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元,
其中,所述读取指针电路和写入指针电路都使用格雷编码;以及其中,所述存储器电路还包括复制写入指针电路(30),其写入指针地址与所述写入指针电路(16)同步地加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于所述FIFO存储器(10)大小的多个地址存储单元;以及其中,所述存储器电路还包括比较器(34),用于将所述读取指针电路地址与所述复制写入指针电路地址进行比较以确定所述FIFO存储器的满状态。
2.根据权利要求1所述的存储器电路,还包括再同步器,用于将读取指针与所述第一时钟域的时钟再同步,以及其中,所述比较器(34)用于将再同步的读取指针电路地址与复制写入指针电路(30)地址进行比较。
3.根据权利要求1或2所述的存储器电路,其中,所述比较器(34)包括用于检测所述复制写入指针地址和读取指针地址的相等性的电路。
4.根据前述任一权利要求所述的存储器电路,其中,还包括第二比较器,用于将所述读取指针电路地址与所述写入指针电路地址进行比较以确定所述FIFO存储器的空状态。
5.根据权利要求4所述的存储器电路,还包括再同步器,用于将写入指针与所述第二时钟域的时钟再同步,以及其中,所述第二比较器用于将再同步的写入指针电路地址与所述读取指针电路地址进行比较。
6.根据权利要求4或5所述的存储器电路,其中,所述比较器包括用于检测所述写入指针地址和所述读取指针地址的相等性的电路。
7.一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括:
FIFO存储器;
写入指针电路,由第一时钟域的时钟进行时钟控制,所述写入指针电路控制被写入数据的存储单元;以及
读取指针电路,由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元,
其中,所述读取指针电路和所述写入指针电路都使用格雷编码;以及其中,所述存储器电路还包括第一转换电路(40),用于将读取指针电路地址转换成一位热码信号,并用于控制FIFO存储器的读取地址;以及其中,读取指针电路格雷编码值和写入指针电路格雷编码值被用于获取所述FIFO存储器的空状态信息和满状态信息。
8.根据权利要求7所述的存储器电路,其中,所述第一转换电路(40)包括具有多个AND门(62)的逻辑电路结构、和具有OR树(64)的逻辑电路结构。
9.根据权利要求7或8所述的存储器电路,还包括第二转换电路(50),用于将写入指针电路地址转换为一位热码信号,并用于控制所述FIFO存储器的写入地址。
CN2008800160770A 2007-05-16 2008-05-14 先进先出缓冲器 Expired - Fee Related CN101681249B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07108299 2007-05-16
EP07108299.4 2007-05-16
PCT/IB2008/051894 WO2008142610A1 (en) 2007-05-16 2008-05-14 Fifo buffer

Publications (2)

Publication Number Publication Date
CN101681249A true CN101681249A (zh) 2010-03-24
CN101681249B CN101681249B (zh) 2012-12-05

Family

ID=39735570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800160770A Expired - Fee Related CN101681249B (zh) 2007-05-16 2008-05-14 先进先出缓冲器

Country Status (6)

Country Link
US (1) US8612651B2 (zh)
EP (1) EP2149083B1 (zh)
CN (1) CN101681249B (zh)
AT (1) ATE495489T1 (zh)
DE (1) DE602008004500D1 (zh)
WO (1) WO2008142610A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799410A (zh) * 2012-06-19 2012-11-28 东南大学 基于李氏制约竞争计数编码的异步fifo地址转换电路
CN102880442A (zh) * 2011-07-13 2013-01-16 瑞昱半导体股份有限公司 用于时钟树转换处的先入先出(fifo)装置与方法
CN111367495A (zh) * 2020-03-06 2020-07-03 电子科技大学 一种异步先入先出的数据缓存控制器
CN112084730A (zh) * 2020-09-11 2020-12-15 昇显微电子(苏州)有限公司 一种改善Asynchronous FIFO支持非2的幂次深度方法
CN112286489A (zh) * 2020-10-21 2021-01-29 深圳市紫光同创电子有限公司 Fifo存储器及fifo存储器的处理方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2760878A1 (en) * 2009-05-05 2010-11-11 Koninklijke Philips Electronics N.V. Method for securing communications in a wireless network, and resource-restricted device therefor
US8332596B2 (en) * 2009-06-12 2012-12-11 Cray Inc. Multiple error management in a multiprocessor computer system
US8417982B1 (en) * 2009-08-11 2013-04-09 Marvell Israel (M.I.S.L.) Ltd. Dual clock first-in first-out (FIFO) memory system
TWI504154B (zh) * 2010-07-30 2015-10-11 Realtek Semiconductor Corp 多相位時脈切換裝置與其方法
CN102654827B (zh) * 2011-03-02 2014-05-28 安凯(广州)微电子技术有限公司 一种先进先出缓冲器及缓存数据的方法
CN102495713A (zh) * 2011-12-09 2012-06-13 盛科网络(苏州)有限公司 实现任意深度异步fifo的方法及系统
US9911470B2 (en) 2011-12-15 2018-03-06 Nvidia Corporation Fast-bypass memory circuit
US8924612B2 (en) * 2012-04-04 2014-12-30 Arm Limited Apparatus and method for providing a bidirectional communications link between a master device and a slave device
CN103632712A (zh) 2012-08-27 2014-03-12 辉达公司 存储单元和存储器
US9685207B2 (en) 2012-12-04 2017-06-20 Nvidia Corporation Sequential access memory with master-slave latch pairs and method of operating
US9281817B2 (en) * 2012-12-31 2016-03-08 Nvidia Corporation Power conservation using gray-coded address sequencing
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US9672008B2 (en) * 2014-11-24 2017-06-06 Nvidia Corporation Pausible bisynchronous FIFO
US9509640B2 (en) * 2014-12-05 2016-11-29 Xilinx, Inc. Latency control in a transmitter/receiver buffer
WO2016203492A2 (en) * 2015-06-16 2016-12-22 Gyan Prakash Method for cycle accurate data transfer in a skewed synchronous clock domain
US10254967B2 (en) 2016-01-13 2019-04-09 Sandisk Technologies Llc Data path control for non-volatile memory
US10528286B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10528267B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Command queue for storage operations
US10528255B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10114589B2 (en) 2016-11-16 2018-10-30 Sandisk Technologies Llc Command control for multi-core non-volatile memory
KR102342547B1 (ko) * 2017-07-12 2021-12-23 삼성전자주식회사 버퍼 컨트롤러, 메모리 장치 및 집적회로 장치
US11010293B1 (en) * 2018-01-23 2021-05-18 Marvell Israel (M.I.S.L) Ltd. Register-based asynchronous FIFO with asymmetric size
US11436166B2 (en) * 2019-02-05 2022-09-06 Arm Limited Data processing systems
US11461030B2 (en) * 2019-07-15 2022-10-04 Micron Technology, Inc. Transferring data between clock domains using pulses across a queue
GB2597054A (en) * 2020-07-02 2022-01-19 Technologies Oy Nokia Method and apparatus configured to provide clock domain separation
CN112416823B (zh) * 2020-11-15 2024-05-03 珠海一微半导体股份有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3421147A (en) * 1965-05-07 1969-01-07 Bell Telephone Labor Inc Buffer arrangement
US4834733A (en) * 1987-11-12 1989-05-30 Kimberly-Clark Corporation Fluid activated mechanical absorbency gauge
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
US5473756A (en) * 1992-12-30 1995-12-05 Intel Corporation FIFO buffer with full/empty detection by comparing respective registers in read and write circular shift registers
KR0123239B1 (ko) * 1994-07-06 1997-11-26 김주용 선입선출방식(fifo) 메모리
EP0760501B1 (en) * 1995-09-04 2002-02-20 Hewlett-Packard Company, A Delaware Corporation Data handling system with circular queue formed in paged memory
US5699530A (en) * 1995-10-03 1997-12-16 Intel Corporation Circular RAM-based first-in/first-out buffer employing interleaved storage locations and cross pointers
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US6075931A (en) * 1997-06-25 2000-06-13 Sun Microsystems, Inc. Method for efficient implementation of multi-ported logic FIFO structures in a processor
JP3998314B2 (ja) * 1998-01-21 2007-10-24 沖電気工業株式会社 先入れ先出し記憶装置
US6434642B1 (en) * 1999-10-07 2002-08-13 Xilinx, Inc. FIFO memory system and method with improved determination of full and empty conditions and amount of data stored
US6553448B1 (en) * 2001-03-01 2003-04-22 3Com Corporation Method for unit distance encoding of asynchronous pointers for non-power-of-two sized buffers
US7127536B2 (en) * 2002-09-30 2006-10-24 Hewlett-Packard Development Company, L.P. Source-synchronous receiver having a predetermined data receive time
FR2849228A1 (fr) * 2002-12-23 2004-06-25 St Microelectronics Sa Dispositif de transfert de donnees entre deux sous-systemes asynchrones disposant d'une memoire tampon
US6794997B2 (en) * 2003-02-18 2004-09-21 Sun Microsystems, Inc. Extending non-volatile memory endurance using data encoding
US7293149B2 (en) * 2003-05-30 2007-11-06 Sun Microsystems Inc. Method and apparatus for determining a status of an asynchronous memory
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
JP4417807B2 (ja) * 2004-08-25 2010-02-17 株式会社東芝 エラスティックバッファ
US8847002B2 (en) * 2011-05-19 2014-09-30 Kimberly-Clark Worldwide, Inc. Absorbent article containing apertures arranged in registration with an embossed wave pattern
US9044356B2 (en) * 2011-05-19 2015-06-02 Kimberly-Clark Worldwide, Inc. Absorbent article having enhanced leakage protection
US9161869B2 (en) * 2012-03-30 2015-10-20 Kimberly-Clark Worldwide, Inc. Absorbent articles with decolorizing agents

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880442A (zh) * 2011-07-13 2013-01-16 瑞昱半导体股份有限公司 用于时钟树转换处的先入先出(fifo)装置与方法
CN102880442B (zh) * 2011-07-13 2015-05-27 瑞昱半导体股份有限公司 用于时钟树转换处的先入先出(fifo)装置与方法
CN102799410A (zh) * 2012-06-19 2012-11-28 东南大学 基于李氏制约竞争计数编码的异步fifo地址转换电路
CN102799410B (zh) * 2012-06-19 2015-03-04 东南大学 基于李氏制约竞争计数编码的异步fifo地址转换电路
CN111367495A (zh) * 2020-03-06 2020-07-03 电子科技大学 一种异步先入先出的数据缓存控制器
CN111367495B (zh) * 2020-03-06 2023-03-28 电子科技大学 一种异步先入先出的数据缓存控制器
CN112084730A (zh) * 2020-09-11 2020-12-15 昇显微电子(苏州)有限公司 一种改善Asynchronous FIFO支持非2的幂次深度方法
CN112084730B (zh) * 2020-09-11 2024-04-05 昇显微电子(苏州)股份有限公司 一种改善Asynchronous FIFO支持非2的幂次深度方法
CN112286489A (zh) * 2020-10-21 2021-01-29 深圳市紫光同创电子有限公司 Fifo存储器及fifo存储器的处理方法

Also Published As

Publication number Publication date
CN101681249B (zh) 2012-12-05
DE602008004500D1 (en) 2011-02-24
US8612651B2 (en) 2013-12-17
EP2149083A1 (en) 2010-02-03
ATE495489T1 (de) 2011-01-15
US20100306426A1 (en) 2010-12-02
WO2008142610A1 (en) 2008-11-27
EP2149083B1 (en) 2011-01-12

Similar Documents

Publication Publication Date Title
CN101681249B (zh) 先进先出缓冲器
US7681106B2 (en) Error correction device and methods thereof
US6366530B1 (en) Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US5524270A (en) System for transferring data between asynchronous data buses with a data buffer interposed in between the buses for synchronization of devices timed by different clocks
US9710415B2 (en) Asynchronous FIFO buffer with Johnson code write pointer
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
US8606982B2 (en) Derivative logical output
US8359438B2 (en) Memory banking system and method to increase memory bandwidth via parallel read and write operations
CN107577623A (zh) 跨时钟域异步fifo及数据处理方法
US20110035566A1 (en) Hashing and serial decoding techniques
JP2010160653A (ja) リングバッファ回路及びその制御回路
KR0174266B1 (ko) 반도체기억장치
US8681526B2 (en) Size and retry programmable multi-synchronous FIFO
CN101930350A (zh) 深度不是2的幂的异步fifo存储器设计
US8631265B2 (en) Synchronization circuit that facilitates multiple parallel reads and writes
CN111949582B (zh) 指针同步装置及方法、异步fifo电路、处理器系统
US20060155940A1 (en) Multi-queue FIFO memory systems that utilize read chip select and device identification codes to control one-at-a-time bus access between selected FIFO memory chips
US7733737B2 (en) Semiconductor memory device using bus inversion scheme
Xie et al. Analysis and comparison of asynchronous fifo and synchronous fifo
CN209765494U (zh) 一种异步fifo装置
CN115202612A (zh) 基于异步fifo的超导单磁通量子跨时钟域通信方法及系统
CN100361090C (zh) 用于按序列存取多个存储数据单元的方法和装置
JP5499131B2 (ja) デュアルポートメモリおよびその方法
CN219958216U (zh) 一种芯片原型验证调试板
CN202394542U (zh) 一种钟控异步先入先出fifo存储器的写字线控制电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121205

Termination date: 20130514