<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 雷達信號處理:FPGA還是GPU?

雷達信號處理:FPGA還是GPU?

作者: 時(shí)間:2015-06-22 來(lái)源:網(wǎng)絡(luò ) 收藏

  設計方法

本文引用地址:http://dyxdggzs.com/article/276090.htm

  可以通過(guò)使用Nvidia專(zhuān)用CUDA語(yǔ)言或開(kāi)放標準OpenCL語(yǔ)言來(lái)編程。這些語(yǔ)言在能力上非常相似,最大的不同在于CUDA只能用在Nvidia 上。

  通常使用HDL語(yǔ)言Verilog或VHDL進(jìn)行編程。這些語(yǔ)言的最新版雖然采用了浮點(diǎn)數定義,但都不太適合支持浮點(diǎn)設計。例如,在System Verilog中,短實(shí)數變量對應于IEEE單精度(浮點(diǎn)),實(shí)數變量對應于IEEE雙精度。

  DSP Builder高級模塊庫

  使用傳統的方法將浮點(diǎn)數據通路綜合到的效率非常低,如Xilinx FPGA在Cholesky算法上使用了Xilinx浮點(diǎn)內核產(chǎn)生函數的低性能顯示,。而Altera采兩種不同的方法。首先是使用DSP Builder高級模塊庫,這是基于Mathworks的設計輸入方法。這一工具支持定點(diǎn)和浮點(diǎn)數,支持7種不同精度的浮點(diǎn)處理,包括IEEE半、單和雙精度實(shí)現。它還支持矢量化,這是高效實(shí)現線(xiàn)性代數所需要的。最重要的是,它能夠將浮點(diǎn)電路高效的映射到目前的定點(diǎn)FPGA體系結構中,如基準測試所示,規模中等的28 nm FPGA,Cholesky算法接近了100 GFLOP.作為對比,在不具有綜合能力的規模相似的Xilinx FPGA上,實(shí)現Cholesky相同算法,性能只有20 GFLOP.

  面向FPGA的OpenCL

  GPU編程人員較為熟悉OpenCL.面向FPGA的OpenCL編譯意味著(zhù),面向AMD或Nvidia GPU編寫(xiě)的OpenCL代碼可以編譯到FPGA中。而且,Altera的OpenCL編譯器支持GPU程序使用FPGA,無(wú)需具備典型的FPGA設計技巧。

  使用支持FPGA的OpenCL,相對于GPU有幾個(gè)關(guān)鍵優(yōu)勢。首先,GPU的I/O是有限制的。所有輸入和輸出數據必須由主CPU通過(guò)PCI Express?(PCIe?)接口進(jìn)行傳輸。結果延時(shí)會(huì )讓GPU處理引擎暫停,因此,降低了性能。

  面向FPGA的OpenCL擴展

  FPGA以各種寬帶I/O功能而知名。這些功能支持數據通過(guò)千兆以太網(wǎng)(GbE)和Serial RapidIO?(SRIO),或直接從模數轉換器(ADC)和數模轉換器(DAC)輸入輸出FPGA.Altera定義了OpenCL標準的供應商專(zhuān)用擴展,以支持流操作。這種擴展對于雷達系統非常關(guān)鍵,數據能夠從定點(diǎn)前端波束成形直接輸出,支持浮點(diǎn)處理階段的數字下變頻處理,實(shí)現脈沖壓縮,多普勒,STAP,動(dòng)目標顯示(MTI),以及圖2所示的其他功能。通過(guò)這種方法,數據流在通過(guò)GPU加速器之前,避免了CPU瓶頸問(wèn)題,從而降低了總處理延時(shí)。

  

 

  圖2.通用雷達信號處理圖

  即使與I/O瓶頸無(wú)關(guān),FPGA的處理延時(shí)也要比GPU低很多。眾所周知,GPU必須有數千個(gè)線(xiàn)程才能高效工作,這是由于存儲器讀取很長(cháng)的延時(shí),以及GPU大量的處理內核之間的延時(shí)。實(shí)際上,GPU必須有很多任務(wù)才能使得處理內核不會(huì )暫停等待數據,否則會(huì )導致任務(wù)很長(cháng)的延時(shí)。

  而FPGA使用了“粗粒度并行”體系結構。它建立了多個(gè)經(jīng)過(guò)優(yōu)化的并行數據通路,每一通路在每個(gè)時(shí)鐘周期輸出一個(gè)結果。數據通路的例化數取決于FPGA資源,但一般要比GPU內核數少很多。但是,每一數據通路例化的吞吐量要比GPU內核高得多。這一方法的主要優(yōu)勢是低延時(shí),這在很多應用中都是關(guān)鍵的性能優(yōu)勢。

  FPGA的另一優(yōu)勢是很低的功耗,極大的降低了GFLOPs/W.使用開(kāi)發(fā)板測量FPGA功耗,表明Cholesky和QRD等算法是5-6 GFLOPs/W,而FFT等簡(jiǎn)單算法則是10 GFLOPs/W.一般很難進(jìn)行GPU能效測量,但是,Cholesky的GPU性能達到50 GFLOP,典型功耗是200 W,得到的結果是0.25 GFLOPs/W,單位FLOP的功率比FPGA高20倍。

  對于機載或車(chē)載雷達裝備,系統體積、重量和功耗(SWaP)都非常重要。在未來(lái)的系統中,雷達工作很容易達到數十個(gè)TFLOP.總處理能力與現代雷達系統的分辨率和覆蓋范圍相關(guān)。

  融合數據通路

  OpenCL和DSP Builder都依靠“融合數據通路”這種技術(shù)(圖3),以這種技術(shù)實(shí)現浮點(diǎn)處理,能大幅度減少桶形移位電路,支持使用FPGA開(kāi)發(fā)大規模高性能浮點(diǎn)設計。

  

 

  圖3.采用融合數據通路實(shí)現浮點(diǎn)處理

  為降低桶形移位頻率,綜合過(guò)程盡可能使用較大的尾數寬度,從而不需要頻率歸一化和去歸一化。27×27和36×36硬核乘法器支持比單精度實(shí)現所要求的23位更大的乘法計算,54×54和72×72結構的乘法器支持比52位更大的雙精度計算,這通常是雙精度實(shí)現所要求的。FPGA邏輯已經(jīng)針對大規模定點(diǎn)加法器電路進(jìn)行了優(yōu)化,包括了內置進(jìn)位超前電路。

fpga相關(guān)文章:fpga是什么


矢量控制相關(guān)文章:矢量控制原理


關(guān)鍵詞: FPGA GPU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>