您所在的位置:首页 > i医疗 > 科技前沿 > 技术标准 >  设备开发人员采用FPGA实现医疗影像(2)
设备开发人员采用FPGA实现医疗影像(2)
  • 2011-05-18 13:39
  • 作者:佚名
  • 来源:互联网

可更新的平台

很多影像系统以前都采用专用计算系统进行构建。现在,随着高性能COTS CPU板的推出,系统工程师可以采用更现成的方法。虽然软件自己可以完成很多算法的非实时处理,但实时影像处理还是需要辅助硬件。目前的FPGA内置了DSP模块、宽带存储器模块和大量的可编程单元,是实现这些辅助硬件的理想器件。

Altera与其合作伙伴密切协作,实现了FPGA协处理资源和COTS CPU解决方案的可靠集成。对于Intel和AMD单板计算机(SBC),内置了串化器/解串器的Stratix II GX FPGA能够直接实现PCI Express兼容协处理器板,承担算法功能。对于双插槽的AMD SBC,Altera合作伙伴XtremeData提供协处理器子卡,直接插入到一个Opteron插槽中,提供非常好的CPU+FPGA处理方案(参见图1)。对于性能要求更高的大计算量应用,四插槽AMD SBC可以提供多种CPU+FPGA协处理器组合方案(1+3,2+2或者3+1)。可以采用多个1-U刀片服务器来实现非常灵活的平台,每个刀片完成CPU+FPGA协处理器方案。

1 

图1 XtremeData XD1000系统图

注: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 

图2 以软件为中心的设计

例如,在Altera/XtremeData协处理器解决方案中,利用了这些概念来实现优异的设计方法。AlteraFPGA的Avalon交换架构以及芯片可编程系统(SOPC)集成工具在所有功能单元之间自动构建灵活的交叉交换架构。接口IP提供FPGA至主机CPU以及FPGA至DIMM存储器经过预测试的接口。基于预测试消息的基本结构(由Nios CPU定义的软件)控制主机CPU、FPGA子处理器和FPGA存储器控制器之间的通信。消息传递和全交换功能简化了开发期间的调试,大大提高了灵活性。可以在执行期间软定义(重新定义)数据通路,在系统集成和调试期间对数据进行解释,改变传送方向,以提高其可观察性。

共3页: 上一页 [1]2 [3]下一页 [查看全文]
标签:医疗  FPGA  超声  X射线  
  • 分享到: