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

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

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

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

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

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

Boris Van Amerongen, Orolia

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

무선 응용 분야

실시간 무선 입력/출력을 이용한 알고리즘 시뮬레이션부터 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)로 플랜트 모델을 가속화할 수 있습니다. 고정소수점 또는 네이티브 부동소수점으로 수학 및 삼각 함수에 대한 다양한 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로 전송하고 다시 테스트벤치로 읽어올 수 있습니다.

이러한 기법은 Xilinx, Intel, Microsemi 기기 등의 다양한 보드를 별다른 설정 없이 지원하며, 또는 사용자는 자신만의 사용자 지정 보드를 정의할 수도 있습니다.

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