프로토콜 스펙을 먼저 읽고 상태 머신을 중심으로 설계하는 결
SPI 컨트롤러 설계 실습에서 스펙을 건성으로 읽고 구현부터 시작했다가 CPOL/CPHA 조합에 따라 동작이 달라지는 걸 뒤늦게 알았습니다. 4가지 모드 중 2가지만 동작해 처음부터 다시 설계해야 했습니다. 그 이후로는 프로토콜 스펙에서 상태 전이 조건과 타이밍 다이어그램을 먼저 표로 정리하고 설계에 들어갑니다. I2C는 START/STOP 조건과 ACK/NACK 처리가 상태 머신의 핵심이고, UART는 보레이트 분주 로직이 먼저 맞아야 합니다. 스펙 정리 후 설계한 I2C 마스터 컨트롤러는 시뮬레이션에서 7비트·10비트 주소 모드 모두 통과했습니다. 지금도 IP 설계는 스펙 정독과 상태 머신 초안이 먼저입니다.