PolarFire FPGA 알고리즘 개발을 위한 C++ 합성 제품군

업데이트: 6년 2023월 XNUMX일
PolarFire FPGA 알고리즘 개발을 위한 C++ 합성 제품군

"에지 컴퓨팅, 컴퓨터 비전 및 산업 제어 알고리즘의 대부분은 기본 지식이 거의 또는 전혀 없는 개발자가 기본적으로 C++로 개발합니다. FPGA 하드웨어"라고 회사는 설명했습니다.

SmartHLS라고 하는 이 도구를 사용하면 C++ 알고리즘을 FPGA 최적화 RTL(레지스터 전송 레벨) 코드로 직접 변환할 수 있습니다.

오픈 소스 Eclipse 통합 개발 환경을 기반으로 하며 C++ 소프트웨어 코드를 사용하여 Microchip의 Libero SmartDesign 프로젝트에 통합하기 위한 HDL IP(하드웨어 디자인 언어 지적 재산) 구성 요소를 생성합니다.

구체적으로 사용자는 자신의 디자인을 C++ 소프트웨어로 구현하고 소프트웨어 테스트를 통해 기능을 검증합니다. 다음으로 LegUp은 C++ 프로그램을 기능과 동등한 Verilog 하드웨어 모듈로 컴파일합니다.

SmartHLS는 Modelsim과 공동 시뮬레이션을 실행하여 정확한 주기 하드웨어 동작을 확인하고 하드웨어 기능이 소프트웨어와 일치하는지 확인하고 SmartDesign을 통해 더 큰 시스템에 통합하기 위한 하드웨어 IP 코어를 생성할 수 있습니다. LegUp은 또한 생성된 Verilog에서 Libero 합성을 실행하여 FPGA 영역과 Fmax를 결정할 수 있습니다. PolarFire와 마찬가지로 이 도구는 SmartFusion2 FPGA를 지원합니다.

Microchip은 "C++ 소프트웨어 코드를 작성하는 것은 RTL로 설계하는 것보다 엔지니어에게 더 쉽습니다. 소프트웨어 코드가 RTL보다 5-10배 적은 C++ 라인이 필요하기 때문에 더 간결하기 때문입니다."라고 말했습니다. “소프트웨어는 또한 RTL에 비해 향후 개선 또는 유지 관리를 위해 이해하고 수정하기가 더 쉽습니다. 소프트웨어 간결성과 가독성은 FPGA 설계에서 버그가 적다는 것을 의미합니다."

SmartHLS 제품 페이지는 여기