Lint와 CDC 검사를 설계 루틴에 넣어 통합 전에 문제를 잡는 결
RTL 설계 실습에서 통합 후 시뮬레이션에서야 CDC 오류를 발견한 경험이 있습니다. 블록 단계에서 CDC 검사를 하지 않았더니 통합 후 수정 비용이 블록 단계의 몇 배가 됐습니다. 그 이후로는 블록 설계가 완료되는 시점에 Lint와 CDC 검사를 루틴으로 실행합니다. Lint는 합성 불가 구문, 미사용 신호, 래치 추론 같은 코딩 규칙 위반을 잡고, CDC는 클록 도메인 경계를 넘는 신호의 동기화 누락을 검출합니다. 검사 결과는 심각도로 분류해 에러는 즉시 수정하고 경고는 의도한 것인지 주석으로 표시합니다. 이 루틴을 적용한 뒤 통합 단계 CDC 관련 오류가 없었습니다. 지금도 Lint·CDC는 통합 전 체크포인트로 씁니다.