CN103164363B - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN103164363B
CN103164363B CN201110424242.XA CN201110424242A CN103164363B CN 103164363 B CN103164363 B CN 103164363B CN 201110424242 A CN201110424242 A CN 201110424242A CN 103164363 B CN103164363 B CN 103164363B
Authority
CN
China
Prior art keywords
data
input
select switch
treated
calculation process
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
CN201110424242.XA
Other languages
English (en)
Other versions
CN103164363A (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
Nanjing ZTE New Software Co Ltd
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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201110424242.XA priority Critical patent/CN103164363B/zh
Publication of CN103164363A publication Critical patent/CN103164363A/zh
Application granted granted Critical
Publication of CN103164363B publication Critical patent/CN103164363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明公开了一种数据处理方法和装置,其中,该方法包括:将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;通过数据选择开关从多路并行输入的数据中选择需要处理的数据;对选择需要处理的数据进行运算处理。本发明解决了现有技术中由于FPGA本身内存资源有限而影响FPGA的处理性能的问题,达到了减少FPGA的内存资源的使用,提高FPGA的处理性能的效果。

Description

数据处理方法和装置
技术领域
本发明涉及通信领域,具体而言,涉及一种方法数据处理方法和装置。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)以其高集成度、高可靠性和实时性强等优点在大数据量处理(如无线基带数据处理)中得到了广泛应用。然而FPGA的乘法器资源、内存资源以及逻辑单元资源等都十分有限,尤其在大规模基带数据处理过程中,经常需要使用大量的FPGA资源进行数据乘法及相加处理,这里的FPGA资源主要指的是FPGA的内存资源,也就是RAM资源,使用过多的内存资源必然会影响FPGA系统处理的基带数据的速度和规模,因此,如何减少FPGA内存资源的使用,扩大系统的处理容量,是FPGA在基带数据处理应用中一个亟待解决的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据处理方法和装置,以至少解决现有技术中由于FPGA本身内存资源有限而影响FPGA的处理性能的问题。
根据本发明的一个方面,提供了一种数据处理方法,该方法包括:将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;通过数据选择开关从多路并行输入的数据中选择需要处理的数据;对选择需要处理的数据进行运算处理。
优选地,将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据的步骤包括:
在每路延时移位寄存器上,串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路延时移位寄存器的个数均不相同。
优选地,通过数据选择开关从多路并行输入的数据中选择需要处理的数据的步骤包括:按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出。
优选地,按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关的步骤包括:根据选择控制寄存器中的比特位设置数据选择开关的状态,其中,当选择控制寄存器的比特位为0时,开启对应的数据选择开关,否则,关闭对应的数据选择开关;或者,当选择控制寄存器的比特位为1时,开启对应的数据选择开关,否则,关闭对应的数据选择开关。
优选地,对选择需要处理的数据进行运算处理的步骤包括:
采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。
优选地,对选择需要处理的数据进行运算处理的步骤包括:对选择需要处理的数据进行加法处理或者乘法处理。
优选地,串行输入的数据的个数为2n,当串行输入的数据的个数不足2n的时候,在串行输入的多个数据后面补O形成2n个串行输入的数据,其中,n为自然数。
根据本发明的另一方面,提供了一种数据处理装置,该装置包括:转换单元,用于将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;数据选择开关,用于从多路并行输入的数据中选择需要处理的数据;处理单元,用于对选择需要处理的数据进行运算处理。
优选地,转换单元包括:转换模块,用于在每路延时移位寄存器上,将串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路延时移位寄存器的个数均不相同。
优选地,数据选择开关包括:接收模块,用于按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;输出模块,用于将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出。
优选地,处理单元包括:处理模块,用于采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。
在本发明中,通过将串行输入的数据通过延时移位寄存器转换为并行输入的数据,从而通过延时移位寄存器使串行数据延迟输出,从而实现了不需要专门使用内存单元来保存要运算的数据,达到了减少FPGA的内存资源的使用的目的,提高了FPGA的处理性能;同时,通过数据选择开关从多路并行输入的数据中选择需要处理的数据,改变了现有技术中需要通过寻址的方式获取内存中需要处理的数据的运算方式,从而提高了FPGA对数据的处理效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据处理装置的一种优选结构框图;
图2是根据本发明实施例的数据处理装置的另一种优选结构框图;
图3是根据本发明实施例的数据处理装置的又一种优选结构框图;
图4是根据本发明实施例的数据处理装置的又一种优选结构框图;
图5是根据本发明实施例的数据处理方法的一种优选流程图;
图6是根据本发明实施例的数据处理方法的另一种优选流程图;
图7为1路串行基带数据进行16路可控累加的一种优选示意图;
图8为1路串行基带数据进行8路可控累加的一种优选示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
如图1所示,本发明提供了一种优选的数据处理装置100,该装置包括:转换单元102,用于将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;数据选择开关104,用于从多路并行输入的数据中选择需要处理的数据;处理单元106,用于对选择需要处理的数据进行运算处理。
在上述优选实施例中,通过将串行输入的数据通过延时移位寄存器转换为并行输入的数据,从而通过延时移位寄存器使串行数据延迟输出,从而实现了不需要专门使用内存单元来保存要运算的数据,达到了减少FPGA的内存资源的使用的目的,提高了FPGA的处理性能;同时,通过数据选择开关从多路并行输入的数据中选择需要处理的数据,改变了现有技术中需要通过寻址的方式获取内存中需要处理的数据的运算方式,从而提高了FPGA对数据的处理效率。
本发明还对转换单元102进行了改进,以便更好的实现输入数据的转换。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,如图2所示,转换单元102包括:转换模块202,用于在每路延时移位寄存器上,将串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路延时移位寄存器的个数均不相同。在上述优选实施方式中,串行输入在预定时钟周期内经过一个延时移位寄存器,实现了由串行数据到并行数据的转变,实现了通过寄存器存储数据的目的,减少了内存资源的使用。
本发明还对数据选择开关104进行了改进,以便更好的实现对需要运算处理的数据的选择。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,如图3所示,数据选择开关104包括:接收模块302,用于按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;输出模块304,用于将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出。在上述优选实施方式中,通过控制信号控制数据选择开关的状态,实现对数据的选择,从而改变了现有技术中通过采用寻址方式获取内存资源中需要运算的数据的获取方式,提高了FPGA的处理性能。
本发明还对数据选择开关104进行了改进,在本发明一个优选实施方式中数据选择开关104还用于根据选择控制寄存器中的比特位设置数据选择开关的状态,其中,当选择控制寄存器的比特位为0时,开启对应的数据选择开关,否则,关闭对应的数据选择开关;或者,当选择控制寄存器的比特位为1时,开启对应的数据选择开关,否则,关闭对应的数据选择开关。
在本发明一个优选实施方式中,对选择需要处理的数据进行加法处理或者乘法处理。
例如,当进行加法运算时,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出数据0,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据;或者,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出数据0,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据。
当进行乘法运算时,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出数据1,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据;或者,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出数据1,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据。
本发明还对处理单元106进行了改进,以便提高数据运算处理的速度。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,如图4所示,处理单元106包括:处理模块402,用于采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。例如,需要对1、2、3、4、5、6、7、8这8个数据进行加法运算,因此,可以将其分为三层,在第一层中进行1+2、3+4、5+6、7+8的运算得到3、7、11和15,在第二层中将3和7分为一组,11和15分为一组,再进行3+7的运算以及11+15的运算,从而得到最终累加的结果。在上述优选实施方式中,通过分层的方式对数据进行运算处理,从而提高了运算的速度和效率。
在本发明一个优选实施方式中,所述串行输入的数据的个数为2n,当所述串行输入的数据的个数不足2n的时候,在所述串行输入的多个数据后面补O形成2n个串行输入的数据,其中,n为自然数。
实施例2
基于图1-4所示的优选的数据处理装置,本发明还提供了一种优选的数据处理方法,如图5所示,该方法具体步骤包括:
S502:将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;
S504:通过数据选择开关从多路并行输入的数据中选择需要处理的数据;
S506:对选择需要处理的数据进行运算处理。
在上述优选实施例中,通过将串行输入的数据通过延时移位寄存器转换为并行输入的数据,从而通过延时移位寄存器使串行数据延迟输出,从而实现了不需要专门使用内存单元来保存要运算的数据,达到了减少FPGA的内存资源的使用的目的,提高了FPGA的处理性能;同时,通过数据选择开关从多路并行输入的数据中选择需要处理的数据,改变了现有技术中需要通过寻址的方式获取内存中需要处理的数据的运算方式,从而提高了FPGA对数据的处理效率。
本发明还对串行数据到并行数据的转换方式进行了改进,以便更好的实现输入数据的转换。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据的步骤包括:在每路延时移位寄存器上,串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路延时移位寄存器的个数均不相同。在上述优选实施方式中,串行输入在预定时钟周期内经过一个延时移位寄存器,实现了由串行数据到并行数据的转变,实现了通过寄存器存储数据的目的,减少了内存资源的使用。
本发明还对数据的选择进行了改进,以便更好的实现对需要运算处理的数据的选择。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,通过数据选择开关从多路并行输入的数据中选择需要处理的数据的步骤包括:按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出。在上述优选实施方式中,通过控制信号控制数据选择开关的状态,实现对数据的选择,从而改变了现有技术中通过采用寻址方式获取内存资源中需要运算的数据的获取方式,提高了FPGA的处理性能。
在本发明一个优选实施方式中,按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关的步骤包括:根据选择控制寄存器中的比特位设置数据选择开关的状态,其中,当选择控制寄存器的比特位为0时,开启对应的数据选择开关,否则,关闭对应的数据选择开关;或者,当选择控制寄存器的比特位为1时,开启对应的数据选择开关,否则,关闭对应的数据选择开关。
在本发明一个优选实施方式中,对选择需要处理的数据进行加法处理或者乘法处理。
例如,当进行加法运算时,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出数据0,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据;或者,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出数据0,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据。
当进行乘法运算时,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出数据1,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据;或者,当选择控制寄存器中的比特位为1时,则对应于该选择控制寄存器的数据选择开关输出数据1,当选择控制寄存器中的比特位为0时,则对应于该选择控制寄存器的数据选择开关输出该选择开关当前的数据。
本发明还对数据的运算处理进行了改进,以便提高数据运算处理的速度。为了实现上述目的,具体地,在本发明各个优选的实施例的基础上,对选择需要处理的数据进行运算处理的步骤包括:采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。例如,需要对1、2、3、4、5、6、7、8这8个数据进行加法运算,因此,可以将其分为三层,在第一层中进行1+2、3+4、5+6、7+8的运算得到3、7、11和15,在第二层中将3和7分为一组,11和15分为一组,再进行3+7的运算以及11+15的运算,从而得到最终累加的结果。在上述优选实施方式中,通过分层的方式对数据进行运算处理,从而提高了运算的速度和效率。
在本发明各个优选实施方式中,对于分层处理都是基于将两个数据分成一组的,但是不发明不限于此,一组中数据的个数是任意多个,例如每组有三个数据、每组有4个数据等,或者是每组的数据数量是不等的,在此不做限定。
在本发明一个优选实施方式中,所述串行输入的数据的个数为2n,当所述串行输入的数据的个数不足2n的时候,在所述串行输入的多个数据后面补O形成2n个串行输入的数据,其中,n为自然数。
实施例3
本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
在本优选实施例中,以16路数据的加法运算进行说明,但是本发明不限于此。
在本优选实施方式中,提供了一种优选的数据处理方法,如图6所示该方法包括:
S602:输入基带数据线路按时钟周期顺序依次串行输入数据。
S604:串行输入的多个数据经过16路延时移位寄存器转换成16路并行输入的数据,将16路数据分别连接到数据选择开关。
S606:设置扩展累加控制选择寄存器,来选择16个并行输入的数据中任意多个数据进行相加,优选的,每个时钟周期可以进行一次累加运算。
S608:16个数据选择开关根据扩展累加控制选择寄存器的对应比特位决定是否选通输入数据作为需要进行累加运算的数据。
S610:扩展加法器组对所有选通的输入数据按4级进行两两相加处理,得到最终累加结果,优选的,可以每个时钟周期都输出一个累加结果。
本发明还提供了一种优选的数据处理装置的结构图,图7为1路串行基带数据进行16路可控累加的模块结构图,优选的,该装置包括:输入基带数据线路、数据延时移位寄存器、数据选择控制开关器(即选择开关)、选择控制寄存器(例如,扩展累加选择控制寄存器)和扩展数据加法器组,其中,
输入基带数据线路:用于数据的串行输入,每个时钟周期输入一个数据,依次为D0、D1、D2、......、Dn。
数据延时移位寄存器:有15个数据延时移位寄存器S0、S1、S2、......、S14,数据Di经过每个移位寄存器延迟一个时钟周期,数据本身不改变。
数据选择控制开关器:有16个数据选择控制开关器SW,分别对应于输入线路在16个时钟周期的数据输入,其中SW0直接连接应输入线路,SW1是输入线路经过S0的时延,SW2是输入线路经过S0+S的1时延,SW3是输入线路经过S0+S1+S2的时延,......,SW15是输入线路经过S0+S1+S2+.....+S14的时延。
扩展累加选择控制寄存器:扩展累加选择控制寄存器用来控制16个数据选择控制开关器,是16-bit的寄存器,每一个bit对应一个数据选择控制开关器,其中,Bit0对应SW0、Bit1对应SW1、Bit2对应SW2、......、Bit15对应SW15。当Biti=0时,对应SWi输出0;当Biti=1时,对应SWi输出选通为输入的数据D。优选的,通过外部CPU接口访问扩展累加控制寄存器,从而选择对16路数据中的哪几路进行累加。
扩展数据加法器组:扩展数据加法器组由15个加法器组成,分成4级。第1级由8个加法器组成,分别对16个数据选择开关器的输出数据进行两两相加;第2级由4个加法器组成,分别对第1级的加法结果数据再进行两两相加;第3级由2个加法器组成,分别对第2级的加法结果数据再进行两两相加,第4级由1个加法器组成,最后对第3级的加法结果数据进行相加,得到最终的串行数据扩展累加结果。
图7示出了1路串行基带数据进行16路可控累加的方法流程图,以在输入基带数据线路上的串行数据依次为D0、D1、D2、......、Dn为例进行说明,下面基于图7给出了具体的移位过程、数据选择过程和累加过程。
在数据移延时位寄存器的过程包括:
步骤0:在时钟周期0串行数据D0输入到数据选择开关器SW0。
步骤1:在时钟周期1串行数据D0输入到数据选择开关器SW1、D1输入到SW0。
步骤2:在时钟周期2串行数据D0输入到数据选择开关器SW2、D1输入到SW1、D2输入到SW0。
步骤3:在时钟周期3串行数据D0输入到数据选择开关器SW3、D1输入到SW2、D2输入到SW1、D3输入到SW0。
步骤4:在时钟周期4串行数据D0输入到数据选择开关器SW4、D1输入到SW3、D2输入到SW2、D3输入到SW1、D4输入到SW0。
步骤5:在时钟周期5串行数据D0输入到数据选择开关器SW5、D1输入到SW4、D2输入到SW3、D3输入到SW2、D4输入到SW1、D5输入到SW0。
步骤6:在时钟周期6串行数据D0输入到数据选择开关器SW6、D1输入到SW5、D2输入到SW4、D3输入到SW3、D4输入到SW2、D5输入到SW1、D6输入到SW0。
步骤7:在时钟周期7串行数据D0输入到数据选择开关器SW7、D1输入到SW6、D2输入到SW5、D3输入到SW4、D4输入到SW3、D5输入到SW2、D6输入到SW1、D7输入到SW0。
步骤8:在时钟周期8串行数据D0输入到数据选择开关器SW8、D1输入到SW7、D2输入到SW6、D3输入到SW5、D4输入到SW4、D5输入到SW3、D6输入到SW2、D7输入到SW1、D8输入到SW0。
步骤9:在时钟周期9串行数据D0输入到数据选择开关器SW9、D1输入到SW8、D2输入到SW7、D3输入到SW6、D4输入到SW5、D5输入到SW4、D6输入到SW3、D7输入到SW2、D8输入到SW1、D9输入到SW0。
步骤10:在时钟周期10串行数据D0输入到数据选择开关器SW10、D1输入到SW9、D2输入到SW8、D3输入到SW7、D4输入到SW6、D5输入到SW5、D6输入到SW4、D7输入到SW3、D8输入到SW2、D9输入到SW1、D10输入到SW0。
步骤11:在时钟周期11串行数据D0输入到数据选择开关器SW11、D1输入到SW10、D2输入到SW9、D3输入到SW8、D4输入到SW7、D5输入到SW6、D6输入到SW5、D7输入到SW4、D8输入到SW3、D9输入到SW2、D10输入到SW1、D11输入到SW0。
步骤12:在时钟周期12串行数据D0输入到数据选择开关器SW12、D1输入到SW11、D2输入到SW10、D3输入到SW9、D4输入到SW8、D5输入到SW7、D6输入到SW6、D7输入到SW5、D8输入到SW4、D9输入到SW3、D10输入到SW2、D11输入到SW1、D12输入到SW0。
步骤13:在时钟周期13串行数据D0输入到数据选择开关器SW13、D1输入到SW12、D2输入到SW11、D3输入到SW10、D4输入到SW9、D5输入到SW8、D6输入到SW7、D7输入到SW6、D8输入到SW5、D9输入到SW4、D10输入到SW3、D11输入到SW2、D12输入到SW1、D13输入到SW0。
步骤14:在时钟周期14串行数据D0输入到数据选择开关器SW14、D1输入到SW13、D2输入到SW12、D3输入到SW11、D4输入到SW10、D5输入到SW9、D6输入到SW8、D7输入到SW7、D8输入到SW6、D9输入到SW5、D10输入到SW4、D11输入到SW3、D12输入到SW2、D13输入到SW1、D14输入到SW0。
步骤15:在时钟周期15串行数据D0输入到数据选择开关器SW15、D1输入到SW14、D2输入到SW13、D3输入到SW12、D4输入到SW11、D5输入到SW10、D6输入到SW9、D7输入到SW8、D8输入到SW7、D9输入到SW6、D10输入到SW5、D11输入到SW4、D12输入到SW3、D13输入到SW2、D14输入到SW1、D15输入到SW0。
时延扩展数据选择过程包括:
步骤0:如果扩展累加选择寄存器Bit0=0,则数据选择开关器SW0输出0;否则当Bit0=1,SW0选通输出当前数据Di。
步骤1:如果扩展累加选择寄存器Bit1=0,则数据选择开关器SW1输出0;否则当Bit1=1,SW1选通输出当前数据Di。
步骤2:如果扩展累加选择寄存器Bit2=0,则数据选择开关器SW2输出0;否则当Bit2=1,SW2选通输出当前数据Di。
步骤3:如果扩展累加选择寄存器Bit3=0,则数据选择开关器SW3输出0;否则当Bit3=1,SW3选通输出当前数据Di。
步骤4:如果扩展累加选择寄存器Bit4=0,则数据选择开关器SW4输出0;否则当Bit4=1,SW4选通输出当前数据Di。
步骤5:如果扩展累加选择寄存器Bit5=0,则数据选择开关器SW5输出0;否则当Bit5=1,SW5选通输出当前数据Di。
步骤6:如果扩展累加选择寄存器Bit6=0,则数据选择开关器SW6输出0;否则当Bit6=1,SW6选通输出当前数据Di。
步骤7:如果扩展累加选择寄存器Bit7=0,则数据选择开关器SW7输出0;否则当Bit7=1,SW7选通输出当前数据Di。
步骤8:如果扩展累加选择寄存器Bit8=0,则数据选择开关器SW8输出0;否则当Bit8=1,SW8选通输出当前数据Di。
步骤9:如果扩展累加选择寄存器Bit9=0,则数据选择开关器SW9输出0;否则当Bit9=1,SW9选通输出当前数据Di。
步骤10:如果扩展累加选择寄存器Bit10=0,则数据选择开关器SW10输出0;否则当Bit10=1,SW10选通输出当前数据Di。
步骤11:如果扩展累加选择寄存器Bit11=0,则数据选择开关器SW11输出0;否则当Bit11=1,SW11选通输出当前数据Di。
步骤12:如果扩展累加选择寄存器Bit12=0,则数据选择开关器SW12输出0;否则当Bit12=1,SW12选通输出当前数据Di。
步骤13:如果扩展累加选择寄存器Bit13=0,则数据选择开关器SW13输出0;否则当Bit13=1,SW13选通输出当前数据Di。
步骤14:如果扩展累加选择寄存器Bit14=0,则数据选择开关器SW14输出0;否则当Bit14=1,SW14选通输出当前数据Di。
步骤15:如果扩展累加选择寄存器Bit15=0,则数据选择开关器SW15输出0;否则当Bit15=1,SW15选通输出当前数据Di。
例如,当需要对D0和D7进行累加运算的时候,可以在第7个时钟周期到来的时候,将Bit1、Bit2、Bit3、Bit4、Bit5以及Bit6设置为0将Bit0和Bit7设置为1,从而实现D0和D7的累加运算。
数据选择后,在扩展加法器组的数据相加,优选的,采用分级的方式对数据进行累加,例如:
1)第1级的8个加法器对16个从选择开关SW0SW15输出的数据进行两两相加。
2)第2级的4个加法器对第1级的8个相加结果数据再进行两两相加。
3)第3级的2个加法器对第2级的4个相加结果数据再进行两两相加。
4)第4级的最后一个加法器对第3级的相加结果数据进行相加,得到最终扩展累加输出结果。
需要指出的是,以上举例是以16路延时可控累加的方法进行具体说明的,实际上本发明的基于FPGA的串行数据处理方法及装置,并不局限于16路的数据处理,而适用于2n路,n为整数,如支持4路、8路、32路、64路等串行数据处理,处理方法的核心延时可控累加方法都是一样的,优选的,不足2n路的可以通过补0使数据对齐为2n路。
值得注意的是,在本优选实施例中以16路数据的加法运算进行说明的,但是本发明不限于此,还可以是乘法运算,也可以是其他路数的数据进行运算。例如,本发明还给出了8路数据的加法运算的流程,如图8所示,其他同对16路数据的描述,在此不再赘述。
从以上的描述中,可以看出,本发明实现了如下技术效果:
1)减少了FPGA的内存单元资源的使用,不需要专门使用内存单元来保存要累加的数据,而是通过移位寄存器使串行数据延迟输出,达到缓存目的。
2)通过扩展累加控制选择器的控制,可以选择在16路延时扩展数据中任意多路数据进行相加。
3)应用FPGA进行基带数据累加处理时,通过在时间上的扩展累加,从而达到减少使用FPGA资源的方法。
4)改变传统的用FPGA内存资源来保存数据的方式,而是用数据移位方式保存需要进行累加的数据,并通过对外寄存器接口,来选择控制不同时刻具体进行累加的数据。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据处理方法,其特征在于,包括:
将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;
通过数据选择开关从所述多路并行输入的数据中选择需要处理的数据;
对选择需要处理的数据进行运算处理;
其中,通过数据选择开关从所述多路并行输入的数据中选择需要处理的数据的步骤包括:按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出;
按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关的步骤包括:根据选择控制寄存器中的比特位设置所述数据选择开关的状态,其中,当所述选择控制寄存器的比特位为0时,开启对应的所述数据选择开关,否则,关闭对应的所述数据选择开关;或者,当所述选择控制寄存器的比特位为1时,开启对应的所述数据选择开关,否则,关闭对应的所述数据选择开关。
2.根据权利要求1所述的方法,其特征在于,将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据的步骤包括:
在每路延时移位寄存器上,所述串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路所述延时移位寄存器的个数均不相同。
3.根据权利要求1所述的方法,其特征在于,对选择需要处理的数据进行运算处理的步骤包括:
采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。
4.根据权利要求1所述的方法,其特征在于,对选择需要处理的数据进行运算处理的步骤包括:
对选择需要处理的数据进行加法处理或者乘法处理。
5.根据权利要求1所述的方法,其特征在于,所述串行输入的数据的个数为2n,当所述串行输入的数据的个数不足2n的时候,在所述串行输入的多个数据后面补0形成2n个串行输入的数据,其中,n为自然数。
6.一种数据处理装置,其特征在于,包括:
转换单元,用于将串行输入的多个数据经过多路延时移位寄存器转换成多路并行输入的数据;
数据选择开关,用于从所述多路并行输入的数据中选择需要处理的数据;
处理单元,用于对选择需要处理的数据进行运算处理;
其中,所述数据选择开关包括:接收模块,用于按照接收到的控制信号开启或关闭与每路并行输入的数据对应的数据选择开关;输出模块,用于将与开启的数据选择开关对应的并行输入的数据作为所需处理的数据进行输出;
数据选择开关104还用于根据选择控制寄存器中的比特位设置数据选择开关的状态,其中,当选择控制寄存器的比特位为0时,开启对应的数据选择开关,否则,关闭对应的数据选择开关;或者,当选择控制寄存器的比特位为1时,开启对应的数据选择开关,否则,关闭对应的数据选择开关。
7.根据权利要求6所述的装置,其特征在于,所述转换单元包括:
转换模块,用于在每路延时移位寄存器上,将所述串行输入的数据每隔预定的时钟周期经过一个移位寄存器,其中,各路所述延时移位寄存器的个数均不相同。
8.根据权利要求6所述的装置,其特征在于,所述处理单元包括:
处理模块,用于采用分层处理的方式对选择需要处理的数据进行运算处理,其中,每一层对上一层的运算处理结果按组进行运算处理。
CN201110424242.XA 2011-12-16 2011-12-16 数据处理方法和装置 Active CN103164363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110424242.XA CN103164363B (zh) 2011-12-16 2011-12-16 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110424242.XA CN103164363B (zh) 2011-12-16 2011-12-16 数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN103164363A CN103164363A (zh) 2013-06-19
CN103164363B true CN103164363B (zh) 2018-07-17

Family

ID=48587462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110424242.XA Active CN103164363B (zh) 2011-12-16 2011-12-16 数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN103164363B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196265B (zh) * 2016-12-08 2024-05-10 武汉万集光电技术有限公司 一种多路激光飞行时间并行采集系统及方法
CN110456454B (zh) * 2019-08-26 2020-07-17 光子算数(北京)科技有限责任公司 光子人工智能芯片互联装置及片间互联光子人工智能芯片
CN113448624B (zh) * 2021-07-15 2023-06-27 安徽聆思智能科技有限公司 数据存取方法及装置、系统、ai加速器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272235A (zh) * 2007-03-22 2008-09-24 日本电气株式会社 数据传送装置、时钟切换电路和时钟切换方法
CN101741801A (zh) * 2009-11-04 2010-06-16 西安空间无线电技术研究所 一种32路并行数据dft的实现结构

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08228157A (ja) * 1995-02-20 1996-09-03 Sony Corp データ転送回路
CN100342355C (zh) * 2003-05-21 2007-10-10 华为技术有限公司 一种基于串行接口的数据传输方法及装置
CN201994043U (zh) * 2010-12-29 2011-09-28 康佳集团股份有限公司 一种led显示屏多路rs-232接口电路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272235A (zh) * 2007-03-22 2008-09-24 日本电气株式会社 数据传送装置、时钟切换电路和时钟切换方法
CN101741801A (zh) * 2009-11-04 2010-06-16 西安空间无线电技术研究所 一种32路并行数据dft的实现结构

Also Published As

Publication number Publication date
CN103164363A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
CN106951395A (zh) 面向压缩卷积神经网络的并行卷积运算方法及装置
CN103164363B (zh) 数据处理方法和装置
CN103310228B (zh) 基于归一化相关系数的模板匹配高速并行实现方法和装置
CN106126481A (zh) 一种计算引擎和电子设备
KR20130090147A (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
CN107453755A (zh) 一种基于混合架构的高速高精度多通道并行采集系统
CN106127302A (zh) 处理数据的电路、图像处理系统、处理数据的方法和装置
CN105426918B (zh) 归一化相关图像模板匹配高效实现方法
WO2020029551A1 (zh) 一种适用于神经网络的乘加计算方法和计算电路
CN104504205B (zh) 一种对称fir算法的并行化二维分割方法及其硬件结构
CN112101517A (zh) 基于分段线性脉冲神经元网络的fpga实现方法
CN110413254A (zh) 数据处理器、方法、芯片及电子设备
CN106484366A (zh) 一种二元域位宽可变模乘运算器
CN108304925A (zh) 一种池化计算装置及方法
CN106656103A (zh) 一种fir滤波器组及滤波方法
CN107657312A (zh) 面向语音常用词识别的二值网络实现系统
CN1157080C (zh) 用于执行改良快速卷积算法的信道化器和方法
CN108491924A (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN111832705A (zh) 一种卷积神经网络的压缩方法及其实现电路
CN107014432A (zh) 一种模拟信号监测系统及方法
CN109767002A (zh) 一种基于多块fpga协同处理的神经网络加速方法
CN202385063U (zh) 基于fpga实现的数字滤波器
CN104460444A (zh) 基于广义相关系数的fpga运算电路
CN105892988A (zh) 一种基于fpga的运算电路、示波器和测量仪器
CN107609576A (zh) 融合大模板图的模板匹配并行实现方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180508

Address after: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: No. 55, Nanshan District science and technology road, Nanshan District, Shenzhen, Guangdong

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191118

Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Patentee after: ZTE Communications Co., Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.

TR01 Transfer of patent right