타이밍 마진 설계 결
학교 프로젝트에서 SRAM 컨트롤러를 RTL로 작성하며 메모리 인터페이스를 처음 설계했습니다. 처음에는 읽기 레이턴시를 단순 클록 수로만 맞췄는데, 타이밍 분석에서 셋업 마진이 음수가 나왔습니다. 파이프라인 레지스터를 한 단 추가해 마진을 확보했고, 이 과정에서 인터페이스 타이밍을 스펙에 문서화하는 습관을 들였습니다. 이후 소프트웨어 팀에서 드라이버를 짤 때 레지스터 맵과 타이밍 제약을 참조할 수 있어 질문이 크게 줄었습니다. 또한 인터페이스 스펙을 미리 정해두니 RTL 수정이 생겼을 때 드라이버 재작성 범위도 명확해졌습니다. 인터페이스 설계는 기능 구현과 타이밍 문서화를 함께 가져가야 한다는 결을 배웠습니다.