학부 메모리 시스템 수업, 컨트롤러 검증 프로젝트
학부 메모리 시스템 수업에서 DDR 컨트롤러 IP 검증 프로젝트를 진행했습니다. 먼저 DDR 스펙에서 검증해야 할 기능 목록을 추출하고, 각 기능에 대응하는 시나리오를 1:1로 작성했습니다. 코너 케이스로는 리프레시 충돌, 뱅크 충돌, 지연 응답 처리를 따로 시나리오로 만들었습니다.
성능 검증에서는 최대 대역폭 조건과 최악 레이턴시 조건을 모두 커버하는 것이 중요하다는 걸 배웠습니다. 랜덤 트래픽과 순차 트래픽을 섞어서 검증하면 단일 패턴으로는 안 나타나는 타이밍 위반이 드러나는 경우가 있었습니다. 검증 계획이 스펙을 얼마나 구체적으로 분해했는지에 따라 커버리지 빈틈이 달라진다는 걸 알았습니다. 이후 저는 IP 검증을 시작할 때 스펙 분해 테이블을 먼저 만드는 습관이 생겼습니다.
커버리지는 목표가 있어야 측정할 수 있다는 걸 그때 배웠습니다.