CN105955705B - 一种可重构的多通道检测算法加速器 - Google Patents

一种可重构的多通道检测算法加速器 Download PDF

Info

Publication number
CN105955705B
CN105955705B CN201610274202.4A CN201610274202A CN105955705B CN 105955705 B CN105955705 B CN 105955705B CN 201610274202 A CN201610274202 A CN 201610274202A CN 105955705 B CN105955705 B CN 105955705B
Authority
CN
China
Prior art keywords
accelerator
algorithm
data
channel detection
restructural
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
CN201610274202.4A
Other languages
English (en)
Other versions
CN105955705A (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.)
Nanjing University
Original Assignee
Nanjing University
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 University filed Critical Nanjing University
Priority to CN201610274202.4A priority Critical patent/CN105955705B/zh
Publication of CN105955705A publication Critical patent/CN105955705A/zh
Application granted granted Critical
Publication of CN105955705B publication Critical patent/CN105955705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products

Abstract

本发明涉及可重构的多通道检测算法加速器,包括AXI4接口,用于接收AXI总线上的命令;置寄存器,根据控制信号配置配置寄存器的参数;状态寄存器,用于储存加速器内部的状态信息,同时可以根据所述控制信号反馈所述状态信息;主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给重构控制器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构;多通道检测运算模块,采用流水、并行的架构,含有若干流水算法,各算法根据相应的所述配置信息选通数据选择器从而实现不同点数不同阶数的算法。有益效果为:本发明提供的多通道检测算法加速器通过可重构技术大大提高了加速器的灵活性,流水与并行的架构大大增强了加速器的性能。

Description

一种可重构的多通道检测算法加速器
技术领域
本发明涉及多通道检测算法加速器,尤其涉及一种可重构的多通道检测算法加速器。
背景技术
在电子对抗中,对信号进行实时的检测是截获对方雷达信号的先决条件。在电子侦察数字接收机中,由于系统带宽大,要求A/D采用的速率很高,这给实时处理带来困难。为了能够满足性能的需要,专用集成电路可以作为一种很好的选择,然而,专用集成电路只能够对特定参数的特定应用进行加速。在电子侦察数字接收机工作时,需要根据实际情况对相应的参数进行及时的更改,这就需要在性能不降低的情况下,提高其灵活性。虽然通用处理器有很大的灵活性,可以根据不同的应用、不同的参数,通过软件编程的方式方便使用,但性能远远无法满足需求。
可重构计算是一种介于软件和专用硬件之间的新的求算方式,其兼具了软件的通用性和硬件的高效性。随着电子技术和计算机技术的不断进步,可重构计算正逐步成为一个新的研究热点。目前,可重构计算已经广泛应用于数字信号处理领域。
发明内容
本发明目的在于基于可重构技术,基于流水与并行的架构,提供一种可重构的多通道检测算法加速器,具体有以下技术方案实现:
所述可重构的多通道检测算法加速器,与AXI总线通信连接,包括AXI4接口,用于接收AXI总线上的控制信号,并与加速其外部进行数据交互;配置寄存器,接收通过AXI总线传输的控制信号,并根据控制信号配置配置寄存器的参数,不同的配置对应不同的数据帧长、数据阶数、数据地址;状态寄存器,用于储存加速器内部的状态信息,同时可以根据所述控制信号反馈所述状态信息;主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给重构控制器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构,形成需求相符合的硬件加速电路;多通道检测运算模块,采用流水、并行的架构,含有若干流水算法,各算法根据相应的所述配置信息选通数据选择器从而实现不同点数不同阶数的算法,其中希尔伯特变换的阶数小于100,帧长可配置范围为:64~1024。。
所述的可重构的多通道检测算法加速器的进一步设计在于,所述加速器与外部交互的数据包括:输入数据,为实时传输的高速采样信号,通过专门的高速通道传输;输出数据,由通过专门的高速通道传输。
所述的可重构的多通道检测算法加速器的进一步设计在于,多通道检测运算模块可根据输入数据的采样频率确定并行路数。
所述的可重构的多通道检测算法加速器的进一步设计在于,所述流水算法包括:希尔伯特变换算法、快速傅里叶变换算法、加窗算法。
所述的可重构的多通道检测算法加速器的进一步设计在于,所述希尔伯特变换算法的实现通过两路乘累加并行架构。
所述的可重构的多通道检测算法加速器的进一步设计在于,所述快速傅里叶变换算法、加窗算法的通过四路并行的方式实现。
本发明的优点如下:
本发明提供的可重构的多通道检测算法加速器使得在使用时可实时对个参数进行配置,并重构内部互连网络;采用流水加并行的架构,能够满足高吞吐率采样信号的需求;采用FPGA对其进行验证,易于硬件实现。
附图说明
图1是加速器系统架构。
图2是多通道检测算法流程图。
图3是乘累加器结构图。
图4是半窗滑动示意图。
图5是FFT流水线结构图。
图6 是FPGA验证架构图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
本发明例提供的可重构的多通道检测算法加速器,系统架构如图1所示,包括AXI4接口、一组配置寄存器、一组状态寄存器、主控制器、重构控制器以及多通道检测运算模块。AXI4接口,用于接收AXI总线上的命令,以及进行数据的交互;一组配置寄存器,AXI总线上传来的命令可以对配置寄存器进行配置,不同的配置对应不同的帧长、阶数、数据地址等信息;一组状态寄存器,用于对加速器内部状态的监控,同时可以根据AXI4传来的命令反馈加速器内部状态;主控制器,主控制器根据配置寄存器的相关配置,将有效参数传给重构控制器,并实时对状态寄存器进行更新;重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构,形成需求相符合的硬件加速电路;多通道检测运算模块,采用流水与并行的架构,其内部由多种流水算法组合而成,比如:希尔伯特变换、快速傅里叶变换、加窗算法等,其中各算法根据相应的配置选通MUX从而实现不同点数不同阶数的算法,其中希尔伯特变换的阶数小于100,帧长可配置范围为:64~1024。
多通道检测算法内部包含了多种算法,比如:希尔伯特变换、加窗算法、FFT等。输入信号位宽为12bit的采样信号, 加速器用FPGA实现,主频达到250MHz,数据吞吐率最高达到12Gbps,即可以满足1000M的采样率。如果在使用芯片实现,加速器主频若能提高到800MHz,数据吞吐率可达38.4Gbps,即可以满足3.2G的采样率,完全可以满足主流采样的需求。
如图2所示,为了满足数据吞吐率的要求,希尔伯特变换采用两路乘累加,每个时钟周期读入四个数据,其中两个延迟,另外两个被读入相应的乘累加1和乘累加2中完成乘累加运算。在完成希尔伯特变换后 ,每个时钟周期会输出两个复数进入半窗滑动,半窗滑动相当于把运算量加倍,所以经过半窗滑动后,相当于每个时钟周期会有四个复数需要进行运算,所以后面的流水线(包括加窗、FFT、求模等)需要四路并行才能满足吞吐率的要求。
如图3所示是当希尔伯特变换的阶数为4的情况下,所使用的乘累加器的结构图,随着阶数的增大,所需要的资源相应也会增加。每个乘法器的一个运算量为系数,另一个运算量为输入,每个乘法器对应的系数输入一直保持不变,而当数据流水输入时,每个输入按序作为乘法器的输入,直到经过所有乘法器。为了满足采样率的需求,每个时钟周期读入4个12位的数据,假设第一个时钟周期读入数据的编号为0,1,2,3,编号为0,2的数据被送入延迟单元,编号为1,3的数据需要进行希尔伯特变换后作为结构的虚数部分输出。希尔伯特变换系数,是通过上位机发送到DDR指定地址,在主控完成对内部的重构后,将系数在内部可重构资源配置完后,将参数直接读入内部寄存器,一方面节约了片上存储资源,另一方面能够简化运行时的数据读写控制。此时一个希尔伯特单元无法满足吞吐率的需求,所以需要两个乘累加器。
半窗滑动可以将数据分为相互重叠的两组数据,如图 4所示。上半部分的箭头表示一帧数据,而下面的箭头同样表示一帧数据,由于两组数据互相重合,所以接下来需要两路并行才能满足数据吞吐率的需求。假设一帧数据为N,那么第一路的第一帧为(0~N-1),而第二路的第一帧数据为(N/2~3N/2-1),(N/2~N-1)的数据就是两路重合的数据,所以(0~N/2-1)的数据只送到第一路进行相应的运算,而从N/2开始,数据将同时送入第一路以及第二路进行相应的运算。这部分不消耗运算单元以及存储单元,只需要相应的控制即可。
加窗算法主要是将输入序列乘以汉明窗函数。
快速傅里叶变换采用如图5的架构,本次设计采用基2基4混合的单路径延时反馈SDF(Single-path Delay Feedback)流水结构,Mode_sel[2:0]表示模式选择,可选择5种不同的点数模式,如表1所示。根据该模式选择可以控制数据输入通道和数据输出通道。
表1
后面所涉及到的算法,求模算法,使用现成的流水求模IP核即可实现,求门限、门限比较、搜峰都是可以归类于比较算法,相对来说架构比较简单,这里就不详细描述了。
测试主要有三部分:子算法测试、多通道检测算法测试,系统集成测试。
子算法测试主要通过Modelsim完成,需要验证各子算法模块无误后,进行子算法集成,多通道检测算法模块测试也基于Modelsim,需要对不同参数下的各点数进行测试,确保无误后,进行系统集成。系统集成测试在开发板Xilinx Virtex-7 FPGA VC707上进行。
验证平台中除了待验证的加速器外还有DDR、GMAC、MicorBlaze,这些部件都是通过AXI4总线来传送指令以及数据。MicorBlaze:可通过AXI对主控制器进行配置。DDR:存储原始数据和结果数据。GMAC :系统中集成了一个GMAC(千兆以太网网络接口),通过该接口,将PC端的数据快速的输入到内部DDR,DDR中的数据可以通过GMAC输出到PC端;另外,数据也可以通过GMAC直接输入到加速器中进行处理,处理完毕后,直接反馈给PC。NOR FLASH:NORFLASH主要用于存储MicorBlaze指令。AXI总线:各个组件之间通信的桥梁。
运算使用的源数据以及结果数据由Matlab产生并保存为数据文件,PC端的软件将已有待验证数据文件中的数据发到GMAC,GMAC通过总线写数据至DDR的指定地址,加速器可以读取这一段的数据,进行运算,运算完成之后将运算结果搬运另一指定地址,GMAC再从DDR中读出该段地址的数据,并传输至PC端,存储为数据文件;另一种方案,可以将GMAC读取的数据,直接由加速核进行处理,处理后直接通过GMAC传输至PC端。比较上述两数据文件,验证运算结果的正确性。加速器FPGA验证架构见图6。
具体测试流程如下:1.Matlab产生随机的源数据及对应的结果,并保存为数据文件2.首先通过GMAC往FPGA中CPU发送一条指令,CPU解析指令,确定加速器需要执行的运算、运算点数、加速器运算取数的地址(Address1)以及运算之后结果数据的存放地址(Address2)。3.通过GMAC发送运算所需的源数据,并写入DDR中指定地址(Address1)。4.GMAC接收到足够的数据之后CPU配置加速器开始运算,运算完成之后CPU配置GMAC从DDR特定地址中(Address2)读出数据,并发回至PC端,记录为数据文件。5.通过Matlab比较理论结果与加速器的运算结果。

Claims (6)

1.一种可重构的多通道检测算法加速器,与AXI总线通信连接,其特征在于包括
AXI4接口,用于接收AXI总线上的控制信号,并与加速器外部进行数据交互;
配置寄存器,接收通过AXI总线传输的控制信号,并根据控制信号配置配置寄存器的参数,不同的配置对应不同的数据帧长或数据阶数或数据地址;
状态寄存器,用于储存加速器内部的状态信息,同时可以根据所述控制信号反馈所述状态信息;
主控制器,主控制器根据配置寄存器的配置信息,将重构参数传给重构控制器,并实时对状态寄存器进行更新;
重构控制器,根据主控制器传来的数据,对内部的可重构算法模块进行重构,形成需求相符合的硬件加速电路;
多通道检测运算模块,采用流水和并行的架构,含有若干流水算法,各算法根据相应的所述配置信息选通数据选择器从而实现不同点数不同阶数的算法。
2.根据权利要求1所述的可重构的多通道检测算法加速器,其特征在于所述加速器与外部交互的数据包括
输入数据,为实时传输的高速采样信号,通过专门的高速通道传输;
输出数据,由通过专门的高速通道传输。
3.根据权利要求2所述的可重构的多通道检测算法加速器,其特征在于多通道检测运算模块可根据输入数据的采样频率确定并行路数。
4.根据权利要求1所述的可重构的多通道检测算法加速器,其特征在于,所述流水算法包括:希尔伯特变换算法、快速傅里叶变换算法、加窗算法。
5.根据权利要求4所述的可重构的多通道检测算法加速器,其特征在于所述希尔伯特变换算法的实现通过两路乘累加并行架构。
6.根据权利要求4所述的可重构的多通道检测算法加速器,其特征在于所述快速傅里叶变换算法与加窗算法通过四路并行的方式实现。
CN201610274202.4A 2016-04-27 2016-04-27 一种可重构的多通道检测算法加速器 Active CN105955705B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610274202.4A CN105955705B (zh) 2016-04-27 2016-04-27 一种可重构的多通道检测算法加速器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610274202.4A CN105955705B (zh) 2016-04-27 2016-04-27 一种可重构的多通道检测算法加速器

Publications (2)

Publication Number Publication Date
CN105955705A CN105955705A (zh) 2016-09-21
CN105955705B true CN105955705B (zh) 2019-02-26

Family

ID=56915706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610274202.4A Active CN105955705B (zh) 2016-04-27 2016-04-27 一种可重构的多通道检测算法加速器

Country Status (1)

Country Link
CN (1) CN105955705B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245322B (zh) * 2019-05-09 2020-10-16 华中科技大学 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053945A (zh) * 2009-11-09 2011-05-11 中国科学院过程工程研究所 一种面向多尺度离散模拟的并行计算系统
CN102355348A (zh) * 2011-06-28 2012-02-15 中国人民解放军国防科学技术大学 一种容错的des算法加速器
CN102547288A (zh) * 2012-01-11 2012-07-04 山东大学 运行时可重构的嵌入式安全实时图像压缩系统
CN102663666A (zh) * 2012-03-27 2012-09-12 中国人民解放军国防科学技术大学 基于fpga的二维图像重采样算法加速器
CN104537278A (zh) * 2014-12-01 2015-04-22 中国人民解放军海军工程大学 对带假结的rna二级结构预测进行硬件加速的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053945A (zh) * 2009-11-09 2011-05-11 中国科学院过程工程研究所 一种面向多尺度离散模拟的并行计算系统
CN102355348A (zh) * 2011-06-28 2012-02-15 中国人民解放军国防科学技术大学 一种容错的des算法加速器
CN102547288A (zh) * 2012-01-11 2012-07-04 山东大学 运行时可重构的嵌入式安全实时图像压缩系统
CN102663666A (zh) * 2012-03-27 2012-09-12 中国人民解放军国防科学技术大学 基于fpga的二维图像重采样算法加速器
CN104537278A (zh) * 2014-12-01 2015-04-22 中国人民解放军海军工程大学 对带假结的rna二级结构预测进行硬件加速的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种KNN算法的可重构硬件加速器设计;柴志雷 等;《计算机应用研究》;20141231;第31卷(第12期);第3628-3631页

Also Published As

Publication number Publication date
CN105955705A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN104915322B (zh) 一种卷积神经网络硬件加速方法
US10503848B2 (en) Target capture and replay in emulation
Pellauer et al. HAsim: FPGA-based high-detail multicore simulation using time-division multiplexing
Karam et al. Trends in multicore DSP platforms
Wang et al. DART: A programmable architecture for NoC simulation on FPGAs
Salefski et al. Re-configurable computing in wireless
Genko et al. A complete network-on-chip emulation framework
US20140289445A1 (en) Hardware accelerator system and method
US7120571B2 (en) Resource board for emulation system
US8244512B1 (en) Method and apparatus for simulating a circuit using timing insensitive glitch-free (TIGF) logic
Cassidy et al. Design of a one million neuron single FPGA neuromorphic system for real-time multimodal scene analysis
US20090204931A1 (en) Method And Apparatus For Processing Assertions In Assertion-Based Verification of A Logic Design
WO2014116408A1 (en) Embedded tester
Ost et al. MAIA: a framework for networks on chip generation and verification
US20110307233A1 (en) Common shared memory in a verification system
Liu et al. Energy reduction with run-time partial reconfiguration
Mehta ASIC/SoC functional design verification
CN102184148B (zh) 一种基于fpga的at96总线控制器ip核及其构建方法
CN100573537C (zh) 一种soc芯片系统级验证系统及方法
US20050267732A1 (en) Method of visualization in processor based emulation system
US8914566B2 (en) Managing interrupts
US8566068B2 (en) Trace routing network
CN103559156A (zh) 一种fpga与计算机之间的通信系统
Sheng et al. Towards low-latency communication on fpga clusters with 3d fft case study
CN106844822B (zh) 一种支持快速虚实互换的运载火箭半实物仿真方法

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant