학부 디지털 미디어 처리 수업, 압축 IP RTL 구현 프로젝트
학부 디지털 미디어 처리 수업에서 H.264의 CABAC entropy coding 모듈 일부를 RTL로 구현해봤습니다. 압축 IP는 알고리즘 이해 없이는 RTL 구현이 불가능한 영역이라는 걸 처음 알았습니다. 컨텍스트 모델링 로직을 상태 머신으로 바꾸면서 비트 연산 순서 하나가 출력 스트림 전체를 바꾸는 경우를 경험했습니다. 이후 알고리즘 스펙과 RTL이 정확히 1:1로 대응하는지를 테스트 벡터로 검증하는 습관이 생겼습니다. 압축 IP 개발에서는 정확성이 성능보다 먼저라는 걸 배웠습니다.
기준 소프트웨어 구현과 결과를 비트 단위로 비교하는 공동 시뮬레이션 방식이 효과적이라는 것도 그때 배웠습니다. 이미지 처리와 압축 IP의 연결 고리를 RTL 레벨에서 직접 경험한 것이 지금도 의미 있습니다.