CN111832240A - Fifo数据传输方法及fifo存储装置 - Google Patents
Fifo数据传输方法及fifo存储装置 Download PDFInfo
- Publication number
- CN111832240A CN111832240A CN202010628851.6A CN202010628851A CN111832240A CN 111832240 A CN111832240 A CN 111832240A CN 202010628851 A CN202010628851 A CN 202010628851A CN 111832240 A CN111832240 A CN 111832240A
- Authority
- CN
- China
- Prior art keywords
- data
- register
- module
- read
- conversion module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 title claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 163
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 abstract description 9
- 238000012546 transfer Methods 0.000 abstract description 5
- 241001504505 Troglodytes troglodytes Species 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种FIFO数据传输方法及FIFO存储装置,属于数字电路设计领域,所述方法包括:每当转换模块输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对转换模块的写请求,形成数据搬移,使用寄存器优化RAM输出结构的时序性能,使用转换模块调整数据传输时序,转换模块也是先进先出的结构,依次输出写入的数据。本发明通过转换模块使FIFO在输出端口呈现“读使能作为取走数据的通知”的特性,使得读FIFO的数据输出延迟达到最低,可以减少关键路径相邻寄存器间逻辑延迟、隔离读使能信号与RAM读地址计算逻辑、有效优化FIFO时序、降低后端电路布线难度。
Description
技术领域
本发明涉及数字集成电路设计技术领域,尤其是涉及一种FIFO数据传输方法及FIFO存储装置。
背景技术
随着数字电子系统设计规模的扩大,芯片集成度、复杂度以及功能需求的增加,一些实际应用系统中往往含有多个时钟,数据不可避免地要在不同的时钟域之间传递。
FIFO(First In First Out)是一种采用环形存储结构的先入先出的存储器,使用双端口存储器存放数据,双端口存储器具有独立的读写端口,一端供处于写时钟域的数据发送方写入数据,另一端供处于读时钟域的数据接收方读出数据。而采用FIFO来作不同时钟域数据传递的缓冲区,既可以使不同时钟域数据传递的时序要求变得宽松,又可以提高传递效率,因此,FIFO电路在数字电路系统中的应用越来越广泛。
常规的基于RAM的FIFO结构如图1所示,来自逻辑模块(Logic)的读指针(rdaddr)未经寄存直接输入RAM,RAM的输出数据(dout)也未经寄存直接输出。该结构的读使能信号与地址耦合,读使能信号逻辑通路如图2所示。如果FIFO的地址位宽为N,即FIFO的深度是2N,那么读使能信号(rden)经过的加法器(Adder)和数值比较器(Comparator)的位宽均为N+1,因此该结构的rden路径逻辑时延较大,不利于提高主频。并且,该结构的dout与RAM的寻址逻辑直接输出,因此dout端口时序也较差;而在后端布局布线实现过程中,如图3所示,RAM常需要集中布局,因此间接导致FIFO的dout端口时序更差,后端布线难度较大。
随着集成电路技术的发展,工艺特征尺寸不断缩小,芯片集成度与频率不断提高,FIFO作为跨时钟域传递数据的重要模块,需要尽可能优化端口时序,以满足集成电路芯片设计越来越严苛的时序要求。但是,常规的基于RAM的FIFO结构由于其端口时序较差、关键路径时延较长,导致后端布线难度增加,工作频率难以提高,因此,亟需设计一种高性能的先入先出FIFO结构。
发明内容
本发明目的一是提供一种FIFO数据传输方法,具有减少关键路径相邻寄存器间逻辑延迟、有效优化FIFO时序及降低后端电路布线难度的特点。
本发明的上述发明目的一是通过以下技术方案得以实现的:
一种FIFO数据传输方法,应用于FIFO存储装置,包括:
每当转换模块输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对所述转换模块的写请求,形成数据搬移;
RAM模块根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并通过寄存器在下一个时钟周期将寄存处理的数据写入所述转换模块;在数据搬移过程中使用寄存器优化所述RAM模块输出结构的时序性能,使用所述转换模块调整数据传输时序;
所述转换模块也是先进先出的结构,依次输出写入的数据。
通过采用上述技术方案,隔离读使能信号与RAM读地址计算逻辑,读使能信号经转换模块隔离后,与第一逻辑模块的空满判断以及RAM模块的寻址逻辑间不存在直接的组合逻辑,读使能信号经过的组合逻辑大幅减少,与FIFO的数据深度解耦合,可以减少关键路径的时延;并且,转换模块将RAM模块的输出与FIFO结构的输出端隔离开,有效优化FIFO时序,而读端口的时序要求对后级电路的连接结构设计更友好,可以降低后端电路布线难度,有利于电路的布线实现;对于同步FIFO和异步FIFO,都可以采用本方法对读端口进行优化。
优选的,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
通过采用上述技术方案,能够保证FIFO的流畅运行,即在FIFO实际上非满且非空时,每周期都可进行一次读一次写操作,能保证数据快速流畅地通过FIFO结构。
优选的,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端以及所述第二选择器的一数据输入端均可接收写入的数据。
通过采用上述技术方案,可以保证最佳效果的最小深度为3。
本发明目的二是提供一种FIFO存储装置,具有减少关键路径相邻寄存器间逻辑延迟、有效优化FIFO时序及降低后端电路布线难度的特点。
本发明的上述发明目的二是通过以下技术方案得以实现的:
一种FIFO存储装置,包括第一逻辑模块、或非门、RAM模块、第一寄存器和转换模块;所述第一逻辑模块与所述RAM模块连接;所述或非门的第一输入端连接所述第一逻辑模块的空信号输出端,所述或非门的第二输入端连接所述转换模块的满信号输出端,所述或非门的输出端分别连接所述第一逻辑模块的读使能端和所述转换模块的写使能端;所述第一寄存器分别与所述RAM模块和所述转换模块连接;
所述转换模块,用于接收第一读使能信号,并判断所述转换模块的状态是否为非满,若是则向所述或非门发送非满信号,否则向所述或非门发送满信号;
所述第一逻辑模块,用于判断读指针与写指针是否相等,若不相等,则向所述或非门发送非空信号;若相等,则向所述或非门发送空信号;
所述或非门,用于在接收到所述非满信号和所述非空信号后,向所述第一逻辑模块发送第二读使能信号,并向所述转换模块发送第二写使能信号;
所述第一逻辑模块,还用于在接收到所述第二读使能信号后,将所述读指针发送至所述RAM模块,并将所述读指针加1,指向下一个待读出地址;
所述RAM模块,用于根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并发送至所述第一寄存器;
所述第一寄存器,用于将读出的数据进行寄存处理,并在下一个时钟周期写入到所述转换模块;
所述转换模块为先进先出结构,还用于依次输出写入的数据。
通过采用上述技术方案,隔离读使能信号与RAM读地址计算逻辑,读使能信号经转换模块隔离后,与第一逻辑模块的空满判断以及RAM模块的寻址逻辑间不存在直接的组合逻辑,读使能信号经过的组合逻辑大幅减少,与FIFO的数据深度解耦合,可以减少关键路径的时延;并且,转换模块将RAM模块的输出与FIFO结构的输出端隔离开,有效优化FIFO时序,而读端口的时序要求对后级电路的连接结构设计更友好,可以降低后端电路布线难度,有利于电路的布线实现;对于同步FIFO和异步FIFO,都可以采用本装置对读端口进行优化。
优选的,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
通过采用上述技术方案,能够保证FIFO的流畅运行,即在所述FIFO实际上非满且非空时,每周期都可进行一次读一次写操作,能保证数据快速流畅地通过FIFO结构。
优选的,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端、所述第二选择器的一数据输入端均与所述第一寄存器的数据输出端连接。
通过采用上述技术方案,可以保证最佳效果的最小深度为3。
本发明目的三是提供一种FIFO存储装置,具有减少关键路径相邻寄存器间逻辑延迟、有效优化FIFO时序及降低后端电路布线难度的特点。
本发明的上述发明目的三是通过以下技术方案得以实现的:
一种FIFO存储装置,包括第一逻辑模块、或非门、RAM模块和转换模块;所述第一逻辑模块与所述RAM模块连接;所述RAM模块包括第五寄存器,所述第五寄存器的数据输出端连接所述转换模块的数据输入端;所述或非门的第一输入端连接所述第一逻辑模块的空信号输出端,所述或非门的第二输入端连接所述转换模块的满信号输出端,所述或非门的输出端分别连接所述第一逻辑模块的读使能端和所述转换模块的写使能端;
所述转换模块,用于接收第一读使能信号,并判断所述转换模块的状态是否为非满,若是则向所述或非门发送非满信号,否则向所述或非门发送满信号;
所述第一逻辑模块,用于判断读指针与写指针是否相等,若不相等,则向所述或非门发送非空信号;若相等,则向所述或非门发送空信号;
所述或非门,用于在接收到所述非满信号和所述非空信号后,向所述第一逻辑模块发送第二读使能信号,并向所述转换模块发送第二写使能信号;
所述第一逻辑模块,还用于在接收到所述第二读使能信号后,将所述读指针发送至所述RAM模块,并将所述读指针加1,指向下一个待读出地址;
所述RAM模块,用于根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并通过内置的所述第五寄存器进行寄存处理,并在下一个时钟周期写入到所述转换模块;
所述转换模块为先进先出结构,依次输出写入的数据。
通过采用上述技术方案,隔离读使能信号与RAM读地址计算逻辑,读使能信号经转换模块隔离后,与第一逻辑模块的空满判断以及RAM模块的寻址逻辑间不存在直接的组合逻辑,读使能信号经过的组合逻辑大幅减少,与FIFO的数据深度解耦合,可以减少关键路径的时延;并且,转换模块将RAM模块的输出与FIFO结构的输出端隔离开,有效优化FIFO时序,而读端口的时序要求对后级电路的连接结构设计更友好,可以降低后端电路布线难度,有利于电路的布线实现;对于同步FIFO和异步FIFO,都可以采用本装置对读端口进行优化。
优选的,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
通过采用上述技术方案,能够保证FIFO的流畅运行,即在所述FIFO实际上非满且非空时,每周期都可进行一次读一次写操作,能保证数据快速流畅地通过FIFO结构。
优选的,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端、所述第二选择器的一数据输入端均与所述第五寄存器的数据输出端连接。
通过采用上述技术方案,可以保证最佳效果的最小深度为3。
附图说明
图1是常规的基于RAM的FIFO的结构框图;
图2是常规的基于RAM的FIFO的读使能信号逻辑通路示意图;
图3是常规的基于RAM的FIFO的后端布局布线示意图;
图4是本发明实施例二提供的FIFO存储装置的结构示意图;
图5是本发明实施例二、三的RAM模块的结构示意图;
图6是本发明实施例二、三提供的转换模块的结构示意图;
图7是本发明实施例三提供的FIFO存储装置的结构示意图;
图8是本发明实施例的数据传输时序图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,术语“第一”、“第二”等仅用于区分实体或者操作,而不能理解为指示或暗示相对重要性,不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
下面结合说明书附图对本发明实施例作进一步详细描述。
FIFO有两个指针:rd_addr(读指针)和wr_addr(写指针),用于指示FIFO将要读写的存储器地址。一开始读/写指针都指向存储器的初始地址,每进行一次读/写操作,相应的指针就递增一次,指向下一个要读/写的地址。当指针移动到了存储器的最后一个地址时,再进行读/写操作,相应的指针会重新跳回初始地址。
FIFO有两个指示信号:full(满信号)和empty(空信号),用于表示FIFO的空满状态。在FIFO非满或非空的情况下,上述过程将随着读写使能信号的变化一直进行下去。在FIFO已满或将要满时,由FIFO送出满信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。在FIFO已空或将要空时,由FIFO送出空信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。
FIFO有两个时钟:读时钟和写时钟,用于读/写操作所遵循的时钟,在每个时钟沿来临时读/写数据。
FIFO的外围接口分别可接收/输出full(满信号)、empty(空信号)、wren(写使能信号)、rden(读使能信号)、resetn(复位信号)、wr_data(写数据)、dout(读数据)等。
所述FIFO 存储装置包括串联的两级FIFO结构,其中,前一级FIFO结构包括第一逻辑模块和RAM模块,属于常规FIFO结构,后一级FIFO结构为转换模块。
第一逻辑模块判断第一级FIFO的空满状态,并向RAM模块发送读/写指针。第一逻辑模块包括复位输入端(resetn)、写使能端(wren)、满信号输出端(full)、写指针输出端(Wr_addr)、读指针输出端(Rd_addr)、空信号输出端(empty)和读使能端(rden)。其中,第一逻辑模块的满信号输出端、复位输入端、写使能端分别为FIFO整体的满信号输出端、复位输入端、写使能端。
转换模块负责读端口对外的握手与数据输出;可以视为由寄存器搭建的FIFO,其深度由内部搭建FIFO的寄存器的个数决定。寄存器可以采用带缓存功能的D触发器,保证FIFO流畅运行的第五寄存器的最小数量为3。转换模块可以由至少三个寄存器串联组成;FIFO存储装置的读数据端口与至少三个寄存器中的一个寄存器固定连接并作为输出。
转换模块是FIFO内部的子模块,它的full仅表示转换模块的满状态。转换模块包括空信号输出端(empty)、读使能端(rden)、数据输出端(Q)、满信号输出端(full)、数据输入端(D)、复位输入端(resetn)和写使能端(wren)。其中,转换模块的空信号输出端、读使能端、数据输出端、复位输入端分别为FIFO整体的空信号输出端、读使能端、读数据端口(dout)、复位输入端。
采用能寄存读写指针的RAM(Random Access Memory,随机存取存储器)作为FIFO的内部存储器,可以为双端口随机存取存储器,也即,本实施例中的RAM模块为一读一写的双端口RAM,能够给FIFO提供大量的存储空间,用以较好地缓存FIFO中的数据。
RAM模块包括数据输入端(D)、读指针输入端(Rd_addr)、写指针输入端(Wr_addr)、数据输出端Q和数据输出端QP。其中,RAM模块的数据输入端(D)为FIFO整体的写数据端口(Wr_data)。
当FIFO的复位输入端resetn=0时,即第一逻辑模块和转换模块的复位输入端resetn=0,进行复位操作。第一逻辑模块的满信号输出端full、空信号输出端empty以及转换模块的空信号输出端empty均被复位为1,表明处于复位状态的FIFO不允许被读写;第一逻辑模块的读指针输出端Rd_addr、写指针输出端Wr_addr均被复位为0,即读/写指针均指向RAM模块的初始地址(0地址)。
当FIFO的复位输入端resetn=1时,复位结束,电路处于工作状态,第一逻辑模块读/写指针相等,Wr_addr=Rd_addr=0,FIFO的满信号输出端full=0、空信号书输出端empty=1,表明此时FIFO的状态为空,不允许读出数据。当FIFO的写使能端wren=1时,指示FIFO的写入功能被使能,FIFO的写数据端口Wr_data为RAM模块提供写入数据,该数据被写入RAM模块的0地址,第一逻辑模块的写指针输出端Wr_addr指向下一个待写入地址,即Wr_addr=1,此时Wr_addr领先于Rd_addr, FIFO的满信号输出端full=0,第一逻辑模块的空信号输出端empty=0,表明RAM模块此时状态是非空非满,允许进行读/写操作。
实施例一
本发明实施例提供一种FIFO数据传输方法,应用于FIFO 存储装置,该FIFO 存储装置包括串联的两级FIFO结构,其中,前一级FIFO结构包括第一逻辑模块和RAM模块,属于常规FIFO结构,后一级FIFO结构为转换模块。所述方法的主要流程描述如下。
步骤S101,每当转换模块输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对转换模块的写请求,形成数据搬移;
当FIFO的读使能端rden=1,即转换模块的读使能端rden=1时,转换模块接收到第一读使能信号,指示FIFO的读出功能被使能。当转换模块的满信号输出端full=0,即转换模块输出非满信号时,表明此时的转换模块的状态为非满,允许写入转换模块;当第一逻辑模块的空信号输出端empty=0,即第一逻辑模块输出非空信号时,指示RAM模块状态为非空,允许从RAM模块读出数据。
第一逻辑模块通过判断当前的读指针与写指针是否相等来检测RAM模块空满状态的,若二者相等,则说明RAM模块此时状态为空,不允许从RAM模块读出数据;若不相等,则说明RAM模块状态为非空,可以允许从RAM模块中读出数据。
步骤S102,RAM模块根据第一逻辑模块发送的读指针读出当前地址存储的数据,并通过寄存器在下一个时钟周期将寄存处理的数据写入所述转换模块;在数据搬移过程中使用寄存器优化RAM模块输出结构的时序性能,使用转换模块调整数据传输时序;
RAM模块先对接收到的读指针进行寄存处理,然后在下一个时钟周期将读指针发送至寻址逻辑模块,由寻址逻辑模块读出当前地址存储的数据,再对读出的数据进行寄存,最后在下一个时钟周期将数据写入到转换模块。由于读指针经寄存后输入RAM模块,且RAM模块的输出数据经寄存后输出,输出数据不再由RAM的组合逻辑直接输出,因此可以对读端口的时序起到进一步优化的作用。
步骤S103,转换模块依次输出写入的数据。
可选的,转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;第二逻辑模块分别与第二寄存器的使能控制端、第一选择器的选择控制端、第三寄存器的使能控制端、第二选择器的选择控制端和第四寄存器的使能控制端连接;第二寄存器的数据输入端、第一选择器的一数据输入端以及第二选择器的一数据输入端均可接收写入的数据。
本实施例中,转换模块也是先进先出的结构,其具有以下功能特点:(1)转换模块允许前一级FIFO结构发起的写使能信号有效的下一周期再给出有效的写数据,而常规的FIFO写端口是在写使能信号有效的同一周期给出有效数据;(2)读使能信号rden有效之前已经准备好待读取的数据,即在非空的情况下,后一级FIFO结构每次发起读使能信号的同一周期即可读取到有效数据。
通过转换模块使FIFO在输出端口呈现“在读使能有效之前已经准备好待读取的数据”的特性,该特性也可以称为“读使能作为取走数据的通知”,使得读FIFO的数据输出延迟达到最低,可以减少关键路径相邻寄存器间逻辑延迟、隔离读使能信号与RAM读地址计算逻辑、有效优化FIFO时序、降低后端电路布线难度。
当转换模块中没有被写入数据时,转换模块的满信号输出端full=0、空信号输出端empty=1,表明转换模块的状态为空。若转换模块的深度为1,那么写入一个数据后,转换模块的满信号输出端full=1、空信号输出端empty=0,表明转换模块的状态为满,此时不能再从RAM模块中读出数据并写入到转换模块。如果转换模块的深度为n,那么在写入n个数据后,也会出现上述情况。在此之前,转换模块的满信号输出端full=0,只有在RAM模块为非空时,才能从RAM模块中读出数据并写入到转换模块。
本实施例采用能寄存读写指针的RAM(Random Access Memory,随机存取存储器)作为FIFO的内部存储器,并对RAM的输出数据进行寄存;在FIFO读端口上串联转换模块,该转换模块依然满足先入先出的要求,但可以使FIFO整体读端口与RAM的寻址逻辑和低速信号相隔离,减少了关键路径的时延,有效优化了FIFO的时序。
上述步骤S101~S103针对的是读操作的工作流程,下面对写操作的工作流程进行详细描述。
第一逻辑模块接收到第一写使能信号,判断RAM模块的空满状态,即若写指针与读指针不相等,则表明RAM模块为非满状态,允许向RAM模块写入数据,RAM模块将数据写入当前地址,第一逻辑模块将写指针加1,指向下一个待写入地址;若写指针与读指针相等,则表明RAM模块的状态为满,不允许向RAM模块写入数据。
当第一逻辑模块的满信号输出端full=0、空信号输出端empty=1时,且FIFO结构的写使能端wren=1,指示FIFO的写入功能被使能,FIFO结构的写数据端口Wr_data为RAM模块提供写入数据,该数据被写入RAM模块的写指针指向的当前地址,第一逻辑模块的写指针输出端指向下一个待写入地址,此时写指针再次领先于读指针,FIFO结构的满信号输出端full=0,第一逻辑模块的空信号输出端empty=0,表明RAM模块此时非空非满。重复上述过程,第一逻辑模块的写指针每次递增1,当最后一个地址也被写入数据,写指针重新指向0地址,继续写入,直到写指针再次与读指针相等,FIFO结构的满信号输出端full=1、空信号输出端empty=0,表明FIFO此时的状态为满,不允许再写入数据。
实施例二
本发明实施例提供一种FIFO存储装置20,如图4所示,该FIFO存储装置20包括第一逻辑模块203、或非门202、RAM模块204、第一寄存器205和转换模块201;第一逻辑模块203的写指针输出端Wr_addr与RAM模块204的写指针输入端Wr_addr连接,第一逻辑模块203的读指针输出端Rd_addr与RAM模块204的读指针输入端Rd_addr连接;或非门202的第一输入端连接第一逻辑模块203的空信号输出端empty,或非门202的第二输入端连接转换模块201的满信号输出端full,或非门202的输出端分别连接第一逻辑模块203的读使能端rden和转换模块201的写使能端wren;第一寄存器205分别与RAM模块204的数据输出端Q以及转换模块201的数据输入端D连接。
其中,转换模块201,用于接收第一读使能信号,并判断转换模块201的状态是否为非满,若是则向或非门202发送非满信号,否则向或非门202发送满信号;第一逻辑模块203,用于判断读指针与写指针是否相等,若不相等,则向或非门202发送非空信号;若相等,则向或非门202发送空信号,不允许读操作;或非门202,用于在接收到非满信号和非空信号后,向第一逻辑模块203发送第二读使能信号,并向转换模块201发送第二写使能信号;第一逻辑模块203,还用于在接收到第二读使能信号后,将读指针发送至RAM模块204,并将读指针加1,指向下一个待读出地址;RAM模块204,用于根据第一逻辑模块203发送的读指针读出当前地址存储的数据,并发送至第一寄存器205;第一寄存器205,用于将读出的数据进行寄存处理,并在下一个时钟周期写入到转换模块201;转换模块201,还用于依次输出写入的数据。
如图4、图5所示,RAM模块204包括第六寄存器2041、第七寄存器2042、第八寄存器2043和寻址逻辑模块2044;第六寄存器2041的数据输入端D作为FIFO的写数据端口Wr_data,第六寄存器2041的数据输出端Q连接寻址逻辑模块2044的数据输入端Din,寻址逻辑模块2044的数据输出端Dout连接第一寄存器205的数据输入端D;第七寄存器2042的数据输入端D连接第一逻辑模块203的写指针输出端Wr_addr,第七寄存器2042的数据输出端Q连接寻址逻辑模块2044的写指针输入端Wr_addr;第八寄存器2043的数据输入端D连接第一逻辑模块203的读指针输出端Rd_addr,第八寄存器2043的数据输出端Q连接寻址逻辑模块2044的读指针输入端Rd_addr。
若第一逻辑模块203的满信号输出端full=0、空信号输出端empty=1,且FIFO结构的写使能端wren=1,指示FIFO的写入功能被使能,FIFO结构的写数据端口Wr_data为RAM模块204提供写入数据,该数据被写入RAM模块204的当前Wr_addr地址,第一逻辑模块203的写指针指向下一个将待写入地址,此时Wr_addr再次领先于Rd_addr,FIFO结构的满信号输出端full=0,第一逻辑模块203的空信号输出端empty=0,表明RAM模块204此时非空非满。重复上述过程,第一逻辑模块203的写指针输出端Wr_addr每次递增1,当Wr_addr的最后一个地址也被写入数据,Wr_addr重新指向0地址,继续写入,直到Wr_addr再次与Rd_addr相等,FIFO结构的满信号输出端full=1、空信号输出端empty=0,表明FIFO此时的状态为满,不允许再写入数据。
当FIFO结构的读使能端rden=1,指示FIFO的读出功能被使能,且转换模块201的满信号输出端full=0,第一逻辑模块203的空信号输出端empty=0,或非门202的输出为1,指示从RAM模块204读出数据并写入到转换模块201。RAM模块204由其数据输出端Q传递当前Rd_addr地址的数据给第一寄存器205的数据输入端D,第一逻辑模块203的读指针指向下一个待读出地址。下一个时钟周期第一寄存器205的数据输出端QP将数据传递给转换模块201的输入端D。重复上述过程,第一逻辑模块203的读指针输出端Rd_addr每次递增1,当Rd_addr最后一个地址的数据也被读出,Rd_addr重新指向0地址,继续读出,直到Rd_addr再次与Wr_addr相等,第一逻辑模块203的满信号输出端full=0、空信号输出端empty=1,表明RAM模块204此时的状态为空。FIFO结构的读使能端rden=1,表明FIFO结构的读出功能继续被使能,但此时是从转换模块201中读出数据,而不再从RAM模块204读出数据并写入转换模块201,当转换模块201中的数据全部被读出,其空信号输出端empty=1,此时FIFO结构的满信号输出端full=0、空信号输出端empty=1,表明FIFO此时的状态为空,不允许再读出数据。
或非门202的输出端作为第一逻辑模块203的读使能端以及转换模块201的写使能端,只有当或非门202的两个输入端均为0时,经或非逻辑运算才能得出或非门202的输出端为1,也就是说,只有当RAM模块204非空且转换模块201非满时,才能从RAM模块204104中读出数据并写入到转换模块201中。
当第一逻辑模块203的输入端rden=1时,第一逻辑模块203的读指针输出端Rd_addr指向下一个待读出地址,RAM模块204的输出端Q将当前地址的数据传递到第一寄存器205的输入端D,下一个时钟周期第一寄存器205的输出端QP将数据传递给转换模块201的输入端D。此时,转换模块201的空信号输出端empty=0,表明转换模块201的状态为非空;第一逻辑模块203的Wr_addr=Rd_addr,第一逻辑模块203的满信号输出端full=0、空信号输出端empty=1,表明RAM模块204的状态为空;FIFO结构的输出端满信号输出端full=0,空信号输出端empty=0,表明FIFO结构的状态为非空非满。
当转换模块201没有被写入数据时,转换模块201的满信号输出端full=0、空信号输出端empty=1,表明转换模块201的状态为空。若转换模块201的深度为1,那么写入一个数据后,转换模块201的满信号输出端full=1、空信号输出端empty=0,表明转换模块201的状态为满,使或非门202的输出端为0,即第一逻辑模块203的读使能端rden和转换模块201的写使能端wren均为0,表明不再从RAM模块204中读出数据并写入到转换模块201。如果转换模块201的深度为n,那么在写入n个数据后,出现上述情况。在此之前,转换模块201的满信号输出端full为0,则是否从RAM模块204中读出数据并写入到转换模块201取决于第一逻辑模块203的空信号输出端empty的状态,即当RAM模块204为空时,不再从RAM中读出数据并写入到转换模块201。
如图4、图6所示,转换模块201包括第二逻辑模块2011以及依次串联的第二寄存器2012、第一选择器2013、第三寄存器2014、第二选择器2015和第四寄存器2016。
第二逻辑模块2011包括写使能端wren、读使能端rden、满信号输出端full、空信号输出端empty,其中,读使能端rden、空信号输出端empty分别作为FIFO的读使能端rden、空信号输出端empty。第二逻辑模块2011分别与第二寄存器2012的使能控制端En、第一选择器2013的选择控制端Sel、第三寄存器2014的使能控制端En、第二选择器2015的选择控制端Sel和第四寄存器2016的使能控制端En连接。
第二寄存器2012的数据输入端Q、第一选择器2013的一数据输入端A以及第二选择器2015的一数据输入端A均与第一寄存器205的数据输出端QP连接;第四寄存器2016的数据输出端Q作为FIFO存储装置20的读数据端口dout。
对于第一选择器2013、第二选择器2015,数据输出端C输出的数据来自数据输入端A还是B,由选择控制端Sel接收的第二逻辑模块2011发送的高低电平所决定。例如,当选择控制端Sel=1时,数据输出端C输出数据输入端A输入的数据,当选择控制端Sel=0时,数据输出端C输出数据输入端B输入的数据;当然,也可以是当选择控制端Sel=1时,数据输出端C输出数据输入端B输入的数据,当选择控制端Sel=0时,数据输出端C输出数据输入端A输入的数据。
需要注意的是,转换模块201的内部结构可以有多种形式,并不局限于图6所示的结构。
转换模块201也是先进先出的结构,其具有以下功能特点:(1)转换模块201允许前一级FIFO结构发起的写使能信号有效的下一周期再给出有效的写数据,而常规的FIFO写端口是在写使能信号有效的同一周期给出有效数据;(2)读使能信号rden有效之前已经准备好待读取的数据,即在非空的情况下,后一级FIFO结构每次发起读使能信号的同一周期即可读取到有效数据。
本实施例中,每当转换模块201输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对转换模块201的写请求,形成数据搬移,在数据搬移的过程中使用第一寄存器205处理优化时序性能,使用转换模块201调整数据传输时序,使FIFO在读数据端口满足最低读取延迟的要求,因此,本实施例可以解决基于RAM的FIFO常见的RAM读数据时延较长、不利于提高主频、后端布线难度较大、读端口时序较差的问题。
实施例三
本发明实施例提供一种FIFO存储装置20’,如图7所示,该FIFO存储装置20’包括第一逻辑模块203、或非门202、RAM模块204和转换模块201;第一逻辑模块203的写指针输出端Wr_addr与RAM模块204的写指针输入端Wr_addr连接,第一逻辑模块203的读指针输出端Rd_addr与RAM模块204的读指针输入端Rd_addr连接;RAM模块204包括第五寄存器2045,第五寄存器2045的数据输出端Q连接转换模块201的数据输入端D(如图5所示);或非门202的第一输入端连接第一逻辑模块203的空信号输出端empty,或非门202的第二输入端连接转换模块201的满信号输出端full,或非门202的输出端分别连接第一逻辑模块203的读使能端rden和转换模块201的写使能端wren。
其中,转换模块201,用于接收第一读使能信号,并判断转换模块201的状态是否为非满,若是则向或非门202发送非满信号,否则向或非门202发送满信号;第一逻辑模块203,用于判断读指针与写指针是否相等,若不相等,则向或非门202发送非空信号;若相等,则向或非门202发送空信号,不允许读操作;或非门202,用于在接收到非满信号和非空信号后,向第一逻辑模块203发送第二读使能信号,并向转换模块201发送第二写使能信号;第一逻辑模块203,还用于在接收到第二读使能信号后,将读指针发送至RAM模块204,并将读指针加1,指向下一个待读出地址;RAM模块204,用于根据第一逻辑模块203发送的读指针读出当前地址存储的数据,并通过内置的第五寄存器2045进行寄存处理,并在下一个时钟周期写入到转换模块201;转换模块201,还用于输出存储的数据。
如图5、图6所示,RAM模块204还包括第六寄存器2041、第七寄存器2042、第八寄存器2043和寻址逻辑模块2044;第六寄存器2041的数据输入端D作为FIFO的写数据端口Wr_data,第六寄存器2041的数据输出端Q连接寻址逻辑模块2044的数据输入端Din,寻址逻辑模块2044的数据输出端Dout连接第五寄存器2045的数据输入端D;第七寄存器2042的数据输入端D连接第一逻辑模块203的写指针输出端Wr_addr,第七寄存器2042的数据输出端Q连接寻址逻辑模块2044的写指针输入端Wr_addr;第八寄存器2043的数据输入端D连接第一逻辑模块203的读指针输出端Rd_addr,第八寄存器2043的数据输出端Q连接寻址逻辑模块2044的读指针输入端Rd_addr。
如图6、图7所示,转换模块201包括第二逻辑模块2011以及依次串联的第二寄存器2012、第一选择器2013、第三寄存器2014、第二选择器2015和第四寄存器2016。
第二逻辑模块2011包括写使能端wren、读使能端rden、满信号输出端full、空信号输出端empty,其中,读使能端rden、空信号输出端empty分别作为FIFO的读使能端rden、空信号输出端empty。第二逻辑模块2011分别与第二寄存器2012的使能控制端En、第一选择器2013的选择控制端Sel、第三寄存器2014的使能控制端En、第二选择器2015的选择控制端Sel和第四寄存器2016的使能控制端En连接。
第二寄存器2012的数据输入端Q、第一选择器2013的一数据输入端A以及第二选择器2015的一数据输入端A均与第五寄存器2045的数据输出端QP连接(如图5所示);第四寄存器2016的数据输出端Q作为FIFO存储装置20’的读数据端口dout。
由于实施例三提供的FIFO存储装置20’与实施例二提供的FIFO存储装置20的区别仅在于:FIFO存储装置20是在RAM模块204与转换模块201之间增设一个第一寄存器205,而FIFO存储装置20’则是在RAM模块204内设置一个第五寄存器2045,其作用均是为了使从RAM模块204读出的数据经寄存后再写入转换模块201,因此,其工作原理可参见实施例二部分,此处不再赘述。
本实施例中,当转换模块201输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对转换模块201的写请求,形成数据搬移,在数据搬移的过程中使用第五寄存器2045处理优化时序性能,使用转换模块201调整数据传输时序,使FIFO在读数据端口满足最低读取延迟的要求,因此,本实施例可以解决基于RAM的FIFO常见的RAM读数据时延较长、不利于提高主频、后端布线难度较大、读端口时序较差的问题。
常规的基于RAM的FIFO结构在高速工作频率下时序较差、布线困难,为优化时序和布线,本发明提出将RAM模块的Q寄存得到QP再输出,时序图如图8所示。由图8可知,RAM模块的数据输出信号204_QP相对于第一逻辑模块的读使能信号203_rden/转换模块的写使能信号201_wren落后一个周期。因此以QP作为RAM输出的FIFO结构虽然满足先入先出的特性,但这种FIFO的输出接口时序不方便使用,在接收到读请求之后,下一时钟周期才能拿到有效数据。基于此,本发明提出了转换模块。由图8可知,增加了转换模块的FIFO结构实现了输出数据dout与读使能信号rden对齐,这是使用最便利的FIFO读数据方式,会使得电路整体系统中与FIFO读端口对接的电路设计更容易。
Claims (9)
1.一种FIFO数据传输方法,其特征在于,应用于FIFO存储装置,包括:
每当转换模块输出非满信号且第一逻辑模块输出非空信号时,都会自动产生对前一级FIFO的读请求和对所述转换模块的写请求,形成数据搬移;
RAM模块根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并通过寄存器在下一个时钟周期将寄存处理的数据写入所述转换模块;在数据搬移过程中使用寄存器优化所述RAM模块输出结构的时序性能,使用所述转换模块调整数据传输时序;
所述转换模块也是先进先出的结构,依次输出写入的数据。
2.根据权利要求1所述的FIFO数据传输方法,其特征在于,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
3.根据权利要求2所述的FIFO数据传输方法,其特征在于,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端以及所述第二选择器的一数据输入端均可接收写入的数据。
4.一种FIFO存储装置,其特征在于,包括第一逻辑模块、或非门、RAM模块、第一寄存器和转换模块;所述第一逻辑模块与所述RAM模块连接;所述或非门的第一输入端连接所述第一逻辑模块的空信号输出端,所述或非门的第二输入端连接所述转换模块的满信号输出端,所述或非门的输出端分别连接所述第一逻辑模块的读使能端和所述转换模块的写使能端;所述第一寄存器分别与所述RAM模块和所述转换模块连接;
所述转换模块,用于接收第一读使能信号,并判断所述转换模块的状态是否为非满,若是则向所述或非门发送非满信号,否则向所述或非门发送满信号;
所述第一逻辑模块,用于判断读指针与写指针是否相等,若不相等,则向所述或非门发送非空信号;若相等,则向所述或非门发送空信号;
所述或非门,用于在接收到所述非满信号和所述非空信号后,向所述第一逻辑模块发送第二读使能信号,并向所述转换模块发送第二写使能信号;
所述第一逻辑模块,还用于在接收到所述第二读使能信号后,将所述读指针发送至所述RAM模块,并将所述读指针加1,指向下一个待读出地址;
所述RAM模块,用于根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并发送至所述第一寄存器;
所述第一寄存器,用于将读出的数据进行寄存处理,并在下一个时钟周期写入到所述转换模块;
所述转换模块为先进先出结构,依次输出写入的数据。
5.根据权利要求4所述的FIFO存储装置,其特征在于,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
6.根据权利要求5所述的FIFO存储装置,其特征在于,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端、所述第二选择器的一数据输入端均与所述第一寄存器的数据输出端连接。
7.一种FIFO存储装置,其特征在于,包括第一逻辑模块、或非门、RAM模块和转换模块;所述第一逻辑模块与所述RAM模块连接;所述RAM模块包括第五寄存器,所述第五寄存器的数据输出端连接所述转换模块的数据输入端;所述或非门的第一输入端连接所述第一逻辑模块的空信号输出端,所述或非门的第二输入端连接所述转换模块的满信号输出端,所述或非门的输出端分别连接所述第一逻辑模块的读使能端和所述转换模块的写使能端;
所述转换模块,用于接收第一读使能信号,并判断所述转换模块的状态是否为非满,若是则向所述或非门发送非满信号,否则向所述或非门发送满信号;
所述第一逻辑模块,用于判断读指针与写指针是否相等,若不相等,则向所述或非门发送非空信号;若相等,则向所述或非门发送空信号;
所述或非门,用于在接收到所述非满信号和所述非空信号后,向所述第一逻辑模块发送第二读使能信号,并向所述转换模块发送第二写使能信号;
所述第一逻辑模块,还用于在接收到所述第二读使能信号后,将所述读指针发送至所述RAM模块,并将所述读指针加1,指向下一个待读出地址;
所述RAM模块,用于根据所述第一逻辑模块发送的读指针读出当前地址存储的数据,并通过内置的所述第五寄存器进行寄存处理,并在下一个时钟周期写入到所述转换模块;
所述转换模块为先进先出结构,还用于依次输出写入的数据。
8.根据权利要求7所述的FIFO存储装置,其特征在于,所述转换模块由至少三个寄存器串联组成;所述FIFO存储装置的读数据端口与所述至少三个寄存器中的一个寄存器固定连接并作为输出。
9.根据权利要求8所述的FIFO存储装置,其特征在于,所述转换模块包括第二逻辑模块以及依次串联的第二寄存器、第一选择器、第三寄存器、第二选择器和第四寄存器;
所述第二逻辑模块分别与所述第二寄存器的使能控制端、所述第一选择器的选择控制端、所述第三寄存器的使能控制端、所述第二选择器的选择控制端和所述第四寄存器的使能控制端连接;
所述第二寄存器的数据输入端、所述第一选择器的一数据输入端、所述第二选择器的一数据输入端均与所述第五寄存器的数据输出端连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628851.6A CN111832240B (zh) | 2020-07-02 | 2020-07-02 | Fifo数据传输方法及fifo存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628851.6A CN111832240B (zh) | 2020-07-02 | 2020-07-02 | Fifo数据传输方法及fifo存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111832240A true CN111832240A (zh) | 2020-10-27 |
CN111832240B CN111832240B (zh) | 2024-04-19 |
Family
ID=72901030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628851.6A Active CN111832240B (zh) | 2020-07-02 | 2020-07-02 | Fifo数据传输方法及fifo存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111832240B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722829A (zh) * | 2020-05-28 | 2020-09-29 | 江苏方天电力技术有限公司 | 一种双并发预读的高性能归并排序方法及应用 |
CN112416823A (zh) * | 2020-11-15 | 2021-02-26 | 珠海市一微半导体有限公司 | 一种突发模式下的传感器数据读写控制方法、系统及芯片 |
CN113688074A (zh) * | 2021-10-26 | 2021-11-23 | 浙江芯昇电子技术有限公司 | 先进先出数据处理装置及数据处理方法 |
CN113900975A (zh) * | 2021-12-08 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种同步fifo |
CN115132240A (zh) * | 2021-03-29 | 2022-09-30 | 长鑫存储技术有限公司 | 数据传输电路、方法及存储装置 |
CN116030850A (zh) * | 2021-10-27 | 2023-04-28 | 长鑫存储技术有限公司 | 数据传输电路、方法及存储装置 |
CN116107795A (zh) * | 2023-04-14 | 2023-05-12 | 苏州萨沙迈半导体有限公司 | 报错电路及芯片设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001319470A (ja) * | 2000-05-11 | 2001-11-16 | Nec Eng Ltd | Fifo回路 |
US20050055489A1 (en) * | 2002-09-03 | 2005-03-10 | Stmicroelectronics Limited | Bridge circuit for use in retiming in a semiconductor integrated circuit |
US20140250260A1 (en) * | 2013-03-04 | 2014-09-04 | Sandisk 3D Llc | Asynchronous fifo buffer for memory access |
CN104407809A (zh) * | 2014-11-04 | 2015-03-11 | 盛科网络(苏州)有限公司 | 多通道fifo缓冲器及其控制方法 |
CN105320490A (zh) * | 2014-07-31 | 2016-02-10 | 德克萨斯仪器股份有限公司 | 用于异步fifo电路的方法和设备 |
CN110442321A (zh) * | 2019-07-19 | 2019-11-12 | 南京芯驰半导体科技有限公司 | 一种预取fifo电路及方法 |
-
2020
- 2020-07-02 CN CN202010628851.6A patent/CN111832240B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001319470A (ja) * | 2000-05-11 | 2001-11-16 | Nec Eng Ltd | Fifo回路 |
US20050055489A1 (en) * | 2002-09-03 | 2005-03-10 | Stmicroelectronics Limited | Bridge circuit for use in retiming in a semiconductor integrated circuit |
US20140250260A1 (en) * | 2013-03-04 | 2014-09-04 | Sandisk 3D Llc | Asynchronous fifo buffer for memory access |
CN105320490A (zh) * | 2014-07-31 | 2016-02-10 | 德克萨斯仪器股份有限公司 | 用于异步fifo电路的方法和设备 |
CN104407809A (zh) * | 2014-11-04 | 2015-03-11 | 盛科网络(苏州)有限公司 | 多通道fifo缓冲器及其控制方法 |
CN110442321A (zh) * | 2019-07-19 | 2019-11-12 | 南京芯驰半导体科技有限公司 | 一种预取fifo电路及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722829A (zh) * | 2020-05-28 | 2020-09-29 | 江苏方天电力技术有限公司 | 一种双并发预读的高性能归并排序方法及应用 |
CN111722829B (zh) * | 2020-05-28 | 2022-06-14 | 江苏方天电力技术有限公司 | 一种双并发预读的高性能归并排序方法及应用 |
CN112416823A (zh) * | 2020-11-15 | 2021-02-26 | 珠海市一微半导体有限公司 | 一种突发模式下的传感器数据读写控制方法、系统及芯片 |
CN112416823B (zh) * | 2020-11-15 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种突发模式下的传感器数据读写控制方法、系统及芯片 |
CN115132240A (zh) * | 2021-03-29 | 2022-09-30 | 长鑫存储技术有限公司 | 数据传输电路、方法及存储装置 |
CN113688074A (zh) * | 2021-10-26 | 2021-11-23 | 浙江芯昇电子技术有限公司 | 先进先出数据处理装置及数据处理方法 |
CN113688074B (zh) * | 2021-10-26 | 2022-02-01 | 浙江芯昇电子技术有限公司 | 先进先出数据处理装置及数据处理方法 |
CN116030850A (zh) * | 2021-10-27 | 2023-04-28 | 长鑫存储技术有限公司 | 数据传输电路、方法及存储装置 |
CN116030850B (zh) * | 2021-10-27 | 2024-07-12 | 长鑫存储技术有限公司 | 数据传输电路、方法及存储装置 |
CN113900975A (zh) * | 2021-12-08 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种同步fifo |
US12079556B2 (en) | 2021-12-08 | 2024-09-03 | Suzhou Metabrain Intelligent Technology Co., Ltd. | Synchronous FIFO |
CN116107795A (zh) * | 2023-04-14 | 2023-05-12 | 苏州萨沙迈半导体有限公司 | 报错电路及芯片设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111832240B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111832240B (zh) | Fifo数据传输方法及fifo存储装置 | |
CN111367495B (zh) | 一种异步先入先出的数据缓存控制器 | |
US5596540A (en) | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory | |
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 | |
JP3645584B2 (ja) | データ転送同期装置 | |
US7099231B2 (en) | Interleaving memory blocks to relieve timing bottleneck in a multi-queue first-in first-out memory system | |
CN112416823B (zh) | 一种突发模式下的传感器数据读写控制方法、系统及芯片 | |
CN209842608U (zh) | 一种基于fpga fifo模块的ddr3存储器控制 | |
CN113900975B (zh) | 一种同步fifo | |
CN100517498C (zh) | 一种无读取延迟的先进先出存储器 | |
US20240020246A1 (en) | Method for Generating Information Based on FIFO Memory and Apparatus, Device and Medium | |
CN101566941B (zh) | 一种基于静态存储器的fifo存储单元 | |
JP3429994B2 (ja) | セルバッファ回路 | |
CN111949582A (zh) | 指针同步装置及方法、异步fifo电路、处理器系统 | |
CN101833431A (zh) | 基于fpga实现的双向高速fifo存储器 | |
US7136309B2 (en) | FIFO with multiple data inputs and method thereof | |
CN115579036A (zh) | 一种基于fpga的ddr连续存储电路及其实现方法 | |
CN110705195A (zh) | 一种基于fpga的跨时钟域深度自行配置fifo系统 | |
CN111741235B (zh) | 基于fpga的多路视频切换方法 | |
CN102306142B (zh) | 一种fft倒序操作存储器数据调度方法及电路 | |
CN111399802B (zh) | 多电源域多时钟域先进先出队列、集成电路芯片及计算机设备 | |
US6055588A (en) | Single stage FIFO memory with a circuit enabling memory to be read from and written to during a single cycle from a single clock | |
CN113806277A (zh) | 基于srio协议的fpga与dsp的数据传输系统 | |
KR101404844B1 (ko) | 듀얼 포트 메모리 및 그 방법 | |
US5732011A (en) | Digital system having high speed buffering |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 1010, No. 2, Lane 288, Kangning Road, Jing'an District, Shanghai, 200040 Applicant after: Shanghai Silang Technology Co.,Ltd. Address before: Room 506-1, 5th Floor, Building 6, No. 10 Kegu 1st Street, Daxing District, Beijing, 102600 Applicant before: Beijing Si Lang science and Technology Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |