CN104809038B - 一种fifo异常处理方法及装置 - Google Patents

一种fifo异常处理方法及装置 Download PDF

Info

Publication number
CN104809038B
CN104809038B CN201410036556.6A CN201410036556A CN104809038B CN 104809038 B CN104809038 B CN 104809038B CN 201410036556 A CN201410036556 A CN 201410036556A CN 104809038 B CN104809038 B CN 104809038B
Authority
CN
China
Prior art keywords
fifo
fifos
group
current
addresses
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
CN201410036556.6A
Other languages
English (en)
Other versions
CN104809038A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201410036556.6A priority Critical patent/CN104809038B/zh
Priority to PCT/CN2014/082651 priority patent/WO2015109787A1/zh
Publication of CN104809038A publication Critical patent/CN104809038A/zh
Application granted granted Critical
Publication of CN104809038B publication Critical patent/CN104809038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种FIFO异常处理方法及装置。本发明的异常处理方法包括:在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位;本发明的方法能够对多个FIFO组进行有效的异常检测,保证各个FIFO数据传输的正确性。

Description

一种FIFO异常处理方法及装置
技术领域
本发明涉及存储器领域,尤其涉及一种FIFO异常处理方法及装置。
背景技术
随着新技术的演进和发展,相关业务的处理速率变得越来越高,芯片内部所使用的FIFO(First Input First Output,先进先出寄存器)数量越来越多,以往使用单个FIFO来处理的模式已经不能满足现代数据业务处理的需求,这种情况下,我们往往需要使用一组或者多组FIFO来同时处理相关业务,例如在存在多个FIFO时,一般地,技术人员会对多个FIFO分组,采用多个FIFO组来处理相关业务。而伴随使用多组FIFO处理相关业务时,FIFO组内的某个FIFO存在异常时,比如一定概率出现比如偶发性空满、同组FIFO读写地址不同步,由于各个FIFO的地址都是独立控制的,采用单独对异常FIFO进行同步复位,也不能保证同组FIFO中数据传输的正确,现有技术中并没有有效的对多个FIFO组进行异常检测的方法。
发明内容
本发明要解决的主要技术问题是,提供一种FIFO异常处理方法及装置,能够对多个FIFO组进行有效的异常检测,保证各个FIFO数据传输的正确性。
为解决上述技术问题,本发明提供一种FIFO异常处理方法,其特征在于,包括如下步骤:
在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;
当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
进一步地,所述异常检测包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。
进一步地,所述检测FIFO是否存在地址不同步的过程包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
所述对异常FIFO所在的FIFO组进行同步复位的过程包括:
获取与该异常FIFO同组的所有FIFO;
对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
进一步地,所述方法在对各个FIFO组中的FIFO进行异常检测之前还包括:配置各个FIFO组中FIFO的控制标识信息;
所述对各个FIFO组中的FIFO进行异常检测步骤包括:
根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测;
所述获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址的步骤包括:
根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
所述获取与该异常FIFO同组的所有FIFO的步骤包括:
根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
进一步地,所述方法在获取当前时刻所有FIFO的地址之前还包括:锁存所有FIFO当前时刻的地址
进一步地,所述方法还包括:对各个FIFO进行读写使能的初始化处理;
所述方法在获取当前时刻所有FIFO的地址之前还包括:
检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
同样为了解决上述的技术问题,本发明还提供了一种FIFO异常处理装置,包括:检测模块和同步复位模块;
所述检测模块用于在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;
所述同步复位模块用于当所述检测模块检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
进一步地,所述异常检测包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。
进一步地,所述检测模块用于检测检测FIFO是否存在地址不同步的过程包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
所述同步复位模块用于获取与该异常FIFO同组的所有FIFO,对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
进一步地,所述装置还包括配置模块;
所述配置模块用于在对各个FIFO组中的FIFO进行异常检测之前,配置各个FIFO组中FIFO的控制标识信息;
所述检测模块用于根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测,在异常检测过程中,根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
所述同步复位模块用于根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
进一步地,所述检测模块还用于在获取当前时刻所有FIFO的地址之前锁存所有FIFO当前时刻的地址。
进一步地,所述装置还包括:初始化处理模块;
所述初始化处理模块用于对各个FIFO进行读写使能的初始化处理;
所述检测模块还用于在获取当前时刻所有FIFO的地址之前检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
本发明的有益效果是:
本发明提供了一种FIFO异常处理方法及装置可以对多个FIFO组进行有效的异常检测,保证各个FIFO数据传输的正确性。具体地,本发明的异常处理方法包括:在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位;本发明的方法可以对每个FIFO组中所有的FIFO进行实时异常检测,当发现有FIFO存在异常时,对该异常FIFO所在的FIFO组进行同步复位,即对该FIFO组内所有的FIFO同步复位,这样保证了该FIFO组传输数据的正确性,与现有技术相比,本发明的方法可以实现多个FIFO组的异常检测和同步复位,从而保证同组FIFO数据传输的正确性。
附图说明
图1本发明实施例一提供的一种FIFO异常处理方法的流程示意图;
图2为本发明实施例一提供的另一种FIFO异常处理方法的流程示意图;
图3为本发明实施例二提供的第一种FIFO异常处理装置的结构示意图;
图4为本发明实施例二提供的第二种FIFO异常处理装置的结构示意图;
图5为本发明实施例二提供的第三种FIFO异常处理装置的结构示意图;
图6为本发明实施例三提供的一种FIFO异常处理系统的结构示意图;
图7为本发明实施例三提供的状态机九种状态的表格;
图8为本发明实施例收纳提供的一种地址检测模块检测FIFO异常的流程示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
如图1所示,本实施例提供了一种FIFO异常处理方法,具体包括如下步骤:
步骤101:在至少一个FIFO组的工作过程中,各个FIFO组中的FIFO进行异常检测。
本实施例方法适用于一组或者多组FIFO,其可以对所有FIFO进行检测,例如可以轮询检测所有FIFO组中的FIFO进行异常检测。
本实施例方法可以是在对多个FIFO进行分组后,对FIFO组中FIFO进行异常检测。
本实施例方法中异常检测的内容可以包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。例如可以检测:FIFO偶发性空满、FIFO读写地址是否同步以及其他FIFO可能出现的异常情况。
步骤102:当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
本实施例对异常FIFO所在的FIFO组进行同步复位具体为:对与异常FIFO在同一组的所有FIFO以及异常FIFO本身进行同步复位。
以下以异常检测包括:检测FIFO是否存在地址不同步为例来说明本实施例的方法,具体地,本实施例方法中检测FIFO是否存在地址不同步的过程可以包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
此时,本实施例方法中对异常FIFO所在的FIFO组进行同步复位的过程可以包括:
获取与该异常FIFO同组的所有FIFO;
对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
优先地,本实施例的FIFO异常处理方法可以利用FIFO的标识信息对各个FIFO进行异常检测,以及确定FIFO所在组的成员。具体的,本实施例的方法还包括:配置各个FIFO组中FIFO的控制标识信息;
上述对各个FIFO组中FIFO进行异常检测的过程可以包括:根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测;
上述获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址的过程可以包括:根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
上述获取与该异常FIFO同组的所有FIFO的过程可以包括:
根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
本实施例中控制标识信息可以为控制FIFO编号,如果某几个控制FIFO编号是相同的,则这几个FIFO是属于同一个FIFO组的。
本实施例的方法可以利用控制标识来对多组FIFO进行异常检测以及同步复位,下面通过一个简单的例子来说明本实施例异常处理方法:
假设有10个串联的FIFO,可以将10个FIFO划分为两个FIFO组,其中第1、3、5、7、9FIFO构成第一FIFO组,第2、4、6、8、10FIFO构成第二FIFO组;分别给第一、二FIFO组中的FIFO进行编号,第一组中FIFO的编号为11、12、13、14、15,第二组中FIFO的编号为21、22、23、24、25;
在对10个FIFO进行检测时可以根据编号对同组的FIFO进行地址同步检测,具体地,从第一个FIFO(11)开始检测,获取第二个FIFO时该FIFO的编号为21,说明第二个FIFO(21)与第一个FIFO(11)不属于同一组,然后跳过对第二FIFO的地址同步检测,同时获取第三个FIFO的编号,以此类推,直到将第一FIFO组中的FIFO检测完(11、12、13、14、15)。对于第二FIFO组的检测也是按照同样的方式进行的,直至完成所有FIFO组中FIFO检测。
以第一FIFO组中的FIFO(编号12)为例来说明检测其中某个FIFO的地址是否存在地址不同步的具体过程:当检测到该FIFO时,获取所有FIFO当前时刻的读地址或者写地址,即获取10个FIFO当前时刻的读或写地址;然后根据编号获取该FIFO所在FIFO组的第一个FIFO当前时刻的地址,获取由于各FIFO编号已知,确定编号为11的FIFO为第一FIFO组中第一个FIFO,编号11的FIFO的读或写地址即为当前检测FIFO所在FIFO组的第一个FIFO当前时刻的读或写地址;接着将当前检测的FIFO即编号为12的FIFO的读或写地址与编号为11的FIFO的读或写地址进行比较,若相同,则说明当前检测的FIFO不存在地址不同步,若不同,则说明当前检测的FIFO存在地址不同步。
当编号为12的FIFO存在读或写地址不同步时,将其余九个FIFO的编号与当前检测的FIFO的编号比较,若第一位编号相同则说明是与该FIFO属于同一组,通过比较得出,编号为11、13、14、15的FIFO是与编号为12的FIFO属于第一FIFO组,此时,对第一FIFO组中所有的FIFO同时进行同步复位。
应当理解的是:FIFO组中第一FIFO的地址不仅限与上述采用标识的方式获取,也可以是在检测过程中,当检测到FIFO组中第一FIFO时就记录下来,用来为后续的FIFO地址同步判断提供依据。
为了能够防止检测时FIFO的地址跳变导致不能精确地检测各FIFO的地址不同步,本实施例的方法在获取FIFO的地址之前还包括:锁存所有FIFO当前的地址;例如,向所有FIFO发出地址锁存信号。FIFO在接到这个信号后,将当前的地址锁存到缓存上,这个地址保持不变。
本实施例异常处理方法还可以包括:对各个FIFO进行读写使能的初始化处理;
此时获取当前时刻所有FIFO的地址之前还可以包括:检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址,如果未完成则对下一个FIFO进行异常检测。
一般地,对于FIFO是有读写使能信号控制FIFO的读写的,本实施例方法可以配置信息控制各FIFO的读写使能,实现相应数据处理的功能。当FIFO复位后,可以对FIFO读写使能进行初始化处理,当FIFO初始化完成则将初始化完成标志initial_ok置0,表示FIFO还未完成初始化,当FIFO中的数据量增加到FIFO深度的一半的时候,FIFO的初始化完成,initial_ok置1。
如图2所示,下面通过检测FIFO地址来详细说明本实施例的异常处理方法的过程,具体的步骤包括:
步骤201:检测当前FIFO初始化是否完成,若是,则执行步骤202;若否,则执行步骤206。
针对多个FIFO组,可以从第一个FIFO开始检测,可以给每个FIFO进行编号,当检测完一个编号加1,进入下个FIFO的检测。
步骤202:向所有FIFO发出地址锁存信号将各FIFO当前的地址进行锁存。
步骤203:读取当前FIFO的读地址和该FIFO所在FIFO组的第一个FIFO的读地址。
步骤204:比较两个地址,如果不同,则进入步骤205,如果相同,则进入206。
步骤205:找出与当前FIFO在同一个FIFO组的所有FIFO,产生同组FIFO复位信号对与该FIFO所在FIFO组中所有的FIFO同时进行复位。
步骤206:进入下一个FIFO的地址检测,返回步骤201开始检测初始化是否完成。
本实施例的检测过程中当某个FIFO组中FIFO的一个地址检测完毕后还可以包括读写地址检测转换,即当FIFO组读或写地址检测完毕后,继续检测该FIFO组的写或读地址是否同步,完成该FIFO组读写地址的检测。
本实施例的方法可以实现多路同组FIFO的地址检测以及同组FIFO的复位,并且能够对同组FIFO的读地址和写地址进行轮询检测。通过软件设置各个FIFO的ctrl_fifo_num值,还可实现多路同组FIFO灵活配置。
实施例二:
如图3所示,本实施例提供了一种FIFO异常处理装置,包括:检测模块和同步复位模块;
所述检测模块用于在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;
所述同步复位模块用于当所述检测模块检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
优先地,所述异常检测包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。
优先地,所述检测模块用于检测检测FIFO是否存在地址不同步的过程包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
所述同步复位模块用于获取与该异常FIFO同组的所有FIFO,对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
如图4所示,所述装置还包括配置模块;
所述配置模块用于在对各个FIFO组中的FIFO进行异常检测之前,配置各个FIFO组中FIFO的控制标识信息;
所述检测模块用于根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测,在异常检测过程中,根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
所述同步复位模块用于根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
优先地,所述检测模块还用于在获取当前时刻所有FIFO的地址之前锁存所有FIFO当前时刻的地址。
优先地,如图5所示,所述装置还包括:初始化处理模块;
所述初始化处理模块用于对各个FIFO进行读写使能的初始化处理;
所述检测模块还用于在获取当前时刻所有FIFO的地址之前检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
本实施例的异常处理装置,可以对多组FIFO进行异常检测,并且在发现异常时进行同组FIFO的复位。
实施例三:
本实施例将以一种FIFO地址异常处理系统来详细介绍本发明的异常处理方法,如图6所示,该系统包括:FIFO组、状态控制模块、地址检测模块、同组FIFO复位模块以及CPU配置模块;
FIFO组:实现相应功能的数据缓存模块组,由N个FIFO构成;每个FIFO需要根据读写使能分别产生自增的读写地址,然后根据地址给出对应FIFO的空满状态指示,以及上下水线位置指示。
状态控制模块:根据软件下达的FIFO配置信息控制各组FIFO的读写使能,实现相应数据处理功能。当同组FIFO复位以后,状态控制模块还负责各组FIFO读写使能的初始化处理。复位后,初始化完成标志initial_ok置0,表示FIFO还未完成初始化,当FIFO中的数据量增加到FIFO深度的一半的时候,FIFO的初始化完成,initial_ok置1;
地址检测模块:每隔一特定时间对同组FIFO内的各个FIFO进行地址校验,如果地址不相同,则报错。此模块可以轮换检测同组FIFO内的读地址或者写地址,此地址检测由一个状态机来控制过程,具体的地址同步检测,参考实施例一中检测过程。如7所示的表,此状态机一共有9个状态:
同组FIFO复位模块:本模块收到地址检测模块送来的FIFO的同步错误信号时,同组FIFO复位模块会读出此FIFO的(控制FIFO编号值)ctrl_fifo_num值,然后找出ctrl_fifo_num值相同的所有的FIFO,产生同组FIFO复位信号;同组FIFO复位模块接收到FIFO空满标志信号和软件复位命令时,也将产生组内所有FIFO的同步复位信息。
CPU配置模块:为地址检测模块和同组FIFO复位模块配置每个FIFO的标志信息,即控制FIFO编号(ctrl_fifo_num)。如果FIFO的标志信息一致则视为同组FIFO。地址检测模块根据控制FIFO编号(ctrl_fifo_num)按组轮询检测每组FIFO读写地址,如果出现错误,会把结果送入同组FIFO复位模块,同组FIFO复位模块也会根据ctrl_fifo_num值输出同组FIFO复位信号。CPU配置模块还要配置状态控制模块,状态控制模块根据配置信息来控制每个FIFO的读写使能情况实现相应的数据处理功能。
系统上电后,所有FIFO初始化完毕之后,如果其中FIFO组中某个FIFO存在问题时:比如FIFO空满异常或地址出现不同步,将会触发同组FIFO复位模块将异常FIFO的标示信息(控制FIFO编号)与所有FIFO的标示信息(控制FIFO编号)比较,如果相同,则执行此组FIFO同步复位。
其中地址检测模块的检测流程如图8所示:
系统上电复位后,进入IDLE状态,将fifo num(FIFO编号,与FIFO组中FIFO个数对应)当前处理FIFO编号初始化为1,即从第1个FIFO开始地址监测,进入FIFO_INITIAL_DETECT检测状态,检测当前FIFO初始化是否完成。如果没有完成,跳入FIFO_NUM_ADDER状态。如果初始化已经完成,说明FIFO进入正常工作状态,转入RD_CTRL_NUM状态。在这个状态中,读取当前处理FIFO对应的控制FIFO编号,进入ADDR_LATCH状态,向所有FIFO发出地址锁存信号。FIFO在接到这个信号后,将当前的地址锁存到fifo_addr_mon上,这个地址保持不变,然后依次进入RD_ADDR_PROC_FIFO和RD_ADDR_CTRL_FIFO状态,分别读取当前处理FIFO的监测地址以及该FIFO所在FIFO组中第一个FIFO的监测地址,(监测地址可以为读地址或写地址)。接着状态机转入ADDR_XOR状态,比较两个地址。如果地址不同,需要向当前FIFO提供sync_fifo_error指示,指示当前处理FIFO地址异常,该组FIFO需要复位,并且跳到IDLE状态;如果地址相同,则进入FIFO_NUM_ADDER轮询当前处理FIFO状态,将当前处理FIFO编号加1。在FIFO_NUM_ADDER状态如果fifo_num不大于N,那么进入RD_CTRL_NUM状态,读取下一个编号FIFO的ctrl_num;如果fifo_num大于N,说明1~N个FIFO的地址都已监测完毕,进入WR_RD_ADDR_SWITCH状态,进行读写地址标志的转换,输出转换标识;如果FIFO原来输出的监测地址是读地址,那么在接收到转换标识后,应该输出写地址,那么FIFO的输出地址将为读地址(写地址),这样通过两个这样的监测过程,就完成了FIFO读写地址的监测。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种FIFO异常处理方法,其特征在于,包括如下步骤:
在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测,所述异常检测包括确定FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态;
当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
2.如权利要求1所述的FIFO异常处理方法,其特征在于,所述检测FIFO是否存在地址不同步的过程包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
所述对异常FIFO所在的FIFO组进行同步复位的过程包括:
获取与该异常FIFO同组的所有FIFO;
对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
3.如权利要求2所述的FIFO异常处理方法,其特征在于,在对各个FIFO组中的FIFO进行异常检测之前还包括:配置各个FIFO组中FIFO的控制标识信息;
所述对各个FIFO组中的FIFO进行异常检测步骤包括:
根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测;
所述获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址的步骤包括:
根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
所述获取与该异常FIFO同组的所有FIFO的步骤包括:
根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
4.如权利要求2或3所述的FIFO异常处理方法,其特征在于,在获取当前时刻所有FIFO的地址之前还包括:锁存所有FIFO当前时刻的地址。
5.如权利要求2或3所述的FIFO异常处理方法,其特征在于,还包括:对各个FIFO进行读写使能的初始化处理;
在获取当前时刻所有FIFO的地址之前还包括:
检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
6.一种FIFO异常处理装置,其特征在于,包括:检测模块和同步复位模块;
所述检测模块用于在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测,所述异常检测包括确定FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态;
所述同步复位模块用于当所述检测模块检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
7.如权利要求6所述的FIFO异常处理装置,其特征在于,所述检测模块用于检测检测FIFO是否存在地址不同步的过程包括:
在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
所述同步复位模块用于获取与该异常FIFO同组的所有FIFO,对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
8.如权利要求7所述的FIFO异常处理装置,其特征在于,还包括配置模块;
所述配置模块用于在对各个FIFO组中的FIFO进行异常检测之前,配置各个FIFO组中FIFO的控制标识信息;
所述检测模块用于根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测,在异常检测过程中,根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
所述同步复位模块用于根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
9.如权利要求7或8所述的FIFO异常处理装置,其特征在于,所述检测模块还用于在获取当前时刻所有FIFO的地址之前锁存所有FIFO当前时刻的地址。
10.如权利要求7或8所述的FIFO异常处理装置,其特征在于,还包括:初始化处理模块;
所述初始化处理模块用于对各个FIFO进行读写使能的初始化处理;
所述检测模块还用于在获取当前时刻所有FIFO的地址之前检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
CN201410036556.6A 2014-01-24 2014-01-24 一种fifo异常处理方法及装置 Active CN104809038B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410036556.6A CN104809038B (zh) 2014-01-24 2014-01-24 一种fifo异常处理方法及装置
PCT/CN2014/082651 WO2015109787A1 (zh) 2014-01-24 2014-07-21 一种fifo异常处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410036556.6A CN104809038B (zh) 2014-01-24 2014-01-24 一种fifo异常处理方法及装置

Publications (2)

Publication Number Publication Date
CN104809038A CN104809038A (zh) 2015-07-29
CN104809038B true CN104809038B (zh) 2020-03-17

Family

ID=53680752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410036556.6A Active CN104809038B (zh) 2014-01-24 2014-01-24 一种fifo异常处理方法及装置

Country Status (2)

Country Link
CN (1) CN104809038B (zh)
WO (1) WO2015109787A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207907A (zh) * 2015-08-14 2015-12-30 浪潮集团有限公司 一种控制数据转发的方法和装置
CN111400205B (zh) * 2020-02-29 2022-05-24 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61248141A (ja) * 1985-04-26 1986-11-05 Matsushita Electric Ind Co Ltd Fifo自己診断装置
US5982681A (en) * 1997-10-10 1999-11-09 Lsi Logic Corporation Reconfigurable built-in self test circuit
KR100460496B1 (ko) * 2000-12-21 2004-12-08 엘지전자 주식회사 에이티엠 교환기 가입자 장치에서 비정상적 제어셀 복구장치 및 방법
US7656982B2 (en) * 2003-05-16 2010-02-02 Thomson Licensing DSP-based data recovery
US7093061B2 (en) * 2004-02-19 2006-08-15 Avago Technologies Fiber Ip (Singapore) Pte. Ltd. FIFO module, deskew circuit and rate matching circuit having the same
US8559576B2 (en) * 2008-06-30 2013-10-15 Oracle America, Inc. Adaptive synchronization circuit
CN101546279A (zh) * 2009-05-14 2009-09-30 华为技术有限公司 嵌入式设备的异常处理装置、系统和方法
CN101931832B (zh) * 2009-06-26 2013-01-16 中兴通讯股份有限公司 一种光通路数据单元的映射方法及装置
CN102866874B (zh) * 2012-08-29 2014-12-24 哈尔滨工业大学 通用异步fifo模块存储方法

Also Published As

Publication number Publication date
WO2015109787A1 (zh) 2015-07-30
CN104809038A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
JP4885316B2 (ja) 試験装置および試験方法
US10013581B2 (en) Detection of fault injection attacks
CN111414268B (zh) 故障处理方法、装置及服务器
US7930165B2 (en) Procedure and device for emulating a programmable unit providing system integrity control
US20090217105A1 (en) Debug device for embedded systems and method thereof
CN103810440B (zh) 存取系统及方法
CN104809038B (zh) 一种fifo异常处理方法及装置
JPWO2008053709A1 (ja) 半導体集積回路選別試験装置および方法
EP3961403A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN102541705B (zh) 计算机的测试方法和工装板
JP5545771B2 (ja) 診断装置、診断方法および診断プログラム診断方法
US9288161B2 (en) Verifying the functionality of an integrated circuit
JP2008084080A (ja) 障害情報格納システム、サービスプロセッサ、障害情報格納方法、及びプログラム
US11113099B2 (en) Method and apparatus for protecting a program counter structure of a processor system and for monitoring the handling of an interrupt request
US10846162B2 (en) Secure forking of error telemetry data to independent processing units
CN110399258B (zh) 一种服务器系统的稳定性测试方法、系统及装置
CN109710476B (zh) 一种系统接口健壮性测试方法和装置
JP6133614B2 (ja) 障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラム
JP2018136882A (ja) 情報処理装置、情報処理システム及び情報処理装置制御方法
JP6217086B2 (ja) 情報処理装置、エラー検出機能診断方法およびコンピュータプログラム
CN117873797B (zh) 数字电路芯片故障确认方法及相关装置
US20160378096A1 (en) Numerical controller and numerical control system in which the controller is connected by network
CN111124885B (zh) 一种白牌交换机测试方法与装置
CN107480057B (zh) 一种在ICE中实现Call Stack功能的方法
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection

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