CN105955705B - 一种可重构的多通道检测算法加速器 - Google Patents
一种可重构的多通道检测算法加速器 Download PDFInfo
- 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
- algorithm
- accelerator
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
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所述的可重构的多通道检测算法加速器,其特征在于所述快速傅里叶变换算法与加窗算法通过四路并行的方式实现。
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245322B (zh) * | 2019-05-09 | 2020-10-16 | 华中科技大学 | 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 |
CN112698275B (zh) * | 2019-10-22 | 2023-08-15 | 北京华航无线电测量研究所 | 一种可重配置的雷达接收通道合成控制装置 |
CN111338252A (zh) * | 2020-03-09 | 2020-06-26 | 中国电子科技集团公司第十四研究所 | 一种多通道兼容雷达信号处理的fpga架构设计 |
Citations (5)
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二级结构预测进行硬件加速的方法 |
-
2016
- 2016-04-27 CN CN201610274202.4A patent/CN105955705B/zh active Active
Patent Citations (5)
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)
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 |
---|---|---|
Li et al. | Clicknp: Highly flexible and high performance network processing with reconfigurable hardware | |
Mueller et al. | Streams on wires: a query compiler for FPGAs | |
CN108051786A (zh) | 一种宽带目标模拟器验证平台及验证方法 | |
US20090100304A1 (en) | Hardware and Software Co-test Method for FPGA | |
CN105955705B (zh) | 一种可重构的多通道检测算法加速器 | |
CN207096986U (zh) | 软硬件协同仿真的系统 | |
Murali et al. | Improved design debugging architecture using low power serial communication protocols for signal processing applications | |
Koczor et al. | Verification approach based on emulation technology | |
CN106874158A (zh) | 一种异构系统全程序功耗计量方法 | |
Oge et al. | An efficient and scalable implementation of sliding-window aggregate operator on fpga | |
Slogsnat et al. | A versatile, low latency HyperTransport core | |
CN117113908B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US12112202B2 (en) | Framework for application driven exploration and optimization of hardware engines | |
CN103838704A (zh) | 一种高吞吐率的fft加速器 | |
Genko et al. | A novel approach for network on chip emulation | |
CN102523374B (zh) | 一种实时并行的电子稳像系统设计方法 | |
Greaves | System on Chip Design and Modelling | |
Mandal et al. | NoCBench: a benchmarking platform for network on chip | |
Gong et al. | Shuntflow: An efficient and scalable dataflow accelerator architecture for streaming applications | |
Burke et al. | Ramp blue: Implementation of a manycore 1008 processor fpga system | |
Jin et al. | Design of spaceborne SAR imaging processing and fast Verification Based on FPGA | |
Tahghighi et al. | Analytical delay model for CPU-FPGA data paths in programmable system-on-chip FPGA | |
Huang et al. | Design and implementation of convolutional neural network accelerator with variable layer-by-layer debugging | |
CN117077603B (zh) | 一种验证方法、芯片、系统、电子设备及可读存储介质 | |
Luan et al. | A new high–speed FPGA and Ethernet Based Embedded Data Acquisition System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |