멀티클럭 버스 인터페이스 서브시스템 설계에서 계층 분리와 인터페이스 스펙 기반 개발 경험
복잡한 RTL 블록과 서브시스템을 설계한 경험은 학부 SoC 프로젝트에서 멀티클럭 버스 인터페이스 서브시스템을 구현했을 때입니다. 서브시스템 수준에서는 개별 블록 설계와 달리 블록 간 인터페이스와 클럭 도메인 경계 관리가 핵심이 됩니다. 각 블록의 입출력 스펙을 먼저 확정하고, 블록 내부 구현과 인터페이스 연결을 분리해서 개발하는 방식이 나중에 통합 충돌을 줄였습니다.
CDC 처리와 FSM 인터페이스 프로토콜 설계에서 전이 조건이 많아지면서 테스트 케이스 수도 기하급수적으로 늘어나는 것을 경험했습니다. 복잡한 서브시스템일수록 모듈성과 재사용성을 처음부터 고려해 설계하는 것이 중요하다는 것을 배웠습니다. 이 프로젝트에서 서브시스템 설계가 개별 블록 설계와 다른 차원의 사고를 요구한다는 것을 처음 이해했습니다.