新聞中心

EEPW首頁 > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 采用FPGA實(shí)現(xiàn)醫(yī)療影像

采用FPGA實(shí)現(xiàn)醫(yī)療影像

作者: 時(shí)間:2011-05-30 來源:網(wǎng)絡(luò) 收藏

注:XD1000™直接插入到多Opteron母板的Opteron™插槽940中,使用母板的現(xiàn)有CPU基本結(jié)構(gòu)。

這些平臺(tái)的應(yīng)用加速取決于算法——承擔(dān)的算法中并行計(jì)算越多,運(yùn)行速度就越快。例如,由基于的硬件來加速實(shí)現(xiàn)CT影像算法時(shí),每個(gè)3-GHz CPU結(jié)合一個(gè)協(xié)處理器,運(yùn)行速度提高10倍,大大降低了系統(tǒng)級功耗,節(jié)省了空間和成本。

開發(fā)方法

現(xiàn)在,讓我們考慮算法開發(fā)方法以及相應(yīng)的實(shí)現(xiàn)工具。

算法工具

影像設(shè)計(jì)人員使用高級軟件工具對各種算法建模,并對結(jié)果進(jìn)行評估。數(shù)字信號處理最好的通用工具是MathWorks的MATLAB處理引擎和Simulink仿真器GUI。大部分OEM和醫(yī)療設(shè)計(jì)機(jī)構(gòu)使用MATLAB來開發(fā)快速精確的算法,包括數(shù)字圖像處理、圖像定量分析、模式識(shí)別、數(shù)字圖像編碼/壓縮、自動(dòng)顯微影像、法醫(yī)圖像處理以及二維小波變換等。除了算法開發(fā)外,MATLAB還可以仿真FPGA中常用的定點(diǎn)算法,提供可選的工具,生成能夠運(yùn)行在通用CPU上的C代碼。

劃分和調(diào)試

算法開發(fā)完成后,系統(tǒng)設(shè)計(jì)人員必須確定怎樣在CPU和FPGA之間劃分功能,提供最好的總體解決方案,在性能、成本、可靠性和使用壽命上達(dá)到最佳平衡。設(shè)備設(shè)計(jì)人員認(rèn)為在高性能硬件系統(tǒng)上對算法進(jìn)行劃分和調(diào)試非常困難。以前的很多設(shè)計(jì)在FPGA中使用裝配線方法,把算法分成多個(gè)函數(shù),順序執(zhí)行。90%的調(diào)試功能都花在集成上。由于每個(gè)函數(shù)執(zhí)行時(shí)間必須相互平衡,以實(shí)現(xiàn)最大吞吐量,因此出現(xiàn)了很多困難,無法觀察本地存儲(chǔ)器和延時(shí)。

解決方案是基于分布式協(xié)處理器計(jì)算模型,“以軟件為中心的方法”(參見圖2),其中:

協(xié)處理器中的每個(gè)函數(shù)是一個(gè)執(zhí)行機(jī)(函數(shù)子處理器),子處理器之間具備基于消息的控制通過功能。
所有存儲(chǔ)器、CPU和子處理器之間可完全切換,能夠全面觀察,容易進(jìn)行調(diào)試。
內(nèi)部FPGA子處理器之間以及系統(tǒng)內(nèi)其他CPU和協(xié)處理器之間可以調(diào)整消息通過功能。

圖2 以軟件為中心的設(shè)計(jì)

例如,在Altera/XtremeData協(xié)處理器解決方案中,利用了這些概念來實(shí)現(xiàn)優(yōu)異的設(shè)計(jì)方法。AlteraFPGA的Avalon交換架構(gòu)以及芯片可編程系統(tǒng)(SOPC)集成工具在所有功能單元之間自動(dòng)構(gòu)建靈活的交叉交換架構(gòu)。接口IP提供FPGA至主機(jī)CPU以及FPGA至DIMM存儲(chǔ)器經(jīng)過預(yù)測試的接口。基于預(yù)測試消息的基本結(jié)構(gòu)(由Nios CPU定義的軟件)控制主機(jī)CPU、FPGA子處理器和FPGA存儲(chǔ)器控制器之間的通信。消息傳遞和全交換功能簡化了開發(fā)期間的調(diào)試,大大提高了靈活性??梢栽趫?zhí)行期間軟定義(重新定義)數(shù)據(jù)通路,在系統(tǒng)集成和調(diào)試期間對數(shù)據(jù)進(jìn)行解釋,改變傳送方向,以提高其可觀察性。

設(shè)計(jì)工具和IP

雖然MATLAB等工具非常適合軟件算法開發(fā),但是還不足以在FPGA中實(shí)現(xiàn)。設(shè)計(jì)人員使用Altera以及第三方EDA工具和IP,可以加速其設(shè)計(jì)在FPGA中的實(shí)現(xiàn)。例如,Altera提供全套的工具:DSP Builder、SOPC Builder、Nios II CPU開發(fā)套件、Nios II C語言至硬件加速(C2H)編譯器和Quartus開發(fā)包等。

Altera的視頻和圖像處理包以及DSP庫提供關(guān)鍵IP構(gòu)建模塊,加速復(fù)雜影像算法的開發(fā)和實(shí)現(xiàn)。視頻和圖像處理模塊庫以及其他的Altera/合作伙伴IP模塊和參考設(shè)計(jì)(包括IQ調(diào)制解調(diào)器、JPEG2000壓縮、FFT/IFFT、邊沿探測等),為設(shè)計(jì)人員提供了大量的IP來加速大計(jì)算量任務(wù)的FPGA實(shí)現(xiàn)。

DSP Builder工具提供基于IP庫的設(shè)計(jì)流程,鏈接MATLAB開發(fā)的算法和Altera Quartus工具包實(shí)現(xiàn)的FPGA。

SOPC Builder是系統(tǒng)集成工具,自動(dòng)生成IP模塊、Altera MegaCores功能(包括Nios II CPU)、合作伙伴IP和用戶定義功能之間的互聯(lián)代碼(Verilog或者VHDL)。

Nios II開發(fā)套件使C程序能夠植入到FPGA的一個(gè)或者多個(gè)Nios II CPU中,并進(jìn)行調(diào)試。Nios II CPU是32位可配置RISC軟核處理器CPU。

Nios II C2H編譯器是新工具,它分析C代碼算法內(nèi)循環(huán),生成FPGA中的協(xié)處理器邏輯,大大提高了Nios II CPU所運(yùn)行軟件的性能。適度增加邏輯,運(yùn)行速度便能夠提高10到100倍。

Quartus開發(fā)包是在AlteraFPGA中實(shí)現(xiàn)可編程硬件和軟件功能的主要工具。它提供IP導(dǎo)入功能,以及仿真和布局布線等所有功能,在Altera開發(fā)板或者用戶目標(biāo)系統(tǒng)上進(jìn)行FPGA編程。

Celoxica等其他EDA供應(yīng)商還提供C語言至HDL轉(zhuǎn)換工具,以加速FPGA的實(shí)現(xiàn)。

結(jié)論

嬰兒潮時(shí)期出生的人們尋求更可行的新治療手段來治療常見疾病(特別是與心臟病和癌癥),包括早期探測和非置入手術(shù)治療等。影像診斷方法融合及其相關(guān)算法開發(fā)上的進(jìn)步大大推動(dòng)了新設(shè)備的發(fā)展,滿足了病人的需求。高級算法需要可更新的系統(tǒng)平臺(tái),該平臺(tái)能夠顯著提高圖像處理性能。

集成到COTS多核CPU平臺(tái)中,F(xiàn)PGA為最靈活的高性能系統(tǒng)提供了DSP功能。為幫助在這些平臺(tái)上加速實(shí)現(xiàn)復(fù)雜影像算法,需要采用高級開發(fā)工具和IP實(shí)現(xiàn)庫。Altera考慮到這些需求而開發(fā)了工具和IP庫。這些庫包括成像所需的關(guān)鍵構(gòu)建模塊功能,并集成到Altera完整的工具包中,結(jié)合MathWorks的算法開發(fā)工具,能夠快速進(jìn)行開發(fā)。


上一頁 1 2 下一頁

關(guān)鍵詞: FPGA 醫(yī)療影像

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉