CN105511835B - 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法 - Google Patents

一种异步fifo控制器及防止异步fifo缓存数据溢出的方法 Download PDF

Info

Publication number
CN105511835B
CN105511835B CN201410494206.4A CN201410494206A CN105511835B CN 105511835 B CN105511835 B CN 105511835B CN 201410494206 A CN201410494206 A CN 201410494206A CN 105511835 B CN105511835 B CN 105511835B
Authority
CN
China
Prior art keywords
fifo
caching
asynchronous
controller
data volume
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.)
Active
Application number
CN201410494206.4A
Other languages
English (en)
Other versions
CN105511835A (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201410494206.4A priority Critical patent/CN105511835B/zh
Priority to PCT/CN2015/071669 priority patent/WO2016045288A1/zh
Publication of CN105511835A publication Critical patent/CN105511835A/zh
Application granted granted Critical
Publication of CN105511835B publication Critical patent/CN105511835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种异步FIFO控制器及防止异步FIFO缓存数据溢出的方法,该方法可以包括:异步FIFO控制器获取第二FIFO缓存待获取的数据量;所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量;所述异步FIFO控制器将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;所述异步FIFO控制器将所述数据总量与所述第二FIFO缓存的深度进行比较;当所述数据总量不小于所述第二FIFO缓存的深度时,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号。

Description

一种异步FIFO控制器及防止异步FIFO缓存数据溢出的方法
技术领域
本发明涉及集成电路(IC,Integrated Circuit)设计领域,尤其涉及一种异步先入先出(FIFO,First Input First Output)控制器及防止异步FIFO缓存数据溢出的方法。
背景技术
在IC中往往有多个时钟域,异步FIFO缓存作为一种有效的方法,被广泛的应用在跨时钟域的信号处理中。但是异步FIFO缓存需要在两个时钟域中都设置有实现握手机制的接口才能保证其作用。当有一个时钟域没有办法实现握手的机制,异步FIFO缓存就有数据溢出的风险。
目前对于该问题的处理方法是加大第二FIFO缓存的深度,来确保其不会溢出。但是,对于data位宽比较大第二FIFO缓存,加大深度会造成巨大的硬件开销。
发明内容
为解决上述技术问题,本发明实施例提供一种异步FIFO控制器及防止异步FIFO缓存数据溢出的方法,能够在防止异步FIFO缓存数据溢出的同时,减少硬件开销。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种异步FIFO控制器,所述控制器包括:第一计数器、第二计数器、加法器和比较器,其中,
所述第一计数器,用于获取第二FIFO缓存待获取的数据量;并将所述第二FIFO缓存待获取的数据量传输至所述加法器;
所述第二计数器,用于获取所述第二FIFO缓存内已存在的数据量;并将所述第二FIFO缓存内已存在的数据量传输至所述加法器;
所述加法器,用于将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;并将所述数据总量传输至所述比较器;
所述比较器,用于将所述数据总量与所述第二FIFO缓存的深度进行比较,当所述数据总量不小于所述第二FIFO缓存的深度时,向所述第一FIFO缓存发送停止指示信号,其中,所述停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
进一步地,所述第一计数器的第一输入端口与第一FIFO缓存的request输出端相连接,用于获取第一FIFO缓存的request输出端输出的request信号;
所述第一计数器的第二输入端口与所述第二FIFO缓存的valid输入端相连接,用于获取第二FIFO缓存的valid输入端输入的valid信号;
所述第一计数器,用于通过接收到request信号时加1且接收到输入的valid信号时减1,获取第二FIFO缓存待获取的数据量。
进一步地,所述第二计数器的第一输入端口可以与所述第二FIFO缓存的valid输入端相连接,用于获取第二FIFO缓存的valid输入端输入的valid信号;
所述第二计数器的第二输入端口可以与所述第二FIFO缓存的valid输出端相连接,用于获取第二FIFO缓存的valid输出端输出的valid信号;
所述第二计数器,用于通过接收到输入的valid信号时加1且接收到输出的valid信号时减1,获取第二FIFO缓存内已存在的数据量。
进一步地,所述第二计数器与所述第二FIFO缓存的指示寄存器进行连接,用于从所述指示寄存器获取第二FIFO缓存内已存在的数据量。
进一步地,所述第二计数器,用于通过读取所述第二FIFO缓存的读写指针的方式获取第二FIFO缓存内已存在的数据量。
进一步地,所述比较器,用于向第一FIFO缓存的request输出端输出strobe信号,以使得所述第一FIFO缓存拒绝向第二时钟域发送request信号。
第二方面,本发明实施例提供了一种防止异步先入先出FIFO缓存数据溢出的方法,所述方法包括:
异步FIFO控制器获取第二FIFO缓存待获取的数据量;
所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量;
所述异步FIFO控制器将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;
所述异步FIFO控制器将所述数据总量与所述第二FIFO缓存的深度进行比较;
当所述数据总量不小于所述第二FIFO缓存的深度时,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号;其中,所述停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
进一步地,所述异步FIFO控制器获取第二FIFO缓存待获取的数据量,包括:
所述异步FIFO控制器获取所述第一FIFO缓存的request输出端输出的request信号;
所述异步FIFO控制器获取所述第二FIFO缓存的valid输入端输入的valid信号;
所述异步FIFO控制器通过接收到所述request信号时加1且接收到所述输入的valid信号时减1,获取所述第二FIFO缓存待获取的数据量。
进一步地,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器获取所述第二FIFO缓存的valid输入端输入的valid信号;
所述异步FIFO控制器获取所述第二FIFO缓存的valid输出端输出的valid信号;
所述异步FIFO控制器通过接收到所述输入的valid信号时加1且接收到所述输出的valid信号时减1,获取所述第二FIFO缓存内已存在的数据量。
进一步地,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器从所述第二FIFO缓存的指示寄存器获取所述第二FIFO缓存内已存在的数据量;其中,所述指示寄存器包括用于指示所述第二FIFO缓存中已存在的数据量。
进一步地,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器通过读取所述第二FIFO缓存的读写指针获取所述第二FIFO缓存内已存在的数据量。
进一步地,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号,包括:所述异步FIFO控制器向第一FIFO缓存的request输出端输出strobe信号,以使得第一FIFO缓存拒绝向第二时钟域发送request信号。
本发明实施例提供了一种异步FIFO控制器及防止异步FIFO缓存数据溢出的方法,通过FIFO控制器对第二FIFO缓存中已有的数据数量和待接收的数据数量的数据总量进行计数,随后将数据总量与第二FIFO缓存深度进行比较,当数据总量超过第二FIFO缓存深度时,FIFO控制器终止第一FIFO缓存输出请求request信号;从而能够在防止异步FIFO缓存数据溢出的同时,减少硬件开销。
附图说明
图1为现有技术的异步FIFO缓存的结构示意图;
图2为本发明实施例提供的一种异步FIFO缓存结构的示意图;
图3为本发明实施例提供的一种异步FIFO控制器的结构示意图;
图4为本发明实施例提供的另一种异步FIFO控制器的结构示意图;
图5为本发明实施例提供的又一种异步FIFO控制器的结构示意图;
图6为本发明实施例提供的再一种异步FIFO控制器的结构示意图;
图7为本发明实施例提供的一种防止异步FIFO缓存数据溢出的方法流程示意图;
图8为本发明实施例提供的一种异步FIFO控制器获取第二FIFO缓存待获取的数据量的方法流程示意图;
图9为本发明实施例提供的一种异步FIFO控制器获取第二FIFO缓存内已存在的数据量的方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明的基本思想是:通过对第二FIFO缓存中已有的数据数量和待接收的数据数量的数据总量进行计数,随后将数据总量与第二FIFO缓存深度进行比较,使得当数据总量超过第二FIFO缓存深度时,终止第二FIFO缓存接收数据,从而使得通过计数器和比较器就能够实现防止异步FIFO缓存数据的溢出,相比于现有技术中加大第二FIFO深度的方式减少硬件开销。
参见图1所示的现有技术的异步FIFO缓存的结构,包括第一时钟域、第二时钟域、第一FIFO缓存和第二FIFO缓存。其中,第一FIFO缓存为处理地址通道(比如address,request和ready),第二FIFO缓存处理数据通道(比如data和valid)。
当第二FIFO缓存不具备实现握手机制的时候,第一时钟域发出request的同时,地址address从第一时钟域经过第一FIFO缓存传给第二时钟域。经过数个周期后,数据data从第二时钟域通过第二FIFO缓存发送给第一时钟域,和data同时传过来的只有一个数据有效指示信号valid。第一时钟域一侧的接收模块一般会设计为直接接收data,省去了握手环节。
上述处理过程会导致,第二时钟域不管第二FIFO缓存是否填满,都会把data传给第二FIFO缓存,如果第二FIFO缓存的数据没有及时被第一时钟域取出,第二FIFO缓存就会数据溢出。
在图1所示的现有技术中异步FIFO缓存的结构的基础上,参见图2,其示出了本发明实施例提供的一种异步FIFO缓存的结构,图2与图1相比较,增加了FIFO控制器。
结合图2,参见图3,其示出了本发明实施例提供的一种异步FIFO控制器30的结构,异步FIFO控制器30可以包括:第一计数器301、第二计数器302、加法器303和比较器304,
其中,所述第一计数器301,用于获取第二FIFO缓存待获取的数据量;并将所述第二FIFO缓存待获取的数据量传输至所述加法器303;
所述第二计数器302,用于获取所述第二FIFO缓存内已存在的数据量;并将所述第二FIFO缓存内已存在的数据量传输至所述加法器303;
所述加法器303,用于将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;并将所述数据总量传输至所述比较器304;
所述比较器304,用于将所述数据总量与所述第二FIFO缓存的深度进行比较,当所述数据总量不小于所述第二FIFO缓存的深度时,向所述第一FIFO缓存发送停止指示信号,其中,所述停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
需要说明的是,由于考虑到传统异步FIFO缓存处理的过程中,第二时间域在接收到第一时间域的请求之后,需要经过若干个周期之后才将数据传输至第二FIFO缓存,因此,本发明实施例在确定第二FIFO缓存中的数据是否达到第二FIFO缓存深度的时候,需要将第二时间域在接收到第一时间域的请求之后的若干个周期才发送给第二FIFO缓存的待接收数据进行考虑,因此,FIFO控制器30通过第一计数器301来获取第二FIFO缓存的待接收数据。
示例性地,如图4所示,所述第一计数器301的第一输入端口可以与第一FIFO缓存的request输出端相连接,获取第一FIFO缓存的request输出端输出的request信号;所述第一计数器301的第二输入端口可以与所述第二FIFO缓存的valid输入端相连接,获取第二FIFO缓存的valid输入端输入的valid信号;第一计数器301通过接收到request信号时加1且接收到输入的valid信号时减1,获取第二FIFO缓存待获取的数据量;
需要说明的是,对于第二FIFO缓存内已存在的数据量的获取,需要根据第二FIFO缓存的具体结构来决定第二计数器302的获取方式;
可选地,参见图4,所述第二计数器302的第一输入端口可以与所述第二FIFO缓存的valid输入端相连接,获取第二FIFO缓存的valid输入端输入的valid信号;所述第二计数器302的第二输入端口可以与所述第二FIFO缓存的valid输出端相连接,获取第二FIFO缓存的valid输出端输出的valid信号;通过接收到输入的valid信号时加1且接收到输出的valid信号时减1,获取第二FIFO缓存内已存在的数据量;
可选地,当第二FIFO缓存中包括用于指示自身已存在的数据量的指示寄存器时,除了图4所示的方式以外,参见图5,所述第二计数器302还可以与所述第二FIFO缓存的指示寄存器进行连接,并从所述指示寄存器获取第二FIFO缓存内已存在的数据量;
可选地,当第二FIFO缓存中具有读写指针时,除了图4所示的方式以外,参见图6,所述第二计数器302还可以通过读取所述第二FIFO缓存的读写指针的方式获取第二FIFO缓存内已存在的数据量。
示例性地,当所述数据总量不小于所述第二FIFO缓存的深度时,比较器304可以向第一FIFO缓存的request输出端输出strobe信号,以使得第一FIFO缓存拒绝向第二时钟域发送request信号,进而可以使得第二时钟域停止在若干周期之后对向所述第二FIFO缓存发送数据,从而保证第二FIFO缓冲中的数据不会溢出。
综上所述,由于计数器、加法器和比较器在器件开销上要远远地小于加大第二FIFO缓存深度所需要的硬件开销,因此,本实施例提供的异步FIFO控制器30能够在防止异步FIFO缓存数据溢出的同时,减少硬件开销。
本发明实施例提供了一种异步FIFO控制器30,通过第一计数器301和第二计数器302分别对第二FIFO缓存待接收的数据数量和第二FIFO缓存中已有的数据数量的数据总量进行计数,随后将数据总量与第二FIFO缓存深度进行比较,当数据总量超过第二FIFO缓存深度时,异步FIFO控制器终止第一FIFO缓存输出请求request信号;从而能够在防止异步FIFO缓存数据溢出的同时,减少硬件开销。
基于前述实施例相同的技术构思,参见图7,其示出了本发明实施例提供的一种防止异步FIFO缓存数据溢出的方法流程,该方法可以应用于如图3所示的异步FIFO控制器,该方法可以包括:
S701:异步FIFO控制器获取第二FIFO缓存待获取的数据量;
S702:异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量;
S703:异步FIFO控制器将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;
S704:异步FIFO控制器将所述数据总量与第二FIFO缓存的深度进行比较;
S705:当所述数据总量不小于所述第二FIFO缓存的深度时,异步FIFO控制器向所述第一FIFO缓存发送停止指示信号;
其中,停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
需要说明的是,由于考虑到传统异步FIFO缓存处理的过程中,第二时间域在接收到第一时间域的请求之后,需要经过若干个周期之后才将数据传输至第二FIFO缓存,因此,本发明实施例在确定第二FIFO缓存中的数据是否达到第二FIFO缓存深度的时候,需要将第二时间域在接收到第一时间域的请求之后的若干个周期才发送给第二FIFO缓存的待接收数据进行考虑。
示例性地,参见图8,步骤S701具体可以包括:
S7011a:异步FIFO控制器与第一FIFO缓存的request输出端相连接,获取第一FIFO缓存的request输出端输出的request信号;
S7011b:异步FIFO控制器与所述第二FIFO缓存的valid输入端相连接,获取第二FIFO缓存的valid输入端输入的valid信号;
S7012:异步FIFO控制器通过接收到request信号时加1且接收到输入的valid信号时减1,获取第二FIFO缓存待获取的数据量;
需要说明的是,步骤S702需要根据第二FIFO缓存的具体结构来决定,本实施例提供了以下具体方式:
可选地,参见图9,步骤S702具体可以包括:
S7021a:异步FIFO控制器与所述第二FIFO缓存的valid输入端相连接,获取第二FIFO缓存的valid输入端输入的valid信号;
S7021b:异步FIFO控制器与所述第二FIFO缓存的valid输出端相连接,获取第二FIFO缓存的valid输出端输出的valid信号;
S7022:异步FIFO控制器通过接收到输入的valid信号时加1且接收到输出的valid信号时减1,获取第二FIFO缓存内已存在的数据量;
可选地,当第二FIFO缓存中包括用于指示自身已存在的数据量的指示寄存器时,除了图9所述的方式之外,步骤S702具体可以为:异步FIFO控制器与所述第二FIFO缓存的指示寄存器进行连接,并从所述指示寄存器获取第二FIFO缓存内已存在的数据量;
可选地,当第二FIFO缓存中具有读写指针时,除了图9所述的方式之外,步骤S702具体可以为:异步FIFO控制器通过读取所述第二FIFO缓存的读写指针获取第二FIFO缓存内已存在的数据量。
示例性地,当所述数据总量不小于所述第二FIFO缓存的深度时,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号具体可以包括:异步FIFO控制器向第一FIFO缓存的request输出端输出strobe信号,以使得第一FIFO缓存拒绝向第二时钟域发送request信号,进而可以使得第二时钟域停止在若干周期之后对向所述第二FIFO缓存发送数据,从而保证第二FIFO缓冲中的数据不会溢出。
本发明实施例提供了一种防止异步FIFO缓存数据溢出的方法,通过FIFO控制器对第二FIFO缓存中已有的数据数量和待接收的数据数量的数据总量进行计数,随后将数据总量与第二FIFO缓存深度进行比较,当数据总量超过第二FIFO缓存深度时,FIFO控制器终止第一FIFO缓存输出请求request信号;从而能够在防止异步FIFO缓存数据溢出的同时,减少硬件开销。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种异步FIFO控制器,其特征在于,所述控制器包括:第一计数器、第二计数器、加法器和比较器,其中,
所述第一计数器,用于获取第二FIFO缓存待获取的数据量;并将所述第二FIFO缓存待获取的数据量传输至所述加法器,其中,所述第一计数器的第一输入端口与第一FIFO缓存的request输出端相连接,用于获取第一FIFO缓存的request输出端输出的request信号;
所述第一计数器的第二输入端口与所述第二FIFO缓存的valid输入端相连接,用于获取第二FIFO缓存的valid输入端输入的valid信号;
所述第一计数器,用于通过接收到request信号时加1且接收到输入的valid信号时减1,获取第二FIFO缓存待获取的数据量;
所述第二计数器,用于获取所述第二FIFO缓存内已存在的数据量;并将所述第二FIFO缓存内已存在的数据量传输至所述加法器;
所述加法器,用于将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;并将所述数据总量传输至所述比较器;
所述比较器,用于将所述数据总量与所述第二FIFO缓存的深度进行比较,当所述数据总量不小于所述第二FIFO缓存的深度时,向第一FIFO缓存发送停止指示信号,其中,所述停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
2.根据权利要求1所述的控制器,其特征在于,所述第二计数器的第一输入端口与所述第二FIFO缓存的valid输入端相连接,用于获取第二FIFO缓存的valid输入端输入的valid信号;
所述第二计数器的第二输入端口与所述第二FIFO缓存的valid输出端相连接,用于获取第二FIFO缓存的valid输出端输出的valid信号;
所述第二计数器,用于通过接收到输入的valid信号时加1且接收到输出的valid信号时减1,获取第二FIFO缓存内已存在的数据量。
3.根据权利要求1所述的控制器,其特征在于,所述第二计数器与所述第二FIFO缓存的指示寄存器进行连接,用于从所述指示寄存器获取第二FIFO缓存内已存在的数据量。
4.根据权利要求1所述的控制器,其特征在于,所述第二计数器,用于通过读取所述第二FIFO缓存的读写指针的方式获取第二FIFO缓存内已存在的数据量。
5.根据权利要求1至4任一项所述的控制器,其特征在于,所述比较器,用于向第一FIFO缓存的request输出端输出strobe信号,以使得所述第一FIFO缓存拒绝向第二时钟域发送request信号。
6.一种防止异步先入先出FIFO缓存数据溢出的方法,其特征在于,所述方法包括:
异步FIFO控制器获取第二FIFO缓存待获取的数据量;
所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器获取第一FIFO缓存的request输出端输出的request信号;
所述异步FIFO控制器获取所述第二FIFO缓存的valid输入端输入的valid信号;
所述异步FIFO控制器通过接收到所述request信号时加1且接收到所述输入的valid信号时减1,获取所述第二FIFO缓存待获取的数据量;
所述异步FIFO控制器将所述第二FIFO缓存待获取的数据量与所述第二FIFO缓存内已存在的数据量进行相加,得到数据总量;
所述异步FIFO控制器将所述数据总量与所述第二FIFO缓存的深度进行比较;
当所述数据总量不小于所述第二FIFO缓存的深度时,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号;其中,所述停止指示信号用于指示所述第一FIFO缓存停止输出request信号。
7.根据权利要求6所述的方法,其特征在于,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器获取所述第二FIFO缓存的valid输入端输入的valid信号;
所述异步FIFO控制器获取所述第二FIFO缓存的valid输出端输出的valid信号;
所述异步FIFO控制器通过接收到所述输入的valid信号时加1且接收到所述输出的valid信号时减1,获取所述第二FIFO缓存内已存在的数据量。
8.根据权利要求6所述的方法,其特征在于,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器从所述第二FIFO缓存的指示寄存器获取所述第二FIFO缓存内已存在的数据量;其中,所述指示寄存器包括用于指示所述第二FIFO缓存中已存在的数据量。
9.根据权利要求6所述的方法,其特征在于,所述异步FIFO控制器获取所述第二FIFO缓存内已存在的数据量,包括:
所述异步FIFO控制器通过读取所述第二FIFO缓存的读写指针获取所述第二FIFO缓存内已存在的数据量。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述异步FIFO控制器向第一FIFO缓存发送停止指示信号,包括:所述异步FIFO控制器向第一FIFO缓存的request输出端输出strobe信号,以使得第一FIFO缓存拒绝向第二时钟域发送request信号。
CN201410494206.4A 2014-09-24 2014-09-24 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法 Active CN105511835B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410494206.4A CN105511835B (zh) 2014-09-24 2014-09-24 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法
PCT/CN2015/071669 WO2016045288A1 (zh) 2014-09-24 2015-01-27 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410494206.4A CN105511835B (zh) 2014-09-24 2014-09-24 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法

Publications (2)

Publication Number Publication Date
CN105511835A CN105511835A (zh) 2016-04-20
CN105511835B true CN105511835B (zh) 2019-11-15

Family

ID=55580205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410494206.4A Active CN105511835B (zh) 2014-09-24 2014-09-24 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法

Country Status (2)

Country Link
CN (1) CN105511835B (zh)
WO (1) WO2016045288A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188059B (zh) * 2019-05-17 2020-10-27 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存装置及方法
CN111367495B (zh) * 2020-03-06 2023-03-28 电子科技大学 一种异步先入先出的数据缓存控制器
CN115904307B (zh) * 2023-03-08 2023-06-06 鹏城实验室 一种数据缓存器溢出处理方法及通信***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110259A (zh) * 2007-08-22 2008-01-23 威盛电子股份有限公司 先进先出存储器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001244952A (ja) * 2000-02-29 2001-09-07 Sony Corp 通信制御装置
US7139876B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache
CN100549938C (zh) * 2007-11-28 2009-10-14 北京中星微电子有限公司 Fifo控制电路及控制方法
CN101907986B (zh) * 2010-08-30 2013-11-06 威盛电子股份有限公司 访问多个存储器的数据处理设备和数据处理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110259A (zh) * 2007-08-22 2008-01-23 威盛电子股份有限公司 先进先出存储器

Also Published As

Publication number Publication date
WO2016045288A1 (zh) 2016-03-31
CN105511835A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105511835B (zh) 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法
EP2990912A1 (en) Force simulation finger sleeve using orthogonal uniform magnetic field
US20140201500A1 (en) Controlling Bandwidth Allocations In A System On A Chip (SoC)
US8631152B2 (en) System and method for data packet transmission and reception
CN109891355A (zh) 用于总线上的动态时钟频率控制的方法、设备和***
EP3278228B1 (en) Command-driven translation pre-fetch for memory management units
CN103198048B (zh) 处理器通信
CN109445527B (zh) 平板电脑数据转存***
WO2015176475A1 (zh) Fifo数据缓存器及其进行时延控制的方法、计算机存储介质
JP6840225B2 (ja) 信頼できない相互接続エージェントをスロットルするためのメカニズム
CN109918190A (zh) 一种数据采集方法及相关设备
US20160196231A1 (en) System and method for bus bandwidth management in a system on a chip
CN115102908B (zh) 基于带宽控制的网络报文生成的方法以及相关装置
US9218310B2 (en) Shared input/output (I/O) unit
KR102180975B1 (ko) 랩핑된 판독 대 연속적인 판독을 갖는 메모리 서브 시스템
CN111641566A (zh) 数据处理的方法、网卡和服务器
CN107124240A (zh) 一种信道时延模拟装置及方法
US10169260B2 (en) Multiprocessor cache buffer management
CN106843748A (zh) 一种提高数据写入移动存储设备速度的方法和***
US9547587B2 (en) Dynamic power and thermal capping for flash storage
US8689018B2 (en) Apparatus, method, and system for predictive power delivery noise reduction
CN106681687B (zh) 一种fifo数据均衡输出方法及其输出装置
CN104156336A (zh) 一种usb2.0接口芯片的控制方法
CN106685473B (zh) 一种传输信号的展频解码方法、终端及显示装置
CN210666547U (zh) 一种粮情测控***测控主机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant