Xilinx FPGA 및 Zynq SoC

 Xilinx 디바이스의 알고리즘을 모델링, 검증 및 프로그래밍합니다.

도메인 전문가와 하드웨어 엔지니어는 MATLAB® 및 Simulink®를 사용하여 Xilinx® FPGA 및 Zynq® SoC 장치에 배포할 프로토타입과 양산용 어플리케이션을 개발합니다. MATLAB 및 Simulink로 할 수 있는 작업은 다음과 같습니다. 

  • 시스템 레벨에서 하드웨어 아키텍처 모델링
  • 코드를 작성하지 않고 FPGA 또는 SoC 프로그래밍
  • MATLAB 및 Simulink 툴을 사용한 FPGA 또는 SoC 시뮬레이션과 디버깅
  • 제품화를 위한 FPGA 및 SoC 설계 수행

"메카트로닉스 시스템 엔지니어로서 저의 전문 기술은 HDL 및 FPGA가 아닌 제어 시스템과 그 모델에 있습니다. 모델 기반 디자인을 통해 저는 컨트롤러와 시스템에 대한 통찰력 및 지식을 사용하여 FPGA 엔지니어가 일반적으로 수행하는 작업을 더 많이 수행하고 FPGA 엔지니어의 작업부하를 줄일 수 있었습니다."

Rob Reilink, DEMCON

MATLAB과 함께 Xilinx FPGA 및 Zynq SoC 사용하기

FPGA 와 SoC 프로그래밍을 위한 모델링 

MATLAB 및 Simulink를 사용하여 알고리즘에 하드웨어 구조를 함께 반영합니다. 여기에는 fixed-point quantization (30:34)가 포함되어 있어 더 효율적으로 리소스를 사용할 수 있으며, native floating-point (8:55) 코드 생성이 포함되어 있어 FPGA를 쉽게 프로그래밍할 수 있습니다. 다양한 테스트와 골든 레퍼런스 알고리즘을 재사용하여, 각각의 지속적인 개선결과에 대해 시뮬레이션 합니다.

HDL Coder™ 는 신호 처리무선 통신모터와 전력 제어 및 이미지/비디오 처리와 같은 애플리케이션에 대해 HDL로 변환 가능한 Simulink 및 MATLAB 함수 블록으로부터 합성가능한 VHDL 또는 Verilog를 직접 생성합니다.  Xilinx System Generator for DSP와 Xilinx Model Composer 는 Xilinx 고유의 블록을 Simulink에 추가하여 시스템 레벨의 시뮬레이션 및 하드웨어 배치를 할 수 있습니다. HDL 코드 생성을 위해 System Generator 블록과 Simulink 블록은 통합될 수 있습니다.

SoC Blockset™을 사용하여, 메모리 사용량 및 스케줄링/운영체제 영향을 포함한 하드웨어와 소프트웨어 아키텍처에 대해 분석합니다.

Xilinx FPGA 및 Zynq SoC 프로그래밍

HDL Coder는 단 한줄의 코드를 작성하지 않고서도 Simulink로부터 직접 FPGA 또는 SoC를 프로그래밍 할 수 있도록 가이드 합니다. HDL Coder에서 AXI 인터페이스를 포함한 합성가능한 VHDL 또는 Verilog 코드를 생성하고 최적화하여 SoC에 연결할 수 있습니다. 여기에서 Embedded Coder를 호출하여 C/C++를 생성하고 임베디드 프로세서에서 실행되는 소프트웨어를 프로그래밍할 수 있습니다.

Embedded Coder 및 HDL Coder와 함께 사용하기 위해 Xilinx FPGA 및 Zynq SoC 디바이스에 대한 지원 패키지를 다운로드 할 수 있습니다. 이들은 이를 이용하여 Xilinx Vivado에서 합성, 배치 배선, FPGA/SoC 프로그래밍까지의 과정을 자동화 합니다. 완전 자동화된 워크플로는 지원되는 보드에서 사용할 수 있으며, 모터 제어, 비디오/이미지 처리 및 소프트웨어 기반 무선통신과 같은 애플리케이션을 사용할 수 있습니다.

FPGA 시뮬레이션 및 디버깅

HDL Verifier™는 FPGA 설계를 검증하기 위해 MATLAB 및 Simulink 테스트 환경을 다시 사용합니다. 

cosimulation (5:35)을 사용하면 Mentor Graphics 또는 Cadence Design System의 시뮬레이터에서 실행되는 Verilog 또는 VHDL 과 MATLAB 또는 Simulink 테스트 벤치를 연결하여 자동으로 실행할 수 있습니다.

FPGA-in-the-loop 시뮬레이션은 MATLAB 또는 Simulink 테스트 벤치를 이더넷, JTAG 또는 PCI-Express (2:52)를 통해 지원되는 Xilinx FPGA 보드에 연결합니다.

MATLAB as an AXI Master interface (5:40)을 사용하면 FPGA에 데이터를 보내고, data capture (4:09) 로직을 삽입하여 내부 테스트 포인트를 통해 FPGA 를 디버깅할 수 있습니다.

제품화를 위한 FPGA 및 SoC 설계

도메인 전문가와 하드웨어 엔지니어는 MATLAB 및 Simulink를 사용하여 제품화를 위한, image/video processing (20:59), motor and power control (24:20), safety-critical 애플리케이션과 같은 제품양산용 FPGA 및 SoC 설계를 위해 협업합니다.

HDL Coder의 high-level synthesis optimizations (49:42)는 생성된 RTL, 모델 및 요구 사항 간의 추적성을 유지하면서 설계 목표를 달성하는 데 도움을 줍니다. 이는 DO-254와 같은 고무결성(high-integrity) 워크플로에서 중요합니다. 합성 가능한 VHDL 및 Verilog와 함께 HDL Coder는 시스템 통합을 위해 Vivado IP Integrator에 쉽게 연결될 수 있는 IP 코어를 생성합니다. 그리고 HDL Verifier는 테스트 벤치 개발 속도를 높이는 데 도움이 되는 verification models (5:19)을 생성합니다.