赋能智能边缘 解决软件/硬件复杂性问题

Silexica

SLX FPGA

front-fpga-no-padding-fpga
anim-loader-

SLX FPGA能够将 C/C++代码更加轻松快速、更具高性能地转换为FPGA 数据流。SLX FPGA 充分考虑了FPGA 供应商提供的HLS(高层次综合)工具的相关标准,并在此基础上成功解决了与 HLS 设计流程相关的挑战,其中包括非可合成的 C/C++ 代码、非硬件兼容的 C/C++ 代码,对应用程序进行并行性检测,在合适位置插入编译指示,以及确定最优软硬件分区等。借助SLX FPGA,HLS在FPGA设计流程中的诸多潜在优势得以充分发挥,从而帮助您的产品更快地进入市场,这些优势包括通过更高级别的抽象设计来释放生产力,比传统 RTL 仿真有数量级的优势,通过高级优化和设计空间探索实现更高的QoR等。

SLX FPGA能够执行静态和动态代码分析,深入洞察用户的C/C ++代码,解决HLS设计流程的难题。通过代码分析,SLX FPGA可识别非可合成的C/C ++代码,检测非硬件兼容数据类型,并在软件内确定在硬件中实现加速的并行性。SLX FPGA为HLS综合提供引导式和自动代码重构,HLS设计流程的最麻烦也最耗时的障碍因此得以克服。然后,SLX FPGA将根据检测到的并行性结果自动生成和插入HLS编译指示,从而优化性能,提高区域利用率。

下载产品简介 产品演示视频
15-fpga

使用自动和引导代码重构,对不可合成的C/C ++代码进行转换

7-fpga

检测C / C ++代码中的并行性,在硬件中进行实现

3-fpga

硬件优化及软件/硬件分区

c-c-1-fpga

自动插入HLS编译指令  

功能特点

SLX FPGA - 从 C/C++ 到硬件 加速升级之旅

SLX FPGA STEP-fpga

SLX FPGA为C/C ++代码向HLS(高层次综合)优化提供了循序渐进式的流程,大大缩短了开发周期,确保了C/C ++编码在硬件上的加速实现。

 

为HLS重构不可合成代码

HLS编译器的C/C++编码指南内容非常广泛,在为HLS综合进行C/C ++代码重构或编写时,可能需要理解超过1000页的文档。 SLX FPGA帮助您免去此类困扰,轻松成为HLS编码专家:

  • 识别不可合成的C / C ++代码
  • 为常见的不可合成代码库执行自动代码重构
  • 通过提供代码示例,对代码重构进行指导,帮助其重写为可合成代码
FPGA PB P-fpga
FPGA PB Pic2-fpga
检测并行性

C/C ++代码通常在标准处理器上顺序执行,但在专用硬件中允许以并行方式执行函数,从而提升代码在硬件上的执行速度。SLX FPGA对应用程序的C/C++代码进行分析,识别可通过并行进行加速的函数。

硬件优化及软件/硬件分区

在甄别出可用于并行执行的函数之后,SLX FPGA将对执行函数进行分析,以确定理论上可以实现的加速最大值。 通过Silexica的独有算法,SLX FPGA会基于用户提供的约束条件确定并行函数的理想执行结果,充分确保优化的实现。

FPGA PB Pic3-fpga
FPGA PB Pic4-fpga
插入编译指令

在确定了如何对硬件实现优化之后,SLX FPGA即会插入HLS编译指令以指导HLS编译器如何在硬件中实现该函数。

 

SLX FPGA能完全集成于 Xilinx Vivado HLS 和 SDSoC 开发环境,从而创建从 C/C++ 到 FPGA 综合的完整路径。它可以通过功能强大的 GUI 或命令行运行, 也可以集成到敏捷与持续开发的工作流程中。

 

loader

SILEXICA全球各地办公室

Silexica

Contact us