SLX

为您的多核项目提供最佳编程解决方案

SLX

产品

不管您是软件模型的系统架构师,还是使用内部代码、开源代码、商业源代码或者二进制代码的程序开发员,传统的软件优化方法都已不再适用于多核系统。要完全了解多核系统上的应用程序行为,就需要对软件相互依赖性进行全面而精确的分析。

要达到全面理解系统行为,并且寻求机会提高性能和节省功耗的目标,需要一个工具来深入了解执行期间发生的软件相互依赖性。

SLX正是这样的一种多核开发工具,它可对硬件和软件相互依赖性提供软件执行洞察。 它允许代码的架构和重构,从而在多核系统上实现CPU,DSP,FPGA和其他加速引擎的最有效利用。

SLX

FPGA

FPGA-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 ++代码的HLS可合并性提出明确指示

7-fpga

对软硬件进行分区探索

3-fpga

自动插入编译指示(OpenMP,HLS)

分析

Fig2.23_Big-implement

分析代码

 

SLX通过对静态和动态代码的分析,提供自上而下的C/C++源代码视图。此系统级别的视图包括调用图、函数/任务相互依赖性、内存访问模式、数组和数据结构访问分析、共享变量、阻塞状态等。

 

SLX通过分析提供的可操作性见解用于:

  • 无法被HLS编译器合成的C/C ++代码或在FPGA中变得缓慢或臃肿的低硬件兼容代码 
  • 可以在FPGA逻辑中并行实现的用于硬件加速C/C++函数
  • 通信、计算和内存访问模式中的热点

优化

优化代码

SLX FPGA通过自上而下的代码分析提供的可实现见解,能够解决诸多通过HLS将C/C++转化至优化软硬件设计时遇到的常见挑战,显著改善HLS体验。

优化功能包括:

  • 通过引导式和自动代码重构达成:1. 将不可合成的代码转换为FPGA实现  2.转换低硬件兼容的C/ C++代码。
  • 自动插入HLS编译指示到源代码中,在FPGA逻辑中实现并行功能,以实现软硬件性能的优化。OpenMP注释器可作为选项插入,从而充分利用FPGA嵌入式处理器。
FGPA_Optimize-implement

集成

Figure2.60_Big-implement

集成代码

SLX FPGA将优化的C / C ++代码和编译指示集成返回原始源代码,为HLS高阶综合做准备。

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

loader

Any questions?

Silexica

Contact us