异步FIFO的空满工作状态识别方法、装置及可读存储介质与流程

文档序号:24192966发布日期:2021-03-09 15:46阅读:619来源:国知局
异步FIFO的空满工作状态识别方法、装置及可读存储介质与流程
异步fifo的空满工作状态识别方法、装置及可读存储介质
技术领域
1.本申请涉及电路设计技术领域,特别是涉及一种异步fifo的空满工作状态识别方法、装置及计算机可读存储介质。


背景技术:

2.fifo(first in first out,先入先出队列)电路是一种能够实现数据先入先出的存储器器件,通常用作数据缓冲器。多时钟域系统下工作的fifo器件被称为异步fifo,异步fifo可以很好地解决多时钟域系统下数据的输入和输出数据难以匹配的问题。因此常被用来作为多时钟域系统下存储、缓冲在两个异步时钟域之间的数据传输,并作为异步时钟域之间的可靠接口,在大规模集成电路设计中有着广泛的应用。
3.异步fifo的标准结构包括存储模块、写指针产生模块、读指针产生模块,状态位产生模块和指针比较模块,如图1所示为异步fifo的结构框架示意图。如图1所示,存储模块为数据存储的主体模块,根据不同的存储需求有不同的存储容量。存储模块基于写指针控制数据输入到不同的存储位置,通过读指针控制不同位置的数据被输出。写指针产生模块,通过写时钟域的写时钟控制,根据存储模块的深度,产生针对不同位的写指针,指示写数据输入。当状态位产生的满状态指示为有效时,写指针产生模块应该暂停工作,不再写入。读指针产生模块,通过读时钟域的读时钟控制,根据存储模块的深度,产生针对不同位的读指针,指示数据读出。当状态位产生的空状态指示为有效时,读指针产生模块应该暂停工作,不再读出。指针比较模块和状态位产生模块的逻辑相互依赖,通过相应的算法比较读指针和写指针状态,产生不同的状态位,输出空状态有效位或满状态有效位。
4.指针比较模块的算法有多种形式,常用的以格雷码表示读写指针,进行比较与计算,这种方法在异步fifo的实现中便于读写指针的相互同步。常见的避免空满状态产生的错误问题的方法是改变空满状态的定义,即在空满状态下额外预留一个有效单元,当空或满状态的判断并未真正空或满,而是达到预留有效单元即会空或满时,就判定为空或满。然而这样的方式虽然能够避免空满状态产生的错误,但是会造成一个有效单元未被读取或写入,需要额外的检测机制逻辑来修复,造成更大的额外开销。


技术实现要素:

5.本申请提供了一种异步fifo的空满工作状态识别方法、装置及计算机可读存储介质,不仅可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,还不会增加系统开销。
6.为解决上述技术问题,本发明实施例提供以下技术方案:
7.本发明实施例一方面提供了一种异步fifo的空满工作状态识别方法,包括:
8.预先基于读写指针所在时钟域的实际时钟频率,读写指针产生方式所对应的已读位和未达到存储位宽时的状态定义将满状态和将空状态;所述将满状态用于指示异步fifo将处于工作满状态,所述将空状态用于指示所述异步fifo将处于工作空状态;
9.计算所述异步fifo中的剩余读取位或剩余可写位;
10.若所述异步fifo中的剩余读取位小于等于预设阈值且大于0,生成所述异步fifo的工作状态为将空状态的信息;
11.若所述异步fifo中的剩余可写位不大于所述预设阈值且大于0,生成所述异步fifo的工作状态为将满状态的信息。
12.可选的,所述预先基于读写指针所在时钟域的实际时钟频率,读写指针产生方式所对应的已读位和未达到存储位宽时的状态定义将满状态和将空状态包括:
13.当且仅当写指针所在时钟域的实际时钟频率高于读指针所在时钟域的时钟频率,写指针产生方式所对应的已写位大于读指针所对应的已读位,且未达到存储位宽时的状态定义为所述将空状态;
14.当且仅当读指针所在时钟域的实际时钟频率高于写指针所在时钟域的实际时钟频率,读指针产生方式所对应的已读位大于写指针所对应的已写位,且未达到存储位宽时的状态定义为所述将满状态。
15.可选的,所述实际时钟频率的计算过程包括:
16.若在传播过程中每隔a个空周期,发生一次有效时钟信号,所述实际时钟频率f
t
为f
t
=f/(1+a);f为时钟频率;
17.若周期性的传播中有效传播占总周期的比例为b,所述实际时钟频率f
t
为f
t
=f
×
b;f为时钟频率;
18.若在传播过程中时钟有效的使能信号占整个传输的时间比重为c,所述实际时钟频率f
t
为f
t
=f
×
c;f为时钟频率。
19.可选的,所述实际时钟频率的计算过程包括:
20.若在传播过程中每隔a个空周期发生一次有效时钟信号,同时周期性的传播中有效传播占总周期的比例为b,所述实际时钟频率基于a和1/b的最小公倍数、所述时钟频率计算得到;
21.若在传播过程中每隔a个空周期发生一次有效时钟信号,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,所述实际时钟频率a和1/c的最小公倍数、所述时钟频率计算得到;
22.若周期性的传播中有效传播占总周期的比例为b,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,所述实际时钟频率基于b和c的最小公倍数、所述时钟频率计算得到;
23.若在传播过程中每隔a个空周期发生一次有效时钟信号、同时周期性的传播中有效传播占总周期的比例为b、且传播过程中时钟有效的使能信号占整个传输的时间比重为c,所述实际时钟频率基于a、1/b和1/c的最小公倍数、所述时钟频率计算。
24.可选的,所述若所述异步fifo中的剩余读取位小于等于预设阈值且大于0之前,还包括:
25.计算异步时钟域的高时钟频率和低时钟频率的实际时钟频率;
26.根据所述高时钟频率及其实际时钟频率、所述低时钟频率的实际时钟频率、降级亚稳态影响使用的同步寄存器数量计算所述预设阈值。
27.可选的,所述根据所述高时钟频率及其实际时钟频率、所述低时钟频率的实际时
钟频率、降级亚稳态影响使用的同步寄存器数量计算所述预设阈值包括:
28.调用阈值计算关系式计算所述预设阈值,所述阈值计算关系式为:
[0029][0030]
式中,th为所述预设阈值,ceil表示向上取整,f
tf
为所述高时钟频率的实际时钟频率,f
f
为所述高时钟频率,f
ts
为所述低时钟频率的实际时钟频率,rt为降级亚稳态影响使用的同步寄存器数量。
[0031]
本发明实施例另一方面提供了一种异步fifo的空满工作状态识别装置,包括:
[0032]
状态自定义模块,用于预先基于读写指针所在时钟域的实际时钟频率,读写指针产生方式所对应的已读位和未达到存储位宽时的状态定义将满状态和将空状态;所述将满状态用于指示异步fifo将处于工作满状态,所述将空状态用于指示所述异步fifo将处于工作空状态;
[0033]
计算模块,用于计算所述异步fifo中的剩余读取位或剩余可写位;
[0034]
状态指示信息生成模块,用于若所述异步fifo中的剩余读取位小于等于预设阈值且大于0,生成所述异步fifo的工作状态为将空状态的信息;若所述异步fifo中的剩余可写位不大于所述预设阈值且大于0,生成所述异步fifo的工作状态为将满状态的信息。
[0035]
可选的,所述状态自定义模块包括:
[0036]
将空状态定义子模块,用于当且仅当写指针所在时钟域的实际时钟频率高于读指针所在时钟域的时钟频率,写指针产生方式所对应的已写位大于读指针所对应的已读位,且未达到存储位宽时的状态定义为所述将空状态;
[0037]
将满状态定义子模块,用于当且仅当读指针所在时钟域的实际时钟频率高于写指针所在时钟域的实际时钟频率,读指针产生方式所对应的已读位大于写指针所对应的已写位,且未达到存储位宽时的状态定义为所述将满状态。
[0038]
本发明实施例还提供了一种异步fifo的空满工作状态识别装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述异步fifo的空满工作状态识别方法的步骤。
[0039]
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有异步fifo的空满工作状态识别程序,所述异步fifo的空满工作状态识别程序被处理器执行时实现如前任一项所述异步fifo的空满工作状态识别方法的步骤。
[0040]
本申请提供的技术方案的优点在于,预先定义异步fifo即将达到空工作状态和满工作状态的两种状态,通过计算异步fifo中的剩余读取位和剩余可写位并比较其与预设阈值之间的数值关系来实时判断异步fifo是将空还是将满,从而可准确判断异步fifo当前工作状态是否达到空满状态,进而可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,提高资源利用率和电路稳定性,整个实现过程简洁、可靠和高效,还不会增加系统开销。根据所得到的将空和将满状态,除了能够保护fifo的正确工作外,还能达到电路性能的最大利用率,结合本身fifo的指针产生方式所需增加的逻辑达到了最小化。
[0041]
此外,本发明实施例还针对异步fifo的空满工作状态识别方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读
存储介质具有相应的优点。
[0042]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
[0043]
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]
图1为本发明实施例提供的异步fifo的标准结构框架示意图;
[0045]
图2为本发明实施例提供的一种异步fifo的空满工作状态识别方法的流程示意图;
[0046]
图3为本发明实施例提供的异步fifo的结构框架示意图;
[0047]
图4为本发明实施例提供的图3的指针比较模块的逻辑实现示意图;
[0048]
图5为本发明实施例提供的异步fifo的空满工作状态识别装置的一种具体实施方式结构图;
[0049]
图6为本发明实施例提供的异步fifo的空满工作状态识别装置的另一种具体实施方式结构图。
具体实施方式
[0050]
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
[0052]
常见的异步电路工作中,为了判断异步fifo的工作状态为空满或将空将满,需要对其fifo的读写状态进行统计,设置触发的阈值,当发生空满或将空将满的状态,触发发送error等信息以终止工作。本申请通过判断将空将满,并利用状态机自动化实行针对性处理,来避免进入空满状态,满足电路正常工作的需求。下面详细的说明本申请的各种非限制性实施方式。
[0053]
首先参见图2,图2为本发明实施例提供的一种异步fifo的空满工作状态识别方法的流程示意图,本发明实施例可包括以下内容:
[0054]
s201:预先基于读写指针所在时钟域的实际时钟频率,读写指针产生方式所对应的已读位和未达到存储位宽时的状态定义将满状态和将空状态。
[0055]
在本步骤中,将满状态可用于指示异步fifo将处于工作满状态,将空状态可用于指示异步fifo将处于工作空状态。也就是说,若异步fifo在处于将满状态时,就表明异步
fifo马上就要进入满工作状态,这时可以采取一些措施使异步fifo避免进入满状态。若异步fifo在处于将空态时,就表明异步fifo马上就要进入空工作状态,这时可以采取一些措施使异步fifo避免进入空状态。将满状态的产生基于不同的读写指针产生方式,会有不同的判断方式,但判断定义都相同。将空状态的定义可为:当且仅当读指针所在时钟域的实际时钟频率高于写指针所在时钟域的实际时钟频率,读指针产生方式所对应的已读位大于写指针所对应的已写位,且未达到存储位宽时的状态定义。将满状态的定义可为:当且仅当写指针所在时钟域的实际时钟频率高于读指针所在时钟域的时钟频率,写指针产生方式所对应的已写位大于读指针所对应的已读位,且未达到存储位宽时的状态。
[0056]
s202:计算异步fifo中的剩余读取位或剩余可写位。
[0057]
可以理解的是,将空状态或将满的状态都针对于异步时钟域下的快时钟域所做的工作,以写时钟频率高于读时钟频率为例,此时只会出现将满的状态。相反,当读时钟频率高于写时钟频率时,只会出现将空状态。换句话说,本步骤中要么计算得到的剩余读取位要么计算得到的剩余可写位。将空状态和将满状态判断需要考虑一个阈值,不同系统工作情况下,当读指针或写指针判断的异步fifo剩余可读或可写位置小于或等于,且未到达空或者满状态时,判断为将空或将满状态。所属领域技术人员可根据实际应用场景预先设置阈值,也可在s203和s204步骤之前计算该阈值,这均不影响本申请的实现。
[0058]
s203:若异步fifo中的剩余读取位小于等于预设阈值且大于0,生成异步fifo的工作状态为将空状态的信息。
[0059]
s204:若异步fifo中的剩余可写位不大于预设阈值且大于0,生成异步fifo的工作状态为将满状态的信息。
[0060]
在s202通过例如格雷码的运算或其他方式计算得到异步fifo中的剩余读取位或剩余可写位后,基于其与预设阈值之间的数值关系可知异步fifo可将处于将空状态还是将满状态,可预先设置一个置位信号,若异步fifo中的剩余读取位小于等于预设阈值且大于0,生成异步fifo的工作状态为将空状态的置位信号,异步fifo将空置位有效,异步fifo进入将空状态;若异步fifo中的剩余可写位不大于预设阈值且大于0,生成异步fifo的工作状态为将满状态的置位信号,异步fifo将满置位有效,异步fifo进入将满状态。
[0061]
在本发明实施例提供的技术方案中,预先定义异步fifo即将达到空工作状态和满工作状态的两种状态,通过计算异步fifo中的剩余读取位和剩余可写位并比较其与预设阈值之间的数值关系来实时判断异步fifo是将空还是将满,从而可准确判断异步fifo的工作空满状态,进而可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,提高资源利用率和电路稳定性,整个实现过程简洁、可靠和高效,还不会增加系统开销。根据所得到的将空和将满状态,除了能够保护fifo的正确工作外,还能达到电路性能的最大利用率,结合本身fifo的指针产生方式所需增加的逻辑达到了最小化。
[0062]
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
[0063]
可以理解的是,将满将空状态是基于异步时钟域中的实际时钟频率来定义的,本申请还提供了实际时钟频率的一种计算方法,若时钟频率为f,此处的时钟频率可为异步时钟域中的高时钟频率,也可为异步时钟域中的高时钟频率,时钟频率的实际时钟频率的计
算过程可包括:
[0064]
a:若在传播过程中每隔a个空周期,发生一次有效时钟信号,则实际时钟频率f
t
可根据计算关系式f
t
=f/(1+a)计算得到。
[0065]
b:若周期性的传播中有效传播占总周期的比例为b,实际时钟频率f
t
可根据计算关系式f
t
=f
×
b计算得到。
[0066]
c:若在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率f
t
可根据计算关系式f
t
=f
×
c计算得到。
[0067]
不可避免的,上述几种情况可能同时均存在或是部分存在,或是传播没有任何规律,对于这两种情况,本申请同样提供了相应的计算方式:
[0068]
对于同时存在部分或全部情况的应用场景,可取所存在情况的最小公倍数作为参数进行计算。其中b和c参数值为取其值-1幂作为最小公倍数的参数来计算。例如,当同时存在a和b的情况时,若a和1/b的最小公倍数为x,此时的实际时钟频率ft为f
t
=f/x。具体来说:
[0069]
若在传播过程中每隔a个空周期发生一次有效时钟信号,同时周期性的传播中有效传播占总周期的比例为b,实际时钟频率基于时钟频率、a和1/b的最小公倍数计算得到;
[0070]
若在传播过程中每隔a个空周期发生一次有效时钟信号,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、a和1/c的最小公倍数计算得到;
[0071]
若周期性的传播中有效传播占总周期的比例为b,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、b和c的最小公倍数计算得到;
[0072]
若在传播过程中每隔a个空周期发生一次有效时钟信号、同时周期性的传播中有效传播占总周期的比例为b、且传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、a、1/b和1/c的最小公倍数计算。
[0073]
而若传播没有任何规律,则考虑最差情况下的时钟频率,并根据最差情况下的时钟频率所对应的实际时钟频率的计算方式来计算。
[0074]
在上述实施例中,对于预设阈值的设置方式并不做限定,本实施例还给出预设阈值的一种计算方式,在比较异步fifo中的剩余读取位或剩余可写与预设阈值的数值关系之前,还可包括:
[0075]
获取异步时钟域的高时钟频率和低时钟频率;
[0076]
例如可根据实际应用场景结合上述实施例所列举的计算方式来计算异步时钟域的高时钟频率和低时钟频率的实际时钟频率。
[0077]
根据高时钟频率及其实际时钟频率、低时钟频率的实际时钟频率、降级亚稳态影响使用的同步寄存器数量计算预设阈值。其中,本步骤可通过直接调用封装好的功能模块来计算,该功能模块中封装有阈值计算关系式,通过调用阈值计算关系式计算得到预设阈值,阈值计算关系式可表示为:
[0078]
[0079]
式中,th为预设阈值,ceil表示向上取整,f
tf
为高时钟频率的实际时钟频率,f
f
为高时钟频率,f
ts
为低时钟频率的实际时钟频率,rt为降级亚稳态影响使用的同步寄存器数量。
[0080]
为了使所属领域技术人员更加清楚明白本申请的技术方案,本申请还基于现有技术中所示的异步fifo标准结构,即图1所示结构,提供了一个示意性例子来阐述本申请的技术方案,请参阅图3及图4,可包括:
[0081]
在异步fifo标准结构电路中增加将空将满产生模块,同时修改指针比较模块的实现逻辑,将空将满产生模块和指针比较模块共同完成上述实施例中的技术方案,针对不同状态进行预处理,实现对空满状态的规避功能。将空将满产生模块基于预设阈值确定将空将满状态位的产生激励机制。这里的阈值产生可以完全由所属领域技术人员根据实际应用场景配置获得,或按照算法通过逻辑电路实现动态调整。将空将满状态将在空或满状态产生之前产生,起到预警作用,以实现降低电路出错几率的预调整。所产生的将空或将满状态位分别作用于读指针产生模块和写指针产生模块。进一步的,可将本申请依赖计算机程序实现部分和指针产生模块进行结合,从算法输入初值阶段开始进行优化,已达到运算的分散,对异步fifo电路可具有更好的控制能力。
[0082]
本发明实施例还针对异步fifo的空满工作状态识别方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的异步fifo的空满工作状态识别装置进行介绍,下文描述的异步fifo的空满工作状态识别装置与上文描述的异步fifo的空满工作状态识别方法可相互对应参照。
[0083]
基于功能模块的角度,参见图5,图5为本发明实施例提供的异步fifo的空满工作状态识别装置在一种具体实施方式下的结构图,该装置可包括:
[0084]
状态自定义模块501,用于预先基于读写指针所在时钟域的实际时钟频率,读写指针产生方式所对应的已读位和未达到存储位宽时的状态定义将满状态和将空状态;将满状态用于指示异步fifo将处于工作满状态,将空状态用于指示异步fifo将处于工作空状态。
[0085]
计算模块502,用于计算异步fifo中的剩余读取位或剩余可写位。
[0086]
状态指示信息生成模块503,用于若异步fifo中的剩余读取位小于等于预设阈值且大于0,生成异步fifo的工作状态为将空状态的信息;若异步fifo中的剩余可写位不大于预设阈值且大于0,生成异步fifo的工作状态为将满状态的信息。
[0087]
可选的,在本实施例的一些实施方式中,上述状态自定义模块501可包括:
[0088]
将空状态定义子模块,用于当且仅当写指针所在时钟域的实际时钟频率高于读指针所在时钟域的时钟频率,写指针产生方式所对应的已写位大于读指针所对应的已读位,且未达到存储位宽时的状态定义为将空状态;
[0089]
将满状态定义子模块,用于当且仅当读指针所在时钟域的实际时钟频率高于写指针所在时钟域的实际时钟频率,读指针产生方式所对应的已读位大于写指针所对应的已写位,且未达到存储位宽时的状态定义为将满状态。
[0090]
作为本实施例的一些可选的实施方式,上述状态自定义模块501可以包括实际时钟频率计算子模块,该子模块可用于:
[0091]
若在传播过程中每隔a个空周期,发生一次有效时钟信号,实际时钟频率f
t
为f
t

f/(1+a);f为时钟频率;
[0092]
若周期性的传播中有效传播占总周期的比例为b,实际时钟频率f
t
为f
t
=f
×
b;f为时钟频率;
[0093]
若在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率f
t
为f
t
=f
×
c;f为时钟频率。
[0094]
作为本实施例的另一些可选的实施方式,上述实际时钟频率计算子模块还可用于:
[0095]
若在传播过程中每隔a个空周期发生一次有效时钟信号,同时周期性的传播中有效传播占总周期的比例为b,实际时钟频率基于时钟频率、a和1/b的最小公倍数计算得到;
[0096]
若在传播过程中每隔a个空周期发生一次有效时钟信号,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、a和1/c的最小公倍数计算得到;
[0097]
若周期性的传播中有效传播占总周期的比例为b,同时在传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、b和c的最小公倍数计算得到;
[0098]
若在传播过程中每隔a个空周期发生一次有效时钟信号、同时周期性的传播中有效传播占总周期的比例为b、且传播过程中时钟有效的使能信号占整个传输的时间比重为c,实际时钟频率基于时钟频率、a、1/b和1/c的最小公倍数计算。
[0099]
可选的,在本实施例的一些实施方式中,上述装置还可包括阈值计算模块,阈值计算模块用于计算异步时钟域的高时钟频率和低时钟频率的实际时钟频率;根据高时钟频率及其实际时钟频率、低时钟频率的实际时钟频率、降级亚稳态影响使用的同步寄存器数量计算预设阈值。
[0100]
作为本实施例的一种可选的实施方式,阈值计算模块还可进一步用于调用阈值计算关系式计算预设阈值,阈值计算关系式可表示为:
[0101][0102]
式中,th为预设阈值,ceil表示向上取整,f
tf
为高时钟频率的实际时钟频率,f
f
为高时钟频率,f
ts
为低时钟频率的实际时钟频率,rt为降级亚稳态影响使用的同步寄存器数量。
[0103]
本发明实施例所述异步fifo的空满工作状态识别装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0104]
由上可知,本发明实施例不仅可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,还不会增加系统开销。
[0105]
上文中提到的异步fifo的空满工作状态识别装置是从功能模块的角度描述,进一步的,本申请还提供一种异步fifo的空满工作状态识别装置,是从硬件角度描述。图6为本申请实施例提供的另一种异步fifo的空满工作状态识别装置的结构图。如图6所示,该装置包括存储器60,用于存储计算机程序;处理器61,用于执行计算机程序时实现如上述实施例
提到的异步fifo的空满工作状态识别方法的步骤。
[0106]
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0107]
存储器60可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器60还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器60至少用于存储以下计算机程序601,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的异步fifo的空满工作状态识别方法的相关步骤。另外,存储器60所存储的资源还可以包括操作系统602和数据603等,存储方式可以是短暂存储或者永久存储。其中,操作系统602可以包括windows、unix、linux等。数据603可以包括但不限于异步fifo的空满工作状态识别结果对应的数据等。
[0108]
在一些实施例中,异步fifo的空满工作状态识别装置还可包括有显示屏62、输入输出接口63、通信接口64、电源65以及通信总线66。
[0109]
本领域技术人员可以理解,图6中示出的结构并不构成对异步fifo的空满工作状态识别装置的限定,可以包括比图示更多或更少的组件,例如还可传感器67。
[0110]
本发明实施例所述异步fifo的空满工作状态识别装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0111]
由上可知,本发明实施例不仅可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,还不会增加系统开销。
[0112]
可以理解的是,如果上述实施例中的异步fifo的空满工作状态识别方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0113]
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有异步fifo的空满工作状态识别程序,所述异步fifo的空满工作状态识别程序被处理器执行时如上任意一实施例所述异步fifo的空满工作状态识别方法的步骤。
[0114]
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0115]
由上可知,本发明实施例不仅可以有效降低异步fifo工作空满状态导致fifo工作出错的问题几率,还不会增加系统开销。
[0116]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0117]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0118]
以上对本申请所提供的一种异步fifo的空满工作状态识别方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1