一种fifo异常处理方法及装置的制造方法

文档序号:8487705阅读:690来源:国知局
一种fifo异常处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及存储器领域,尤其涉及一种FIFO异常处理方法及装置。
【背景技术】
[0002]随着新技术的演进和发展,相关业务的处理速率变得越来越高,芯片内部所使用的FIFO (First Input First Output,先进先出寄存器)数量越来越多,以往使用单个FIFO来处理的模式已经不能满足现代数据业务处理的需求,这种情况下,我们往往需要使用一组或者多组FIFO来同时处理相关业务,例如在存在多个FIFO时,一般地,技术人员会对多个FIFO分组,采用多个FIFO组来处理相关业务。而伴随使用多组FIFO处理相关业务时,FIFO组内的某个FIFO存在异常时,比如一定概率出现比如偶发性空满、同组FIFO读写地址不同步,由于各个FIFO的地址都是独立控制的,采用单独对异常FIFO进行同步复位,也不能保证同组FIFO中数据传输的正确,现有技术中并没有有效的对多个FIFO组进行异常检测的方法。

【发明内容】

[0003]本发明要解决的主要技术问题是,提供一种FIFO异常处理方法及装置,能够对多个FIFO组进行有效的异常检测,保证各个FIFO数据传输的正确性。
[0004]为解决上述技术问题,本发明提供一种FIFO异常处理方法,其特征在于,包括如下步骤:
[0005]在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;
[0006]当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
[0007]进一步地,所述异常检测包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。
[0008]进一步地,所述检测FIFO是否存在地址不同步的过程包括:
[0009]在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
[0010]获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
[0011]比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
[0012]所述对异常FIFO所在的FIFO组进行同步复位的过程包括:
[0013]获取与该异常FIFO同组的所有FIFO ;
[0014]对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
[0015]进一步地,所述方法在对各个FIFO组中的FIFO进行异常检测之前还包括:配置各个FIFO组中FIFO的控制标识信息;
[0016]所述对各个FIFO组中的FIFO进行异常检测步骤包括:
[0017]根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测;
[0018]所述获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址的步骤包括:
[0019]根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
[0020]所述获取与该异常FIFO同组的所有FIFO的步骤包括:
[0021]根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
[0022]进一步地,所述方法在获取当前时刻所有FIFO的地址之前还包括:锁存所有FIFO当前时刻的地址
[0023]进一步地,所述方法还包括:对各个FIFO进行读写使能的初始化处理;
[0024]所述方法在获取当前时刻所有FIFO的地址之前还包括:
[0025]检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
[0026]同样为了解决上述的技术问题,本发明还提供了一种FIFO异常处理装置,包括:检测模块和同步复位模块;
[0027]所述检测模块用于在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;
[0028]所述同步复位模块用于当所述检测模块检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
[0029]进一步地,所述异常检测包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。
[0030]进一步地,所述检测模块用于检测检测FIFO是否存在地址不同步的过程包括:
[0031]在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
[0032]获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
[0033]比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
[0034]所述同步复位模块用于获取与该异常FIFO同组的所有FIF0,对该异常FIFO所在FIFO组中所有FIFO同时进行同步复位。
[0035]进一步地,所述装置还包括配置模块;
[0036]所述配置模块用于在对各个FIFO组中的FIFO进行异常检测之前,配置各个FIFO组中FIFO的控制标识信息;
[0037]所述检测模块用于根据所述控制标识信息对同一个FIFO组中的FIFO进行异常检测,在异常检测过程中,根据所述控制标识信息获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
[0038]所述同步复位模块用于根据所述控制标识信息获取与该异常FIFO同组的所有FIFO。
[0039]进一步地,所述检测模块还用于在获取当前时刻所有FIFO的地址之前锁存所有FIFO当前时刻的地址。
[0040]进一步地,所述装置还包括:初始化处理模块;
[0041]所述初始化处理模块用于对各个FIFO进行读写使能的初始化处理;
[0042]所述检测模块还用于在获取当前时刻所有FIFO的地址之前检测当前FIFO的初始化是否已经完成,若完成,则获取当前时刻所有FIFO的地址。
[0043]本发明的有益效果是:
[0044]本发明提供了一种FIFO异常处理方法及装置可以对多个FIFO组进行有效的异常检测,保证各个FIFO数据传输的正确性。具体地,本发明的异常处理方法包括:在至少一个FIFO组的工作过程中,对各个FIFO组中的FIFO进行异常检测;当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位;本发明的方法可以对每个FIFO组中所有的FIFO进行实时异常检测,当发现有FIFO存在异常时,对该异常FIFO所在的FIFO组进行同步复位,即对该FIFO组内所有的FIFO同步复位,这样保证了该FIFO组传输数据的正确性,与现有技术相比,本发明的方法可以实现多个FIFO组的异常检测和同步复位,从而保证同组FIFO数据传输的正确性。
【附图说明】
[0045]图1本发明实施例一提供的一种FIFO异常处理方法的流程示意图;
[0046]图2为本发明实施例一提供的另一种FIFO异常处理方法的流程示意图;
[0047]图3为本发明实施例二提供的第一种FIFO异常处理装置的结构示意图;
[0048]图4为本发明实施例二提供的第二种FIFO异常处理装置的结构示意图;
[0049]图5为本发明实施例二提供的第三种FIFO异常处理装置的结构示意图;
[0050]图6为本发明实施例三提供的一种FIFO异常处理系统的结构示意图;
[0051]图7为本发明实施例三提供的状态机九种状态的表格;
[0052]图8为本发明实施例收纳提供的一种地址检测模块检测FIFO异常的流程示意图。
【具体实施方式】
[0053]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0054]实施例一:
[0055]如图1所示,本实施例提供了一种FIFO异常处理方法,具体包括如下步骤:
[0056]步骤101:在至少一个FIFO组的工作过程中,各个FIFO组中的FIFO进行异常检测。
[0057]本实施例方法适用于一组或者多组FIF0,其可以对所有FIFO进行检测,例如可以轮询检测所有FIFO组中的FIFO进行异常检测。
[0058]本实施例方法可以是在对多个FIFO进行分组后,对FIFO组中FIFO进行异常检测。
[0059]本实施例方法中异常检测的内容可以包括:检测FIFO是否存在地址不同步,或者检测FIFO是否出现空或满状态。例如可以检测:FIF0偶发性空满、FIFO读写地址是否同步以及其他FIFO可能出现的异常情况。
[0060]步骤102:当检测到FIFO存在异常时,对异常FIFO所在的FIFO组进行同步复位。
[0061]本实施例对异常FIFO所在的FIFO组进行同步复位具体为:对与异常FIFO在同一组的所有FIFO以及异常FIFO本身进行同步复位。
[0062]以下以异常检测包括:检测FIFO是否存在地址不同步为例来说明本实施例的方法,具体地,本实施例方法中检测FIFO是否存在地址不同步的过程可以包括:
[0063]在对当前FIFO进行检测时,获取当前时刻所有FIFO的地址;
[0064]获取当前FIFO所在FIFO组的第一个FIFO当前时刻的地址;
[0065]比较当前FIFO的地址与所述第一个FIFO当前时刻的地址,如果不同,则该FIFO存在地址不同步;
[0066]此时,本实施例方法中对异常FIFO所在的FIFO组进行同步复位的过程可以包括:
[0067]获取与该异
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1