기술 칼럼

HDL Verifier로 신호 처리 집적 회로의 검증 가속화하기

작성자: Steffen Löbel 및 Jan Hahlbeck, NXP


"HDL Verifier에 기반한 새로운 워크플로의 확실한 장점은 결함의 근원을 빠르게 파악할 수 있다는 것입니다."

신호 처리 IC(집적 회로) 설계의 검증은 기존 테스트 방법에 부담을 줄 수 있는 몇 가지 고유한 과제를 제기합니다. 필터, 믹서 및 기타 고급 신호 처리 기능의 알고리즘 복잡성으로 인해 구현된 IC가 비트 정확도로 의도한 대로 작동하는지 확인하기 위해 엄격한 검증이 필요합니다. 또한 IC는 가능한 입력과 구성이 매우 다양하기 때문에, 사전 정의되고 예측 가능한 시퀀스에 초점을 맞춘 테스트 계획을 통과하지 못할 수 있는 드물지만 중요한 시나리오인 복합 경계 조건을 평가하는 것이 필수적입니다.

NXP의 저희 팀은 이러한 과제를 해결하기 위해 IC 검증을 위한 새로운 워크플로를 채택했습니다. MATLAB®, Simulink® 및 HDL Verifier™에 기반한 이 워크플로는 제한 무작위 검증 및 UVM(범용 검증 방법론) 기법을 통합하여 제약 조건을 통해 제어를 유지하면서 경계 조건을 검증하고 무작위 입력으로 상태공간을 탐색합니다. (그림 1) 최근 자동차 산업용 라디오 튜너 IC를 검증하는 데 사용한 이 워크플로에서 MATLAB 및 Simulink 모델은 HDL Verifier 사용하여 SystemVerilog DPI-C 컴포넌트로 내보내지고 Cadence® Xcelium™ 시뮬레이터 기반 검증 환경의 검증 테스트벤치에 참조 모델로 통합됩니다. 이러한 접근 방식을 통해 검증 시간을 20~30% 단축할 수 있었을 뿐만 아니라 테스트 범위를 늘리고 개발 초기 단계에서 더 많은 구현 결함을 찾을 수 있었습니다.

IC 검증 워크플로에 제한 무작위 검증과 UVM 기법이 어떻게 통합되는지 보여주는 플로우 차트.

그림 1. IC 검증 워크플로에는 제한 무작위 검증과 UVM 기법이 통합되어 있습니다.

이전 워크플로와 새 워크플로 비교

과거에는 비슷한 IC 설계를 테스트할 때 일반적으로 MATLAB을 사용하여 전체 시스템에 대한 입력 자극을 생성했습니다. 그런 다음 MATLAB 또는 Simulink에서 시뮬레이션을 실행하고 그 결과를 골든 레퍼런스 패턴으로 포착합니다. RTL 구현이 완료되면 동일한 자극을 DUT에 적용하고 그 결과를 골든 레퍼런스와 비교합니다. 이런 접근 방식은 효과적이었지만 몇 가지 단점이 있었습니다. 첫째, 검증이 대부분 종단간으로 진행되어 모든 컴포넌트를 함께 테스트했기 때문에 결함의 근본 원인을 파악하기 어려웠습니다. 둘째, 제한 무작위 검증을 수행하는 것이 쉽지 않았습니다. 결과적으로 일반적인 시나리오와 활용 사례는 검증되었지만, 많은 경계 조건은 검증되지 않았습니다. 셋째, 테스트벤치를 구현하는 방식에서 표준 프레임워크가 된 UVM을 준수하지 않았습니다.

이와 대조적으로 새로운 워크플로를 사용하면 HDL 시뮬레이션 환경(Cadence Xcelium)에서 기존 MATLAB 및 Simulink 참조 모델을 직접 재사용할 수 있습니다. 참조 모델의 각 컴포넌트는 DUT의 대응 컴포넌트와 일치합니다. 예를 들어, 그림 2에 표시된 신호 처리 체인의 예에는 Simulink에서 모델링된 필터, 믹서, MATLAB에서 모델링된 두 번째 필터가 포함됩니다. HDL Verifier를 사용하여 SystemVerilog DPI-C 래퍼를 포함한 모델에 대한 C 코드를 생성하고, 이를 통해 각 컴포넌트를 테스트벤치에 통합할 수 있습니다.

참조 모델 컴포넌트와 DUT 컴포넌트는 HDL 시뮬레이션 환경에서 병렬로 실행되며 해당 출력은 UVM 스코어보드 역할을 하는 검사기에 의해 즉시 평가되어, 연관된 각 컴포넌트 쌍(예: 참조 모델 믹서와 DUT 믹서)의 출력과 전체 종단간 체인의 출력을 비트 단위로 정확하게 비교합니다.

참조 모델의 컴포넌트가 DUT의 대응 요소와 대응하는 신호 처리 체인의 예입니다.

그림 2. MATLAB 및 Simulink에서 생성된 참조 모델 컴포넌트(위쪽 행)의 결과와 해당 DUT 컴포넌트(아래쪽 행)의 결과를 비교하기 위한 병렬 구조입니다.

입력 무작위화 및 결과 시각화

테스트벤치에서 사전 정의된 AM, FM, DAB(디지털 오디오 방송) 라디오 스트림 세트를 사용하여 예비 테스트를 실행하여 신호 처리 알고리즘의 기본 기능을 검증한 후, 워크플로의 다음 단계는 제한 무작위 검증입니다. 이 단계에서는 모든 설계 구성 설정에 제한된 범위 내에서 무작위 값이 할당되는 광범위한 시뮬레이션이 포함됩니다. 예를 들어, 믹서 설정, 필터 설정, 지연, 이득 및 기타 주요 구성 파라미터를 변경하고 시뮬레이션을 실행하여 각 무작위 구성 옵션 세트에 대한 설계 성능을 평가합니다.

각 테스트에 대해 사용된 구체적인 설정, IP에 대한 자극으로 사용된 입력, 참조 모델 구현의 결과, RTL 구현의 결과, 검사기 비교 결과(그림 3)를 포함한 자세한 결과를 검토할 수 있습니다.

무작위 IP 레지스터 설정, IP 입력, RTL 출력, 참조 모델 출력 및 검사기 통계를 표시하는 테스트벤치의 스크린샷입니다.

그림 3. 무작위 IP 레지스터 설정, IP 입력, RTL 출력, 참조 모델 출력 및 검사기 통계를 보여주는 파형 디스플레이입니다.

또한 우리는 전체 컴포넌트 시리즈에 대한 집계 결과를 보여주는 리포트도 검토합니다. (그림 4) 이러한 리포트는 체인의 각 컴포넌트에 대해 수행된 검사 수와 오류 수(즉, RTL과 참조 모델 출력 간에 확인된 불일치 수)를 보여줍니다.

45개의 오류가 표시된 요약 리포트의 스크린샷입니다.

그림 4. 여러 컴포넌트에 대한 테스트 결과를 보여주는 요약 리포트입니다. 여기에서는 H6 컴포넌트에 대한 테스트에서 45개의 오류가 확인되었습니다.

오류가 발견되면 MATLAB 또는 Simulink에서 참조 모델 구현을 확인하고 RTL 구현도 확인합니다. 어떤 경우에는 불일치의 근원을 원래 참조 설계에서 찾았지만, 문제는 대개 RTL 구현 오류에서 비롯됩니다. 어느 경우든 결함이 진단되고 수정되면 테스트 시뮬레이션을 다시 실행하여 수정 사항이 참조 모델과 RTL 구현 간의 모든 차이점을 완전히 해결했는지 확인합니다.

주요 개선 사항 및 다음 단계

HDL Verifier에 기반한 새로운 워크플로의 확실한 장점은 결함의 근원을 빠르게 파악할 수 있다는 것입니다. 종단간 테스트에 의존하는 접근 방식과 비교했을 때, 컴포넌트 수준과 시스템 수준 테스트를 모두 지원하는 UVM 중심 접근 방식(우리가 적용한 방식과 같음)을 사용하면 결함이 있는 하위 시스템을 정확히 찾아내는 것은 물론, 결함을 복제하는 데 사용할 수 있는 해당 컴포넌트에 대한 특정 자극을 찾아내는 것이 훨씬 쉬워집니다.

또한, 무작위 설정은 설계 엔지니어가 예상하지 못한 방식으로 시스템을 테스트하는 경우가 많기 때문에 새로운 워크플로는 기존 테스트 계획에서 잘 확립된 활용 사례에 초점을 맞추는 것과 비교했을 때 개발 프로세스 초기에 구현 결함을 발견하는 데 도움이 됩니다. 간단히 말해, 수동 검사 없이, 그리고 특이한 시나리오와 경계 조건을 테스트하기 위해 생각하는 데 시간을 허비하지 않고도 결함을 찾을 수 있습니다.

우리는 HDL 시뮬레이션에서 기존 MATLAB 및 Simulink 모델을 재사용할 수 있으며, 이러한 재사용의 이점은 IC의 후속 스핀이나 개정 시에도 계속해서 증가합니다. 이러한 장점을 모두 합치면 무선 신호 처리 IC에서 검증 시간을 최대 30%까지 크게 단축할 수 있었습니다. 이러한 지표와 우리가 실현한 다른 장점에 따라 다른 NXP 팀도 레이다 IC 및 기타 IC 설계를 위한 무선 프론트엔드 개발에 동일한 워크플로를 채택하려고 합니다.

2025년 기고

사용된 제품

관련 기능에 대한 칼럼 보기

관련 산업에 대한 칼럼 보기