CN115562617A - 一种fifo存储器的深度设置方法、系统及电子设备 - Google Patents
一种fifo存储器的深度设置方法、系统及电子设备 Download PDFInfo
- Publication number
- CN115562617A CN115562617A CN202211519259.8A CN202211519259A CN115562617A CN 115562617 A CN115562617 A CN 115562617A CN 202211519259 A CN202211519259 A CN 202211519259A CN 115562617 A CN115562617 A CN 115562617A
- Authority
- CN
- China
- Prior art keywords
- fifo memory
- depth
- parameter value
- setting
- occupancy parameter
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 239
- 238000000034 method Methods 0.000 title claims abstract description 95
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 193
- 238000007619 statistical method Methods 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000013461 design Methods 0.000 claims abstract description 32
- 230000001133 acceleration Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
- G06F5/10—Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种FIFO存储器的深度设置方法、系统及电子设备,所属的技术领域为芯片设计技术。FIFO存储器的深度设置方法包括:在目标芯片中设置包含统计分析模块的FIFO存储器;在目标芯片的芯片软件的运行过程中,利用统计分析模块获取FIFO存储器的高占用参数值和低占用参数值;其中,高占用参数值为FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,低占用参数值为FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;第一水位线高于第二水位线;根据高占用参数值和低占用参数值设置FIFO存储器的目标深度。本申请能够合理设置FIFO存储器的深度,提高芯片内部的数据传输性能。
Description
技术领域
本申请涉及芯片设计技术领域,特别涉及一种FIFO存储器的深度设置方法、系统及电子设备。
背景技术
芯片内部的硬件模块之间,会有大量的数据传输需求。假如模块A不定时的发送数据给模块B,且模块A每次发送数据的频次、数据包深度均是可变的,那么模块B一侧如果保持一种恒定的数据读取速度,则很难保证完整取走模块A发来的数据,除非模块B按照模块A发送数据的最高带宽来进行设计,但显然这样的设计是不经济的。相关技术中通常在模块之间设置用于数据缓冲的FIFO(First In First Out,先入先出)存储器,当模块B暂时来不及取走模块A新发送来的数据时,这部分数据可以暂存在这个FIFO存储器中,等待模块B稍后取走。但是上述方案中,芯片中数据传输路径复杂,存在FIFO存储器深度设置不合理的情况,影响芯片性能。
因此,如何合理设置FIFO存储器的深度,提高芯片内部的数据传输性能是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种FIFO存储器的深度设置方法、一种FIFO存储器的深度设置系统、一种存储介质及一种电子设备,能够合理设置FIFO存储器的深度,提高芯片内部的数据传输性能。
为解决上述技术问题,本申请提供一种FIFO存储器的深度设置方法,该FIFO存储器的深度设置方法包括:
在目标芯片中设置包含统计分析模块的FIFO存储器;其中,所述FIFO存储器用于对所述目标芯片的硬件模块之间传输的数据进行缓存;
在所述目标芯片的芯片软件的运行过程中,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值;其中,所述高占用参数值为所述FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,所述低占用参数值为所述FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;所述第一水位线高于所述第二水位线;
根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度。
可选的,根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度,包括:
步骤1:判断所述高占用参数值和所述低占用参数值是否符合预设条件;若是,则进入步骤2;若否,则进入步骤3;
步骤2:根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度;
步骤3:通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,并按照所述新的第一水位线和所述新的第二水位线统计新的高占用参数值和新的低占用参数值,进入步骤1。
可选的,判断所述高占用参数值和所述低占用参数值是否符合预设条件,包括:
判断是否所述高占用参数值小于或等于第一阈值且所述低占用参数值小于或等于第二阈值;
若是,判定所述高占用参数值和所述低占用参数值符合所述预设条件;
若否,判定所述高占用参数值和所述低占用参数值不符合所述预设条件。
可选的,通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,包括:
若所述高占用参数值大于所述第一阈值,则提高所述第一水位线得到所述新的第一水位线。
可选的,通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,包括:
若所述低占用参数值小于所述第二阈值,则降低所述第二水位线得到所述新的第二水位线。
可选的,根据所述第一水位线和/或所述第二水位线设置所述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为本申请实施例所提供的一种芯片内部数据传输示意图;
图3为本申请实施例所提供的一种数据发送方与接收方之间插入FIFO存储器的示意图;
图4为本申请实施例所提供的一种芯片中数据传输路径示意图;
图5为本申请实施例所提供的一种带有统计功能的FIFO存储器的实现原理图;
图6为本申请实施例所提供的一种常规FIFO存储器的读写指针示意图;
图7为本申请实施例所提供的一种带有统计功能的FIFO存储器原理示意图;
图8为本申请实施例所提供的一种FIFO存储器深度设置流程图;
图9为本申请实施例所提供的一种FIFO存储器的深度设置系统的结构示意图;
图10为本申请实施例所提供的一种电子设备的结构示意图;
图11为本申请实施例所提供的一种存储介质的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种FIFO存储器的深度设置方法的流程图。
具体步骤可以包括:
S101:在目标芯片中设置包含统计分析模块的FIFO存储器;
其中,所述FIFO存储器用于对所述目标芯片的硬件模块之间传输的数据进行缓存;例如,若目标芯片的硬件模块A将数据缓存至FIFO存储器,硬件模块B从FIFO存储器中读取数据。
作为一种可行的实施方式,本实施例可以从所述目标芯片的设计文件中选取预设FIFO存储器,并利用所述统计分析模块的FIFO存储器替代所述预设FIFO存储器。
S102:在所述目标芯片的芯片软件的运行过程中,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值;
在本步骤之前,还可以存在控制目标芯片的芯片软件运行的操作,还可以存在设置第一水位线(即,高水位线)和第二水位线(即,低水位线)的操作,上述第一水位线和第二水位线可以为用于描述FIFO深度的数值。本步骤可以通过硬件加速平台运行所述目标芯片的芯片软件。在通过硬件加速平台运行所述目标芯片的芯片软件之前,还可以将所述目标芯片的设计文件移植到所述硬件加速平台。
在所述目标芯片的芯片软件的运行过程中,可以利用统计分析模块获取FIFO存储器的高占用参数值和低占用参数值。上述高占用参数值为所述FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,所述低占用参数值为所述FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;所述第一水位线高于所述第二水位线。例如,第一水位线可以为预设FIFO深度的75%,第二水位线可以为最大FIFO深度的25%。上述高占用参数值和低占用参数值可以存在以下四种组合:(1)高占用时长和低占用时长;(2)高占用时长和低占用次数;(3)高占用次数和低占用时长;(4)高占用次数和低占用次数。本实施例可以利用计数器按照预设周期查询FIFO存储器的已占用FIFO深度,若当前周期查询到已占用FIFO深度高于第一水位线,则高占用次数加1;若当前周期查询到已占用FIFO深度低于第二水位线,则低占用次数加1。
进一步的,在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,还可以在所述统计分析模块的寄存器内设置所述第一水位线和所述第二水位线。
作为一种可行的实施方式,在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,还可以利用所述统计分析模块根据所述FIFO存储器的读指针和写指针确定所述已占用FIFO深度。
S103:根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度。
其中,高占用参数值和低占用参数值可以描述芯片软件的运行过程中FIFO存储器的水位线变化情况;例如,若高占用参数值过大,则说明需要将FIFO存储器的深度调大;若低占用参数值过大,则说明需要将FIFO存储器的深度调小。在得到高占用参数值和低占用参数值后,则可以根据高占用参数值和低占用参数值设置FIFO存储器的目标深度。
本实施例在目标芯片中设置包含统计分析模块的FIFO存储器,在目标芯片的芯片软件的运行过程中,利用统计分析模块确定FIFO存储器的高占用参数值和低占用参数值。高占用参数值用于描述芯片软件的运行过程中已占用FIFO深度高于第一水位线的时长或次数,低占用参数值用于描述芯片软件的运行过程中已占用FIFO深度低于第二水位线的时长或次数。高占用参数值和低占用参数值可以描述芯片软件的运行过程中FIFO存储器的水位线变化情况,进而可以根据高占用参数值和所述低占用参数值设置FIFO存储器的目标深度。本实施例能够合理设置FIFO存储器的深度,提高芯片内部的数据传输性能。
作为对于图1对应实施例的进一步介绍,可以通过以下方式设置所述FIFO存储器的目标深度:
步骤1:判断所述高占用参数值和所述低占用参数值是否符合预设条件;若是,则进入步骤2;若否,则进入步骤3;
其中,上述预设条件可以为用于评价高占用参数值和低占用参数值的阈值,菌体判断过程如下:
判断是否所述高占用参数值小于或等于第一阈值且所述低占用参数值小于或等于第二阈值;若是,判定所述高占用参数值和所述低占用参数值符合所述预设条件;若否,判定所述高占用参数值和所述低占用参数值不符合所述预设条件。上述第一阈值为高占用参数值符合预设条件的临界值,第二预设值为低占用参数值符合预设条件的临界值,第一阈值和第二阈值可以根据芯片设计人员的主观预期设置。
步骤2:根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度;
步骤3:通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,并按照所述新的第一水位线和所述新的第二水位线统计新的高占用参数值和新的低占用参数值,进入步骤1。
进一步的,可以通过以下方式调整所述第一水位线和/或所述第二水位线:若所述高占用参数值大于所述第一阈值,则提高所述第一水位线得到所述新的第一水位线;若所述低占用参数值小于所述第二阈值,则降低所述第二水位线得到所述新的第二水位线。
进一步的,上述实施例可以通过以下方式根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度:
方式1:确定所述第一水位线对应的第一参考深度,根据所述第一参考深度将第设置所述FIFO存储器的第一目标深度;其中,所述第一目标深度大于所述第一参考深度;
方式2:确定所述第一水位线对应的所述第一参考深度,确定所述第二水位线对应的第二参考深度,根据所述第一参考深度和所述第二参考深度设置所述FIFO存储器的第二目标深度;其中,所述第二目标深度小于或等于所述第一参考深度值,且所述第二目标深度大于或等于所述第二参考深度;
方式3:确定所述第二水位线对应的所述第二参考深度,根据所述第二参考深度设置所述FIFO存储器的第三目标深度;其中,所述第三目标深度大于或等于所述第二参考深度。
作为一种可行的实施方式,可以利用计时器统计FIFO存储器的高占用参数值和低占用参数值,具体过程如下:
利用所述统计分析模块的第一计时器统计所述目标时间段内所述FIFO存储器的高占用时长;利用所述统计分析模块的第二计时器统计所述目标时间段内所述FIFO存储器的低占用时长。
作为一种可行的实施方式,可以利用计数器统计FIFO存储器的高占用参数值和低占用参数值,具体过程如下:利用所述统计分析模块的第一计数器统计所述目标时间段内所述FIFO存储器的高占用次数;利用所述统计分析模块的第二计数器统计所述目标时间段内所述FIFO存储器的低占用次数。
作为一种可行的实施方式,在根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度之后,还可以通过宏定义去除所述统计分析模块的硬件设计代码。
作为一种可行的实施方式,统计分析模块与FIFO存储器的读写指针共同同一复位,若接收到复位指令,则对所述FIFO存储器的读指针、写指针、以及所述统计分析模块进行复位。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
请参见图2,图2为本申请实施例所提供的一种芯片内部数据传输示意图,芯片内部的硬件模块之间,会有大量的数据传输需求。假如模块A不定时的发送数据给模块B,且模块A每次发送数据的频次、数据包深度均是可变的,那么模块B一侧如果保持一种恒定的数据读取速度,则很难保证完整取走模块A发来的数据。
请参见图3,图3为本申请实施例所提供的一种数据发送方与接收方之间插入FIFO存储器的示意图,图3所示的方案中在模块A与模块B之间插入一个用于数据缓冲的FIFO存储器,当模块B暂时来不及取走模块A新发送来的数据时,这部分数据可以暂存在这个FIFO存储器中,等待模块B稍后取走。但是引入FIFO存储器可以缓解数据生产方和消费方节奏差异所带来的问题。假如芯片内仅有少量的数据发送方,和少量的数据接收方,那么通过计算,可以得出合适的FIFO存储器深度,既满足数据缓冲的需要,也不会占用过多的芯片面积、带来更多的电量消耗。
请参见图4,图4为本申请实施例所提供的一种芯片中数据传输路径示意图,图4中示出了发送方0~n1,接收方0~n2和FIFO存储器0~n3;
由图4可知,在大规模SoC(System on Chip,片上系统)内,数据的发送方、接收方众多,且灵活多变,体现为如下几点:数据的发送方、接收方众多;数据的发送方、接收方的工作频率可变;数据的发送方、接收方的角色可以转换;数据的发送方、接收方不是单一映射关系,且是动态切换的;所需FIFO存储器的数量极多。基于以上原因,在实际的芯片设计中,很难通过简单计算,得出每个FIFO存储器的合适深度,很多由于FIFO存储器设置不合理带来的性能问题,往往在流片后的芯片系统级测试中才能暴露。
针对此问题,一个常用的解决手段是:通过系统建模的方式,把真实的芯片设计抽象为一个芯片的虚拟原型(模型),然后在它的上面运行简化过的真实芯片软件,根据运行的结果,来评估FIFO深度的设置是否合适。这个手段的问题在于,芯片的虚拟原型(模型)是简化过的芯片设计,其中只能体现部分关键数据路径,因而只能用于评估部分FIFO的深度;且由于芯片及软件均被简化,所以评估的结果不会非常精确,而是一个近似值。另一个方法是将芯片设计移植到硬件加速器平台,在其之上运行真实芯片软件,根据运行结果来评估FIFO深度的设置是否合理。此方法的局限在于传统的FIFO设计,并没有提供任何接口用于观察FIFO的占用情况,工程师必须通过系统运行的性能,来间接估计FIFO的占用情况,且修改一次FIFO深度,都需要重新综合硬件代码,再次移植到硬件加速器平台,往往需要数个工作日的迭代时间。
综上所述,当前的技术手段难以在芯片设计过程中方便且准确的评估数据路径上FIFO的深度。如果FIFO设置过小,数据的发送方会频繁进行等待,导致芯片工作效率达不到设计预期;如果FIFO设置过大,则会占用过多的芯片面积,且增加不必要的功耗。
为了解决上述相关技术中存在的技术缺陷,本申请提供一种带有统计功能的FIFO存储器的实现原理,请参见图5,图5为本申请实施例所提供的一种带有统计功能的FIFO存储器的实现原理图,图中示出了深度为N的FIFO存储器,ADDR_0至ADDR_N表示地址0~N。统计分析模块可以实现高水位线设置、低水位线设置,进而得到高于水位线时间和低于水位线时间。本实施例在传统FIFO设计的基础上,增加一个可裁剪的统计分析模块,此统计分析模块在芯片原型验证阶段用于统计FIFO占用率的信息,在真实芯片的代码综合阶段,可以通过改变宏定义的方式整体裁剪掉。统计分析模块包含两个计时器,两个可编程的水位线,用于统计FIFO高占用时长和低占用时长。软件可通过寄存器读取两个计时器的值,也可通过寄存器配置高水位线、低水位线。
请参见图6,图6为本申请实施例所提供的一种常规FIFO存储器的读写指针示意图。常规FIFO设计中,使用“写指针”来标记当前FIFO中写入数据的地址,用“读指针”来标记当前FIFO中读出数据的地址。当“写指针”追上“读指针”,则FIFO为满;当“读指针”追上“写指针”,则FIFO为空。所以,根据“读指针”、“写指针”的值,可以计算出FIFO当前的占用状态,用公式可表达为:
已占用FIFO深度=写指针–读指针;
未占用FIFO深度= FIFO深度–已占用FIFO深度。
请参见图7,图7为本申请实施例所提供的一种带有统计功能的FIFO存储器原理示意图。图7中示出了FIFO存储器、读指针、写指针和统计分析模块。FIFO占用计算模块用于计算已占用FIFO深度,高占用计时器用于比较已占用深度和高水位线,低占用计时器用于比较已占用深度和低水位线,寄存器用于实现高水位线设置以及低水位线设置。
关于FIFO占用计算的说明如下:此电路逻辑根据FIFO深度、FIFO读指针、FIFO写指针计算得出当前FIFO的占用情况,输出已占用FIFO深度给下一级模块。
关于水位线配置的说明如下:高、低水位线,均由软件通过寄存器进行配置和读取。高水位线与已占用FIFO深度进行比较,如果已占用FIFO深度,达到或超过预先配置的高水位线,则说明FIFO占用过高。特殊的,也可以设置高水位线等于FIFO的深度,即只有当FIFO满时,才认为FIFO占用过高。当FIFO占用过高时,对应比较器输出信号为有效;反之,对应比较器输出信号为无效。低水位线与已占用FIFO深度进行比较,如果已占用FIFO深度,等于或小于预先配置的低水位线,则说明FIFO占用过低。特殊的,也可以设置低水位线等于0,即只有当FIFO空时,才认为FIFO占用过低。当FIFO占用过低时,对应比较器输出信号为有效;反之,对应比较器输出信号为无效。
关于计时器(Timer)的说明如下:统计分析模块内,设计两个独立的计时器,分别用于统计FIFO占用过高的时间,和FIFO占用过低的时间。FIFO的读端与写端,往往不在同一个时钟域,如果需要较高的计时精度,可采用较低速时钟域的时钟来供给计时器;如果需要较长的计时时间,可采用较高速时钟域的时钟来供给计时器;也可以允许两个计时器处于不同的时钟域。当FIFO占用过高信号有效时,对应计时器开始计数,否则暂停计数;当FIFO占用过低信号有效时,对应计时器开始计数,否则暂停计数;
关于统计分析模块复位的说明如下:统计分析模块与FIFO本身的读写指针,共用同一个复位。当复位有效时,水位线配置、计时器等,均被复位。
请参见图8,图8为本申请实施例所提供的一种FIFO存储器深度设置流程图,包括如下步骤:以“带有统计功能的FIFO”替代传统FIFO,设置水位线寄存器,运行真实软件,观察计时器结果。判断FIFO高占用时长、低占用时长是否均在预期之内;若否,则进入设置水位线寄存器的步骤;若是,则将FIFO深度设置为统计得出的合理值,移除“统计分析模块”。
本实施例提出一种带有统计功能的FIFO存储器,可以方便的统计芯片在使用的过程中的FIFO占用率,有利于芯片设计工程师准确评估FIFO深度是否合适。本实施例使用高水位线,低水位线指代FIFO占用的高低状况,并非仅能统计FIFO的高占用、低占用,凡通过FIFO读写指针可计算出的FIFO状态,也能根据本实施例的思想扩展得到应用。本实施例使用了两个计时器,分别统计FIFO的高占用时长、低占用时长,并非限定仅能使用两个计时器,当计时器的计时长度不足时,仅需要扩展计时器的位宽,或级联多个计时器来实现。本实施例使用计时器来统计FIFO的高占用时长、低占用时长,同样的在不脱离本实施例思想的前提下,也可以替换为计数器(Counter),来统计FIFO的高占用次数、低占用次数。本实施例通过寄存器来配置、读取统计分析模块的设置和结果,但并非限定仅能通过寄存器方式进行。对于某些关键路径上的重要FIFO,统计分析模块也可以一直保留到流片后,在实际芯片验证、调试阶段,可以服务于软硬件联合调试,提供可靠的FIFO占用率信息。
上述实施例中对芯片中性能计算复杂的关键模块、关键路径,以“带有统计功能的FIFO”替代传统FIFO,且FIFO的深度可以设置的较大。将芯片设计移植到硬件加速平台上,准备在其上运行真实的芯片软件。运行真实芯片软件之前,设置各个“带有统计功能的FIFO”中的水位线寄存器。一般第一次可以将高水位线设置为FIFO深度的75%,将低水位线设置为FIFO深度的25%。运行真实的芯片软件之后,可以读取各个“带有统计功能的FIFO”中的计时器,观察计时器,进行评估,如:如果FIFO低占用时长为0,高占用时长过长,说明FIFO深度偏小;如果FIFO高占用时长为0,说明FIFO深度过大;如果FIFO低占用时长过长,说明FIFO深度偏大。
上述过程无需更改芯片设计来调整FIFO深度,芯片设计人员通过多次调整“水位线寄存器”的设置,让统计得出的FIFO高占用时长、低占用时长均在预期之内。根据最终得到的水位线值,即可知道合适的FIFO深度应当是多少。在确定合适的FIFO深度后,可以调整芯片设计,将FIFO深度设置为统计得出的合理值,移除“统计分析模块”。在本实施例中,“统计分析模块”仅使用传统FIFO设计中的读、写指针作为输入信号,相关的硬件设计代码很容易与传统FIFO设计代码剥离,实践中,仅需要修改综合时的宏定义即可把“统计分析模块”移除。
上述实施例使用“带有统计功能的FIFO”替代传统FIFO,结合硬件加速器平台,运行真实芯片软件,可以很容易的获得在真实使用场景下FIFO的占用情况统计,这种真实性是虚拟仿真平台无法达到,进而可以准确评估在真实场景下的合理FIFO深度。芯片设计人员在初始阶段,可以将FIFO深度设置为一个偏大的值,性能优化阶段,仅仅需要通过调整水位线设置,读取计时器的值,即可看出FIFO深度的占用情况,无需修改芯片设计,进而降低芯片性能优化所引起的芯片设计迭代时间。
请参见图9,图9为本申请实施例所提供的一种FIFO存储器的深度设置系统的结构示意图,该系统可以包括:
存储器设置模块901,用于在目标芯片中设置包含统计分析模块的FIFO存储器;其中,所述FIFO存储器用于对所述目标芯片的硬件模块之间传输的数据进行缓存;
参数值统计模块902,用于参数值统计模块,用于在所述目标芯片的芯片软件的运行过程中,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值;其中,所述高占用参数值为所述FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,所述低占用参数值为所述FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;所述第一水位线高于所述第二水位线;
深度设置模块903,用于根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度。
本实施例在目标芯片中设置包含统计分析模块的FIFO存储器,在目标芯片的芯片软件的运行过程中,利用统计分析模块确定FIFO存储器的高占用参数值和低占用参数值。高占用参数值用于描述芯片软件的运行过程中已占用FIFO深度高于第一水位线的时长或次数,低占用参数值用于描述芯片软件的运行过程中已占用FIFO深度低于第二水位线的时长或次数。高占用参数值和低占用参数值可以描述芯片软件的运行过程中FIFO存储器的水位线变化情况,进而可以根据高占用参数值和所述低占用参数值设置FIFO存储器的目标深度。本实施例能够合理设置FIFO存储器的深度,提高芯片内部的数据传输性能。
进一步的,深度设置模块903根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度,包括:步骤1:判断所述高占用参数值和所述低占用参数值是否符合预设条件;若是,则进入步骤2;若否,则进入步骤3;步骤2:根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度;步骤3:通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,并按照所述新的第一水位线和所述新的第二水位线统计新的高占用参数值和新的低占用参数值,进入步骤1。
进一步的,深度设置模块903判断所述高占用参数值和所述低占用参数值是否符合预设条件的过程包括:判断是否所述高占用参数值小于或等于第一阈值且所述低占用参数值小于或等于第二阈值;若是,判定所述高占用参数值和所述低占用参数值符合所述预设条件;若否,判定所述高占用参数值和所述低占用参数值不符合所述预设条件。
进一步的,深度设置模块903通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线的过程包括:若所述高占用参数值大于所述第一阈值,则提高所述第一水位线得到所述新的第一水位线。
进一步的,深度设置模块903通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线的过程包括:若所述低占用参数值小于所述第二阈值,则降低所述第二水位线得到所述新的第二水位线。
进一步的,深度设置模块903根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度的过程包括:确定所述第一水位线对应的第一参考深度,根据所述第一参考深度将第设置所述FIFO存储器的第一目标深度;其中,所述第一目标深度大于所述第一参考深度。
进一步的,深度设置模块903根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度的过程包括:确定所述第一水位线对应的所述第一参考深度,确定所述第二水位线对应的第二参考深度,根据所述第一参考深度和所述第二参考深度设置所述FIFO存储器的第二目标深度;其中,所述第二目标深度小于或等于所述第一参考深度值,且所述第二目标深度大于或等于所述第二参考深度。
进一步的,深度设置模块903根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度的过程包括:确定所述第二水位线对应的所述第二参考深度,根据所述第二参考深度设置所述FIFO存储器的第三目标深度;其中,所述第三目标深度大于或等于所述第二参考深度。
进一步的,还包括:
深度确定模块,用于在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,利用所述统计分析模块根据所述FIFO存储器的读指针和写指针确定所述已占用FIFO深度。
进一步的,参数值统计模块902利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值的过程包括:利用所述统计分析模块的第一计时器统计所述目标时间段内所述FIFO存储器的高占用时长;利用所述统计分析模块的第二计时器统计所述目标时间段内所述FIFO存储器的低占用时长。
进一步的,参数值统计模块902利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值的过程包括:利用所述统计分析模块的第一计数器统计所述目标时间段内所述FIFO存储器的高占用次数;利用所述统计分析模块的第二计数器统计所述目标时间段内所述FIFO存储器的低占用次数。
进一步的,还包括:
代码去除模块,用于在根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度之后,通过宏定义去除所述统计分析模块的硬件设计代码。
进一步的,存储器设置模块901在目标芯片中设置包含统计分析模块的FIFO存储器的过程包括:从所述目标芯片的设计文件中选取预设FIFO存储器,并利用所述统计分析模块的FIFO存储器替代所述预设FIFO存储器。
进一步的,还包括:
水位设置模块,用于在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,在所述统计分析模块的寄存器内设置所述第一水位线和所述第二水位线。
进一步的,还包括:
复位模块,用于若接收到复位指令,则对所述FIFO存储器的读指针、写指针、以及所述统计分析模块进行复位。
进一步的,还包括:
软件运行模块,用于通过硬件加速平台运行所述目标芯片的芯片软件。
进一步的,还包括:
移植模块,用于在通过硬件加速平台运行所述目标芯片的芯片软件之前,将所述目标芯片的设计文件移植到所述硬件加速平台。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。图10为本申请实施例所提供的一种电子设备的结构示意图,如图10所示,电子设备包括:
通信接口1001,能够与其它设备比如网络设备等进行信息交互;
处理器1002,与通信接口1001连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的FIFO存储器的深度设置方法,所述计算机程序存储在存储器1003上。
当然,实际应用时,电子设备中的各个组件通过总线系统1004耦合在一起。可理解,总线系统1004用于实现这些组件之间的连接通信。总线系统1004除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统1004。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:半导体存储芯片、U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。图11为本申请实施例所提供的一种存储介质的结构示意图,该存储介质可以为非易失或非瞬时的存储芯片,具体包括译码驱动、存储矩阵、读写电路、地址线、数据线、片选线和读/写控制线。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (20)
1.一种FIFO存储器的深度设置方法,其特征在于,包括:
在目标芯片中设置包含统计分析模块的FIFO存储器;其中,所述FIFO存储器用于对所述目标芯片的硬件模块之间传输的数据进行缓存;
在所述目标芯片的芯片软件的运行过程中,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值;其中,所述高占用参数值为所述FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,所述低占用参数值为所述FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;所述第一水位线高于所述第二水位线;
根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度。
2.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度,包括:
步骤1:判断所述高占用参数值和所述低占用参数值是否符合预设条件;若是,则进入步骤2;若否,则进入步骤3;
步骤2:根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度;
步骤3:通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,并按照所述新的第一水位线和所述新的第二水位线统计新的高占用参数值和新的低占用参数值,进入步骤1。
3.根据权利要求2所述FIFO存储器的深度设置方法,其特征在于,判断所述高占用参数值和所述低占用参数值是否符合预设条件,包括:
判断是否所述高占用参数值小于或等于第一阈值且所述低占用参数值小于或等于第二阈值;
若是,判定所述高占用参数值和所述低占用参数值符合所述预设条件;
若否,判定所述高占用参数值和所述低占用参数值不符合所述预设条件。
4.根据权利要求3所述FIFO存储器的深度设置方法,其特征在于,通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,包括:
若所述高占用参数值大于所述第一阈值,则提高所述第一水位线得到所述新的第一水位线。
5.根据权利要求3所述FIFO存储器的深度设置方法,其特征在于,通过调整所述第一水位线和/或所述第二水位线得到新的第一水位线和新的第二水位线,包括:
若所述低占用参数值小于所述第二阈值,则降低所述第二水位线得到所述新的第二水位线。
6.根据权利要求2所述FIFO存储器的深度设置方法,其特征在于,根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度,包括:
确定所述第一水位线对应的第一参考深度,根据所述第一参考深度将第设置所述FIFO存储器的第一目标深度;其中,所述第一目标深度大于所述第一参考深度。
7.根据权利要求2所述FIFO存储器的深度设置方法,其特征在于,根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度,包括:
确定所述第一水位线对应的第一参考深度,确定所述第二水位线对应的第二参考深度,根据所述第一参考深度和所述第二参考深度设置所述FIFO存储器的第二目标深度;其中,所述第二目标深度小于或等于所述第一参考深度值,且所述第二目标深度大于或等于所述第二参考深度。
8.根据权利要求2所述FIFO存储器的深度设置方法,其特征在于,根据所述第一水位线和/或所述第二水位线设置所述FIFO存储器的目标深度,包括:
确定所述第二水位线对应的第二参考深度,根据所述第二参考深度设置所述FIFO存储器的第三目标深度;其中,所述第三目标深度大于或等于所述第二参考深度。
9.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,还包括:
利用所述统计分析模块根据所述FIFO存储器的读指针和写指针确定所述已占用FIFO深度。
10.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值,包括:
利用所述统计分析模块的第一计时器统计目标时间段内所述FIFO存储器的高占用时长;
利用所述统计分析模块的第二计时器统计所述目标时间段内所述FIFO存储器的低占用时长。
11.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值,包括:
利用所述统计分析模块的第一计数器统计目标时间段内所述FIFO存储器的高占用次数;
利用所述统计分析模块的第二计数器统计所述目标时间段内所述FIFO存储器的低占用次数。
12.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,在根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度之后,还包括:
通过宏定义去除所述统计分析模块的硬件设计代码。
13.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,在目标芯片中设置包含统计分析模块的FIFO存储器,包括:
从所述目标芯片的设计文件中选取预设FIFO存储器,并利用所述统计分析模块的FIFO存储器替代所述预设FIFO存储器。
14.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,在利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值之前,还包括:
在所述统计分析模块的寄存器内设置所述第一水位线和所述第二水位线。
15.根据权利要求1所述FIFO存储器的深度设置方法,其特征在于,还包括:
若接收到复位指令,则对所述FIFO存储器的读指针、写指针、以及所述统计分析模块进行复位。
16.根据权利要求1至15任一项所述FIFO存储器的深度设置方法,其特征在于,还包括:
通过硬件加速平台运行所述目标芯片的芯片软件。
17.根据权利要求16所述FIFO存储器的深度设置方法,其特征在于,在通过硬件加速平台运行所述目标芯片的芯片软件之前,还包括:
将所述目标芯片的设计文件移植到所述硬件加速平台。
18.一种FIFO存储器的深度设置系统,其特征在于,包括:
存储器设置模块,用于在目标芯片中设置包含统计分析模块的FIFO存储器;其中,所述FIFO存储器用于对所述目标芯片的硬件模块之间传输的数据进行缓存;
参数值统计模块,用于在所述目标芯片的芯片软件的运行过程中,利用所述统计分析模块获取所述FIFO存储器的高占用参数值和低占用参数值;其中,所述高占用参数值为所述FIFO存储器的已占用FIFO深度高于第一水位线的时长或次数,所述低占用参数值为所述FIFO存储器的已占用FIFO深度低于第二水位线的时长或次数;所述第一水位线高于所述第二水位线;
深度设置模块,用于根据所述高占用参数值和所述低占用参数值设置所述FIFO存储器的目标深度。
19.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至17任一项所述FIFO存储器的深度设置方法的步骤。
20.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至17任一项所述FIFO存储器的深度设置方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211519259.8A CN115562617B (zh) | 2022-11-30 | 2022-11-30 | 一种fifo存储器的深度设置方法、系统及电子设备 |
PCT/CN2023/101933 WO2024113783A1 (zh) | 2022-11-30 | 2023-06-21 | 一种fifo存储器的深度设置方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211519259.8A CN115562617B (zh) | 2022-11-30 | 2022-11-30 | 一种fifo存储器的深度设置方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115562617A true CN115562617A (zh) | 2023-01-03 |
CN115562617B CN115562617B (zh) | 2023-03-03 |
Family
ID=84770002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211519259.8A Active CN115562617B (zh) | 2022-11-30 | 2022-11-30 | 一种fifo存储器的深度设置方法、系统及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115562617B (zh) |
WO (1) | WO2024113783A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024113783A1 (zh) * | 2022-11-30 | 2024-06-06 | 苏州元脑智能科技有限公司 | 一种fifo存储器的深度设置方法、系统及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1149385B1 (en) * | 1998-11-13 | 2005-03-16 | FEI Company | Ic test software system for mapping logical functional test data of logic integrated circuits to physical representation |
CN102316391A (zh) * | 2011-09-08 | 2012-01-11 | 中兴通讯股份有限公司 | 一种数据映射、解映射方法及系统 |
CN106571890A (zh) * | 2015-10-12 | 2017-04-19 | 深圳市中兴微电子技术有限公司 | 一种速率适配方法和装置 |
CN112463075A (zh) * | 2020-12-14 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据读写方法和系统 |
CN112559390A (zh) * | 2016-09-23 | 2021-03-26 | 华为数字技术(成都)有限公司 | 一种数据写入控制方法及存储设备 |
CN115221082A (zh) * | 2022-07-18 | 2022-10-21 | 中国兵器装备集团自动化研究所有限公司 | 一种数据缓存方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005003955A2 (en) * | 2003-07-03 | 2005-01-13 | Integrated Device Technology, Inc. | Sequential flow-control and fifo memory devices that are depth expandable in standard mode operation |
CN111008002B (zh) * | 2019-12-06 | 2022-04-08 | 苏州盛科通信股份有限公司 | 自动计算并更新fifo深度的装置和方法 |
CN113821191A (zh) * | 2021-10-13 | 2021-12-21 | 芯河半导体科技(无锡)有限公司 | 一种可配置fifo深度的装置及方法 |
CN115001614A (zh) * | 2022-05-25 | 2022-09-02 | 上海亿家芯集成电路设计有限公司 | 一种恢复同步时钟方法和电路、系统、设备及存储介质 |
CN115562617B (zh) * | 2022-11-30 | 2023-03-03 | 苏州浪潮智能科技有限公司 | 一种fifo存储器的深度设置方法、系统及电子设备 |
-
2022
- 2022-11-30 CN CN202211519259.8A patent/CN115562617B/zh active Active
-
2023
- 2023-06-21 WO PCT/CN2023/101933 patent/WO2024113783A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1149385B1 (en) * | 1998-11-13 | 2005-03-16 | FEI Company | Ic test software system for mapping logical functional test data of logic integrated circuits to physical representation |
CN102316391A (zh) * | 2011-09-08 | 2012-01-11 | 中兴通讯股份有限公司 | 一种数据映射、解映射方法及系统 |
CN106571890A (zh) * | 2015-10-12 | 2017-04-19 | 深圳市中兴微电子技术有限公司 | 一种速率适配方法和装置 |
CN112559390A (zh) * | 2016-09-23 | 2021-03-26 | 华为数字技术(成都)有限公司 | 一种数据写入控制方法及存储设备 |
CN112463075A (zh) * | 2020-12-14 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据读写方法和系统 |
CN115221082A (zh) * | 2022-07-18 | 2022-10-21 | 中国兵器装备集团自动化研究所有限公司 | 一种数据缓存方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
赵强等: "嵌入式GPU的FPGA原型验证平台设计及实现", 《航空计算技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024113783A1 (zh) * | 2022-11-30 | 2024-06-06 | 苏州元脑智能科技有限公司 | 一种fifo存储器的深度设置方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2024113783A1 (zh) | 2024-06-06 |
CN115562617B (zh) | 2023-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
CN104321716B (zh) | 使用装置空闲持续时间信息来优化能量效率 | |
CN101894591B (zh) | 一种基于lfsr的外部存储接口的随机测试装置 | |
CN104571954B (zh) | 一种数据存储方法及装置 | |
CN115562617B (zh) | 一种fifo存储器的深度设置方法、系统及电子设备 | |
CN102739195B (zh) | 一种fir滤波器的处理方法、装置和系统 | |
CN104407809A (zh) | 多通道fifo缓冲器及其控制方法 | |
CN109960679A (zh) | 用于控制多点互连的时钟信号的占空比的系统、装置和方法 | |
US8943240B1 (en) | Direct memory access and relative addressing | |
CN110888520A (zh) | 操作频率调整方法及装置 | |
CN109558325A (zh) | 一种时延统计方法、装置和计算机可读存储介质 | |
JP2004054756A (ja) | 消費電力見積り装置及び方法 | |
CN112000603B (zh) | 一种握手协议电路、芯片及计算机设备 | |
CN113454607B (zh) | 调试方法、装置及片上系统 | |
MX2011000292A (es) | Sistema de procesamiento con cotrol de acceso a memoria externa. | |
CN109324987A (zh) | 模拟通信接口的时序控制方法、装置与电子设备 | |
CN109857190A (zh) | 一种时钟信号处理方法、装置、设备及可读存储介质 | |
CN117610494A (zh) | Soc芯片性能验证方法、系统、设备及存储介质 | |
CN109062509A (zh) | 固态硬盘的数据处理方法以及相关装置 | |
CN111581132B (zh) | 一种基于fpga的可扩展的多端口ddr3控制器 | |
KR20210155734A (ko) | 송신 크로스토크 제거 시스템 | |
TWI819635B (zh) | 記憶體控制系統與記憶體控制方法 | |
CN115840592A (zh) | Flash访问方法、控制器、系统及可读存储介质 | |
KR20170073266A (ko) | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 | |
CN109413122B (zh) | 一种数据处理方法、网络处理器及计算机存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |