Vitis Model Composer란?

AMD Vitis™ Model Composer는 알고리즘 개발 및 하드웨어 구현 간 격차를 해소해 주는 고급 설계 및 시뮬레이션 도구입니다. MathWorks MATLAB® 및 Simulink®와 깊이 통합되어 있으므로 개발자는 다음을 수행할 수 있습니다.

  • Simulink 내에서 하드웨어 가속 알고리즘을 시각적으로 설계하고 시뮬레이션합니다.
  • 초기에 낮은 수준의 HDL 또는 AI 엔진 C 코드를 작성할 필요 없이 초기 설계 공간 탐사를 수행합니다.
  • AI 엔진이 장착된 최신 Versal™ 디바이스를 포함하여 AMD 적응형 SoC 및 FPGA를 대상으로 하는 MATLAB/Simulink 모델에서 직접 합성 가능한 하드웨어 IP를 생성합니다.

Vitis 모델 컴포저는 AMD Vivado™ Design Suite(Standard 또는 Enterprise) 및 AMD Vitis™ 통합 소프트웨어 플랫폼과 함께 작동하는 애드온 라이선스로 사용할 수 있습니다. 이 기능은 모델 기반 설계 접근 방식을 선호하고 알고리즘에서 하드웨어 구현으로의 전환을 가속화하고 싶어하는 알고리즘 개발자에게 특히 유용합니다.

Vitis 모델 컴포저의 핵심 기능

MATLAB 및 Simulink 환경을 사용하여 설계를 분석하고 시각화합니다.

  • 최적화된 AI 엔진, HLS 및 HDL 블록을 Simulink 라이브러리 브라우저에서 직접 사용
  • 맞춤형 AI 엔진, HLS 및 HDL 코드를 블록으로 가져오기
  • Simulink 환경에서 빠른 시뮬레이션 실행
  • MATLAB 및 Simulink 환경에서 결과를 골든 레퍼런스와 비교
  • 중간 신호를 활용하여 디버깅하고 설계에 대한 가시성 확보

이종 시스템 공동 시뮬레이션:

  • 라이브러리 브라우저에서 최적화된 AI 엔진/HLS/프로그래밍 가능 로직(PL)을 직접 사용하거나 코드를 블록으로 가져오기
  • AI 엔진 어레이를 HLS 커널 블록 또는 HDL 블록과 원활하게 연결

설계에서 코드를 생성하여 생산성 향상:

  • 제약 조건과 함께 그래프 코드 생성
  • RTL 생성(Verilog/VHDL)
  • 삽입된 pragma로 최적화된 HLS 코드 생성
  • 테스트 벤치 생성

하드웨어에서 설계를 손쉽게 검증:

  • 데이터 무버, 처리 시스템 코드, 구성 파일 생성
  • Makefile을 생성하여 하드웨어 설계 구축
  • 버튼 클릭 한 번으로 설계를 하드웨어로 구현

Vitis 모델 컴포저 설계 생성 및 시뮬레이션

AMD Vitis™ 모델 컴포저 도구의 개요를 확인하고 HDL, HLS 및 AI 엔진 설계를 만들고 시뮬레이션하는 방법을 알아봅니다. 더불어 이기종 설계(즉, AI 엔진 및 프로그래밍 가능 로직 구성 요소를 모두 갖춘 설계)를 생성하는 방법도 함께 살펴봅니다.

AMD Vitis™ 모델 컴포저 허브 블록 사용

AMD Vitis 모델 컴포저 허브 블록 소개. 블록을 사용하여 하드웨어를 선택하고, 코드를 생성하고, 설계를 분석 및 검증하고, 마지막으로 하드웨어에서 검증을 진행하는 방법을 알아봅니다.

Vitis 모델 컴포저의 Versal AI 엔진을 사용한 설계

Versal AI 엔진은 AMD Adaptive SoC의 머신 러닝, DSP, 신호 처리 작업에 최적화된 특수 컴퓨팅 장치입니다. Vitis 모델 컴포저는 다음과 같은 기능을 통해 AI 엔진을 효과적으로 사용할 수 있습니다.

AI 엔진 라이브러리 블록

  • 사전 구축된 AI 엔진 IP 블록: 즉시 사용 가능한 DSP 및 다음과 같은 신호 처리 블록 포함:
    • FIR(Finite Impulse Response) 필터
    • FFT(Fast Fourier Transform) 및 iFFT
    • DDS(Direct Digital Synthesis)
    • 믹서

이러한 블록은 AI 엔진의 기능을 모델링하고 설계자가 AI 엔진 기반 알고리즘의 프로토타입을 빠르게 제작하고 시뮬레이션할 수 있도록 지원합니다.

커널 가져오기 및 데이터 흐름 통합

  • 사용자 지정 커널 가져오기: 사용자 지정 AI 엔진 커널(C++ 또는 HLS로 작성)을 블록 형식으로 Simulink로 가져올 수 있습니다. 이를 통해 사용자 지정 AI 엔진 코드를 그래픽 모델과 혼합할 수 있습니다.
  • 데이터 흐름 그래프 가져오기: 복잡한 AI 엔진 컴퓨팅 파이프라인을 시각적으로 구성 및 연결할 수 있도록 AI 엔진 데이터플로 그래프 가져오기를 지원합니다.

혼합 설계 시뮬레이션

  • Vitis 모델 컴포저는 AI 엔진 블록이 프로그래밍 가능한 로직 블록(HDL 또는 HLS)과 함께 작동하는 혼합 시뮬레이션을 지원합니다. 이를 통해 설계자는 이기종 컴퓨팅 리소스 전체에서 시스템 수준의 상호 작용, 타이밍, 데이터 이동을 확인할 수 있습니다.

시각화 및 디버그

  • Simulink 소스 및 싱크 블록은 AI 엔진 블록과 직접 연결하여 시뮬레이션 중 신호를 모니터링하고 시각화할 수 있습니다.
  • 주기 근사 시뮬레이션을 지원하므로 AI 엔진 워크로드의 초기 성능 추정에 도움이 됩니다.

새로워진 사항

2025.2 릴리스 하이라이트

AI 엔진과 HDL 모두에 사용할 수 있는 추가 블록

AIE, AIE-ML, AIE-ML v2(예: Versal AI Core 및 AI Edge Series, 및 Versal AI Edge Series Gen2)

  • 새로운 사항: 함수 근사화
  • 새로운 사항: 상관/중첩
  • 새로운 사항: 누적 합계

HDL 라이브러리 블록

  • 향상된 기능: FFT(네이티브 부동 소수점 SSR=32, 64 추가)
  • 향상된 기능: FIR(SSR을 사용한 분수 속도 보간 지원)

기타 Vitis 모델 컴포저 개선 사항

  • HLS-AIE 브리지 블록은 다중 속도 시스템의 모델링을 지원하여 서로 다른 클럭 도메인으로 설계를 모델링하고 손상 없이 데이터를 안전하게 전송할 수 있는 효율적인 방법을 제공합니다
  • MATLAB® R2025b 지원 추가
  • Red Hat® Enterprise Linux®(RHEL) 9.6, 10.0 지원 추가

여러 최상위 AI 엔진 하위 시스템 지원

AI 엔진과 HDL 모두에 사용할 수 있는 추가 블록

AI 엔진

  • Bitonic Sort(Versal AI Core 시리즈, Versal AI Edge 시리즈, Versal AI Edge 시리즈 Gen2)
  • DFT/ FFT(Versal AI Edge 시리즈 Gen2)
  • FIR - 단일 속도, 반대역, 속도 변경, 분수 리샘플러(Versal AI Edge 시리즈 Gen2)
  • DDS/믹서(Versal AI Edge 시리즈 Gen2)

HDL 라이브러리

  • 향상된 FFT - 추가 SSR 모드
    • SSR 8, 16, 32, 64(네이티브 부동 소수점)
    • SSR 2, 4(고정점)
  • 향상된 복합 승수 - 더 적은 DSP58 리소스
    • CFLOAT MAC에 대한 새로운 지원
    • 벡터 IFFT 부동 - 새로운 블록

Vitis 모델 컴포저 관련 Versal AI Engine DSP 라이브러리 업데이트:

  • AIE(Versal AI Core, Versal Premium 시리즈에서 사용 가능) 
    • 혼합 기수 FFT 
    • Stockham FFT 성능 개선 사항 
    • TDM FIR​ 
  • AIE-ML(Versal AI Edge 시리즈에서 사용 가능) 
    • TDM FIR​ 
    • DDS(직접 디지털 합성 - 파형 생성에 사용) 
    • 믹서(주파수 변환에 사용)​ 
  • AIE-MLv2(Versal AI Edge Gen 2 시리즈에서 사용 가능) 
    • FIR​ 
    • DFT​ 
    • DDS​ 
    • 믹서 

GitHub - 2024.2의 Xilinx/Vitis_Model_Composer

Vitis 모델 컴포저의 새로운 HDL 블록:

  • 단순 듀얼 포트 RAM(새로운 블록) 
  • DDS(직접 디지털 합성) 컴파일러(네이티브 부동 소수점 지원 추가) 
  • FFT 
    • SSR=2, 4로 네이티브 부동 소수점 지원 추가 
    • Versal 디바이스의 DSPFP32 프리미티브에 매핑 

기타 개선 사항

  • Vitis 모델 컴포저에 내장된 AIE/HLS 커널과 함께 Vitis Debugger 사용 
  • Vitis 모델 컴포저에서 Vitis 하위 시스템을 .vss 파일로 내보내기 
  • Vitis 모델 컴포저의 추가 데이터 형식 
    • cbfloat16 지원 
    • 캐스케이드 신호 지원: int8/uint8, int16/uint16/cint16, int32, uint32, cint32, float/cfloat 
  • 빌드 프로세스(예: 시뮬레이션) 초기에 설계 문제를 감지하고 표시하는 데 도움이 되는 DRC(Design Rule Check) 
  • 코드 생성에 대한 빠른 반응 시간 
    • 모든 설계에 대해 한 번만 시뮬레이션 실행 
  • 일괄 처리, 신속한 프로토타이핑 등을 위해 허브 블록 구성을 JSON 파일로 저장 

버전 2024.2에 추가된 OS 및 MATLAB 버전 지원

  • MATLAB R2024a 
  • Red Hat Enterprise Linux®(RHEL) 8.10, 9.4 

GitHub에서 새로운 예제 설계 사용 가능

다운로드

구매

Vitis 모델 컴포저는 Vivado Standard 또는 Enterprise Edition 및 Vitis 통합 소프트웨어 플랫폼에 대한 애드온 라이선스로 구매할 수 있습니다. 
평가하려면 제품 라이선스 사이트에서 90일 무료 평가판 라이선스를 생성하세요. 

리소스

AI 엔진 라이브러리

  • 실습 1: Versal™ 적응형 및 AI 엔진 소개
  • 실습 2: AI 엔진 설계 구축 및 시뮬레이션
  • 실습 3: 맞춤형 AI 엔진 코드 가져오기
  • 실습 4: AI 엔진 코드 생성 및 주기 근사 시뮬레이션
  • 실습 5: Vitis Analyzer의 AI 엔진 설계
  • 실습 6: Versal 적응형 설계의 하드웨어 검증

HLS 라이브러리

이 튜토리얼은 Vitis 모델 컴포저 HLS 라이브러리를 살펴보고, HLS 블록을 사용하여 간단한 설계를 빌드하고, Vitis 모델 컴포저가 지원하는 데이터 형식에 대해 배우는 데 도움이 됩니다.

HDL 라이브러리

이 튜토리얼에서는 Vitis 모델 컴포저 HDL 라이브러리를 사용하여 Simulink®에서 설계를 지정하고 FPGA로 합성하는 방법을 안내합니다. 

각주
  1. 2023년 8월 10일, 1,000개의 Vitis L2/L3 코드 라이브러리 설계에 대해 Vitis HLS 릴리스 2023.2와 Vitis HLS 2023.1을 비교한 테스트를 기준으로 합니다. 테스트 중 시스템 구성: 인텔 제온 E5-2690 v4 @ 2.6GHz CPU, 256GB RAM, RedHat Enterprise Linux 8.6. 실제 성능은 다를 수 있습니다. 시스템 제조업체별 구성에 따라 다른 결과가 나올 수 있습니다. -VGL-04
  2. 벤치마크 테스트는 2023년 2월 12일 현재 1208개의 Vitis L1 라이브러리 C 코드 설계에 대해 수행되었습니다. 모든 설계는 CentOS Linux, SMT 활성화, 터보 부스트 비활성화 상태의 2P 인텔 제온 E5-2690 CPU를 탑재한 시스템을 사용하여 실행되었습니다. 하드웨어 구성은 소프트웨어 테스트 결과에 영향을 미치지 않을 것으로 예상됩니다. 결과는 소프트웨어 및 펌웨어 설정과 구성에 따라 달라질 수 있습니다.- VGL-03