亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HLS的雷達(dá)信號處理FPGA設(shè)計

        2016-12-26 16:04:10凌元陳原
        電子技術(shù)與軟件工程 2016年22期

        凌元++陳原

        摘 要

        現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)由于其強大的并行信號處理能力,在雷達(dá)實時信號處理方面得到廣泛應(yīng)用。本文介紹了高層次綜合(High Level Synthesis,HLS)方法在雷達(dá)信號處理FPGA設(shè)計領(lǐng)域的開發(fā)流程及應(yīng)用優(yōu)勢,相對于傳統(tǒng)的設(shè)計方法,其具有開發(fā)效率高、測試驗證簡單、可重構(gòu)等優(yōu)點。以雷達(dá)信號處理中的矩陣自相關(guān)算法為例對比了HLS設(shè)計與傳統(tǒng)開發(fā)方式,獲得了幾乎相同的性能,而開發(fā)時間縮短了75%以上。

        【關(guān)鍵詞】HLS FPGA 矩陣自相關(guān)

        1 引言

        隨著計算機技術(shù)的不斷發(fā)展,雷達(dá)數(shù)字信號處理的實現(xiàn)也從傳統(tǒng)的使用計算機,向使用高性能數(shù)字信號處理器發(fā)展,但本質(zhì)上,在這些平臺上實現(xiàn)數(shù)字信號處理還是純粹的軟件方法。近些年來,相控陣?yán)走_(dá)的發(fā)展帶來了雷達(dá)信號處理數(shù)據(jù)量的指數(shù)級增長,傳統(tǒng)的軟件處理方法已不能滿足實時的信號處理需求。FPGA由于其強大的并行信號處理能力、卓越的靈活性以及高性價比,引起了雷達(dá)信號處理者的興趣和高度關(guān)注。

        傳統(tǒng)的FPGA設(shè)計采用原理圖或硬件描述語言(Hardware Description Language,HDL)進行輸入,其開發(fā)難度大、效率低、周期長,制約了其在雷達(dá)信號處理方面的應(yīng)用。HLS通過綜合器直接將C/C++描述的函數(shù)綜合成RTL代碼,大大簡化了設(shè)計和調(diào)試的過程,降低了開發(fā)難度。文獻[3]中介紹了Vivado HLS的簡易開發(fā)流程及在視頻處理上的應(yīng)用,其未詳細(xì)介紹HLS的開發(fā)優(yōu)勢和開發(fā)效率的比對。文獻[4]介紹了基于HLS的合成孔徑成像算法的設(shè)計和實現(xiàn),整個開發(fā)時間在6周左右。本文以Xilinx公司的Vivado HLS設(shè)計套件為例詳細(xì)介紹了基于HLS的雷達(dá)信號處理FPGA開發(fā)流程極其應(yīng)用優(yōu)勢,并以雷達(dá)信號處理中的矩陣自相關(guān)算法作為實例進行了設(shè)計對比,結(jié)果表明,基于HLS的設(shè)計獲得了幾乎相同的性能,但節(jié)約開發(fā)時間75%以上,同時設(shè)計的模塊具備可重構(gòu)性,適合雷達(dá)信號處理不同應(yīng)用場景需求。

        2 HLS設(shè)計流程及優(yōu)勢

        2.1 HLS設(shè)計流程

        HLS是從高層次描述,之后綜合成可用的網(wǎng)表文件的技術(shù)。這里的“高”指采用C/C++等編寫程序,而不是傳統(tǒng)的HDL語言。Vivado HLS軟件將C/C++程序綜合轉(zhuǎn)換成為Verilog HDL或者VHDL代碼,之后進行下一步工作。其實際工作流程如圖1所示。

        HLS采用約束腳本對代碼的綜合過程進行控制,以實現(xiàn)不同架構(gòu),使設(shè)計具有不同的通過率和資源消耗。采用HLS進行雷達(dá)信號處理FPGA設(shè)計可分為以下幾個步驟:

        (1)根據(jù)信號處理功能需求,確定功能模塊設(shè)計架構(gòu);

        (2)編寫功能模塊的C/C++程序,并編寫測試激勵,對程序進行測試仿真;

        (3)在通過C/C++仿真的前提下,根據(jù)用戶需求修改代碼和添加優(yōu)化指令,獲取用戶所需要的性能參數(shù)、資源時序、接口配置等;

        (4)進行C/C++綜合,并根據(jù)綜合報告進一步通過代碼風(fēng)格和優(yōu)化指令進行優(yōu)化設(shè)計,直到得到的綜合結(jié)果滿足設(shè)計需求;

        (5)進行C/C++綜合,將C/C++代碼轉(zhuǎn)換為寄存器傳輸級(Register Transfer Level,RTL)代碼;

        (6)進行C/RTL協(xié)仿真,即HLS將優(yōu)化后的C/C++代碼和原測試激勵進行RTL轉(zhuǎn)化,并完成RTL仿真;

        (7)實例化HLS封裝IP,進行系統(tǒng)集成。

        2.2 HLS設(shè)計優(yōu)勢

        基于HLS的雷達(dá)信號處理FPGA設(shè)計,相對于傳統(tǒng)的開發(fā)方式在功能設(shè)計、測試驗證、更新與維護方面均具備優(yōu)勢:

        功能設(shè)計:采用C/C++進行源代碼設(shè)計,快速實現(xiàn)函數(shù)功能,編譯器自動將C/C++代碼轉(zhuǎn)換為RTL實現(xiàn)代碼,設(shè)計時間縮短80%以上,提升雷達(dá)信號處理系統(tǒng)開發(fā)效率。

        測試驗證:通過C/C++的仿真進行算法的功能驗證,通過C/C++與Modelsim的協(xié)仿真可快速實現(xiàn)RTL代碼的功能驗證,而無需重新編寫測試激勵,相對于傳統(tǒng)的驗證方法,測試更加全面,測試速度加快。

        更新與維護:由于采用C/C++語言設(shè)計,更新和維護更加容易,通過修改C/C++代碼,可實現(xiàn)函數(shù)功能的更新,優(yōu)化。根據(jù)信號處理不同通過率、不同平臺不同的資源和性能需求,修改相關(guān)約束腳本或參數(shù),可快速實現(xiàn)功能模塊的重構(gòu),重新生成滿足系統(tǒng)需求的RTL代碼。

        3 基于HLS的矩陣自相關(guān)算法設(shè)計實例

        3.1 設(shè)計方案

        設(shè)矩陣A為一個M行N列的復(fù)數(shù)矩陣,則對A求自相關(guān)得到:

        R=A*A (1)

        求得的矩陣R為一個M*M的方陣,且為厄米特(Hermitian)矩陣,根據(jù)厄米特矩陣的共軛對稱性質(zhì),只需求取其下三角元素(包含對角線)的結(jié)果。其計算量約為(M*(M+1)/2)*N次復(fù)數(shù)乘累加運算。當(dāng)M,N較大時,其運算量巨大,例如M=48,N=128時,其需要進行150528次復(fù)數(shù)乘累加運算。

        3.1.1 可定義的運算單元滿足不同資源和性能需求

        假設(shè)系統(tǒng)時鐘200MHz,一次復(fù)數(shù)乘累加運算需要消耗20個時鐘周期,則需要15.0528ms的時間才能完成計算,這在很多情況下往往不能滿足雷達(dá)的實時信號處理需求。

        為降低處理時間,在HLS設(shè)計中采用多個運算單元并行計算,每個運算單元計算一部分元素。由于各元素的計算結(jié)果互不依賴,因此可將所需要計算的(M*(M+1)/2)個元素均分至各運算單元中,如圖2所示。

        考慮不同信號處理的應(yīng)用場景的需求,在設(shè)計中最大矩陣維數(shù)M、N為參數(shù),向下兼容,計算單元數(shù)也可通過參數(shù)定義,以滿足不同的資源和性能需求。

        3.1.2 流水線設(shè)計(Pipeline)

        流水線是影響FPGA處理通過率的重要因素,其通過將一個復(fù)雜的操作步驟分解為多個子步驟,每個子步驟在一定的時間內(nèi)完成,則其通過率取決于最慢的一個步驟的處理時間,而不是所有步驟的總時間,因此提高了設(shè)計通過率。

        HLS采用Pipeline約束設(shè)置流水線,其設(shè)置的為流水線子步驟的處理延遲,當(dāng)設(shè)置該參數(shù)后,HLS會自動將復(fù)雜的計算分解為多個簡單的步驟以提高通過率。當(dāng)不能滿足設(shè)置的需求時,其也會自動地優(yōu)化成最優(yōu)的流水線處理架構(gòu)。在本設(shè)計中,為提升復(fù)數(shù)乘累加的通過率,對其進行Pipeline設(shè)置,如圖3所示。

        3.1.3 數(shù)據(jù)流模式(Dataflow)

        由于HLS是采用C/C++等語言進行編程,C/C++語言是針對于CPU進行設(shè)計,其必須執(zhí)行完一個函數(shù)或一句指令,才會執(zhí)行下一個函數(shù)或語句。對于本設(shè)計來說,則意味著必須等待數(shù)據(jù)輸入完畢后才能進行計算,顯然這增加了處理的延遲。采用Dataflow指令進行約束時,其將對代碼進行優(yōu)化,但前一個函數(shù)或語句執(zhí)行得到可用的輸出時,下一個函數(shù)或語句能夠立即進行計算,而無需等待前一個函數(shù)或數(shù)據(jù)完全計算完畢,降低了處理的延遲。

        3.2 設(shè)計結(jié)果及對比分析

        對不同的參數(shù)進行了HLS的設(shè)計,在Xilinx FPGA芯片 xc7vx690tffg1158-2中進行了綜合,將其與Verilog設(shè)計的結(jié)果進行了對比,得到設(shè)計的結(jié)果如表1所示。

        從表1的對比結(jié)果可以看出,在相同的參數(shù)和計算單元下,HLS消耗的BRAM和DSP資源略高于Verilog的設(shè)計結(jié)果,計算時間也略多10%,其設(shè)計達(dá)到的最高運行時鐘頻率(Fmax)高于Verilog的設(shè)計綜合結(jié)果。采用Verilog進行設(shè)計及測試驗證總耗費了約1個月的時間,而采用HLS僅僅約一周的時間就完成了設(shè)計和測試驗證,節(jié)省時間約75%,且HLS設(shè)計的模塊具備可重構(gòu)性,能夠滿足不同的應(yīng)用場景需求。

        4 結(jié)語

        本文詳細(xì)論述了HLS在雷達(dá)信號處理FPGA方面的設(shè)計流程和應(yīng)用優(yōu)勢,其具有開發(fā)效率高、測試驗證簡單、可重構(gòu)等優(yōu)點。在Xilinx公司的Vivado HLS設(shè)計套件中以雷達(dá)信號處理中的自相關(guān)算法作為實例與傳統(tǒng)設(shè)計方法進行了對比,結(jié)果表明,采用HLS設(shè)計可達(dá)到與采用硬件描述語言進行設(shè)計可達(dá)到幾乎相同的性能和資源消耗,但其開發(fā)時間相對于傳統(tǒng)設(shè)計方法提示75%左右,同時可通過不同的參數(shù)及約束指令生成具備不同資源和性能的功能模塊,以滿足不同的應(yīng)用場景需求,適宜在雷達(dá)信號處理領(lǐng)域推廣應(yīng)用。

        參考文獻

        [1]何賓,張艷輝.Xilinx FPGA數(shù)字信號處理權(quán)威指南-從HDL到模型和C的描述[M].北京:清華大學(xué)出版社,2014.

        [2]吳順君,梅曉春.雷達(dá)信號處理與數(shù)據(jù)處理技術(shù)[M].北京:電子工業(yè)出版社,2008.

        [3]黨宏社,王黎,王曉倩.基于Vivado HLS的FPGA開發(fā)與應(yīng)用研究[J].陜西科技大學(xué)學(xué)報,2015(02):155-159.

        [4]Raymond R.Hoare II,Denis Smetana,Accelerating SAR Processing on COTS FPGA Hardware Using C-to-Gates Design Tools[J].High Performance Extreme Computing Conference (HPEC),2014.

        [5]Xilinx,Vivado Design Suite User Guide:High-Level Synthesis(UG90,v2016.2),2016.8.

        作者單位

        南京電子技術(shù)研究所 江蘇省南京市 210039

        黑人巨大亚洲一区二区久| 国产如狼似虎富婆找强壮黑人| 漂亮人妻洗澡被公强 日日躁| 女人av天堂国产在线| 性感美女脱内裤无遮挡| 亚洲一区二区三区免费网站| 国产69精品久久久久9999apgf| 亚洲av无码精品蜜桃| 久久香蕉免费国产天天看| 国产va精品免费观看| 国产视频一区二区三区免费| 精品人妻一区二区三区浪人在线 | 色八a级在线观看| 国产欧美日韩综合一区二区三区| 亚洲一区二区av偷偷| 久久日韩精品一区二区| 欧美日韩国产精品自在自线| 狠干狠爱无码区| 青青草原亚洲在线视频| 中文字幕亚洲一区二区不下| 国产激情久久久久影院老熟女免费| 91国视频| 亚洲高清一区二区三区视频| 午夜免费观看日韩一级视频| 毛片内射久久久一区| 国产综合久久久久影院| 久久老熟女乱色一区二区| 欧美高清视频手机在在线| 亚洲熟女综合一区二区三区| 亚洲综合日韩中文字幕| 一区二区三区日本视频| 国产精品日本一区二区在线播放| 韩国v欧美v亚洲v日本v| AV中文码一区二区三区| 美女视频在线观看网址大全| 成人午夜福利视频镇东影视| 国产精品一区二区久久乐下载 | www射我里面在线观看| 精品国产高清一区二区广区| 亚洲天堂线上免费av| 少妇久久久久久人妻无码|