查看: 1664|回复: 1

C-to-hardware工具为嵌入式系统中的FPGA引入新的设计方法

[复制链接]

该用户从未签到

发表于 2008-5-6 23:29:24 | 显示全部楼层 |阅读模式
分享到:
     几年前,低成本商用FPGA突破了百万门级,成为密集型嵌入式应用领域的强有力竞争者。现在,大批量购买时售价低于10美金的FPGA器件能够整合完整的嵌入式系统。
     与服务器级处理器相比,最高密度、最新一代的FPGA具有数百万可用门,能够提供相当高的每瓦处理能力。事实上,目前医学图像处理、生命科学和金融计算等众多领域的高性能计算应用已开始采纳最大容量的FPGA。在上述环境中,传统使用HDL或电路原理图进行FPGA编程的方法遇到一些障碍。

     在嵌入式系统领域,很多产品的设计已经包含了一个或多个FPGA,通常用来配合独立的处理器、DSP和其他元件。进行这种应用工程的嵌入式设计小组强烈希望把系统软件的各个部分集成到一个更高密度的FPGA中。把各种系统整合到一个器件中是一项工程挑战,但最近FPGA平台构建工具的进步(比如Xilinx Platform Studio或Altera SOPC Builder),加上software-to-hardware工具(比如Impulse C等)的提升,使这一流程得以简化。

     在这种集成系统中,运行在嵌入式处理器上的软件应用程序,可以和FPGA架构中以硬件形式运行的应用加速器直接通信。Impulse C等工具允许采用C语言描述硬件加速器,然后优化并生成为硬件处理器外设,从而减少或消除编写低层HDL代码的需求。该方法的优点包括更快的原型设计时间、更多的实验机会(比如,具有可选的硬件/软件划分方案)以及更快、更有效的产品部署。

     我并非暗示HDL设计方法已经过时。恰恰相反,当FPGA应用到更高层的系统整合中时,在这些应用的边缘部分,比如I/O描述或当定制存储器接口设计,还是有必要使用硬件设计工具和方法的。使用HDL,某些算法也可以更容易、更高效地实现。因而可以预期HDL和基于软件的设计方法将会共存相当长段时间。

    当然,从面向传统处理器的软件开发转移到使用FPGA的软件/硬件开发,这个过程的确带来一些挑战。原本用于标准微处理器的C代码,针对串行处理进行了优化,而且可能为实现这一目标的特性进行了手工优化,比如高效使用存储器。当作为一种混合软件/硬件算法,把这种应用程序移植到FPGA时,将需要一定数量的重构以充分利用FPGA资源,并最大限度地发挥硬件级并行机制的作用。所幸的是这种形式的优化现在可以通过C语言编程的形式完成,因而设计人员无需精通FPGA硬件。

     总之,对于基于硬件的FPGA设计而言,HDL很强大,而且在可以预见的将来,HDL将继续是大多数这类应用的入门首选方法。新兴的C-to-hardware工具允许软件应用开发人员成为FPGA设计流程的一部分,补充和扩展了HDL的应用范围。
回复

使用道具 举报

该用户从未签到

发表于 2008-5-12 18:42:55 | 显示全部楼层

回复:C-to-hardware工具为嵌入式系统中的FPGA引入新的设计方法

原帖由shizhongzhou于2008-05-06 23:29发表:
     几年前,低成本商用FPGA突破了百万门级,成为密集型嵌入式应用领域的强有力竞争者。现在,大批量购买时售价低于10美金的FPGA器件能够整合完整的嵌入式系统。
     与服务器级处理器相比,最高密度、最新一代的FPGA具有数百万可用门,能够提供相当高的每瓦处理能力。事实上,目前医学图像处理、生命科学和金融计算等众多领域的高性能计算应用已开始采纳最大容量的FPGA。在上述环境中,传统使用HDL或电路原理图进行FPGA编程的方法遇到一些障碍。

     在嵌入式系统领域,很多产品的设计已经包含了一个或多个FPGA,通常用来配合独立的处理器、DSP和其他元件。进行这种应用工程的嵌入式设计小组强烈希望把系统软件的各个部分集成到一个更高密度的FPGA中。把各种系统整合到一个器件中是一项工程挑战,但最近FPGA平台构建工具的进步(比如Xilinx Platform Studio或Altera SOPC Builder),加上software-to-hardware工具(比如Impulse C等)的提升,使这一流程得以简化。

     在这种集成系统中,运行在嵌入式处理器上的软件应用程序,可以和FPGA架构中以硬件形式运行的应用加速器直接通信。Impulse C等工具允许采用C语言描述硬件加速器,然后优化并生成为硬件处理器外设,从而减少或消除编写低层HDL代码的需求。该方法的优点包括更快的原型设计时间、更多的实验机会(比如,具有可选的硬件/软件划分方案)以及更快、更有效的产品部署。

     我并非暗示HDL设计方法已经过时。恰恰相反,当FPGA应用到更高层的系统整合中时,在这些应用的边缘部分,比如I/O描述或当定制存储器接口设计,还是有必要使用硬件设计工具和方法的。使用HDL,某些算法也可以更容易、更高效地实现。因而可以预期HDL和基于软件的设计方法将会共存相当长段时间。

    当然,从面向传统处理器的软件开发转移到使用FPGA的软件/硬件开发,这个过程的确带来一些挑战。原本用于标准微处理器的C代码,针对串行处理进行了优化,而且可能为实现这一目标的特性进行了手工优化,比如高效使用存储器。当作为一种混合软件/硬件算法,把这种应用程序移植到FPGA时,将需要一定数量的重构以充分利用FPGA资源,并最大限度地发挥硬件级并行机制的作用。所幸的是这种形式的优化现在可以通过C语言编程的形式完成,因而设计人员无需精通FPGA硬件。

     总之,对于基于硬件的FPGA设计而言,HDL很强大,而且在可以预见的将来,HDL将继续是大多数这类应用的入门首选方法。新兴的C-to-hardware工具允许软件应用开发人员成为FPGA设计流程的一部分,补充和扩展了HDL的应用范围。
   不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-27 15:12 , Processed in 0.125499 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.