MATLAB을 이용한 FPGA 프로토타이핑

MATLAB 및 Simulink를 사용하여 프로토타입을 개발, 배포, 디버그할 수 있습니다.

FPGA 설계 경험이 없어도 알고리즘을 FPGA 기반 하드웨어에 프로토타이핑할 수 있습니다.

MATLAB 및 Simulink로 다음과 같은 작업을 수행할 수 있습니다.

  • 검증된 IP 블록과 서브시스템을 사용하여 하드웨어에 바로 사용할 수 있는 설계 구축
  • 시스템 수준 하드웨어 동작을 시뮬레이션하여 FPGA에 배포하기 전에 버그 제거
  • 모든 FPGA 또는 SoC 기기를 타겟팅할 수 있는 HDL 및 C 코드 생성
  • AMD® 및 Intel® FPGA 및 SoC 보드와 키트에 자동으로 배포
  • 하드웨어에서 실행되는 신호의 탐색 및 포착

"우리는 우리 분야 내에서의 경험은 풍부하지만 FPGA 통합 경험은 거의 없습니다. Simulink와 HDL Coder를 통해 우리는 특정 FPGA에서 알고리즘을 실행하는 방법이 아니라 우리 제품을 위한 지능형 알고리즘 설계에 집중할 수 있었습니다."

Boris Van Amerongen, Orolia

무선 응용 분야

실시간 무선 입력/출력을 이용한 알고리즘 시뮬레이션부터 FPGA 또는 SoC 소프트웨어 정의 무선 통신 플랫폼이나 사용자 지정 보드에 대한 전체 배포까지, 실시간 하드웨어 요소를 설계에 점진적으로 추가할 수 있습니다.

Wireless HDL Toolbox에 있는 하드웨어 검증된 무선 설계 IP 블록과 서브시스템으로 빠르게 시작할 수 있습니다. IP에는 MATLAB을 사용한 알고리즘 설계부터 Simulink에서 무선 시스템 구현 모델까지 점진적으로 이행하는 방법을 보여주는 예제가 있습니다. 모든 IP가 고정소수점으로 양자화되어 있어서, 추가한 사용자 지정 로직을 Fixed-Point Designer를 사용하여 관리하고 HDL Coder로 배포할 수 있습니다.

시스템 수준에서 설계하고 시뮬레이션한 후에 점진적으로 실제 하드웨어 특성을 추가하여 완벽한 현장 테스트용 구현을 만들 수 있습니다.


모터 및 전력 전자 제어 응용 분야

모터 및 전력 전자 제어 알고리즘을 FPGA 하드웨어에 배포하고 Speedgoat I/O 모듈 같은 FPGA 액셀러레이터에서 HIL(Hardware-in-the-Loop) 플랜트 모델을 가속화할 수 있습니다.

모터 및 전력 전자 제어 응용 분야

FPGA 기반 하드웨어에서 실행되는 제어 알고리즘의 성능을 살펴보고, FPGA 기반 HIL(Hardware-in-the-Loop)로 플랜트 모델을 가속화할 수 있습니다. 고정소수점 또는 네이티브 부동소수점 (9:19)으로 수학 및 삼각 함수에 대한 다양한 HDL 코드 생성 지원을 통해 HDL Coder는 Simulink 모델을 곧바로 하드웨어에 배포할 수 있는 간편한 방법을 제공합니다.

SoC 배포를 위해 알고리즘을 분할하는 방법을 고민 중이라면 프로토타입 플랫폼에 배포하기 전에 분할 전략을 탐색하고 시뮬레이션하여 성능을 평가할 수 있습니다. 그런 다음 사전 구성 키트, Speedgoat FPGA 기술 개요 (7:53), 자체 사용자 지정 보드를 타겟팅할 수 있습니다.


비디오 및 영상 처리 응용 분야

자동으로 HDL 및 C 코드를 생성하여 MATLAB 및 Simulink에 연결된 FPGA 기반 플랫폼에 비전 알고리즘을 프로토타이핑할 수 있습니다. 또한 하드웨어 검증된 비전 처리 블록을 사용하여 구현 모델을 구축하고 픽셀 스트리밍, 이웃 기반 알고리즘, 외부 메모리 액세스, 제어 신호 등 하드웨어 거동을 시뮬레이션할 수 있습니다.

카메라가 달린 기성품 FPGA 평가 키트에 대한 모델 배포를 지원합니다. 아니면, 하드웨어 팀에서 플랫폼 지원을 구축하여 MATLAB 및 Simulink에서 직접 프로토타입을 배포하는 방법도 있습니다.

비디오 및 영상 처리 응용 분야

FPGA 프로토타입 보드에서 실행되는 안개 조정 알고리즘.


MATLAB에서 직접 FPGA 기반 딥러닝 추론을 프로토타입 하드웨어에 실행한 후, FPGA 또는 ASIC에 배포할 딥러닝 HDL IP 코어를 생성합니다.

딥러닝 추론

단지 몇 개의 MATLAB 명령만으로 신경망을 FPGA 및 SoC 보드에 프로토타이핑하여 딥러닝 추론을 가속화할 수 있습니다. 이어서 MATLAB 내에서 FPGA에서의 추론 성능을 분석함으로써 반복을 통해 신경망을 조정하며 고정소수점으로 양자화하고 재배포할 수 있습니다. 마지막으로 타겟 독립적인 HDL IP 코어를 생성하고 이를 하드웨어 팀에 제공해서 구현할 수 있습니다.


FPGA 프로토타입 디버그

실제 입력으로 FPGA 프로토타이핑을 하면 조기 시뮬레이션에서는 발견 및 수정하지 못했던 버그를 발견할 수 있습니다. FPGA 또는 SoC 프로토타입에 MATLAB 명령을 사용할 수 있는 로직을 삽입하여 대화형 방식으로 AXI 액세스 가능한 레지스터를 읽거나 쓰고, 또는 FPGA 패브릭 내부의 테스트 지점에서 데이터를 수집할 수 있습니다.

MATLAB 또는 Simulink 테스트벤치를 사용하여 FPGA 프로토타입을 실행하기 원하면, FPGA-in-the-Loop를 통해 설정을 자동화하고 시뮬레이션 인터페이스를 관리하여 데이터를 FPGA로 전송하고 다시 테스트벤치로 읽어올 수 있습니다.

이러한 기법은 AMD, Intel, Microsemi 기기 등의 다양한 보드를 별다른 설정 없이 지원하며, 또는 사용자는 자신만의 사용자 지정 보드를 사용하여 FPGA-in-the-Loop 검증 수행하기 (2:16)를 정의할 수도 있습니다.

자동으로 로직을 삽입하여 디버그하고 MATLAB에서 바로 FPGA 프로토타입과 상호작용합니다.