블록 인터페이스를 먼저 합의하고 통합 단계에서 재현 가능하게 검증하는 결
캡스톤 프로젝트에서 CPU 코어와 메모리 컨트롤러 블록 통합을 맡았습니다. 각 블록을 따로 설계하고 통합했더니 인터페이스 타이밍 가정이 달라 첫 통합에서 핸드셰이크 오류가 났습니다. 블록 간 인터페이스 스펙을 미리 문서화하지 않은 게 원인이었습니다. 그 이후로는 통합 전에 인터페이스 신호 목록, 타이밍 조건, 프로토콜 가정을 한 페이지로 정리하고 양쪽 설계자가 서명합니다. 통합 단계에서는 블록 단위 시뮬레이션 결과를 먼저 확인하고 나서 전체를 연결합니다.
인터페이스 스펙 합의 이후 통합 오류가 절반으로 줄었습니다. 지금도 RTL 통합은 인터페이스 스펙 합의가 먼저입니다.