- 2011-05-19 10:36
- 作者:佚名
- 来源:电子技术应用
开发方法
现在,让我们考虑算法开发方法以及相应的实现工具。
1.算法工具
影像设计人员使用高级软件工具对各种算法建模,并对结果进行评估。数字信号处理最好的通用工具是MathWorks的MATLAB处理引擎和Simulink仿真器GUI。大部分OEM和医疗设计机构使用MATLAB来开发快速精确的算法,包括数字图像处理、图像定量分析、模式识别、数字图像编码/压缩、自动显微影像、法医图像处理以及二维小波变换等。除了算法开发外,MATLAB还可以仿真FPGA中常用的定点算法,提供可选的工具,生成能够运行在通用CPU上的C代码。
2.划分和调试
算法开发完成后,系统设计人员必须确定怎样在CPU和FPGA之间划分功能,提供最好的总体解决方案,在性能、成本、可靠性和使用寿命上达到最佳平衡。设备设计人员认为在高性能硬件系统上对算法进行划分和调试非常困难。以前的很多设计在FPGA中使用装配线方法,把算法分成多个函数,顺序执行。90%的调试功能都花在集成上。由于每个函数执行时间必须相互平衡,以实现最大吞吐量,因此出现了很多困难,无法观察本地存储器和延时。
解决方案是基于分布式协处理器计算模型,“以软件为中心的方法”(参见图2),其中:
协处理器中的每个函数是一个执行机(函数子处理器),子处理器之间具备基于消息的控制通过功能。
所有存储器、CPU和子处理器之间可完全切换,能够全面观察,容易进行调试。
内部FPGA子处理器之间以及系统内其他CPU和协处理器之间可以调整消息通过功能。
图2 以软件为中心的设计
例如,在Altera/XtremeData协处理器解决方案中,利用了这些概念来实现优异的设计方法。AlteraFPGA的Avalon交换架构以及芯片可编程系统(SOPC)集成工具在所有功能单元之间自动构建灵活的交叉交换架构。接口IP提供FPGA至主机CPU以及FPGA至DIMM存储器经过预测试的接口。基于预测试消息的基本结构(由Nios CPU定义的软件)控制主机CPU、FPGA子处理器和FPGA存储器控制器之间的通信。消息传递和全交换功能简化了开发期间的调试,大大提高了灵活性。可以在执行期间软定义(重新定义)数据通路,在系统集成和调试期间对数据进行解释,改变传送方向,以提高其可观察性。
共5页: 上一页 [1][2][3]4 [5]下一页 [查看全文] |