CN114675801A - 数据先进先出电路 - Google Patents
数据先进先出电路 Download PDFInfo
- Publication number
- CN114675801A CN114675801A CN202011550493.8A CN202011550493A CN114675801A CN 114675801 A CN114675801 A CN 114675801A CN 202011550493 A CN202011550493 A CN 202011550493A CN 114675801 A CN114675801 A CN 114675801A
- Authority
- CN
- China
- Prior art keywords
- data
- output
- multiplexer
- buffers
- buffer
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
本发明公开一种数据先进先出(FIFO)电路,其包含缓存器单元、多个数据复用器以及输出复用器。所述缓存器单元包含多个译码器和N多个缓存器。所述译码器被用于响应于多个相应的输入控制信号和至少一个输入启动信号而输出多个译码信号。所述N多个缓存器被配置为响应于相应的译码器的相应的译码信号而接收输入数据。所述多个数据复用器各自被耦接至所述多个缓存器中的M个,其中N和M为正整数,N等于或大于4,M等于或大于2,以及N大于M。所述输出复用器,耦接至所述多个数据复用器,所述输出复用器被用于依序地提供从所述多个数据复用器的相应的输出。
Description
技术领域
本发明涉及一种数据先进先出(first-in first-out,FIFO)电路,且特别是一种用于在高速数据速率应用中运作的内存装置中的数据FIFO电路。
背景技术
多个数据先进先出(first-in first-out,FIFO)电路可以用于暂时地存储信息,所述信息用于在以不同的时钟速率运作的两个不同电路之间传输。所述多个FIFO电路以及它们的变体广泛地使用在各种电子应用中,诸如内存装置、存储装置、网络装置、影音存储应用等。在所述内存装置应用中,例如,非易失性内存模块,诸如双倍数据速率(doubledata rate,DDR)系列(例如,DDR2、DDR3、DDR4等)同步动态随机存取内存(SDRAM)对于诸如个人计算机、服务器等电子装置是必不可少的,其需要基于不同的FIFO电路的输入或输出接口,以在内存芯片和主机之间进行数据转换。所述输入或输出接口被使用于内存写入或读取运作,并且通常地基于用于数据转换的FIFO电路实现,以高速和可靠的方式运作,以满足所述内存接口规范的要求。
结果,对所述内存接口规范的要求而言,FIFO电路的结构和运作是令人关注的。以DDR3内存装置为例,在读取命令和当数据是可用的时间之间的延迟时间是16(即,列访问选通(Column Access Strobe,CAS)延迟或CL等于16(单位是时钟周期))。一种传统的FIFO电路,如图1所示,可以被用作在所述DDR3内存装置中的输出FIFO电路的建构方框。在图1中,所述FIFO电路包含八个缓存器,由R代表八个缓存器,以及8对1复用器(MUX),由M1代表。当多个读取命令由所述内存模块处理时,可以使用由ZI[0]到ZI[7]代表的输入控制信号控制所述多个缓存器R,使得每个缓存器R以依序地方式存储来自FIFO输入(例如,每次为4-位数据)的各个4-位数据。为了满足CL为16的要求,可以由ZO[0]到ZO[7]代表的输出控制信号来控制8对1复用器M1,以便在当每个读取命令的CL延迟时间过去时,依序地输出所述多个缓存器R提供的各自的数据。
随着内存技术的进步,新一代的内存系统将以更高的数据速率运作。例如,与DDR3SDRAM的400和1067MH之间的频率相比,DDR4 SDRAM运作在800和1600MHz的频率之间(DDR4-1600至DDR4-3200)。由于DDR4 SDRAM的CL值较大,因此在所述内存芯片中需要更多的FIFO。可以通过使用在图1中的所述FIFO电路类似的结构和运作来实现DDR4 SDRAM的FIFO电路(未示出)。在这种情况下,DDR4 SDRAM的所述FIFO电路需要16对1复用器,而不是8对1复用器M1,以用于从所述多个缓存器依序地输出4位数据,导致比图1的FIFO电路需要更多(例如,16)数量的多个输出控制信号。另外,用于控制所述多个缓存器的多个输出控制信号的数量取决于用于接收FIFO输入的所述多个缓存器(例如,4位或8位)的数据大小。这样,用于所述多个输入控制信号和所述多个输出控制信号的轨迹线的数量不可避免地增加FIFO电路的电路复杂性,这是对于所述FIFO电路的紧凑性的阻碍。
此外,用于DDR4 SDRAM的所述FIFO电路可能受到基于传输门的16对1复用器的信号过载。在最坏的情况下,信号过载会导致所述复用器输出错误数据或者以较低的旋转率输出转换信号电平,从而降低所述内存模块的可靠度。
因此,在内存装置中,特别是在高速数据速率应用中实现所述FIFO电路是一个挑战。
发明内容
本发明的一个目的是提供数据先进先出(first-in first-out,FIFO)电路,其能够促进高速数据速率的内存装置应用。
为了至少实现上述目的,本发明提供一种数据先进先出(first-in first-out,FIFO)电路,包括缓存器单元、多个数据复用器和输出复用器。所述缓存器单元包含多个译码器以及N多个缓存器。所述多个译码器用于响应于多个相应的输出控制信号和至少一个输入启动信号而输出多个译码信号。所述N多个缓存器被配置为响应于所述多个相应的译码器的相应的译码信号而接收输入数据。所述多个数据复用器各自被耦接至所述多个缓存器中的M个,其中N和M为正整数,N等于或大于4,M等于或大于2,以及N大于M。所述输出复用器,耦接至所述多个数据复用器,所述输出复用器被用于依序地提供从所述多个数据复用器的相应的输出。
可选地,所述N多个缓存器被配置为根据相应的译码信号而依序地接收所述输入数据。
可选地,所述多个数据复用器中的每一个至少响应于输出启动信号而分别提供相应的数据到所述输出复用器,并且所述输出复用器响应于多个相应的输出控制信号提供来自所述多个数据复用器的相应的输出。
可选地,所述多个数据复用器中的第一个被配置为从相应的M个缓存器的第一缓存器接收相应的输出的第一部分。
可选地,所述多个数据复用器中的第二个被配置为从相应的M个缓存器的第一缓存器接收相应的输出的第二部分。
可选地,响应于至少一个输出启动信号,所述输出启动信号代表提供所述第一缓存器的所述相应的输出的启动,所述多个数据复用器中的第一和第二提供相应的输出的所述第一部分和所述第二部分各自作为所述输出复用器的两个输入。
可选地,响应于代表所述第一缓存器的选择的多个相应的输入控制信号,所述输出复用器依序地提供所述两个输入。
可选地,所述输出复用器是第一输出复用器,并且所述数据FIFO电路还包括第二输出复用器,耦接至所述第一输出复用器,所述第二输出复用器用于选择性的输出由所述第一输出复用器输出的数据的一部分。
可选地,M等于或大于四个,并且所述多个数据复用器中的每个耦接至所述多个缓存器的M个。
可选地,所述多个数据复用器包含第一复用器、第二复用器、第三复用器和第四复用器。所述第一复用器被配置为从相应的M个缓存器的第一缓存器接收相应的输出的第一部分。所述第二复用器被配置为从相应的M个缓存器的第一缓存器接收相应的输出的第二部分。所述第三复用器被配置为从相应的M个缓存器的第二缓存器接收相应的输出的第一部分。所述第四复用器被配置为从相应的M个缓存器的第二缓存器接收相应的输出的第二部分。所述输出复用器被配置为从所述多个数据复用器接收多个输出并且依序地从所述多个数据复用器中的一个输出数据。
可选地,响应于至少一个输出启动信号,所述输出启动信号代表提供所述第一和第二缓存器的所述多个相应的输出的启动,所述第一到第四复用器分别提供来自所述第一缓存器的相应的输出的第一部分和第二部分以及来自所述第二缓存器的相应的输出的第一部分和第二部分分别作为所述输出复用器的输入。
可选地,响应于代表所述第一和第二缓存器的选择的多个相应的输出控制信号,所述输出复用器依序地提供所述多个输入。
可选地,所述第一复用器进一步配置为从相应的M个的第三缓存器接收相应的输出的第一部分;所述第二缓存器更进一步配置为从相应的M个的缓存器的第三缓存器接收相应的输出的第二部分;所述第三复用器进一步配置为从相应的M个的缓存器的第四缓存器接收相应的输出的第一部分。所述第四复用器进一步配置为从相应的M个的缓存器的第四缓存器接收相应的输出的第二部分,其中所述输出复用器被配置为从所述数据复用器接收输出并且依序地从所述多个数据复用器中的一个输出数据。
可选地,响应于至少一个输出启动信号,所述输出启动信号代表提供相应的所述第一缓存器和所述第二缓存器的输出的启动,所述第一复用器到所述第四复用器响应于至少一个输出启动信号,所述输出启动信号表示提供相应的所述第一缓存器和所述第二缓存器的输出的启动,所述第一到第四复用器分别将来自所述第三缓存器的相应的输出的第一部分和第二部分以及来自所述第四缓存器的相应的输出的第一部分和第二部分分别作为所述输出复用器的输入。
可选地,响应于代表所述多个第三和第四缓存器的选择的多个相应的输出控制信号,所述输出复用器依序地提供所述多个输入。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此说明与所附附图仅用来说明本发明,而非对本发明的权利范围作任何的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示出了现有技术在内存系统的内存芯片中的传统的FIFO电路;
图2是示出了根据本发明的一实施例的数据FIFO电路的方框图;
图3是示出了根据本发明的一实施例的图2的数据FIFO电路运作的示意性时序图;
图4是示出图2的数据复用器的一实施例的示意图;
图5是示出图2的输出复用器的一实施例的示意图;
图6是示出用于内存装置的基于如图2所示的数据FIFO电路的数据FIFO单元的实施例的示意图;
图7是示出根据本发明的另一实施例的数据FIFO电路的方框图;
图8是示出根据本发明的一实施例的图7的数据FIFO电路的运作的示意性时序图;
图9是示出根据本公开的一实施例的FIFO运作的示意性时序图。
附图标记说明:
1 数据FIFO电路
2 数据FIFO单元
3 数据FIFO电路
10 缓存器单元
21 数据复用器
22 数据复用器
23 数据复用器
24 数据复用器
30 输出复用器
10A 缓存器单元
21A 数据复用器
22A 数据复用器
23A 数据复用器
24A 数据复用器
30A 输出复用器
35A 输出复用器
CLK 时钟信号
CMD 命令
D0-D7 译码器
D[0:15] 16-位数据
DQ 数据信号
DQS 数据选通信号
F1-FP 数据FIFO电路
M1 8对1复用器
QI[0]-QI[3] 输入控制信号
QIE 输入启动信号
QO[0]-QO[3] 输出控制信号
QOE 输出启动信号
R 缓存器
R0A-R7A 缓存器
R0-R7 缓存器
RD 读取命令
T0-T71 时钟周期
ZI[0]-ZI[7] 输入控制信号
ZI[0:3] 输入控制信号
ZIE 输入启动信号
ZIE' 输入启动信号
ZO[0:1]、ZO[0:3]、ZO[0:7] 输出控制信号
ZOE[0:3] 输出启动信号
ZOE1[0:3] 输出控制信号
ZOE2[0:3] 输出启动信号
具体实施方式
为了促进对本发明的目的、特征和效果的理解,提供了用于本发明的详细描述的实施例和图式。
将提供数据先进先出(first-in first-out,FIFO)电路,其能够促进高速数据速率的内存装置应用。如下所示,所述数据FIFO电路可以促进降低电路复杂度并且增加内存装置的可靠度。
参考图2所示,以方框图的形式示出根据本发明的实施例的数据FIFO电路。如在图2中所示,数据先进先出(first-in first-out,FIFO)电路1包含缓存器单元10、多个数据复用器(例如,由21-24代表)以及输出复用器30。
所述缓存器单元10包含多个译码器(例如,由D0-D7代表)以及N多个缓存器(例如,R0-R7)。所述多个译码器(例如,D0-D7)用于响应于多个相应的输出控制信号(例如,ZI[0]至ZI[3])以及至少一个输入启动信号(例如,ZIE或ZIE')而输出多个译码信号。所述N多个(例如,8个)缓存器(例如,R0-R7)被配置为响应于来自所述多个相应的译码器(例如,D0-D7)的所述多个相应的译码信号而接收输入数据。
所述多个数据复用器(例如,由21-24代表)的每一个耦接至M个(例如,4)的缓存器,其中N和M为正整数。在图2所示的实施例中,N和M取值为8和4。当然,本发明内容的实现不限于所述些示例。在一些实施例中,可以基于图2来实现所述数据FIFO电路,使得N等于或大于4,M等于或大于2,以及N大于M。例如,使用所述数据FIFO电路1的结构,可以实现将所述缓存器单元的缓存器的数量设为四个以及所述多个数据复用器的数量设为两个的数据FIFO电路。
所述输出复用器30,耦接至所述多个数据复用器(例如,21-24),所述输出复用器用于依序地提供来自所述多个数据复用器的相应的输出。
图2的数据FIFO电路1能够促进高速数据速率的内存装置应用。例如,在DDR4SDRAM中的所述数据FIFO电路1的实际应用中,所述数据FIFO电路1可以通过使用在所述缓存器单元10中的译码器而促进降低电路复杂性,从而可以降低输入控制信号的数量来控制所述缓存器单元10。另外,所述数据FIFO电路1利用至少两级数据复用器的结构(例如,所述多个数据复用器作为第一级以及所述输出复用器作为第二级)进行数据输出,使得可以减轻所述输出复用器的负载,而促进使用所述数据FIFO电路1的内存装置的可靠度。
以下提供所述缓存器单元、所述多个数据复用器和所述输出复用器的各种实施例。
在一实施例中,所述N多个缓存器(例如,R0-R7)可以被配置为根据由所述多个译码器(例如,D0-D7)输出的相应的译码信号依序地接收所述输入数据(例如,每个8-位数据)。在一些示例中,所述多个译码器(例如,D0-D7)可以由相应的逻辑电路或组件来实现。参考图2所示,可以通过使用具有两输入或等效逻辑电路或组件的AND逻辑门(例如,用于所述译码器D0的ZI[0]和ZIE)来实现所述多个译码器D0-D3的每一个,并且相应的译码信号是所述多个两输入的逻辑运算。可以通过使用具有两个输入(例如,用于所述译码器D4的ZI[0]和ZIE')或等效逻辑电路或组件的AND门来实现所述多个译码器D4-D7的每一个,并且相应的译码信号是所述两输入的AND运算的结果。以这种方式,与图1的传统数据FIFO电路相比,在所述数据FIFO电路1中将所述多个译码器与所述多个缓存器一起使用,促进减少输入控制信号的数量的数据输入的实现。另外,可以通过任何适当的电路,诸如触发器(flip-flops)等来实现所述多个缓存器。当然,本发明的实现不限于所述些示例。
在一实施例中,所述多个数据复用器中的每一个(例如,21-24)至少响应于输出启动信号(例如,ZOE[0:3])而将相应的数据提供给所述输出复用器30,以及所述输出复用器30响应于多个相应的输出控制信号(例如,ZO[0:3])提供来自所述多个数据复用器(例如,21-24)的相应的输出。
在一实施例中,图2的所述数据FIFO电路1可以作为如在图6中所示的DDR4内存装置的输出FIFO单元的建构方框。参考图3所示,示出根据本发明的一实施例的图2的所述数据FIFO电路1的运作的示意性时序图。下面举例说明列访问选通(Column Access Strobe,CAS)延迟,或CL等于30(单位为时钟周期)的要求下的FIFO运作。如图3所示,当由所述内存装置对于依时钟信号(例如,时钟信号由CLK代表且用T0、T1-T39等表示多个时钟周期)处理读取命令(例如,由CMD代表的命令的波形中以RD来代表读取命令)时,可以通过使用由ZI[0]到ZI[3]代表的所述多个输入控制信号,以及由ZIE(或ZIE')代表的所述输入启动信号控制所述多个缓存器R0-R7,使得每个缓存器以依序的方式存储来自FIFO输入的各别的8-位数据(例如,在图3中由“ABCDEFGH”代表的每个8-位数据)。例如,当所述输入控制信号ZI[0]和所述输入启动信号ZIE被同时宣告(例如,明确地启动)时,如由“0”代表的输入控制信号ZI[0]的脉冲以及由所述输入启动信号ZIE的高电平表示的,通过所述缓存器R0可以接收相应的8-位数据。同样,当所述输入启动信号ZIE和所述多个输入控制信号ZI[1]-ZI[3]中的一个被宣告时,通过所述多个缓存器R1-R3可以分别接收三个8-位数据。
当所述输入控制信号ZI[0]被宣告以及所述输入启动信号ZIE被取消宣告(或ZIE'被宣告)时,如通过由“4”代表的所述输入控制信号ZI[0]的脉冲以及由所述输入启动信号ZIE的低电平所表示的,可以由所述缓存器R4接收相应的8-位数据。同样地,当所述输入启动信号ZIE被取消宣告以及所述多个输入控制信号ZI[1]-ZI[3]中的一个被宣告时,所述多个缓存器R4-R7可以分别接收三个8-位数据。
如在图3中所示,为了满足CL=30和AL=0的要求,可以通过所述输出启动信号和所述多个输出控制信号以依序的方式来控制所述多个数据复用器(例如,21-24),使得确保在通过所述相应的读取命令的CL的延迟时间后可以输出数据。例如,当所述输出启动信号ZOE[0]被宣告以及所述多个输出控制信号ZO[0]-ZO[3]中的一个依序地被宣告(如在图3中所述多个输出控制信号ZO[0]-ZO[3]的脉冲由“0”和“1”代表)时,通过所述输出复用器30依序地输出来自所述多个缓存器R0-R1的各别的数据。当所述输出启动信号ZOE[1]被宣告以及所述多个输出控制信号ZO[0]-ZO[3]中的一个依序地被宣告(如在图3中所述多个输出控制信号ZO[0]-ZO[3]的脉冲由“2”和“3”代表)时,通过所述输出复用器30依序的输出来自所述多个缓存器R2-R3的相应的数据。然后可以类似地执行用于从所述多个缓存器R4-R5、R6-R7输出相应的数据的运作,并且为了简洁起见将不详细描述。当通过所述输出复用器30依序地输出来自所述多个缓存器的各个数据时,使用所述数据FIFO电路1的内存装置(例如,DDR4 SDRAM)可以依照所述内存数据接口(例如,DDR4)的需求输出数据,例如,如在图3中所示,根据由DQS代表的数据选通信号和由DQ代表的数据信号(诸如,对于DQ[0])的时序。当然,本发明的实现不受上述示例所限制。
如上面所述,利用至少两级的数据复用的结构进行数据输出可以减轻所述输出复用器30的负载,并且还可以引导一个较低的门延迟。在这方面,应所述注意的是,例如在所述输出启动信号ZOE[0]被宣告期间,所述多个数据复用器21-24可以从所述多个缓存器R0-R1输出相应的数据,使得一旦所述多个输出控制信号ZO[0]-ZO[3]被依序地宣告时,所述输出复用器30可以输出具有较低的门延迟的所述相应的数据。相比之下,如果所述多个数据复用器21-24以及所述输出复用器30被与图1的所述数据FIFO电路的类似结构中的16对1复用器取代,由于所述16对1复用器的多个串接逻辑门,基于逻辑门的16对1复用器可能受门延迟影响。因此,所述数据FIFO电路1能够促进使用所述FIFO电路1的内存装置的可靠度。
在一实施例中,所述多个数据复用器中的第一个(例如,数据复用器21或23)被配置为从所述多个相应的M个(例如,2个或多个)的缓存器的第一缓存器(例如,缓存器R0或R1)接收相应的输出的第一部分(例如,8-位数据的第一个4-位数据)。参考图2所示,例如,所述数据复用器21被耦接至所述多个缓存器R0-R1中的缓存器R0、R2、R4、R6(例如,对于M=4)以接收各自的第一部分。所述数据复用器23,例如,耦接至所述多个缓存器R0-R7中的缓存器R1、R3、R5、R7(例如,对于M=4)以接收各自的第一部分。
在一实施例中,所述多个数据复用器中的第二个(例如,数据复用器22或24)被配置为从所述多个相应的M个的缓存器的所述第一缓存器(例如,缓存器R0或R1)接收所述相应的输出的第二部分(例如,所述8-位数据的第二个4-位数据)。参考图2所示,例如,所述数据复用器22耦接至所述多个缓存器R0-R7中的缓存器R0、R2、R4、R6(例如,对于M=4)以接收各自的第二部分。所述数据复用器24,例如,耦接至所述多个缓存器R0-R7中的缓存器R1、R3、R5、R7(例如,对于M=4)以接收各自的第二部分。
在一实施例中,响应于至少一个输出启动信号(例如,ZOE[0]、ZOE[1]、ZOE[2]、ZOE[3]中的一个被宣告),所述输出启动信号代表提供所述第一缓存器(例如,缓存器R0-R3中的一个;缓存器R4-R7中的一个)的所述相应的输出的启动,所述数据复用器中的所述第一和第二个(例如,数据复用器21、22;或23、24)分别将所述相应的输出的第一部分和第二部分作为两个输入提供给所述输出复用器30。例如,参考图2和3所示,当所述输出启动信号ZOE[0]被宣告时,所述多个数据复用器中的所述第一和第二个(例如,数据复用器21、22;23、24)分别将来自所述第一缓存器(例如,缓存器R0或R1)的所述相应的输出的所述第一部分(例如,8-位数据的第一个4-位数据)以及所述第二部分(例如,8-位数据的第二个4-位数据)作为两个输入提供给所述输出复用器30。适当时,上述实施例也可以类似的用于其它缓存器的工作,并且为了简洁起见将不再重复。
在一实施例中,响应于代表所述第一缓存器的选择的多个相应的输出控制信号,所述输出复用器30依序地提供两个输入。例如,参考图2和3所示,当所述多个输出控制信号ZO[0]和ZO[1](由在图3中的“0”代表的所述多个相应的脉冲表示)代表所述缓存器R0(或R1、R2、R3)的选择时,所述输出复用器30依序地提供所述两个输入(例如,在图3中对于FIFO输出的由“ABCD”和“EFGH”代表)。
在上述的实施例中,当所述相应的输出启动信号被宣告时,可以通过所述多个数据复用器的所述第一和第二个(例如,数据复用器21、22或23、24)同时提供所述第一和第二部分,使得所述输出复用器30可以在一部分中逐步的和依序的输出所述第一和第二部分,避免由于在16对1复用器中的串联逻辑门所引起的门延迟。因此,用于数据输出的至少两级的数据复用器的结构,使得所述数据FIFO电路适用于高数据速率的内存装置应用中。当然,本发明的实施例不受这些示例所限制。
在一实施例中,M等于或大于四个,并且所述多个数据复用器中的每一个耦接至所述多个缓存器中的M个。
在一实施例中,所述数据复用器21被配置为从所述缓存器R0(或R2、R4、R6)接收相应的输出的第一部分。所述数据复用器22被配置为从所述缓存器R0(或R2)接收所述相应的输出的第二部分。所述数据复用器23被配置为从所述缓存器R1(或R3)接收相应的部分的第一部分。所述数据复用器24被配置为从所述缓存器R1(或R3)接收所述相应的输出的第二部分。所述输出复用器30被配置为从所述多个数据复用器21-24接收输出,以及依序地从所述多个数据复用器21-24中的一个输出数据。
在一实施例中,响应于至少一个输出启动信号(例如,当ZOE[0]-ZOE[3]中的一个被宣告时),所述输出启动信号代表提供所述第一和第二缓存器(例如,缓存器R0、R1;R2、R3;R4、R5;R6、R7)的所述多个相应的输出的启动,所述多个数据复用器21-24分别提供来自所述第一缓存器(例如,缓存器R0、R2、R4或R6)的所述相应的输出的所述第一部分和所述第二部分,以及来自所述第二缓存器(例如,缓存器R1、R3、R5或R7)的所述相应的输出的所述第一部分和所述第二部分作为所述输出复用器30的输入。
在一实施例中,响应于多个相应的输出控制信号(例如,ZO[0]到ZO[3]),所述多个相应的输出控制信号代表所述第一和第二缓存器(例如,缓存器R0、R1;R2、R3;R4、R5;R6、R7)的选择,所述输出复用器30依序地提供所述多个输入。
在一实施例中,所述数据复用器21进一步被配置为从第三缓存器(例如,R4或R6)接收相应的输出的第一部分;所述数据复用器22进一步被配置为从所述第三缓存器(例如,R4或R6)接收相应的输出的第二部分;所述数据复用器23进一步被配置为从第四缓存器(例如,R5或R7)接收相应的输出的第一部分;所述数据复用器23进一步被配置为从所述第四缓存器(例如,R5或R7)接收相应的输出的第二部分,其中所述输出复用器30被配置为从所述多个数据复用器21-24接收输出以及依序地从所述多个数据复用器21-24中的一个输出数据。
在一实施例中,响应于至少一个输出启动信号(例如,当ZOE[1]-ZOE[3]中的一个被宣告时),所述输出启动信号代表提供所述多个第三和第四缓存器(例如,缓存器R2、R3;R4、R5;R6、R7)的所述多个相应的输出的启动,所述多个数据复用器21-24分别将来自所述第三缓存器(例如,缓存器R2、R4或R6)的所述相应的输出的所述第一部分和所述第二部分以及来自所述第四缓存器(例如,缓存器R3、R5或R7)的所述相应的输出的所述第一部分和所述第二部分作为输入提供给所述输出复用器30。
在一实施例中,响应于多个相应的输出控制信号(例如,ZO[0]到ZO[3]),所述多个相应的输出控制信号代表所述多个第三和第四缓存器(例如,缓存器R2、R3;R4、R5;R6、R7)的选择,所述输出复用器30依序地提供所述多个输入。
在上述的实施例中,当所述相应的输出启动信号被宣告时,可以通过所述多个数据复用器的第一至第四个(例如,数据复用器21、22、23、24)同时提供来自一对缓存器(例如,缓存器R0、R1;R2、R3;R4、R5;R6、R7)的输出的所述第一和第二部分,使得所述输出复用器30可以在一部分中逐步的和依序地输出从所述对缓存器的输出的所述第一和第二部分,避免了由于16对1复用器中的串联逻辑门所引起的门延迟。因此,用于数据输出的至少两级的数据复用器的结构使得所述数据FIFO电路适用于高数据速率的内存装置应用中。
此外,提供了用于所述多个数据复用器和所述输出复用器的实施的示例。图4以示意图的形式示出了图2的数据复用器的一实施例。可以基于在图4的数据复用器实现在图2中的所述多个数据复用器21-24。图5以示意图的形式示出图2的输出复用器的一实施例。可以基于图5的输出复用器30来实现,所述输出复用器30使用传输门。当然,本发明的实施不受这些示例所限制。
在一些实施例中,基于图2的所述数据FIFO电路可以用作DDR系列(例如,DDR4、DDR5等)内存装置的输出FIFO单元的建构方框,如在图6中所示。如在图6中所示,数据FIFO单元2包含多个数据FIFO电路,由F1、F2至FP代表,期中P是大于2的整数。在诸如DDR4之类的DDR系列内存装置的实际应用中,所述数据FIFO单元2可以被实现为包含所述多个数据FIFO电路F1到FP,例如,其中P示等于16。在这种情况下,所述FIFO输入每次都是8-位数据并且所述FIFO输出每次都是4-位数据。当通过所述多个FIFO电路F1当FP依序地输出在所述多个缓存器的各别的数据时,所述内存装置(例如,DDR4 SDRAM)可以依据所述内存数据接口(例如,DDR4)的需求输出数据,例如,依照由DQS代表的数据选通信号以及由DQ(诸如,对于DQ[0]-DQ[P-1])代表的数据信号的时序输出数据。
如在图6所示的实施例中,降低用于控制16个数据FIFO电路的控制信号的数量,其中5个控制信号(包含四个输入控制信号ZI[0:3]以及一个输入启动信号ZIE)用于FIFO输入控制,以及8个控制信号(包含四个输出控制信号ZO[0:3]以及四个输出启动信号ZOE[0:3])用于FIFO输出控制。以这种方式,可以显着地减少用于所述多个控制信号和输出控制信号的轨迹线的数量,从而降低了所述数据FIFO单元2的复杂度,并且有利于节省使用所述数据FIFO单元的所述内存装置的电路布局面积和紧凑性。所述多个控制信号,例如,可以通过所述内存装置(或模块)的内存控制来实现和产生。
在上述的实施例中,示出了所述数据FIFO电路到DDR4 SDRAM的应用。然而,本发明的实施例不受限于此。所述数据FIFO电路1的结构和运作可以被应用于其它的或新一代DDR内存接口技术或采用数据FIFO电路的任何电子装置的FIFO结构。
参考图7所示,以方框图的形式示出了根据本发明的另一实施例的数据FIFO电路。例如,基于图7的所述数据FIFO电路3可以以与图6类似的方式用作DDR5内存装置的输出FIFO单元的建构方框。如在图7中所示,数据FIFO电路3包含缓存器单元10A、多个数据复用器(例如,由21A-24A代表)以及多个输出复用器30A、35A。本实施例中的所述数据FIFO电路3以及图2中的所述数据FIFO电路1的主要区别在于,所述数据FIFO电路3还包含所述输出复用器35A,耦接至所述输出复用器30A,用于选择性地输出由所述输出复用器30A输出的数据的一部分。另外,所述输出复用器35A可以由两个输出控制信号ZO[0:1]来控制。在用于DDR5SDRAM的所述数据FIFO电路3的实际应用中,所述FIFO输入每次为16-位数据以及所述FIFO输出每次为4-位数据,以及10个控制信号(包含两个输出控制信号ZO[0:1],四个输出控制信号ZOE1[0:3]以及四个输出启动信号ZOE2[0:3])可以用于FIFO输出控制。相比之下,基于如图1中所示的所述数据FIFO电路结构的常规方法需要32对1复用器,以便每次从8个16-位数据开始依序地输出4-位数据,从而导致32个控制信号用于FIFO输出控制。所述32对1复用器可能会因为信号过载或门延迟问题而不是用高数据速率的应用。
所述数据FIFO电路3的结构和运作示例如下。所述缓存器单元10A可以以类似的方式基于所述缓存器单元10来实现,除了所述缓存器单元10A的缓存器R0A-R7A被配置为存储16-位数据之外,因此每次所述FIFO输入都是16-位数据。缓存器R0A-R7A可以以与图2的那些数据FIFO电路1类似的方式实现。
关于所述多个复用器,在一实施例中,所述多个数据复用器21A-24A以及所述输出复用器30A可以由8-位的4对1数据复用器来实现。例如,可以基于图4形成所述8-位的4对1数据复用器。所述输出复用器35A可以由4-位的2对1数据复用器实现。例如,可以基于类似于图5的传输门来形成4-位的2对1数据复用器。当然,本发明的实施例不限于这些示例。
参考图8所示,示出根据本发明的一实施例的图7的所述数据FIFO电路的运作的示意性时序图,其中FIFO输入为由D[0:15]表示的多个16-位数据。与图8和图3相比,用于图7的所述数据FIFO电路的所述FIFO输入控制的运作,与用于图2和图3中示出的所述数据FIFO电路的运作相似,因此,为了简洁起见将不详细描述。
关于所述多个数据复用器21A-24A以及所述输出复用器30A,如图8所示,对于图7的所述数据FIFO电路3的FIFO输出控制的运作,可以被认为与图2和图3中所示的所述数据FIFO电路相似,因此,为了简洁起见将不详细描述。
此外,如在图8中所示,对于图7的所述数据FIFO电路3的FIFO输出控制的运作,与对于图2所示的所述数据FIFO电路1的FIFO输出控制的运作的不同之处主要在于从所述数据FIFO电路3的所述输出复用器30A输出的数据进一步输入到所述输出复用器35A,以及所述输出复用器35A响应于所述多个控制信号ZO[0]和ZO[1],以依序地方式输出数据的第一部分(例如,在图8中由D[0:3]代表的8-位数据的第一个4-位数据)以及第二部分(例如,在图8中由D[4:7]代表的8-位数据的第二个4-位数据)。例如,参考图8所示,当所述多个输出启动信号ZOE2[0:3]以二进制1000代表,所述多个输出控制信号ZOE1[0:3]以二进制1000代表,并且所述多个输出控制信号ZO[0]-ZO[1]依序地被宣告(如在图8中所述多个输出控制信号ZO[0]-ZO[1]的脉冲为“0”所代表),从所述缓存器R0A的数据(例如,16-位数据)的所述第一部分(例如,在图8中由用于FIFO输出代表的D[0:3]表示)以及所述第二部分(例如,在图8中由用于FIFO输出代表的D[4:7]表示)通过所述输出复用器35A以依序地方式输出。例如,参考图8所示,当所述多个输出启动信号ZOE2[0:3]以二进制1000代表,所述多个输出控制信号ZOE1[0:3]以二进制0100代表,以及所述输出等控制信号ZO[0]-ZO[1]被依序地宣告时(如在图8中所述多个输出控制信号ZO[0]-ZO[1]的脉冲为“0”所代表),从所述缓存器R0A的所述数据(例如,16-位数据)所述第三部分和所述第四部分(例如,在图8中由代表用于FIFO输出的D[12:15]所表示)通过所述输出复用器35以依序地方式输出。同样地,然后可以类似地执行用于所述多个缓存器R1A-R7A输出所述相应的数据的运作,并且为了简洁起见将不对其进行详细描述。
因此,为了执行用于图7的所述数据FIFO电路的FIFO输出控制的运作,对于满足CL=58和AL=0的要求,所述多个数据复用器(例如,21A-24A)可以由所述输出启动信号以及所述多个输出控制信号以依序地方式控制,以确保在通过用于相应的读取命令的CL的延迟时间后可以输出数据。这样,用于数据输出的至少两级的数据复用器的结构使得所述数据FIFO电路3适合用于诸如DDR5等高数据速率的内存装置应用中。
在上述的实施例中,示例了所述数据FIFO电路在DDR系列SDRAM的FIFO电路中的应用。然而,本发明的实施例不受限于此。关于FIFO输入和输出控制的所述多个控制信号,所述数据FIFO电路的运作和结构可以应用在其它的或新一代DDR内存接口技术的FIFO结构或使用数据FIFO电路的任何电子装置。
以下提供了用于其它延迟计数器方案的数据FIFO电路1或3中采用的FIFO输入和输出控制的控制信号的技术的应用的示例。
参考图9所示,示出根据本发明的一实施例的FIFO运作的一示意性时序图。如在图9中所示,用于数据FIFO电路(未示出)的FIFO输入控制的运作被设计为与在图2和图7中所示的数据FIFO电路的运作相似,其中5个控制信号用于FIFO输入控制,其包含四个输入控制信号QI[0]-QI[3]以及一个输入启动信号QIE。因此,为了简洁起见,将不在赘述。为了根据在图9中所示的时序图对所述数据FIFO电路执行所述FIFO输出控制的运作,对于满足AL=31和CL=32的要求,在所述数据FIFO电路(未示出)中被采用的数据复用器可以以依序地方式通过使用由QOE代表的输出启动信号以及由QO[0]-QO[3]代表的输出控制信号来加以设计和控制,以确保在满足AL和CL的时序要求时可以输出数据(例如,10-位数据)。这样,要设计所述数据FIFO电路(未示出)可以采用至少两级数据复用器的结构用于数据输出,从而使得所述数据FIFO电路适用于高数据速率的内存装置应用中。
仅管已经通过特定实施例描述本发明的内容,但是本发明领域技术人员可以对其进行各种修改、组合和变化,而不背离权利范围中阐述的本公开的范围和精神。
Claims (15)
1.一种数据先进先出(FIFO)电路,其特征在于,所述数据先进先出(FIFO)电路包括:
缓存器单元,包含:
多个译码器,用于响应于多个相应的输入控制信号和至少一个输入启动信号而输出多个译码信号,以及
N多个缓存器,配置为响应于所述多个相应的译码信号而从所述多个相应的译码器接收输入数据;
多个数据复用器,每个数据复用器耦接至所述多个缓存器中的M个,其中N和M是正整数,N等于或大于四个,M等于或大于两个,并且M大于M;以及
输出复用器,耦接至所述多个数据复用器,用于依序地从所述多个数据复用器提供相应的输出。
2.根据权利要求1所述的数据FIFO电路,其特征在于,其中所述N多个缓存器被配置为根据相应的译码信号依序地接收所述输入信号。
3.根据权利要求1所述的数据FIFO电路,其特征在于,其中所述多个数据复用器的每一个响应于至少一个输出启动信号向所述输出复用器提供相应的数据,以及所述输出复用器响应于多个相应的控制信号提供来自所述多个数据复用器的相应的输出。
4.根据权利要求1所述的数据FIFO电路,其特征在于,其中所述多个数据复用器的第一个被配置为从所述多个相应的M个缓存器的第一缓存器接收相应的输出的第一部分。
5.根据权利要求4所述的数据FIFO电路,其特征在于,其中所述多个数据复用器中的第二个被配置为从相应的M个缓存器的第一缓存器接收所述相应的输出的第二部分。
6.根据权利要求5所述的数据FIFO电路,其特征在于,其中响应于至少一个输出启动信号,所述输出启动信号代表提供所述第一缓存器的所述相应的输出的启动,所述多个数据复用器的所述第一个和第二个分别将所述多个相应的输出的所述第一部分和所述第二部分作为所述输出复用器的两个输入。
7.根据权利要求6所述的数据FIFO电路,其特征在于,其中响应于多个相应的输出控制信号,所述多个输出控制信号代表所述第一缓存器的选择,所述输出复用器依序地提供所述两个输出。
8.根据权利要求1所述的数据FIFO电路,其特征在于,其中所述输出复用器为第一输出复用器以及所述数据FIFO电路还包括:
第二输出复用器,耦接至所述第一输出复用器,所述第二输出复用器用于选择性地输出由所述第一输出复用器输出的数据的一部分。
9.根据权利要求1所述的数据FIFO电路,其特征在于,其中M等于或大于4个以及所述多个数据复用器中的每一个耦接至所述多个缓存器的M个。
10.根据权利要求1所述的数据FIFO电路,其特征在于,其中所述多个数据缓存器包含:
第一复用器,配置为从所述多个相应的M个缓存器的第一缓存器接收相应的输出的第一部分;
第二复用器,配置为从所述多个相应的M个缓存器的所述第一缓存器接收所述相应的输出的第二部分;
第三复用器,配置为从所述多个相应的M个缓存器的第二缓存器接收相应的输出的第一部分;
第四复用器,配置为从所述多个相应的M个缓存器的所述第二缓存器接收相应的输出的第二部分;
其中所述输出复用器被配置为从所述多个数据复用器接收输出以及依序地从所述多个数据复用器中的一个输出数据。
11.根据权利要求10所述的数据FIFO电路,其特征在于,其中响应于至少一个输出启动信号,所述输出启动信号代表提供所述多个第一和第二缓存器的所述多个相应的输出的启动,所述第一至第四缓存器分别将来自所述第一缓存器的所述相应的输出的所述第一部分和所述第二部分以及来自所述第二缓存器的所述相应的输出的所述第一部分和所述第二部分作为所述输出复用器的输入。
12.根据权利要求11所述的数据FIFO电路,其特征在于,其中响应于多个相应的输出控制信号,所述多个输出控制信号代表所述第一和第二缓存器的选择,所述输出复用器依序地提供输入。
13.根据权利要求10所述的数据FIFO电路,其特征在于,其中:
所述第一复用器进一步配置为从所述多个相应的M个缓存器的第三缓存器接收相应的输出的第一部分;
所述第二复用器进一步配置为从所述多个相应的M个缓存器的所述第三缓存器接收所述相应的输出的第二部分;
所述第三复用器进一步配置为从所述多个相应的M个缓存器的第四缓存器接收相应的输出的第一部分;
所述第四复用器进一步配置为从所述多个相应的M个缓存器的所述第四缓存器接收所述相应的输出的第二部分;以及
其中所述输出复用器被配置为从所述多个数据复用器接收输出并且依序地从所述多个数据复用器中的一个输出数据。
14.根据权利要求13所述的数据FIFO电路,其特征在于,其中响应于至少一个输出启动信号,所述输出启动信号代表提供所述第三和第四缓存器的所述多个相应的输出的启动,所述第一至第四复用器分别将来自所述第三缓存器的所述相应的输出的所述第一部分和所述第二部分以及来自所述第四缓存器的所述相应的输出的所述第一部分和所述第二部分作为给所述输出复用器的输入。
15.根据权利要求14所述的数据FIFO电路,其特征在于,其中响应于多个相应的输出控制信号,所述多个输出控制信号代表所述第三和第四缓存器的选择,所述输出复用器依序地提供输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011550493.8A CN114675801A (zh) | 2020-12-24 | 2020-12-24 | 数据先进先出电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011550493.8A CN114675801A (zh) | 2020-12-24 | 2020-12-24 | 数据先进先出电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114675801A true CN114675801A (zh) | 2022-06-28 |
Family
ID=82069698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011550493.8A Pending CN114675801A (zh) | 2020-12-24 | 2020-12-24 | 数据先进先出电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114675801A (zh) |
-
2020
- 2020-12-24 CN CN202011550493.8A patent/CN114675801A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3304577B2 (ja) | 半導体記憶装置とその動作方法 | |
US5539696A (en) | Method and apparatus for writing data in a synchronous memory having column independent sections and a method and apparatus for performing write mask operations | |
US9548088B2 (en) | Semiconductor memory asynchronous pipeline | |
US5268865A (en) | Synchronous burst-access memory | |
CN110366755B (zh) | 在半导体存储器中提供内部存储器命令及控制信号的设备及方法 | |
US10254782B2 (en) | Apparatuses for reducing clock path power consumption in low power dynamic random access memory | |
US6301322B1 (en) | Balanced dual-edge triggered data bit shifting circuit and method | |
US7499370B2 (en) | Synchronous semiconductor memory device | |
US20030026138A1 (en) | Semiconductor memory device having write latency operation and method thereof | |
US6175905B1 (en) | Method and system for bypassing pipelines in a pipelined memory command generator | |
WO1999016078A1 (fr) | Composant de circuit integre synchrone | |
US11100963B1 (en) | Data first-in first-out (FIFO) circuit | |
US11625196B2 (en) | Semiconductor memory device and operating method thereof | |
JP2007072928A (ja) | 半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法 | |
US6708255B2 (en) | Variable input/output control device in synchronous semiconductor device | |
US6201756B1 (en) | Semiconductor memory device and write data masking method thereof | |
US9406357B2 (en) | Data capture system and method, and memory controllers and devices | |
JP4419074B2 (ja) | 半導体記憶装置 | |
US20090116331A1 (en) | Semiconductor memory device and method for operating the same | |
US7443762B2 (en) | Synchronization circuit for a write operation on a semiconductor memory | |
US6259646B1 (en) | Fast accessing of a memory device | |
CN114675801A (zh) | 数据先进先出电路 | |
US6914850B2 (en) | Address buffer having (N/2) stages | |
TWI771785B (zh) | 資料先進先出(fifo)電路 | |
KR102674591B1 (ko) | 커맨드 생성 방법 및 이를 이용한 반도체장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |