CN115981594A - 数据累加处理方法、装置、fpga芯片和介质 - Google Patents
数据累加处理方法、装置、fpga芯片和介质 Download PDFInfo
- Publication number
- CN115981594A CN115981594A CN202310270381.4A CN202310270381A CN115981594A CN 115981594 A CN115981594 A CN 115981594A CN 202310270381 A CN202310270381 A CN 202310270381A CN 115981594 A CN115981594 A CN 115981594A
- Authority
- CN
- China
- Prior art keywords
- data
- ddr
- accumulation
- read
- writing
- 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
- 238000009825 accumulation Methods 0.000 title claims abstract description 156
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000001360 synchronised effect Effects 0.000 claims abstract description 4
- 239000000872 buffer Substances 0.000 claims description 63
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000005971 DNA damage repair Effects 0.000 description 2
- 102000002706 Discoidin Domain Receptors Human genes 0.000 description 2
- 108010043648 Discoidin Domain Receptors Proteins 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种数据累加处理方法、装置、FPGA芯片及介质。所述方法应用于FPGA芯片,所述方法包括:从外部双倍速率同步动态随机存储器DDR中读取第一数据,其中,第一数据表征上一次累加运算的累加结果;对第一数据和当前触发数据进行累加处理,得到第二数据;将第二数据写入DDR中;其中,基于分时读写的原则对DDR进行读写操作。通过本方法,能够在FPGA芯片上实现数据的超长累加处理。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据累加处理方法、装置、FPGA芯片和介质。
背景技术
在相关技术中,在对数据进行累加处理的过程中,需要对首次触发的数据以及累加运算中间结果进行存储,且需要同时进行数据的读写,当累加长度较小时(例如100Ksa),可以采用FPGA内部的RAM资源进行数据的存储,当累加长度较大(例如1Msa),FPGA内部的RAM资源不足,导致无法实现数据的超长累加处理。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种可以支持超长累加处理的数据累加处理方法、装置、FPGA芯片和介质。
一种数据累加处理方法,应用于FPGA芯片,包括以下步骤:
从外部双倍速率同步动态随机存储器(DDR,Double Data Rate SynchronousDynamic Random Access Memory)中读取第一数据,其中,第一数据表征上一次累加运算的累加结果;
对第一数据和当前触发数据进行累加处理,得到第二数据;
将第二数据写入DDR中;
其中,基于分时读写的原则对DDR进行读写操作。
上述方案中,DDR配置有第一数据缓存器,从外部DDR中读取第一数据,包括:
基于第一数据缓存器从DDR中读取第一数据。
上述方案中,DDR配置有第二数据缓存器,将第二数据写入DDR中,包括:
基于第二数据缓存器将第二数据写入DDR中。
上述方案中,基于第一数据缓存器从DDR中读取第一数据,包括:
若第一数据缓存器中的数据量未满且DDR中存有数据,则从DDR中读取长度为第一设定阈值的数据。
上述方案中,基于第二数据缓存器将第二数据写入DDR中,包括:
若第二数据缓存器中的数据量达到第二设定阈值,且DDR中的数据量未满,则将第二数据缓存器中长度为第二设定阈值的数据写入DDR中。
上述方案中,数据累加处理方法还包括:
在累加次数达到第三设定阈值的情况下,输出第一运算结果,其中,第一运算结果表征累加运算的最终运算结果。
上述方案中,数据累加处理方法还包括:
在累加长度小于第四设定阈值的情况下,将第二运算结果写入至FPGA芯片的内部RAM中,其中,第二运算结果表征累加过程的中间累加结果。
一种数据累加处理装置,应用于FPGA芯片,包括:
读取模块,用于从外部DDR中读取第一数据,其中,第一数据表征上一次累加运算的累加结果;
处理模块,用于对第一数据和当前触发数据进行累加处理,得到第二数据;
写入模块,用于将第二数据写入DDR中;
其中,基于分时读写的原则对DDR进行读写操作。
一种FPGA芯片,包括存储器和处理器,其上存储有计算机程序,处理器执行计算机程序时实现上述数据累加处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据累加处理方法的步骤。
上述数据累加处理方法、装置、FPGA芯片和介质,从DDR中读取上一次累加运算的累加结果,将上一次累加运算的累加结果和当前触发数据进行累加处理,再将累加结果写入DDR中,从而基于分时读写的原则对DDR进行读写操作,将累加过程中的中间运算数据进行存储,由于DDR的存储深度大,因此可以支持数据的超长累加处理。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为一个实施例中数据累加处理方法的流程示意图;
图2为一个实施例中数据累加处理的示意图;
图3为一个实施例中数据累加处理的系统架构图;
图4为一个实施例中DDR控制模块的结构示意图;
图5为一个实施例中DDR的状态转移图;
图6为一个实施例中DDR的读写操作的流程示意图;
图7为一个实施例中数据累加处理装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
以下对本申请实施例的技术方案的实现细节进行详细描述。
在一个实施例中,如图1所示,提供了一种数据累加处理方法,该方法应用于FPGA芯片,该数据累加处理方法可包括以下步骤:
步骤S101,从外部DDR中读取第一数据。
这里,首先对数据累加处理进行简要说明。如图2所示,数据累加处理是指对前后2次触发的数据做加法运算,得到的运算结果再与下一次触发数据做加法运算,依次类推。其中,累加次数最大可支持65536次,在本实施例中,超长累加指的是累加数据的长度可支持1M或以上的采样点,其中,数据累加处理的结果可参考图2中的波形。
由此可见,为实现数据累加处理,需要对首次触发数据以及在累加处理中得到的中间数据进行存储,在实际应用中,可以采用FPGA芯片作为数据累加处理的实现平台,其中,触发数据的分辨率为16bit,触发数据的输入速率为250M*64bit,累加数据的分辨率为32bit,累加速率为250M*128bit。
当累加数据的长度过大的情况下,FPGA芯片内部的存储资源无法满足数据累加处理的需求,基于此,需要采用外部存储器。在实际应用中,可供选择的外部存储器包括四倍数据速率静态随机存取存储器(QDR,Quad Data Rate Static Random Access Memory)和DDR,其中,QDR为全双工存储,可同时读写,但是价格昂贵且存储深度有限(一般为10M以内);DDR为半双工存储,无法同时读写,但存储深度大(一般为256M以上),读写速率快且价格便宜。基于此,在本申请采用一组DDR作为数据累加处理的外部存储器。
在进行数据累加处理的过程中,要求能够对DDR同时进行读写操作,也就是要求对数据累加处理过程中得到的中间结果同时进行读写操作,但在采用一组DDR作为外部存储器的情况下,无法直接对DDR进行同时读写操作,在本实施例中,是采用分时读写的方式对DDR进行读写,其中,分时读写可以理解为在第一时间对DDR进行读操作,在第二时间对DDR进行写操作,使得对DDR的读操作与写操作并不是在同一时间进行,以读写速率为2400M*64bit的DDR4为例,对DDR4进行分时读写会导致DDR4的读写速率降一半,也就是DDR4的读写速率变为1200M*64bit,仍大于累加速率250M*128bit,因此,DDR4的读写速率仍能高满足数据累加处理的需求,由此可见,采用分时读写的方式对DDR进行读写操作,能够满足数据累加处理需要的算法速率,DDR可以作为数据累加处理的外部存储器。
DDR负责存储首次触发的数据和在数据累加处理过程中得到的中间数据。可以理解的,在一次数据累加处理中包含了多次的累加运算,在第i次累加运算中,需要第i次的触发数据与第i-1次累加运算的累加结果进行累加运算,基于此,在接收到第i次触发数据的情况下,从DDR中读取第i-1次累加运算的累加结果(第一数据),从而进行第i次累加运算的后续处理。
步骤S102,对第一数据和当前触发数据进行累加处理,得到第二数据。
以第i次累加运算为例进行说明,对第一数据和第i次的触发数据进行累加运算,从而完成第i次的累加运算,得到第二数据,其中,第二数据是第i次累加运算的累加结果。
步骤S103,将第二数据写入DDR中。
在完成第i次累加运算之后,需要进行第i+1次的累加运算,其中,第i+1次累加运算需要第i+1次的触发数据与第i次累加运算的累加结果进行累加运算,基于此,需要将第i次累加运算的累加结果(第二数据)存储到DDR中。
在一个实施例中,可以通过DDR控制模块控制DDR的读写操作。参照图3所示,图3示出了数据累加处理的系统架构。
将触发数据写入至运算模块中,运算模块通过调用DDR控制模块上的第一接口,读取DDR中的第一数据,在读取了第一数据之后,运算模块将第一数据与触发数据进行累加处理,得到第二数据,运算模块再通过调用DDR控制模块上的第二接口,将第二数据写入到DDR中进行存储,可以理解的,DDR的读写速率高,即使采用分时读写的方式对DDR进行读写操作,DDR的读写速率仍高于数据累加处理需要的读写速率,基于此,在DDR的高读写速率下,能够快速地进行第一数据的读取操作和第二数据的写入操作,从而在实际应用的过程中,第一数据读取和第二数据写入可以看作为同时进行。在图3中,DDR控制模块上增添了对外接口,其中,对外接口可同时进行读写,DDR控制模块通过控制第一接口和第二接口的工作,可以对DDR进行分时读写。
参考图4,图4为DDR控制模块的结构示意图,基于DDR控制器和两个数据缓存器,对DDR进行分时读写。下面结合图4对DDR的分时读写进行说明。
在一个实施例中,为DDR配置第一数据缓存器,其中,第一数据缓存器是一种先进先出的数据缓存器。在DDR控制器的控制下,读取DDR中的第一数据,并将第一数据存入至第一数据缓存器,第一数据缓存器能够用于缓存从DDR中读取的第一数据,通过第一接口将第一数据传送至运算模块以进行累加处理。
在一个实施例中,为DDR配置第二数据缓存器,其中,第二数据缓存器是一种先进先出的数据缓存器。第二接口将运算模块输出的第二数据写入至第二数据缓存器,第二数据缓存器用于缓存写入的第二数据,并在DDR控制器的控制下,将第二数据缓存器中的第二数据写入至DDR中。
在一个实施例中,参考图4,DDR控制器是通过状态机模块控制DDR的读取操作和写入操作。其中,状态机模块能够解决有限个状态转换的问题,在本实施例中,DDR的状态包括空闲状态、读取状态和写入状态。参照图5,图5示出了DDR的状态转移图,下面结合图5对DDR的分时读写进行说明。
第一数据缓存器中限定了存储的最大数据量,可以理解的,在进行第i(i>1)次数据累加中,DDR中存有第i-1次累加运算的累加结果,在这种情形下,DDR中存有第一数据,且需要从DDR中读取第一数据。在读取第一数据的过程中,需要利用第一数据缓存器对读取的第一数据进行缓存,这就要求第一数据缓存器中存储的数据量未满,也就是存在可以缓存第一数据的空间。基于此,DDR控制器在第一数据缓存器中存储的数据量未满且DDR中存有数据,其中,这个数据可以认为是上一次累加运算的累加结果,则从DDR中读取长度为第一设定阈值的数据,从而完成第一数据的读取。当然,在读取长度为第一设定阈值的数据之后,停止读取DDR的操作。
在完成第i次累加运算之后,运算模块得到第二数据(第i次累加运算的累加结果),而第i+1次累加运算的进行需要第i次触发数据和第二数据,为了保证第i+1次累加运算的进行,需要将第二数据存入到DDR中,这就要求DDR中需要用于存储第二数据的空间,而在写入第二数据的过程中,需要利用第二数据缓存器对写入的第二数据进行缓存,这就导致第二数据缓存器中的数据量达到第二设定阈值(在本实施例中设为128)。基于此,DDR控制器在第二数据缓存器中存储的数据量达到第二设定阈值且DDR中的数据量未满的情况下,读取第二数据缓存器中长度为第二设定阈值的数据,从而实现第二数据缓存器中的数据写入DDR中,其中,第二数据缓存器中的数据可以理解为第二数据。当然,在完成第二数据的写入之后,停止写入DDR的操作。
需要说明的是,第一设定阈值和第二设定阈值表示DDR的突发长度。
基于此,DDR的读写操作的流程示意图如图6所示。下面对图6进行说明。
在第二数据缓存器中的数据量达到第二设定阈值且DDR中的数据量未满的情况下,立刻读出第二数据缓存器中的数据,通过DDR控制器将第二数据缓存器中长度为第二设定阈值的数据写入至DDR。在这个过程中,读出第二数据缓存器的速率为300M*512bit,而写入第二数据缓存器的速率为250M*128bit,由此可见,读出第二数据缓存器的速度大于写入第二数据缓存器的速率,在DDR控制器从第二数据缓存器中读取长度为第二设定阈值的数据后,第二数据缓存器中的数据量未达到第二设定阈值,从而停止对DDR的写入操作。
此时DDR中已写入数据,也就是DDR中存在第一数据,且第一数据缓存器的数据量未满,立即通过DDR控制器从DDR中读取长度为第一设定阈值的数据;否则处于空闲状态,也就是不对DDR进行读写操作。
在完成读取之后,停止对DDR的读取操作。此时,再判断第二数据缓存器的数据量是否达到第二设定阈值,进而继续重复图6所示的流程。
在一个实施例中,在对数据进行累加处理的时候,会预先设置需要进行累加处理的目标次数,假设累加处理的目标次数为第三设定阈值,当累加次数达到第三设定阈值,表明运算模块进行最后一次的累加处理,此时运算模块得到的第一运算结果为最终的输出结果,可以直接将第一运算结果输出,而不需要对第一运算结果进行存储。
在一个实施例中,FPGA芯片的内部RAM也可以对数据累加处理过程中的中间数据进行存储,但FPGA芯片的内部RAM的存储资源有限,因此,一般在累加长度小于第四设定阈值的情况下,可以将第二运算结果存储至FPGA芯片的内部RAM中,而不需要利用DDR进行数据的存储,其中,第四设定阈值可以设置为100KSA。当然,在这种情况下,运算模块需要从FPGA芯片的内部RAM读取相应的数据进行累加处理。
这里,第二运算结果是指累加过程的中间累加结果,包括数据累加处理中上一次累加运算的累加结果。
需要说明的是,在累加长度较大的情况下(一般为1MSA),则需要选择DDR进行数据的存储。
下面采用一个简单示例对数据累加处理方法进行举例说明。
在第i=1次累加运算中,将触发数据Xi=1输入至运算模块中,由于触发数据Xi=1为首次触发的数据,不需要对Xi=1进行累加处理,这里,可以认为Xi=1与0进行累加处理,得到累加结果Yi=1,通过第二接口,将Yi=1写入第二数据缓存器,再通过DDR控制器将Yi=1写入DDR中进行存储。
在第i=2次累加运算中,将触发数据Xi=2输入至运算模块中,此时DDR控制器从DDR中读取Yi=1,并Yi=1写入第一数据缓存器中,再通过第一接口从第一数据缓存器中读取Yi=1,从而运算模块对触发数据Xi=2和Yi=1进行累加处理,得到累加结果Yi=2。通过第二接口,将Yi=2写入第二数据缓存器,再通过DDR控制器将Yi=2写入DDR中进行存储。
在第i=I次累加运算中,其中I代表第三设定阈值,也就是设定的累加次数,将触发数据Xi=I输入至运算模块中,此时DDR控制器从DDR中读取Yi=I-1,并Yi=I-1写入第一数据缓存器中,再通过第一接口从第一数据缓存器中读取Yi=I-1,从而运算模块对触发数据Xi=I和Yi=I-1进行累加处理,得到累加结果Yi=I,此时可以直接输出累加结果Yi=I,从而完成数据累加处理。
在上述实施例中,采用分时读写的原则对DDR进行读写操作,能够将数据累加处理过程中的中间数据写入DDR中,并从DDR中读取数据累加处理过程中的中间数据,能够支持大量的中间数据的读写,从而可以提高被采集信号的信噪比,并且支持数据的超长累加处理。
在一个实施例中,提供一种数据累加处理装置,应用于FPGA芯片,参考图7所示,该数据累加处理装置700包括:读取模块701、处理模块702和写入模块703。
其中,读取模块701用于从外部DDR中读取第一数据,其中,第一数据表征上一次累加运算的累加结果;处理模块702用于对第一数据和当前触发数据进行累加处理,得到第二数据;写入模块703用于将第二数据写入DDR中;其中,基于分时读写的原则对DDR进行读写操作。
在一个实施例中,DDR配置有第一数据缓存器,读取模块701具体用于,基于第一数据缓存器从DDR中读取第一数据。
在一个实施例中,DDR配置有第二数据缓存器,读取模块701具体用于基于第二数据缓存器将第二数据写入DDR中。
在一个实施例中,读取模块701具体用于,若第一数据缓存器中的数量未满且DDR中存有数据,则从DDR中读取长度为第一设定阈值的数据。
在一个实施例中,写入模块703具体用于,若第二数据缓存器中的数据量达到第二设定阈值,且DDR中的数据量未满,则将第二数据缓存器中长度设为第二设定阈值的数据写入DDR中。
在一个实施例中,数据累加处理装置700还包括输出模块,用于在累加次数达到第三设定阈值的情况下,输出第一运算结果,其中,第一运算结果表征累加运算的最终运算结果。
在一个实施例中,写入模块703还用于在累加长度小于第四设定阈值的情况下,将第二运算结果写入至FPGA芯片的内部RAM中,其中,第二运算结果表征累加过程中的中间累加结果。
在一个实施例中,提供了一种FPGA芯片,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现一种数据累加处理方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机饿程序,计算机程序被处理器执行时实现一种数据累加处理方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据累加处理方法,其特征在于,所述方法用于FPGA芯片,所述方法包括:
从外部双倍速率同步动态随机存储器DDR中读取第一数据,其中,所述第一数据表征上一次累加运算的累加结果;
对所述第一数据和当前触发数据进行累加处理,得到第二数据;
将所述第二数据写入所述DDR中;
其中,基于分时读写的原则对所述DDR进行读写操作。
2.根据权利要求1所述的数据累加处理方法,其特征在于,所述DDR配置有第一数据缓存器,所述从外部双倍速率同步动态随机存储器DDR中读取第一数据,包括:
基于所述第一数据缓存器从所述DDR中读取所述第一数据。
3.根据权利要求1或2所述的数据累加处理方法,其特征在于,所述DDR配置有第二数据缓存器,所述将所述第二数据写入所述DDR中,包括:
基于所述第二数据缓存器将所述第二数据写入所述DDR中。
4.根据权利要求2所述的数据累加处理方法,其特征在于,所述基于所述第一数据缓存器从所述DDR中读取所述第一数据,包括:
若所述第一数据缓存器中的数据量未满且所述DDR中存有数据,则从所述DDR中读取长度为第一设定阈值的数据。
5.根据权利要求3所述的数据累加处理方法,其特征在于,所述基于所述第二数据缓存器将所述第二数据写入所述DDR中,包括:
若所述第二数据缓存器中的数据量达到第二设定阈值,且所述DDR中的数据量未满,则将所述第二数据缓存器中长度为第二设定阈值的数据写入所述DDR中。
6.根据权利要求1所述的数据累加处理方法,其特征在于,所述方法还包括:
在累加次数达到第三设定阈值的情况下,输出第一运算结果,其中,所述第一运算结果表征累加运算的最终运算结果。
7.根据权利要求1所述的数据累加处理方法,其特征在于,所述方法还包括:
在累加长度小于第四设定阈值的情况下,将第二运算结果写入至所述FPGA芯片的内部RAM中,其中,所述第二运算结果表征累加过程的中间累加结果。
8.一种数据累加处理装置,所述装置用于FPGA芯片,所述装置包括:
读取模块,用于从外部双倍速率同步动态随机存储器DDR中读取第一数据,其中,所述第一数据表征上一次累加运算的累加结果;
处理模块,用于对所述第一数据和当前触发数据进行累加处理,得到第二数据;
写入模块,用于将所述第二数据写入所述DDR中;
其中,基于分时读写的原则对所述DDR进行读写操作。
9.一种FPGA芯片,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述数据累加处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述数据累加处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310270381.4A CN115981594B (zh) | 2023-03-20 | 2023-03-20 | 数据累加处理方法、装置、fpga芯片和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310270381.4A CN115981594B (zh) | 2023-03-20 | 2023-03-20 | 数据累加处理方法、装置、fpga芯片和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115981594A true CN115981594A (zh) | 2023-04-18 |
CN115981594B CN115981594B (zh) | 2023-06-06 |
Family
ID=85966892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310270381.4A Active CN115981594B (zh) | 2023-03-20 | 2023-03-20 | 数据累加处理方法、装置、fpga芯片和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981594B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150302903A1 (en) * | 2014-04-21 | 2015-10-22 | Qualcomm Incorporated | System and method for deep coalescing memory management in a portable computing device |
US20180196951A1 (en) * | 2017-01-12 | 2018-07-12 | Microsoft Technology Licensing, Llc | Field-Programmable Gate Array Virtualization |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
US20210241095A1 (en) * | 2020-02-05 | 2021-08-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Deep learning processing apparatus and method, device and storage medium |
CN113220606A (zh) * | 2021-05-07 | 2021-08-06 | 珠海市芯动力科技有限公司 | 神经网络权值存储方法、读取方法及相关设备 |
CN115145842A (zh) * | 2021-03-31 | 2022-10-04 | 广东高云半导体科技股份有限公司 | 数据缓存处理器及方法 |
CN115586885A (zh) * | 2022-09-30 | 2023-01-10 | 晶铁半导体技术(广东)有限公司 | 一种存内计算单元和加速方法 |
-
2023
- 2023-03-20 CN CN202310270381.4A patent/CN115981594B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150302903A1 (en) * | 2014-04-21 | 2015-10-22 | Qualcomm Incorporated | System and method for deep coalescing memory management in a portable computing device |
US20180196951A1 (en) * | 2017-01-12 | 2018-07-12 | Microsoft Technology Licensing, Llc | Field-Programmable Gate Array Virtualization |
US20210241095A1 (en) * | 2020-02-05 | 2021-08-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Deep learning processing apparatus and method, device and storage medium |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
CN115145842A (zh) * | 2021-03-31 | 2022-10-04 | 广东高云半导体科技股份有限公司 | 数据缓存处理器及方法 |
CN113220606A (zh) * | 2021-05-07 | 2021-08-06 | 珠海市芯动力科技有限公司 | 神经网络权值存储方法、读取方法及相关设备 |
CN115586885A (zh) * | 2022-09-30 | 2023-01-10 | 晶铁半导体技术(广东)有限公司 | 一种存内计算单元和加速方法 |
Non-Patent Citations (1)
Title |
---|
王梦;蒋峰;谢浩澜;: "DDR2 SDRAM控制器接口的FPGA设计及实现", 计算机测量与控制, no. 12, pages 125 - 127 * |
Also Published As
Publication number | Publication date |
---|---|
CN115981594B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667229B2 (en) | Data access method of a memory device | |
EP0958578B1 (en) | Memory device command signal generator | |
CN105719685A (zh) | 半导体装置和驱动该半导体装置的方法 | |
US9026746B2 (en) | Signal control device and signal control method | |
US20140344512A1 (en) | Data Processing Apparatus and Memory Apparatus | |
JPH0728695A (ja) | メモリコントローラ | |
KR100498508B1 (ko) | 데이터 전송시간을 감소시키는 듀얼 버퍼링(Dualbuffering) 메모리 시스템 및 이에 대한 제어방법 | |
US20090235026A1 (en) | Data transfer control device and data transfer control method | |
US11137939B2 (en) | Semiconductor memory device and operating method thereof | |
JP2013510353A (ja) | メモリ構成 | |
US6469940B1 (en) | Memory access method and system for writing and reading SDRAM | |
CN112069095B (zh) | Ddr3读写传输方法和装置 | |
CN115981594B (zh) | 数据累加处理方法、装置、fpga芯片和介质 | |
JP2006048767A (ja) | 半導体メモリ試験装置 | |
US6762973B2 (en) | Data coherent logic for an SRAM device | |
US6523084B2 (en) | Data processing apparatus | |
KR100882414B1 (ko) | 메모리 액세스 장치 | |
US6587395B2 (en) | System to set burst mode in a device | |
US6457110B1 (en) | Method of accessing syncronous dynamic random access memory in scanner | |
CN116069265B (zh) | 一种储存器和数据处理方法、装置及存储介质 | |
JP5237731B2 (ja) | メモリシステム、メモリ装置、メモリアクセス方法 | |
JP4478592B2 (ja) | メモリ回路 | |
KR100221297B1 (ko) | 개량된 선입선출형 버퍼 | |
CN118430415A (zh) | 数据级联回读控制方法及装置、显示系统 | |
CN117198370A (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 230088 floor 1-4, zone a, building E2, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei, Anhui Province Patentee after: Guoyi Quantum Technology (Hefei) Co.,Ltd. Address before: 230088 floor 1-4, zone a, building E2, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei, Anhui Province Patentee before: Guoyi Quantum (Hefei) Technology Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |