用Xilinx Vivado HLS可以快速、高效地實現QRD矩陣分解_第1頁
用Xilinx Vivado HLS可以快速、高效地實現QRD矩陣分解_第2頁
用Xilinx Vivado HLS可以快速、高效地實現QRD矩陣分解_第3頁
用Xilinx Vivado HLS可以快速、高效地實現QRD矩陣分解_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

用XilinxVivadoHLS可以快速、高效地實現QRD矩陣分解在數字信號處理領域,如自適應濾波、DPD系數計算、MIMODecoder等,常常需要矩陣解方程運算以獲得其系數,因此需對矩陣進行求逆運算。然而,由于直接對矩陣求逆會導致龐大的運算量,所以在實際工程中往往需要先將矩陣分解成幾個特殊矩陣(正規正交矩陣或上、下三角矩陣以求其逆矩陣需要更小的運算量)的乘積。目前,QRD矩陣分解法是求一般矩陣全部特征值的最有效且廣泛應用的方法之一。它是將矩陣分解成一個正規正交矩陣Q與上三角形矩陣R,稱為QRD矩陣分解。由于浮點具有更大的數據動態范圍,所以在眾多多算法中具有只需要一種數據類型的優勢,所以很多QRD矩陣分解是基于浮點數據類型的。不過在通信應用中,更多的場景還是復數類型。因此,隨著通信技術的日益發展,算法的復雜度越來越高,QRD矩陣的維度也越來越大。如果是用傳統的手寫RTL,浮點復數超大維度QRD矩陣分解的FPGA實現將變得非常復雜,需要很長的時間來編寫RTL代碼、仿真和進行驗證等工作,使得開發效率不是很高。本文將介紹如何使用XilinxVivadoHLS(Vivado高層次綜合)工具實現浮點復數QRD矩陣分解并提升開發效率。使用VivadoHLS可以快速、高效地基于FPGA實現各種矩陣分解算法,降低開發者對算法FPGA的實現難度。其中包括:

使用VivadoHLS開發效率比手寫RTL實現快5-10倍,而實現的FPGA資源效率與手寫RTL接近

由于C/C++仿真驗證比傳統FPGARTL要快100倍,VivadoHLS實現可以大大縮短用戶的代碼開發時間和仿真驗證時間,從而大幅提高生產效率。1.VivadoHLS工具介紹VivadoHLS是Xilinx公司2010年收購AutoESL以后重新打造的高層次綜合工具,它可以讓用戶通過添加適當的directives(制導語句)和constrains(約束),將其C/C++/SystemC代碼直接轉換成FPGARTL(Verilog,VHDL,SystemC)代碼。讓用戶可以在算法開發環境而非通常的硬件開發環境中只需專注于算法規格和算法的C實現,VivadoHLS工具會自動考慮FPGA微觀實現架構,并可生成可綜合的FPGARTL代碼。如圖1所示。

圖1VivadoHLS設計介紹VivadoHLSFPGA設計流程:

首先用C/C++/SystemC將算法實現,并編寫Ctestbench驗證C的功能,確保其功能正確;

然后就可以通過VivadoHLS工具進行C綜合,將C轉換成RTL;

接著做C/RTL的協同仿真(Co-simulation),以保證生成的RTL代碼功能與C的功能完全一致。

最后VivadoHLS生成的RTL代碼可直接用于Xilinx設計開發環境下做系統集成、仿真和生成bit文件。如圖2所示。

圖2VivadoHLS設計流程2.QRD矩陣分解算法

3.QRD矩陣分解VivadoHLS實現C++代碼構架QRD矩陣分解C++實現代碼的頂層模塊是qrd_engine.cpp,它調用cal_core.cpp(核心計算函數),coef_cal.cpp(系數計算函數),以及浮點加、減、乘、除法等子函數來實現。structcf_t{

floatre;

floatim;

};

voidqrd_engine

(

cf_tin_u[(R_DIM+Y_DIM)/DIV_NUM][DIV_NUM],

cf_tpd_err_in,

floatlamda,

floatlamda_sqrt,

floatdiag[R_DIM],

cf_tr[R_DIM][X_DIM],

cf_tp[R_DIM]

)

{

#pragmaHLSARRAY_PARTITIONvariable=in_ucompletedim=2

#pragmaHLSARRAY_PARTITIONvariable=rcompletedim=2//注:這里對數組加入完全分割directive,目的是提高數據的并行帶寬,從而獲得并行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論