복잡한 칩 설계의 세계에서 '비트(bits)'가 한 지점에서 다른 지점으로 올바르게 전달되는지 확인하는 것만으로는 시스템의 무결성을 보장하기에 충분하지 않습니다. Axiomise의 비디아 찬드란 다르바리(Vidya Chandran Darbari)와 아시시 다르바리(Ashish Darbari)는 분자생물학에서 사용되는 과학적 방법론을 차용하여 실리콘 시스템 검증(Silicon Systems Verification)을 위한 보다 정밀한 방법을 개발할 것을 제안합니다.
단순 연결성 대 맥락(Context)
가장 큰 격차는 구성 요소 간의 연결이 존재한다는 사실만으로 시스템이 예상대로 작동할 것이라고 믿는 데서 발생합니다. 생물학에서는 두 단백질 간의 상호작용이 존재한다는 것을 아는 것만으로는 부족하며, 농도, 위치, 결합 및 타이밍을 이해해야 합니다. 마찬가지로 칩 엔지니어링에서도 컨트롤러나 인터커넥트(Interconnect)가 특정 조건에서는 올바르게 작동할 수 있지만, 주변 환경이나 이벤트 순서가 변경되면 시스템이 붕괴될 수 있습니다.
이 기사는 엔지니어가 맥락(Context)을 검증 프로세스의 명시적인 부분으로 만들어야 한다고 강조합니다. 이를 위해 인접 상태, 가용 자원, 그리고 기술적 보증이 의존하는 이벤트 순서를 정의해야 합니다.
타이밍: 데이터는 정확해도 해석이 틀릴 때
이 분석은 중요한 기술적 문제를 지적합니다. 데이터(bits)가 손상 없이 완벽하게 도착하더라도 타이밍 결함으로 인해 시스템이 이를 잘못 해석할 수 있습니다. 예를 들어, 컨트롤러가 카메라 센서와 거리 센서의 데이터를 통합하는데 두 판독값 사이에 계산되지 않은 시간 차이가 있다면, 최종 결과는 실제로는 발생하지 않은 상태를 나타내게 됩니다.
따라서 설계 요구 사항에는 다음 요소가 포함되어야 합니다:
- 타임스탬프 연관성(Timestamp association)
- 데이터 최신성(Freshness)
- 허용 가능한 스큐(Allowable skew)
조사 방법론 및 정형 검증(Formal Verification)
단순히 오류를 재현(Reproducing a trace)하려고 시도하는 대신, 저자들은 '실험적 조사' 방법론을 채택할 것을 제안합니다. 증상(Symptom)의 원인을 찾는 대신, "클록(Clock)이 계속 작동하면 어떻게 되는가?" 또는 "하위 서비스가 변경되어도 실패가 지속되는가?"와 같이 서로 다른 가설을 구분하는 질문을 던져야 합니다.
여기서 정형 검증(Formal-first approach)의 중요성이 부각됩니다. 이는 시뮬레이션을 대체하는 것이 아니라, 기술적 메커니즘을 아키텍처 의무(Architectural Obligations)로 전환하는 수단입니다. 즉, 크레딧 손실 방지, 순서 유지, 재설정(Reset) 시 올바른 상태 복구를 보장하는 정밀한 요구 사항을 작성하는 것을 의미합니다.
실질적으로 무엇이 변하는가?
설계 및 검증 엔지니어에게 이러한 변화는 "구성 요소가 작동하는가?"에 집중하던 것에서 "구성 요소가 어떤 조건 하에서 시스템 전체의 무결성을 보장하는가?"로 초점을 옮기는 것을 의미합니다. 이를 위해서는 다음이 필요합니다:
- 계층 간 연결: RTL 데이터에만 의존하지 않고, 이를 작업 부하(Workload) 및 물리적 측정 데이터(Telemetry)와 연결해야 합니다.
- 교차 시스템 소유권: 전력 관리와 데이터 흐름 제어 사이에서 장애가 겹칠 때, 순환 종속성(Circular dependencies)이 없도록 보장하는 공동 책임이 있어야 합니다.
- 가정 검증: 시뮬레이션 결과가 성공적이라 하더라도, 사용된 가정이 주변 환경의 임계 상태를 배제하지 않았는지 확인하지 않은 채 결과를 수용해서는 안 됩니다.