【技术实现步骤摘要】
基于FPGA的卷积实现方法及卷积器
本申请涉及数字信号处理
,尤其涉及一种基于FPGA的卷积实现方法及卷积器。
技术介绍
现场可编程门阵列(Field-ProgrammableGateArray,FPGA)是在可编程阵列逻辑器件(ProgrammableArrayLogic,PAL)、通用阵列逻辑器件(GeneralArrayLogic,GAL)、复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)等可编程器件的基础上进一步发展的产物。FPGA上各个逻辑模块相互独立处理,依赖各自的电路资源同时工作,且可将任务切片,在同一时刻执行多任务,因此FPGA可对数据进行并行处理,提高数据处理效率。由于FPGA具有并行处理的优势,而被广泛应用于数字信号处理中。在数字信号处理算法中,例如高斯移频键控(GaussFrequencyShiftKeying,GFSK)调制、数字滤波器、小波变换等,经常会用到卷积计算,但是卷积计算过程会大量消耗FPGA的存储空间和乘法器。因此,在FPGA上能够进行消耗资源较少的资源的卷积计算显得尤为重要。
技术实现思路
本申请的多个方面提供一种基于FPGA的卷积实现方法及卷积器,用以减少FPGA上进行卷积计算时的资源消耗。本申请实施例提供一种基于FPGA的卷积器,包括:常量缓存模块、卷积序列排序模块、M个乘法器和累加求和模块;其中,所述卷积序列排序模块,用于接收采样周期为T1的待卷积序列,并根据计算顺序在每个时钟周期输出所述待卷积序列中的M个待卷积数至所述M个乘法器;所述常量缓存模块具有与所述M个乘法器 ...
【技术保护点】
1.一种基于FPGA的卷积器,其特征在于,包括:常量缓存模块、卷积序列排序模块、M个乘法器和累加求和模块;其中,所述卷积序列排序模块,用于接收采样周期为T1的待卷积序列,并根据计算顺序,在每个时钟周期输出所述待卷积序列中的M个待卷积数至所述M个乘法器;所述常量缓存模块具有与所述M个乘法器一一对应的M个缓存通道,用于存储常量序列并在每个时钟周期分别向对应的乘法器提供卷积常量;所述M个乘法器,分别用于将在每个时钟周期到达其上的待卷积数和卷积常量相乘并将相乘结果输出至所述累加求和模块;所述累加求和模块,用于在采样周期T1内,对所述M个乘法器在各个时钟周期输出的相乘结果进行累加,以得到所述待卷积序列与所述常量序列的卷积结果;其中,
【技术特征摘要】
1.一种基于FPGA的卷积器,其特征在于,包括:常量缓存模块、卷积序列排序模块、M个乘法器和累加求和模块;其中,所述卷积序列排序模块,用于接收采样周期为T1的待卷积序列,并根据计算顺序,在每个时钟周期输出所述待卷积序列中的M个待卷积数至所述M个乘法器;所述常量缓存模块具有与所述M个乘法器一一对应的M个缓存通道,用于存储常量序列并在每个时钟周期分别向对应的乘法器提供卷积常量;所述M个乘法器,分别用于将在每个时钟周期到达其上的待卷积数和卷积常量相乘并将相乘结果输出至所述累加求和模块;所述累加求和模块,用于在采样周期T1内,对所述M个乘法器在各个时钟周期输出的相乘结果进行累加,以得到所述待卷积序列与所述常量序列的卷积结果;其中,INT(·)表示取整函数;N为所述常量序列中的卷积常量的个数,T2为所述卷积器的时钟周期;其中,T2=T1/K,K为大于或等于2的整数。2.根据权利要求1所述的卷积器,其特征在于,所述卷积序列排序模块,包括:写控制单元、读控制单元和具有M个缓存通道的卷积序列缓存单元;所述写控制单元,用于按照设定的通道写入顺序,将各采样周期采集到的待卷积数依次写入所述卷积序列缓存单元中的相应缓存通道;所述读控制单元,用于按照所述计算顺序,在每个时钟周期从所述M个缓存通道中分别读取一个卷积数并对应输出至所述M个乘法器,直至将所述待卷积序列中的待卷积数全部输出。3.根据权利要求2所述的卷积器,其特征在于,所述写控制单元在将各周期采集到的所述待卷积数依次写入所述卷积序列缓存单元中的相应缓存通道时,具体用于:若所述待卷积序列的长度小于或等于N,则以所述卷积序列缓存单元中M个缓存通道的地址从小到大的顺序,将各采样周期采集到的待卷积数依次写入所述卷积序列缓存单元中的相应缓存通道;若所述待卷积序列的长度大于N,则以所述卷积序列缓存单元中M个缓存通道的地址从小到大的顺序,将前N个采样周期采集到的待卷积数依次写入所述卷积序列缓存单元中的相应缓存通道;并按照所述卷积序列缓存单元中M个缓存通道的地址从小到大的顺序,将从第N个采样周期之后采集到的待卷积数依次写入所述卷积序列缓存单元缓存的所述前N个采样周期采集到的待卷积数对应的位置。4.根据权利要求2所述的卷积器,其特征在于,所述读控制单元在按照所述计算顺序,在每个时钟周期从所述M个缓存通道中分别读取一个待卷积数时,具体用于:针对任一采样周期内的参与卷积计算的任一时钟周期,按照所述计算顺序,确定在所述采样周期待读取的第一个待卷积数所在通道的编号和所在通道内的行号;根据在所述采样周期待读取的第一个待卷积数所在通道的编号和其所在通道内的行号以及所述时钟周期对应的卷积次数,确定在所述时钟周期内待读取的M个待卷积数各自所在通道的编号和所在通道内的行号;根据在所述时钟周期内待读取的M个待卷积数各自所在通道的编号和所在通道内的行号,按序从相应缓存通道中读取所述M个待卷积数。5.根据权利要求4所述的卷积器,其特征在于,所述读控制单元在确定在所述时钟周期内待读取的M个待卷积数各自所在通道的编号和所在通道内的行号时,具体用于:将在所述采样周期待读取的第一个待卷积数所在通道内的行号加上所述时钟周期对应的卷积次数,作为在所述时钟周期待输出的第一个待卷积数的行号,并将在所述采样周期待读取的第一个待卷积数所在通道的编号作为在所述时钟周期待输出的第一个待卷积数所在通道的编号;若在所述时钟周期待输出的其它待卷积数的所在通道的编号小于在所述采样周期待读取的第一个待卷积数所在通道的编号,则将在所述时钟周期待输出的第一个待卷积数的行号加1作为所述其它待卷积数的行号。6.根据权利要求2-5任一项所述的卷积器,其特征在于,所述常量缓存模块由M个独立的块随机存储器BRAM组成;所述卷积序列缓存单元由M个独立的BRAM组成。7.根据权利要求1-5任一项所述的卷积器,其特征在于,所述累加求和模块包括:M个加法器;所述M个加法器中的M-1个加法器用于在每个时钟周期将所述M个乘法器输出的相乘...
【专利技术属性】
技术研发人员:何峰,
申请(专利权)人:锐捷网络股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。