一种可重构的多通道检测算法加速器的制造方法

文档序号:10593817阅读:831来源:国知局
一种可重构的多通道检测算法加速器的制造方法
【专利摘要】本发明涉及可重构的多通道检测算法加速器,包括AXI4接口,用于接收AXI总线上的命令;置寄存器,根据控制信号配置配置寄存器的参数;状态寄存器,用于储存加速器内部的状态信息,同时可以根据所述控制信号反馈所述状态信息;主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给重构控制器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构;多通道检测运算模块,采用流水、并行的架构,含有若干流水算法,各算法根据相应的所述配置信息选通数据选择器从而实现不同点数不同阶数的算法。有益效果为:本发明提供的多通道检测算法加速器通过可重构技术大大提高了加速器的灵活性,流水与并行的架构大大增强了加速器的性能。
【专利说明】
-种可重构的多通道检测算法加速器
技术领域
[0001] 本发明设及多通道检测算法加速器,尤其设及一种可重构的多通道检测算法加速 器。
【背景技术】
[0002] 在电子对抗中,对信号进行实时的检测是截获对方雷达信号的先决条件。在电子 侦察数字接收机中,由于系统带宽大,要求A/D采用的速率很高,运给实时处理带来困难。为 了能够满足性能的需要,专用集成电路可W作为一种很好的选择,然而,专用集成电路只能 够对特定参数的特定应用进行加速。在电子侦察数字接收机工作时,需要根据实际情况对 相应的参数进行及时的更改,运就需要在性能不降低的情况下,提高其灵活性。虽然通用处 理器有很大的灵活性,可W根据不同的应用、不同的参数,通过软件编程的方式方便使用, 但性能远远无法满足需求。
[0003] 可重构计算是一种介于软件和专用硬件之间的新的求算方式,其兼具了软件的通 用性和硬件的高效性。随着电子技术和计算机技术的不断进步,可重构计算正逐步成为一 个新的研究热点。目前,可重构计算已经广泛应用于数字信号处理领域。

【发明内容】

[0004] 本发明目的在于基于可重构技术,基于流水与并行的架构,提供一种可重构的多 通道检测算法加速器,具体有W下技术方案实现: 所述可重构的多通道检测算法加速器,与AXI总线通信连接,包括AXI4接口,用于接收 AXI总线上的控制信号,并与加速其外部进行数据交互;配置寄存器,接收通过AXI总线传输 的控制信号,并根据控制信号配置配置寄存器的参数,不同的配置对应不同的数据帖长、数 据阶数、数据地址;状态寄存器,用于储存加速器内部的状态信息,同时可W根据所述控制 信号反馈所述状态信息;主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给 重构控制器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内 部的可重构算法模块进行重构,形成需求相符合的硬件加速电路;多通道检测运算模块,采 用流水、并行的架构,含有若干流水算法,各算法根据相应的所述配置信息选通数据选择器 从而实现不同点数不同阶数的算法,其中希尔伯特变换的阶数小于100,帖长可配置范围 为:64~1024。。
[0005] 所述的可重构的多通道检测算法加速器的进一步设计在于,所述加速器与外部交 互的数据包括:输入数据,为实时传输的高速采样信号,通过专口的高速通道传输;输出数 据,由通过专口的高速通道传输。
[0006] 所述的可重构的多通道检测算法加速器的进一步设计在于,多通道检测运算模块 可根据输入数据的采样频率确定并行路数。
[0007] 所述的可重构的多通道检测算法加速器的进一步设计在于,所述流水算法包括: 希尔伯特变换算法、快速傅里叶变换算法、加窗算法。
[0008] 所述的可重构的多通道检测算法加速器的进一步设计在于,所述希尔伯特变换算 法的实现通过两路乘累加并行架构。
[0009] 所述的可重构的多通道检测算法加速器的进一步设计在于,所述快速傅里叶变换 算法、加窗算法的通过四路并行的方式实现。
[0010]本发明的优点如下: 本发明提供的可重构的多通道检测算法加速器使得在使用时可实时对个参数进行配 置,并重构内部互连网络;采用流水加并行的架构,能够满足高吞吐率采样信号的需求;采 用FPGA对其进行验证,易于硬件实现。
【附图说明】
[0011] 图1是加速器系统架构。
[0012] 图2是多通道检测算法流程图。
[0013] 图3是乘累加器结构图。
[0014] 图4是半窗滑动示意图。
[0015] 图5是FFT流水线结构图。
[0016] 图6是FPGA验证架构图。
【具体实施方式】
[0017] 下面结合附图对本发明方案进行详细说明。
[0018] 本发明例提供的可重构的多通道检测算法加速器,系统架构如图1所示,包括AXI4 接口、一组配置寄存器、一组状态寄存器、主控制器、重构控制器W及多通道检测运算模块。 AXI4接口,用于接收AXI总线上的命令,W及进行数据的交互;一组配置寄存器,AXI总线上 传来的命令可W对配置寄存器进行配置,不同的配置对应不同的帖长、阶数、数据地址等信 息;一组状态寄存器,用于对加速器内部状态的监控,同时可W根据AXI4传来的命令反馈加 速器内部状态;主控制器,主控制器根据配置寄存器的相关配置,将有效参数传给重构控制 器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内部的可重 构算法模块进行重构,形成需求相符合的硬件加速电路;多通道检测运算模块,采用流水与 并行的架构,其内部由多种流水算法组合而成,比如:希尔伯特变换、快速傅里叶变换、加窗 算法等,其中各算法根据相应的配置选通MUX从而实现不同点数不同阶数的算法,其中希尔 伯特变换的阶数小于100,帖长可配置范围为:64~1024。
[0019] 多通道检测算法内部包含了多种算法,比如:希尔伯特变换、加窗算法、FFT等。输 入信号位宽为12bit的采样信号,加速器用FPGA实现,主频达到250MHz,数据吞吐率最高达 到12Gbps,即可W满足1000 M的采样率。如果在使用忍片实现,加速器主频若能提高到 800MHz,数据吞吐率可达38.4化PS,即可W满足3.2G的采样率,完全可W满足主流采样的需 求。
[0020] 如图2所示,为了满足数据吞吐率的要求,希尔伯特变换采用两路乘累加,每个时 钟周期读入四个数据,其中两个延迟,另外两个被读入相应的乘累加1和乘累加2中完成乘 累加运算。在完成希尔伯特变换后,每个时钟周期会输出两个复数进入半窗滑动,半窗滑 动相当于把运算量加倍,所W经过半窗滑动后,相当于每个时钟周期会有四个复数需要进 行运算,所W后面的流水线(包括加窗、FFT、求模等)需要四路并行才能满足吞吐率的要求。
[0021] 如图3所示是当希尔伯特变换的阶数为4的情况下,所使用的乘累加器的结构图, 随着阶数的增大,所需要的资源相应也会增加。每个乘法器的一个运算量为系数,另一个运 算量为输入,每个乘法器对应的系数输入一直保持不变,而当数据流水输入时,每个输入按 序作为乘法器的输入,直到经过所有乘法器。为了满足采样率的需求,每个时钟周期读入4 个12位的数据,假设第一个时钟周期读入数据的编号为0,1,2,3,编号为0,2的数据被送入 延迟单元,编号为1,3的数据需要进行希尔伯特变换后作为结构的虚数部分输出。希尔伯特 变换系数,是通过上位机发送到DDR指定地址,在主控完成对内部的重构后,将系数在内部 可重构资源配置完后,将参数直接读入内部寄存器,一方面节约了片上存储资源,另一方面 能够简化运行时的数据读写控制。此时一个希尔伯特单元无法满足吞吐率的需求,所W需 要两个乘累加器。
[0022] 半窗滑动可W将数据分为相互重叠的两组数据,如图4所示。上半部分的箭头表 示一帖数据,而下面的箭头同样表示一帖数据,由于两组数据互相重合,所W接下来需要两 路并行才能满足数据吞吐率的需求。假设一帖数据为N,那么第一路的第一帖为(0~N-1),而 第二路的第一帖数据为(N/2~3N/2-l),(N/2~N-1)的数据就是两路重合的数据,所W(0~N/ 2-1)的数据只送到第一路进行相应的运算,而从N/2开始,数据将同时送入第一路W及第二 路进行相应的运算。运部分不消耗运算单元W及存储单元,只需要相应的控制即可。
[0023] 加窗算法主要是将输入序列乘W汉明窗函数。
[0024] 快速傅里叶变换采用如图5的架构,本次设计采用基2基4混合的单路径延时反馈 SDF(Single-path Delay Feeclback)流水结构,Mode_sel[2:0]表示模式选择,可选择5种不 同的点数模式,如表1所示。根据该模式选择可W控制数据输入通道和数据输出通道。
[0025] 表 1
后面所设及到的算法,求模算法,使用现成的流水求模IP核即可实现,求口限、口限比 较、捜峰都是可W归类于比较算法,相对来说架构比较简单,运里就不详细描述了。
[0026] 测试主要有=部分:子算法测试、多通道检测算法测试,系统集成测试。
[0027] 子算法测试主要通过Modelsim完成,需要验证各子算法模块无误后,进行子算法 集成,多通道检测算法模块测试也基于Modelsim,需要对不同参数下的各点数进行测试,确 保无误后,进行系统集成。系统集成测试在开发板Xilinx Virtex-T FPGA VC707上进行。 [002引验证平台中除了待验证的加速器外还有DDR、GMAC、Mico巧laze,运些部件都是通 过AXI4总线来传送指令W及数据。MicorBlaze:可通过AXI对主控制器进行配置。DDR:存储 原始数据和结果数据。GMC :系统中集成了一个GMAC(千兆W太网网络接口),通过该接口, 将PC端的数据快速的输入到内部DDR,DDR中的数据可W通过GMAC输出到PC端;另外,数据也 可W通过GMAC直接输入到加速器中进行处理,处理完毕后,直接反馈给PC。NOR FLA細:NOR FLA甜主要用于存储Mico巧laze指令。AXI总线:各个组件之间通信的桥梁。
[0029] 运算使用的源数据W及结果数据由Matlab产生并保存为数据文件,PC端的软件将 已有待验证数据文件中的数据发到GMAC,GMAC通过总线写数据至孤R的指定地址,加速器可 W读取运一段的数据,进行运算,运算完成之后将运算结果搬运另一指定地址,GMAC再从 孤R中读出该段地址的数据,并传输至PC端,存储为数据文件;另一种方案,可W将GMAC读取 的数据,直接由加速核进行处理,处理后直接通过GMAC传输至PC端。比较上述两数据文件, 验证运算结果的正确性。加速器FPGA验证架构见图6。
[0030] 具体测试流程如下:1.Matlab产生随机的源数据及对应的结果,并保存为数据文 件2.首先通过GMAC往FPGA中CPU发送一条指令,CPU解析指令,确定加速器需要执行的运算、 运算点数、加速器运算取数的地址(Addressl) W及运算之后结果数据的存放地址 (Address2)。3 .通过GMAC发送运算所需的源数据,并写入抓R中指定地址(AddreSSl)。 4.GMAC接收到足够的数据之后CPU配置加速器开始运算,运算完成之后CPU配置GMAC从DDR 特定地址中(A(Mress2)读出数据,并发回至PC端,记录为数据文件。5.通过Matlab比较理论 结果与加速器的运算结果。
【主权项】
1. 一种可重构的多通道检测算法加速器,与AXI总线通信连接,其特征在于包括 AXI4接口,用于接收AXI总线上的控制信号,并与加速其外部进行数据交互; 配置寄存器,接收通过AXI总线传输的控制信号,并根据控制信号配置配置寄存器的参 数,不同的配置对应不同的数据帧长、数据阶数、数据地址; 状态寄存器,用于储存加速器内部的状态信息,同时可以根据所述控制信号反馈所述 状态信息; 主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给重构控制器,并实时 对状态寄存器进行更新; 重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构,形成需求 相符合的硬件加速电路; 多通道检测运算模块,采用流水、并行的架构,含有若干流水算法,各算法根据相应的 所述配置信息选通数据选择器从而实现不同点数不同阶数的算法。2. 根据权利要求1所述的可重构的多通道检测算法加速器,其特征在于所述加速器与 外部交互的数据包括 输入数据,为实时传输的高速采样信号,通过专门的高速通道传输; 输出数据,由通过专门的高速通道传输。3. 根据权利要求2所述的可重构的多通道检测算法加速器,其特征在于多通道检测运 算模块可根据输入数据的采样频率确定并行路数。4. 根据权利要求1所述的可重构的多通道检测算法加速器,其特征在于,所述流水算法 包括:希尔伯特变换算法、快速傅里叶变换算法、加窗算法。5. 根据权利要求4所述的可重构的多通道检测算法加速器,其特征在于所述希尔伯特 变换算法的实现通过两路乘累加并行架构。6. 根据权利要求4所述的可重构的多通道检测算法加速器,其特征在于所述快速傅里 叶变换算法、加窗算法的通过四路并行的方式实现。
【文档编号】G06F7/53GK105955705SQ201610274202
【公开日】2016年9月21日
【申请日】2016年4月27日
【发明人】潘红兵, 吕飞, 李丽, 秦子迪, 朱德政, 何书专, 李伟
【申请人】南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1