Catapult HLS로 C++ 수준에서 알고리즘 기술 후 파이프라인 지시어 조정으로 PPA 탐색 경험
HLS 도구를 처음 접한 건 학부 고급 디지털 설계 수업에서 Catapult를 이용해 간단한 FIR 필터를 C++ 수준에서 기술하고 RTL로 변환하는 실습이었습니다. RTL을 직접 짜는 것보다 알고리즘 수준에서 먼저 검증하고 합성 파라미터를 바꿔가며 PPA를 탐색할 수 있다는 것이 HLS의 핵심 장점임을 배웠습니다.
루프 언롤링과 파이프라이닝 지시어를 조정하면서 처리량과 면적 사이의 트레이드오프를 시각적으로 확인했습니다. 파이프라인 초기화 간격 설정을 바꿨을 때 성능이 어떻게 달라지는지 수치로 비교했습니다. HLS 산출물이 RTL 수준 최적화와 동등하지 않기 때문에 성능이 임계에 가까운 블록은 직접 RTL을 짜는 것이 여전히 중요하다는 점도 배웠습니다.
이 경험에서 HLS가 탐색 공간을 넓히는 도구라는 시각이 생겼습니다.