ETRI - NI FPGA에서 알고리즘을 실행하여 레이더 에뮬레이션 가속화

새로운 워크플로우로 HDL 코드 구현에 소요되는 시간과 노력을 50% 절감

“특히 주요 알고리즘 코드의 대부분을 MATLAB 함수 블록을 사용하여 추가 작업 없이 그대로 사용할 수 있다는 점이 유용했습니다. HDL에 대한 전문 지식이 없어도 HDL 코더를 사용하여 알고리즘을 HDL 코드로 쉽게 변환할 수 있었습니다.”

주요 성과

  • 직접 작성한 HDL 코드 또는 기타 설계 방법을 사용하던 기존 워크플로에 비해 HDL 코드 구현에 필요한 시간과 공수를 50% 절감
  • 알고리즘의 동작과 생성된 HDL 코드를 비교하기 위해 Cosimulation을 사용하여 검증 공수를 50% 절감
  • 타겟 FPGA에서 실시간 신호 처리를 통해 시스템 수준에서 동작 검증 및 성능 테스트 가능
신호 처리 모델 개발 및 검증을 위한 워크플로는 오프라인 시뮬레이션 및 동작 모델링을 시작으로 온라인 에뮬레이션 및 HDL 모델링으로 이어집니다. 두 모델 모두 Cosimulation 환경에 통합되기 전에 테스트 및 검증을 거칩니다.

ETRI는 HDL 코드 생성을 통해 알고리즘(위)과 HDL 모델(아래)이 일치하는 설계를 구현.

한국전자통신연구원(ETRI)은 한국 정보통신기술(ICT) 분야의 선두주자입니다. ETRI 전파연구본부는 MATLAB®을 사용하여 소출력 레이더 테스트베드용 실시간 송수신 신호 처리 모듈을 개발했습니다. 그러나 기존 타사의 그래픽 프로그래밍 환경을 사용하여 CPU에서 실행하는 방식은 프로젝트 요구 사항을 충족하지 못했습니다. 특히, 신호 간섭을 줄이기 위한 정합 필터 뱅크와 같은 병렬 처리 알고리즘은 실시간 실행이 필요했고, 직교신호 수신기는 파이프라인 구조로 구현해야 했습니다.

따라서, ETRI는 목표 달성을 위해 NI FPGA로의 전환이 필수적이라고 판단했습니다. MATLAB 알고리즘을 HDL로 직접 변환하는 것은, 알고리즘이 변경될 때마다 코드를 일일이 수동으로 수정해야 하기 때문에 고려할 수 없는 방법이었습니다. 또한, 알고리즘의 구조가 HDL 코드에 동일하게 반영되지 않아 디버깅이 어려웠습니다.

이에 따라 ETRI는 자사의 IP와 MathWorks에서 제공하는 예제 및 지원을 계속 활용하기 위해 먼저 알고리즘을 Simulink®로 변환하고 HDL Coder™를 사용하여 HDL을 생성했습니다. 이러한 방식으로 하드웨어 구현, 하드웨어 아키텍처 및 고정 소수점 데이터 유형에 대한 다양한 설계 옵션의 장단점을 쉽게 평가할 수 있었습니다. 알고리즘 설계자와 하드웨어 설계자는 Cosimulation을 통해 서로 협업하여 엔지니어 간의 반복 작업을 줄이고, 반복 및 사람에 의한 오류를 최소화 할 수 있었습니다.

이 외에도, 이 워크플로는 ETRI 개발자에게 Simulink 모델과 HDL 코드가 정확히 동일한 구조를 갖는 일치된 설계 및 검증 프로세스를 제공했습니다. HDL Verifier™를 사용하여 시스템 레벨에서 실시간 동작 검증 및 성능 테스트를 수행할 수 있었습니다. 이 워크플로는 자동화를 통해 HDL 코드 구현 및 실시간 동작 검증 모두에 소요되는 시간과 노력을 약 50% 절감했습니다. 향후 프로젝트에서도, 머신 러닝 기반 알고리즘과 관련하여 HDL Coder로 생성된 코드를 사용할 것으로 예상합니다.