HDL Code Verification and Debugging with MATLAB and Simulink
일정 예약 문의교육과정 세부 정보
본 2일 과정의 모듈에서는 MathWorks 툴을 사용하여 HDL 설계를 검증하고 디버그하는 워크플로를 소개합니다. 이 모듈은 HDL 검증만을 원하는 MATLAB 및 Simulink 사용자, 하드웨어에서의 검증 및 디버그를 원하는 사용자, 그리고 HDL 코드를 생성하고자 하는 사용자 모두를 대상으로 제작되었습니다.
본 교육과정에서 다루는 주요 내용은 다음과 같습니다.
본 교육과정에서 다루는 주요 내용은 다음과 같습니다.
- 테스트벤치 생성
- 연동 시뮬레이션
- FPGA-in-the-Loop
- FPGA Data Capture
- AXI Manager
1일차
FPGA 및 ASIC 설계에 대한 검증 및 디버그 워크플로
학습목표: MathWorks 툴을 사용한 검증 및 디버그 워크플로를 개략적으로 살펴봅니다.
- 강인한 테스트벤치의 중요성 복습.
- 생성된 HDL 코드 및 손으로 작성된 HDL 코드의 검증 워크플로 탐색.
- 하드웨어 디버그 및 프로토타이핑 옵션에 대해 알아보기.
- 필수 애드온 및 하드웨어 지원 패키지 설치.
테스트벤치 생성
학습목표: 모델 기반 설계, 시뮬레이션, 코드 커버리지 및 자동화된 테스트벤치 생성을 사용한 전체 HDL 검증을 위한 고급 기법을 소개합니다.
- 철저한 검증을 위해 모델 커버리지를 활용하면서 테스트 계획에 기반한 테스트 자극 개발.
- HDL 시뮬레이터와 생성된 테스트벤치를 사용해, 생성된 HDL 코드에 대한 검증 수행.
- 코드 커버리지를 사용해 코드에서 테스트되지 않은 부분 식별 및 테스트의 완전성 개선.
- 연동 시뮬레이션을 통해 생성된 HDL 코드를 Simulink에서 검증.
- 전체 Simulink 모델에서 SystemVerilog DPI 테스트벤치를 자동으로 생성한 후 검증을 위해 실행.
연동 시뮬레이션
학습목표: MATLAB 및 Simulink를 연동 시뮬레이션 워크플로에 통합해 HDL 코드를 검증하고 분석하여, HDL과 Simulink 모델에 대한 통합 시뮬레이션이 가능해집니다.
- MATLAB 및 Simulink를 사용한 연동 시뮬레이션을 통해 기존 HDL 코드 검증.
- Simulink Test를 사용해 시뮬레이션 기반 테스트 환경에 연동 시뮬레이션 모델 통합.
- HDL 시뮬레이터에서 직접 MATLAB 함수 호출.
- 연동 시뮬레이션 블록을 사용해 Simulink 블록과 함께 HDL 코드 시뮬레이션.
2일차
FPGA-in-the-Loop
학습목표: FPGA 보드에서 설계를 검증하기 위해 필요한 툴을 준비합니다. 생성된 HDL 코드 또는 손으로 작성된 HDL 코드로 구현된 설계를 FPGA-in-the-Loop를 사용해 검증합니다.
- FIL(FPGA-in-the-Loop) 시뮬레이션에 적합한 활용 사례 식별.
- FIL을 위한 하드웨어 및 소프트웨어 환경 설정.
- 자동 생성된 HDL 코드에 대해 HDL Workflow Advisor를 사용해 FIL 검증 수행.
- FPGA-in-the-Loop Wizard를 사용해 FIL 블록 생성 및 MATLAB 또는 Simulink에서 사용.
- 프레임 처리를 통해 FIL 시뮬레이션 시간 가속화.
- 보드에서 실행되는 설계를 “골든 레퍼런스 모델”과 비교.
FPGA Data Capture
학습목표: 내부 신호를 확인하고 디버그하기 위해 실행 중인 FPGA 설계에서 실시간 데이터를 수집합니다. 종합적인 디버그 및 분석을 위해 수집된 데이터를 MATLAB 또는 Simulink로 가져옵니다.
- 데이터 수집 기능을 HDL IP에 통합 및 FPGA 하드웨어에 배포.
- FPGA Data Capture 앱을 사용해 FPGA 보드에서 실시간 데이터 수집 및 분석.
- 데이터 수집을 최적화하도록 트리거 및 수집 조건 구성.
- MATLAB을 사용해 FPGA 데이터 수집 워크플로 자동화.
- 기존 HDL 설계에 대한 FPGA Data Capture IP 코어 생성 및 구성.
- Simulink에서 FPGA Data Reader 블록을 사용해 FPGA의 데이터 수집 및 시각화.
MATLAB 및 Simulink를 사용해 FPGA의 AXI 레지스터에 액세스하기
학습목표: AXI Manager를 사용해 MATLAB 또는 Simulink에서 FPGA의 온칩 메모리 위치에 액세스하여 읽기 및 쓰기 작업을 수행합니다.
- 읽기 및 쓰기 목적으로 AXI Manager를 사용해 MATLAB 또는 Simulink에서 FPGA 온칩 메모리 위치에 액세스.
- AXI Manager 및 AXI Subordinate의 역할과 응용 사례 구분.
- FPGA 설계 내에서 AXI Manager IP 코어 생성 및 배포.
- MATLAB에서 AXI Manager 객체를 사용해 FPGA 온칩 메모리에 읽기 및 쓰기 작업 수행.