一種可重構(gòu)的多通道檢測算法加速器的制造方法
【專利摘要】本發(fā)明涉及可重構(gòu)的多通道檢測算法加速器,包括AXI4接口,用于接收AXI總線上的命令;置寄存器,根據(jù)控制信號配置配置寄存器的參數(shù);狀態(tài)寄存器,用于儲存加速器內(nèi)部的狀態(tài)信息,同時可以根據(jù)所述控制信號反饋所述狀態(tài)信息;主控制器,主控制器根據(jù)配置寄存器的配置信息,將重構(gòu)參數(shù)傳給重構(gòu)控制器,并實時對狀態(tài)寄存器進行更新;重構(gòu)控制器,根據(jù)主控制器傳來的數(shù)據(jù),對內(nèi)部的可重構(gòu)算法模塊進行重構(gòu);多通道檢測運算模塊,采用流水、并行的架構(gòu),含有若干流水算法,各算法根據(jù)相應的所述配置信息選通數(shù)據(jù)選擇器從而實現(xiàn)不同點數(shù)不同階數(shù)的算法。有益效果為:本發(fā)明提供的多通道檢測算法加速器通過可重構(gòu)技術(shù)大大提高了加速器的靈活性,流水與并行的架構(gòu)大大增強了加速器的性能。
【專利說明】
-種可重構(gòu)的多通道檢測算法加速器
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及多通道檢測算法加速器,尤其設(shè)及一種可重構(gòu)的多通道檢測算法加速 器。
【背景技術(shù)】
[0002] 在電子對抗中,對信號進行實時的檢測是截獲對方雷達信號的先決條件。在電子 偵察數(shù)字接收機中,由于系統(tǒng)帶寬大,要求A/D采用的速率很高,運給實時處理帶來困難。為 了能夠滿足性能的需要,專用集成電路可W作為一種很好的選擇,然而,專用集成電路只能 夠?qū)μ囟▍?shù)的特定應用進行加速。在電子偵察數(shù)字接收機工作時,需要根據(jù)實際情況對 相應的參數(shù)進行及時的更改,運就需要在性能不降低的情況下,提高其靈活性。雖然通用處 理器有很大的靈活性,可W根據(jù)不同的應用、不同的參數(shù),通過軟件編程的方式方便使用, 但性能遠遠無法滿足需求。
[0003] 可重構(gòu)計算是一種介于軟件和專用硬件之間的新的求算方式,其兼具了軟件的通 用性和硬件的高效性。隨著電子技術(shù)和計算機技術(shù)的不斷進步,可重構(gòu)計算正逐步成為一 個新的研究熱點。目前,可重構(gòu)計算已經(jīng)廣泛應用于數(shù)字信號處理領(lǐng)域。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明目的在于基于可重構(gòu)技術(shù),基于流水與并行的架構(gòu),提供一種可重構(gòu)的多 通道檢測算法加速器,具體有W下技術(shù)方案實現(xiàn): 所述可重構(gòu)的多通道檢測算法加速器,與AXI總線通信連接,包括AXI4接口,用于接收 AXI總線上的控制信號,并與加速其外部進行數(shù)據(jù)交互;配置寄存器,接收通過AXI總線傳輸 的控制信號,并根據(jù)控制信號配置配置寄存器的參數(shù),不同的配置對應不同的數(shù)據(jù)帖長、數(shù) 據(jù)階數(shù)、數(shù)據(jù)地址;狀態(tài)寄存器,用于儲存加速器內(nèi)部的狀態(tài)信息,同時可W根據(jù)所述控制 信號反饋所述狀態(tài)信息;主控制器,主控制器根據(jù)配置寄存器的配置信息,將重構(gòu)參數(shù)傳給 重構(gòu)控制器,并實時對狀態(tài)寄存器進行更新;重構(gòu)控制器,根據(jù)主控制器傳來的數(shù)據(jù),對內(nèi) 部的可重構(gòu)算法模塊進行重構(gòu),形成需求相符合的硬件加速電路;多通道檢測運算模塊,采 用流水、并行的架構(gòu),含有若干流水算法,各算法根據(jù)相應的所述配置信息選通數(shù)據(jù)選擇器 從而實現(xiàn)不同點數(shù)不同階數(shù)的算法,其中希爾伯特變換的階數(shù)小于100,帖長可配置范圍 為:64~1024。。
[0005] 所述的可重構(gòu)的多通道檢測算法加速器的進一步設(shè)計在于,所述加速器與外部交 互的數(shù)據(jù)包括:輸入數(shù)據(jù),為實時傳輸?shù)母咚俨蓸有盘?,通過??诘母咚偻ǖ纻鬏?輸出數(shù) 據(jù),由通過??诘母咚偻ǖ纻鬏?。
[0006] 所述的可重構(gòu)的多通道檢測算法加速器的進一步設(shè)計在于,多通道檢測運算模塊 可根據(jù)輸入數(shù)據(jù)的采樣頻率確定并行路數(shù)。
[0007] 所述的可重構(gòu)的多通道檢測算法加速器的進一步設(shè)計在于,所述流水算法包括: 希爾伯特變換算法、快速傅里葉變換算法、加窗算法。
[0008] 所述的可重構(gòu)的多通道檢測算法加速器的進一步設(shè)計在于,所述希爾伯特變換算 法的實現(xiàn)通過兩路乘累加并行架構(gòu)。
[0009] 所述的可重構(gòu)的多通道檢測算法加速器的進一步設(shè)計在于,所述快速傅里葉變換 算法、加窗算法的通過四路并行的方式實現(xiàn)。
[0010]本發(fā)明的優(yōu)點如下: 本發(fā)明提供的可重構(gòu)的多通道檢測算法加速器使得在使用時可實時對個參數(shù)進行配 置,并重構(gòu)內(nèi)部互連網(wǎng)絡;采用流水加并行的架構(gòu),能夠滿足高吞吐率采樣信號的需求;采 用FPGA對其進行驗證,易于硬件實現(xiàn)。
【附圖說明】
[0011] 圖1是加速器系統(tǒng)架構(gòu)。
[0012] 圖2是多通道檢測算法流程圖。
[0013] 圖3是乘累加器結(jié)構(gòu)圖。
[0014] 圖4是半窗滑動示意圖。
[0015] 圖5是FFT流水線結(jié)構(gòu)圖。
[0016] 圖6是FPGA驗證架構(gòu)圖。
【具體實施方式】
[0017] 下面結(jié)合附圖對本發(fā)明方案進行詳細說明。
[0018] 本發(fā)明例提供的可重構(gòu)的多通道檢測算法加速器,系統(tǒng)架構(gòu)如圖1所示,包括AXI4 接口、一組配置寄存器、一組狀態(tài)寄存器、主控制器、重構(gòu)控制器W及多通道檢測運算模塊。 AXI4接口,用于接收AXI總線上的命令,W及進行數(shù)據(jù)的交互;一組配置寄存器,AXI總線上 傳來的命令可W對配置寄存器進行配置,不同的配置對應不同的帖長、階數(shù)、數(shù)據(jù)地址等信 息;一組狀態(tài)寄存器,用于對加速器內(nèi)部狀態(tài)的監(jiān)控,同時可W根據(jù)AXI4傳來的命令反饋加 速器內(nèi)部狀態(tài);主控制器,主控制器根據(jù)配置寄存器的相關(guān)配置,將有效參數(shù)傳給重構(gòu)控制 器,并實時對狀態(tài)寄存器進行更新;重構(gòu)控制器,根據(jù)主控制器傳來的數(shù)據(jù),對內(nèi)部的可重 構(gòu)算法模塊進行重構(gòu),形成需求相符合的硬件加速電路;多通道檢測運算模塊,采用流水與 并行的架構(gòu),其內(nèi)部由多種流水算法組合而成,比如:希爾伯特變換、快速傅里葉變換、加窗 算法等,其中各算法根據(jù)相應的配置選通MUX從而實現(xiàn)不同點數(shù)不同階數(shù)的算法,其中希爾 伯特變換的階數(shù)小于100,帖長可配置范圍為:64~1024。
[0019] 多通道檢測算法內(nèi)部包含了多種算法,比如:希爾伯特變換、加窗算法、FFT等。輸 入信號位寬為12bit的采樣信號,加速器用FPGA實現(xiàn),主頻達到250MHz,數(shù)據(jù)吞吐率最高達 到12Gbps,即可W滿足1000 M的采樣率。如果在使用忍片實現(xiàn),加速器主頻若能提高到 800MHz,數(shù)據(jù)吞吐率可達38.4化PS,即可W滿足3.2G的采樣率,完全可W滿足主流采樣的需 求。
[0020] 如圖2所示,為了滿足數(shù)據(jù)吞吐率的要求,希爾伯特變換采用兩路乘累加,每個時 鐘周期讀入四個數(shù)據(jù),其中兩個延遲,另外兩個被讀入相應的乘累加1和乘累加2中完成乘 累加運算。在完成希爾伯特變換后,每個時鐘周期會輸出兩個復數(shù)進入半窗滑動,半窗滑 動相當于把運算量加倍,所W經(jīng)過半窗滑動后,相當于每個時鐘周期會有四個復數(shù)需要進 行運算,所W后面的流水線(包括加窗、FFT、求模等)需要四路并行才能滿足吞吐率的要求。
[0021] 如圖3所示是當希爾伯特變換的階數(shù)為4的情況下,所使用的乘累加器的結(jié)構(gòu)圖, 隨著階數(shù)的增大,所需要的資源相應也會增加。每個乘法器的一個運算量為系數(shù),另一個運 算量為輸入,每個乘法器對應的系數(shù)輸入一直保持不變,而當數(shù)據(jù)流水輸入時,每個輸入按 序作為乘法器的輸入,直到經(jīng)過所有乘法器。為了滿足采樣率的需求,每個時鐘周期讀入4 個12位的數(shù)據(jù),假設(shè)第一個時鐘周期讀入數(shù)據(jù)的編號為0,1,2,3,編號為0,2的數(shù)據(jù)被送入 延遲單元,編號為1,3的數(shù)據(jù)需要進行希爾伯特變換后作為結(jié)構(gòu)的虛數(shù)部分輸出。希爾伯特 變換系數(shù),是通過上位機發(fā)送到DDR指定地址,在主控完成對內(nèi)部的重構(gòu)后,將系數(shù)在內(nèi)部 可重構(gòu)資源配置完后,將參數(shù)直接讀入內(nèi)部寄存器,一方面節(jié)約了片上存儲資源,另一方面 能夠簡化運行時的數(shù)據(jù)讀寫控制。此時一個希爾伯特單元無法滿足吞吐率的需求,所W需 要兩個乘累加器。
[0022] 半窗滑動可W將數(shù)據(jù)分為相互重疊的兩組數(shù)據(jù),如圖4所示。上半部分的箭頭表 示一帖數(shù)據(jù),而下面的箭頭同樣表示一帖數(shù)據(jù),由于兩組數(shù)據(jù)互相重合,所W接下來需要兩 路并行才能滿足數(shù)據(jù)吞吐率的需求。假設(shè)一帖數(shù)據(jù)為N,那么第一路的第一帖為(0~N-1),而 第二路的第一帖數(shù)據(jù)為(N/2~3N/2-l),(N/2~N-1)的數(shù)據(jù)就是兩路重合的數(shù)據(jù),所W(0~N/ 2-1)的數(shù)據(jù)只送到第一路進行相應的運算,而從N/2開始,數(shù)據(jù)將同時送入第一路W及第二 路進行相應的運算。運部分不消耗運算單元W及存儲單元,只需要相應的控制即可。
[0023] 加窗算法主要是將輸入序列乘W漢明窗函數(shù)。
[0024] 快速傅里葉變換采用如圖5的架構(gòu),本次設(shè)計采用基2基4混合的單路徑延時反饋 SDF(Single-path Delay Feeclback)流水結(jié)構(gòu),Mode_sel[2:0]表示模式選擇,可選擇5種不 同的點數(shù)模式,如表1所示。根據(jù)該模式選擇可W控制數(shù)據(jù)輸入通道和數(shù)據(jù)輸出通道。
[0025] 表 1
后面所設(shè)及到的算法,求模算法,使用現(xiàn)成的流水求模IP核即可實現(xiàn),求口限、口限比 較、捜峰都是可W歸類于比較算法,相對來說架構(gòu)比較簡單,運里就不詳細描述了。
[0026] 測試主要有=部分:子算法測試、多通道檢測算法測試,系統(tǒng)集成測試。
[0027] 子算法測試主要通過Modelsim完成,需要驗證各子算法模塊無誤后,進行子算法 集成,多通道檢測算法模塊測試也基于Modelsim,需要對不同參數(shù)下的各點數(shù)進行測試,確 保無誤后,進行系統(tǒng)集成。系統(tǒng)集成測試在開發(fā)板Xilinx Virtex-T FPGA VC707上進行。 [002引驗證平臺中除了待驗證的加速器外還有DDR、GMAC、Mico巧laze,運些部件都是通 過AXI4總線來傳送指令W及數(shù)據(jù)。MicorBlaze:可通過AXI對主控制器進行配置。DDR:存儲 原始數(shù)據(jù)和結(jié)果數(shù)據(jù)。GMC :系統(tǒng)中集成了一個GMAC(千兆W太網(wǎng)網(wǎng)絡接口),通過該接口, 將PC端的數(shù)據(jù)快速的輸入到內(nèi)部DDR,DDR中的數(shù)據(jù)可W通過GMAC輸出到PC端;另外,數(shù)據(jù)也 可W通過GMAC直接輸入到加速器中進行處理,處理完畢后,直接反饋給PC。NOR FLA細:NOR FLA甜主要用于存儲Mico巧laze指令。AXI總線:各個組件之間通信的橋梁。
[0029] 運算使用的源數(shù)據(jù)W及結(jié)果數(shù)據(jù)由Matlab產(chǎn)生并保存為數(shù)據(jù)文件,PC端的軟件將 已有待驗證數(shù)據(jù)文件中的數(shù)據(jù)發(fā)到GMAC,GMAC通過總線寫數(shù)據(jù)至孤R的指定地址,加速器可 W讀取運一段的數(shù)據(jù),進行運算,運算完成之后將運算結(jié)果搬運另一指定地址,GMAC再從 孤R中讀出該段地址的數(shù)據(jù),并傳輸至PC端,存儲為數(shù)據(jù)文件;另一種方案,可W將GMAC讀取 的數(shù)據(jù),直接由加速核進行處理,處理后直接通過GMAC傳輸至PC端。比較上述兩數(shù)據(jù)文件, 驗證運算結(jié)果的正確性。加速器FPGA驗證架構(gòu)見圖6。
[0030] 具體測試流程如下:1.Matlab產(chǎn)生隨機的源數(shù)據(jù)及對應的結(jié)果,并保存為數(shù)據(jù)文 件2.首先通過GMAC往FPGA中CPU發(fā)送一條指令,CPU解析指令,確定加速器需要執(zhí)行的運算、 運算點數(shù)、加速器運算取數(shù)的地址(Addressl) W及運算之后結(jié)果數(shù)據(jù)的存放地址 (Address2)。3 .通過GMAC發(fā)送運算所需的源數(shù)據(jù),并寫入抓R中指定地址(AddreSSl)。 4.GMAC接收到足夠的數(shù)據(jù)之后CPU配置加速器開始運算,運算完成之后CPU配置GMAC從DDR 特定地址中(A(Mress2)讀出數(shù)據(jù),并發(fā)回至PC端,記錄為數(shù)據(jù)文件。5.通過Matlab比較理論 結(jié)果與加速器的運算結(jié)果。
【主權(quán)項】
1. 一種可重構(gòu)的多通道檢測算法加速器,與AXI總線通信連接,其特征在于包括 AXI4接口,用于接收AXI總線上的控制信號,并與加速其外部進行數(shù)據(jù)交互; 配置寄存器,接收通過AXI總線傳輸?shù)目刂菩盘枺⒏鶕?jù)控制信號配置配置寄存器的參 數(shù),不同的配置對應不同的數(shù)據(jù)幀長、數(shù)據(jù)階數(shù)、數(shù)據(jù)地址; 狀態(tài)寄存器,用于儲存加速器內(nèi)部的狀態(tài)信息,同時可以根據(jù)所述控制信號反饋所述 狀態(tài)信息; 主控制器,主控制器根據(jù)配置寄存器的配置信息,將重構(gòu)參數(shù)傳給重構(gòu)控制器,并實時 對狀態(tài)寄存器進行更新; 重構(gòu)控制器,根據(jù)主控制器傳來的數(shù)據(jù),對內(nèi)部的可重構(gòu)算法模塊進行重構(gòu),形成需求 相符合的硬件加速電路; 多通道檢測運算模塊,采用流水、并行的架構(gòu),含有若干流水算法,各算法根據(jù)相應的 所述配置信息選通數(shù)據(jù)選擇器從而實現(xiàn)不同點數(shù)不同階數(shù)的算法。2. 根據(jù)權(quán)利要求1所述的可重構(gòu)的多通道檢測算法加速器,其特征在于所述加速器與 外部交互的數(shù)據(jù)包括 輸入數(shù)據(jù),為實時傳輸?shù)母咚俨蓸有盘?,通過專門的高速通道傳輸; 輸出數(shù)據(jù),由通過專門的高速通道傳輸。3. 根據(jù)權(quán)利要求2所述的可重構(gòu)的多通道檢測算法加速器,其特征在于多通道檢測運 算模塊可根據(jù)輸入數(shù)據(jù)的采樣頻率確定并行路數(shù)。4. 根據(jù)權(quán)利要求1所述的可重構(gòu)的多通道檢測算法加速器,其特征在于,所述流水算法 包括:希爾伯特變換算法、快速傅里葉變換算法、加窗算法。5. 根據(jù)權(quán)利要求4所述的可重構(gòu)的多通道檢測算法加速器,其特征在于所述希爾伯特 變換算法的實現(xiàn)通過兩路乘累加并行架構(gòu)。6. 根據(jù)權(quán)利要求4所述的可重構(gòu)的多通道檢測算法加速器,其特征在于所述快速傅里 葉變換算法、加窗算法的通過四路并行的方式實現(xiàn)。
【文檔編號】G06F7/53GK105955705SQ201610274202
【公開日】2016年9月21日
【申請日】2016年4月27日
【發(fā)明人】潘紅兵, 呂飛, 李麗, 秦子迪, 朱德政, 何書專, 李偉
【申請人】南京大學