SLX

멀티코어 프로젝트를 위한 완벽한                             프로그래밍 솔루션

SILEXICA

제품

소프트웨어 모델이나 사내, 오픈 소스, 상용 소스 및 바이너리 코드로 작업하는 개발자에게 있어서, 기존의 소프트웨어 최적화 방법은 멀티코어 시스템에 대해서 더 이상 확장성이 없다.

멀티 코어 시스템에서의 응용 프로그램 행위를 완전히 이해하려면 소프트웨어 상호 의존성을 완전하고 정확하게 분석해야한다. 시스템 행위를 이해하고 성능 향상 및 절전 기회를 탐색하려면 실행 중에 발생하는 소프트웨어 상호 의존성에 대한 심층적인 통찰력을 제공하는 도구가 필요하다.

SLX는 하드웨어 및 소프트웨어 상호 의존성에 대한 소프트웨어 실행 통찰력을 제공하는 멀티 코어 개발 도구인다. 멀티 코어 시스템에서 CPU, DSP, FPGA 및 기타 가속 엔진을 가장 효율적으로 활용할 수 있도록 코드 설계와 리팩토링을 지원한다.

SLX

FPGA

FPGA-fpga
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

Clear guidance into HLS Synthesizablity of C/C++ code

7-fpga

HW/SW Partitioning Exploration

3-fpga

Automatic insertion of pragmas (OpenMP, HLS)

분석

Fig2.23_Big-implement

코드 분석

SLX performs static and dynamic code analysis to provide a top to bottom view into the C/C++ source code. This system level view includes call graphs, function/ task interdependencies, memory access patterns, array and data structure access analysis, shared variables, blocking states, and more.

SLX uses this analysis to provide actionable insights into:

  • C/C++ code that is non-synthesizable by HLS compilers or non-hardware aware code that becomes slow or bloated in the FPGA
  • Functions within the C/C++ code that can be implemented in parallel in the FPGA Logic for HW acceleration
  • Hotspots in communication, computation, and memory access patterns

최적화

코드 최적화

SLX FPGA utilizes the actionable insights provided by the top to bottom code analysis to significantly improve the HLS experience by eliminating many of the common challenges of using HLS to convert C/C++ to an optimized hardware/software design.

Optimization features include:

  • Delivery of guided and automated code refactoring to: 1. Convert code that is non-synthesizable into an FPGA and 2. Convert C/C++ code that is non-hardware aware.
  • Implements parallel functions in FPGA logic by automatically inserting HLS pragmas into source code for an optimized hardware/software implementation. Optionally OpenMP annotations can be inserted to exploit embedded processors in the FPGA.
FGPA_Optimize-implement

통합

Figure2.60_Big-implement

통합하기

SLX FPGA integrates optimized C/C++ code and pragmas back into the original source code in preparation for HLS synthesis.

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

loader

Any questions?

Silexica

Contact us