FPGA开发处理器代码中误解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA开发处理器代码中误解相关的知识,希望对你有一定的参考价值。

在工程设计界已经出现了一些有关在FPGA中开发处理器代码很困难的误解。我们希望能澄清这些误解,那这些误解怎么澄清呢?

在工程设计界已经出现了一些有关在FPGA中开发处理器代码很困难的误解。我们希望能澄清这些误解。下面就由福州卓跃教育做具体介绍.
误解:在FPGA中为处理器编写代码很困难。
事实:大多数FPGA嵌入式开发都是在现代化软件开发环境中用C或C++完成的。
许多FPGA供应商现在都支持使用Eclipse进行软件开发。Eclipse是一种支持插件的灵活软件开发环境,提供文本编辑器、编译器、链接程序、调试器、跟踪模块和代码管理等功能。
作为一个开放的环境,Eclipse拥有一个庞大的开发人员社区,不断地增加新功能。例如,如果程序员不喜欢提供的编辑器,他们可以安装一个更符合其需求的编辑器。
误解:FPGA没有像ASSP那样的处理器系统。
事实:现在已经有预置的FPGA嵌入式处理器设计,也有具备像ASSP那样的外设集的硬处理器设计。
包含软处理器和硬处理器的FPGA增加了一个额外的功能。FPGA嵌入式软处理器参考设计整合了32位RISC处理器、内存接口以及符合行业标准的外设。此类处理器的灵活特性允许用户用逻辑换取额外的性能功能,如增加支持最新操作系统的MMU。众多的FPGA选择使用户可以选择某个处理器配置、外设、数据处理逻辑和逻辑性能级别来满足其系统要求。预置的类似于ASSP的参考设计使得软件设计人员可以立刻开始编写代码,不一定需要硬件工程师先实现一个处理器系统。在许多情况下,预置的设计会满足嵌入式处理器系统的要求,从而无须硬件工程师来进行进一步的处理器系统设计。在少数情况下,硬件工程师拥有一个出色的平台,可以在上面增加外设以及连接定制的硬件加速器。
误解:使用FPGA中的处理器调试代码很困难。
事实:FPGA嵌入式处理器的软件调试跟非嵌入式处理器的调试一样方便。调试器支持下载代码、运行程序、在源代码和对象代码级别单步执行、设置断点、检查存储器和寄存器。另外,还有其他工具可用于对代码进行特性分析和跟踪。
误解:不支持我喜爱的操作系统。
参考技术A 举例证明?

SLX-FPGA — 高层级FPGA开发工具

Silexica公司致力于提供缩短创新型软件IP及智能产品研发周期的解决方案。其SLX FPGA工具基于深层次的软件分析,对异构硬件进行充分考虑,从而实现快速的设计空间探索。该工具能够加速软件向专用硬件系统的转化过程,使得算法加速更加普及。


SLX-FPGA — 高层级FPGA开发工具


产品介绍


SLX FPGA能够帮助用户更容易、更快、更高效地将C/C++代码转换成RTL代码。


SLX FPGA工具可以解决高层次综合设计流程带来的各种问题,包括处理不可综合或未考虑硬件实现的C/C++代码,检测应用程序并行性,以及自动插入pragma代码,以帮助工程师更好地优化待进行高层次综合的C/C++应用程序。


SLX-FPGA — 高层级FPGA开发工具

降低HLS工具使用门槛

开发人员要熟练使用HLS工具,需要阅读上千页的文档,并熟练掌握相关代码规范。


SLX工具能够帮助用户:

  • 快速识别不可综合的代码;

  • 为常见的C库进行自动代码重构;

  • 提供示例来帮助用户实现可综合代码编写。


以上功能有效的降低HLS工具使用门槛,使用户能够方便的通过C/C++进行FPGA的开发。

并行性检测

C/C++代码通常是在标准处理器上顺序执行的。但是在专用硬件中,部分代码模块可以并行地执行,以加速代码的执行效率。


如果只是简单地通过HLS进行代码转换,其设计结果也是顺序执行的硬件,无法有效的利用硬件并行处理的优势。如果要实现硬件层面的并行执行,需要用户根据实际情况进行代码的约束,这对于软件设计工程师而言会是一个很大的挑战。


针对这一挑战,SLX FPGA提供了C/C++代码的分析和检测功能。SLX FPGA工具能够根据代码的分析和检测结果,自动进行代码的并行化约束,让用户轻松实现代码的并行化。

硬件优化

SLX FPGA能够根据用户的相关配置,自动对识别出的可并行函数进行分析,使用Silexica的专有算法确定当前设计优化的最优效果。


SLX-FPGA — 高层级FPGA开发工具

pragma插入


SLX-FPGA — 高层级FPGA开发工具


一旦确定了优化的硬件实现,SLX-FPGA将自动插入HLS pragma,以指导HLS编译器对代码的具体硬件实现细节。用户可直接获取优化后代码所生成的IP,将其放入自己的工程中进行使用。


相关链接 (直接点击进入

1

2

3

4

5

6


经纬恒润通过与IBM、Dassault、ANSYS等全球知名工业软件厂商合作,为用户提供汽车电子领域数十种研发工具,并通过在研发流程、建模仿真、测试验证、平台建设等领域的定制开发和技术服务,助力用户实现研发的流程化、数字化、智能化和平台化,提升产品研发效率和市场竞争力。


THE END

纬 恒 

致力于成为国际一流的汽车电子系统科技服务商!

邮箱:market_dept@hirain.com

以上是关于FPGA开发处理器代码中误解的主要内容,如果未能解决你的问题,请参考以下文章

FPGA案例开发手册——基于全志T3+Logos FPGA核心板

nios ii处理器为啥只用于FPGA

初学FPGA图像处理,开发板选择建议

微处理器基于FPGA的微处理器VHDL开发

FPGA图像处理的开发流程

Banana Pi FPGA 学习与教育开发套装