当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > C到硬件工具为嵌入式系统中的FPGA添加了软件为中心的路径

C到硬件工具为嵌入式系统中的FPGA添加了软件为中心的路径 时间:2020-05-27      来源:原创

低成本的商用FPGA突破了百万门级,它们成为处理密集型嵌入式应用程序的重要竞争者。如今,批量价格低于10美元的FPGA器件能够在一个可编程器件上集成完整的嵌入式系统,包括RISC处理器,定制硬件加速器,处理器外设和片上存储器。

与服务器级处理器相比,密度最高,最新一代的FPGA具有数百万个可用门,相对于每瓦功耗,它提供了巨大的处理能力。实际上,目前最大的FPGA已经部署在高性能计算应用中,涉及医学图像处理,生命科学和金融计算等领域。

在这样的环境中,使用HDL或原理图对FPGA进行编程的传统方法遇到了一些自然障碍。创建高度并行的流水线算法和系统的应用程序开发人员可能或可能不具备使用面向硬件的设计方法的技能,时间或意愿。因此,越来越多的软件到硬件设计工具和方法被添加到应用程序设计者的工具箱中。

嵌入式系统领域,许多产品已经包含一个或多个FPGA作为其设计的一部分,通常与分立处理器,DSP和其他组件一起使用。进行此类应用程序价值工程的嵌入式系统设计团队具有将系统软件方面(由处理器和/或DSP表示)集成到更高密度FPGA中的强烈动机。将这样的系统整合到一个设备中可能是工程上的挑战,但是FPGA平台构建工具(例如Xilinx Platform Studio或Altera SOPC Builder)的最新进展,以及软件到硬件工具(例如Impulse C and其他),简化此过程。

在这样的集成系统中,嵌入式处理器上运行的软件应用程序可以与作为FPGA架构中的硬件运行的应用程序加速器直接通信。诸如Impulse C之类的工具允许用C描述硬件加速器,然后对其进行优化并作为硬件处理器外围设备生成,从而减少或消除了编写低级HDL的需要。这种方法的优点包括更快的原型制作时间,更多的实验机会(例如,使用替代的硬件/软件分区方法)以及更快,更有效的产品部署。

我并不是在建议HDL设计方法已过时。恰恰相反,由于FPGA应用于越来越高级别的系统集成,因此仍然需要在应用程序边缘(例如在描述I / O或创建自定义内存接口时)所需的硬件设计工具和方法。某些算法(例如低级控制逻辑)也可能更容易,更高效地使用HDL实施。因此,我们可以预期HDL和基于软件的方法将在相当长的时间内共存。

当然,从传统处理器的软件开发过渡到使用FPGA进行软件/硬件开发的过程确实带来了一些挑战。最初用于标准微处理器的C代码已针对串行处理进行了优化,并且可能已针对该目标的特性进行了手动优化,例如,以最有效地利用内存。当将这种应用程序作为混合的软件/硬件算法移至FPGA时,需要一定数量的重构才能充分利用FPGA资源并充分利用硬件级并行性。好消息是,现在可以在C语言编程的上下文中完成这些类型的优化,而无需对FPGA硬件有深入的了解。

一个很好的例子是使用C描述高度并行的流水线视频滤波器。在这种类型的应用领域中,FPGA可以消除性能瓶颈(例如平滑或降噪滤波器),而嵌入式处理器则可以处理较少计算密集型功能。使用从C到硬件的设计方法,可以更轻松地将特定的C语言子例程移至等效的FPGA硬件,同时仍可以使用标准C语言调试工具进行验证。

总之,HDL非常适合面向硬件的FPGA设计,并且在可预见的将来仍将是大多数此类应用程序的首选输入方法。通过允许软件应用程序开发人员成为FPGA设计过程的一部分,新兴的C到硬件工具补充并扩展了HDL工具的范围。这扩展了FPGA的潜在应用,当然吸引了更多面向软件的FPGA设计人员。确实是一个良性循环。

上一篇:虚拟化嵌入式Linux

下一篇:在嵌入式设计中使用C ++替代C的准则

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部