인텔리전트 에지에서 소프트웨어/하드웨어복잡성을 파악하자

Silexica

SLX FPGA

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

SLX FPGA는 C / C ++ 코드를 더 쉽고, 더 빠르며, 더 높은 성능으로 FPGA 비트 스트림으로 변환하는 데 도움이 된다. SLX FPGA는 FPGA 공급 업체의 표준인 HLS (High Level Synthesis) 툴을 활용하여, 합성이 불가능한 C / C ++ 코드, 비 하드웨어 인식된 C / C ++ 코드, 응용 프로그램 병렬 처리 감지, pragma 삽입 위치,최적의 SW/HW 분할 결정 방법 등 HLS 설계 흐름과 관련된 과제를 해결한다.  SLX FPGA를 사용하면 FPGA 설계 입력을 위해 HLS의 장점을 활용하여 더 빨리 시장에 진입할 수 있다. 이러한 이점으로는 높은 수준의 설계를 통한 생산성 향상, 기존 RTL 시뮬레이션보다 빠른 시뮬레이션의 순서, 고차원 최적화 및 우주탐사를 통한 높은 QoR 등이 있다.

SLX FPGA는 정적 및 동적 코드 분석을 수행하고 사용자의 C / C ++ 코드에 대한 깊은 통찰력을 제공함으로써 HLS 설계 흐름을 이용하는 과제를 해걸한다. 이 코드 분석을 통해 SLX FPGA는 합성이 불가능한 C/C ++ 코드를 식별하고 비하드웨어 인식 데이터 유형을 감지하며, HW에서 가속을 위해 구현될 수있는 SW 내에서의 병렬 처리를 정확하게 검출한다. SLX FPGA는 HLS 합성을 위한 가이드 및 자동 코드 리팩토링을 제공하여 HLS 설계 흐름을 사용할 때 가장 큰 장벽과 시간 소모적 인 측면을 해결한다. 그런 다음 SLX FPGA는 감지된 병렬 처리를 사용하여 성능 및 영역 활용을 위해 설계를 최적화하는 HLS 실용성을 자동으로 생성 및 삽입한다.

제품 소개 다운받기 제품 비디오 보기
15-fpga

Convert non-synthesizable C/C++ code with Auto and Guided Code Refactoring

7-fpga

Detect Parallelism in C/C++ code to implement in hardware

3-fpga

HW optimization and SW/HW partitioning

c-c-1-fpga

Automatic insertion of HLS pragmas

FEATURES AND CAPABILITIES

SLX FPGA - Accelerating the journey from C/C++ to Hardware

fpga workflow (2)-fpga

SLX FPGA provides a step by step flow to optimize C/C++ code for High Level Synthesis, significantly reducing development time and ensuring an optimized hardware implementation of C/C++ code.

Convert non-synthesizable C/C++ code

C/C++ coding guidelines for HLS compilers are extensive and can be over 1000+ pages of documentation that needs to be comprehended when writing or refactoring C code for HLS synthesis.  SLX FPGA eliminates the need to be an expert in coding for HLS by:

  • Identifying C/C++ code which is non-synthesizable
  • Performing automatic code refactoring for many common C libraries
  • Providing guided code refactoring by supplying code examples to help re-write the code to make it synthesizable
FPGA PB P-fpga
FPGA PB Pic2-fpga
Parallelism Detection

C/C++ code is typically executed sequentially on standard processors but implementing functions in dedicated hardware allows operations to be executed in parallel, accelerating the execution of the code in hardware.  SLX FPGA analyzes application C/C++ code and identifies functions that can be accelerated by executing in parallel when implemented in hardware.

HW Optimization and HW/SW Partitioning

After identifying functions that can be implemented to execute in parallel, SLX FPGA performs analysis of the functions to determine the theoretical maximum number of parallel executions.  Using Silexica’s proprietary algorithms, SLX FPGA then determines the ideal implementation of the parallel function based on user supplied constraints, ensuring an optimized implementation.

FPGA PB Pic3-fpga
FPGA PB Pic4-fpga
Pragma insertion

Once the optimized hardware implementation is determined, SLX FPGA inserts HLS Pragmas to direct the HLS complier on how to implement the function in hardware.

SLX FPGA is fully integrated with Xilinx Vivado HLS and the SDSoC Development Environment to create a complete path from C/C++ to FPGA synthesis. It can be used on the desktop from a powerful GUI, from command-line or integrated into your agile, continuous workflow.

loader

SILEXICA AROUND THE WORLD

Silexica

Contact us