학부 SoC 설계 프로젝트, 합성 후 타이밍 위반 30개 분석 수정
학부 SoC 설계 프로젝트에서 합성 후 STA(Static Timing Analysis) 리포트를 처음 봤을 때, 타이밍 위반 경로가 30개 이상 나왔습니다. 어디서부터 시작해야 할지 막막했지만, slack이 가장 크게 음수인 경로부터 차례로 분석하는 방법을 배웠습니다. 가장 큰 위반이 덧셈기 4단계가 연속된 조합 논리 경로였고, 중간에 파이프라인 레지스터를 삽입해서 클로저를 달성했습니다. 검증 디버그에서는 어설션(assertion)을 핵심 인터페이스마다 심어두는 방식이 버그를 빨리 찾는 데 효과적이었습니다.
타이밍과 기능을 동시에 보는 시각이 SoC 설계에서 중요하다는 걸 그때 배웠습니다. 이후 저는 RTL을 짤 때 합성 후 STA를 바로 돌려보는 습관이 생겼습니다.