采用FPGA實現醫療影像
注:XD1000™直接插入到多Opteron母板的Opteron™插槽940中,使用母板的現有CPU基本結構。
這些平臺的應用加速取決于算法——FPGA承擔的算法中并行計算越多,運行速度就越快。例如,由基于FPGA的硬件來加速實現CT影像算法時,每個3-GHz CPU結合一個FPGA協處理器,運行速度提高10倍,大大降低了系統級功耗,節省了空間和成本。
開發方法
現在,讓我們考慮算法開發方法以及相應的實現工具。
算法工具
影像設計人員使用高級軟件工具對各種算法建模,并對結果進行評估。數字信號處理最好的通用工具是MathWorks的MATLAB處理引擎和Simulink仿真器GUI。大部分OEM和醫療設計機構使用MATLAB來開發快速精確的算法,包括數字圖像處理、圖像定量分析、模式識別、數字圖像編碼/壓縮、自動顯微影像、法醫圖像處理以及二維小波變換等。除了算法開發外,MATLAB還可以仿真FPGA中常用的定點算法,提供可選的工具,生成能夠運行在通用CPU上的C代碼。
劃分和調試
算法開發完成后,系統設計人員必須確定怎樣在CPU和FPGA之間劃分功能,提供最好的總體解決方案,在性能、成本、可靠性和使用壽命上達到最佳平衡。設備設計人員認為在高性能硬件系統上對算法進行劃分和調試非常困難。以前的很多設計在FPGA中使用裝配線方法,把算法分成多個函數,順序執行。90%的調試功能都花在集成上。由于每個函數執行時間必須相互平衡,以實現最大吞吐量,因此出現了很多困難,無法觀察本地存儲器和延時。
解決方案是基于分布式協處理器計算模型,“以軟件為中心的方法”(參見圖2),其中:
協處理器中的每個函數是一個執行機(函數子處理器),子處理器之間具備基于消息的控制通過功能。
所有存儲器、CPU和子處理器之間可完全切換,能夠全面觀察,容易進行調試。
內部FPGA子處理器之間以及系統內其他CPU和協處理器之間可以調整消息通過功能。
圖2 以軟件為中心的設計
例如,在Altera/XtremeData協處理器解決方案中,利用了這些概念來實現優異的設計方法。AlteraFPGA的Avalon交換架構以及芯片可編程系統(SOPC)集成工具在所有功能單元之間自動構建靈活的交叉交換架構。接口IP提供FPGA至主機CPU以及FPGA至DIMM存儲器經過預測試的接口。基于預測試消息的基本結構(由Nios CPU定義的軟件)控制主機CPU、FPGA子處理器和FPGA存儲器控制器之間的通信。消息傳遞和全交換功能簡化了開發期間的調試,大大提高了靈活性。可以在執行期間軟定義(重新定義)數據通路,在系統集成和調試期間對數據進行解釋,改變傳送方向,以提高其可觀察性。
設計工具和IP
雖然MATLAB等工具非常適合軟件算法開發,但是還不足以在FPGA中實現。設計人員使用Altera以及第三方EDA工具和IP,可以加速其設計在FPGA中的實現。例如,Altera提供全套的工具:DSP Builder、SOPC Builder、Nios II CPU開發套件、Nios II C語言至硬件加速(C2H)編譯器和Quartus開發包等。
Altera的視頻和圖像處理包以及DSP庫提供關鍵IP構建模塊,加速復雜影像算法的開發和實現。視頻和圖像處理模塊庫以及其他的Altera/合作伙伴IP模塊和參考設計(包括IQ調制解調器、JPEG2000壓縮、FFT/IFFT、邊沿探測等),為設計人員提供了大量的IP來加速大計算量任務的FPGA實現。
DSP Builder工具提供基于IP庫的設計流程,鏈接MATLAB開發的算法和Altera Quartus工具包實現的FPGA。
SOPC Builder是系統集成工具,自動生成IP模塊、Altera MegaCores功能(包括Nios II CPU)、合作伙伴IP和用戶定義功能之間的互聯代碼(Verilog或者VHDL)。
Nios II開發套件使C程序能夠植入到FPGA的一個或者多個Nios II CPU中,并進行調試。Nios II CPU是32位可配置RISC軟核處理器CPU。
Nios II C2H編譯器是新工具,它分析C代碼算法內循環,生成FPGA中的協處理器邏輯,大大提高了Nios II CPU所運行軟件的性能。適度增加邏輯,運行速度便能夠提高10到100倍。
Quartus開發包是在AlteraFPGA中實現可編程硬件和軟件功能的主要工具。它提供IP導入功能,以及仿真和布局布線等所有功能,在Altera開發板或者用戶目標系統上進行FPGA編程。
Celoxica等其他EDA供應商還提供C語言至HDL轉換工具,以加速FPGA的實現。
結論
嬰兒潮時期出生的人們尋求更可行的新治療手段來治療常見疾病(特別是與心臟病和癌癥),包括早期探測和非置入手術治療等。影像診斷方法融合及其相關算法開發上的進步大大推動了新設備的發展,滿足了病人的需求。高級算法需要可更新的系統平臺,該平臺能夠顯著提高圖像處理性能。
集成到COTS多核CPU平臺中,FPGA為最靈活的高性能系統提供了DSP功能。為幫助在這些平臺上加速實現復雜影像算法,需要采用高級開發工具和IP實現庫。Altera考慮到這些需求而開發了工具和IP庫。這些庫包括成像所需的關鍵構建模塊功能,并集成到Altera完整的工具包中,結合MathWorks的算法開發工具,能夠快速進行開發。
評論