스캔체인 테스트 (Scan Chain Testing)

전기전자공학
한 줄 정의: 칩 안의 플립플롭들을 하나의 시프트 레지스터로 이어 내부 상태를 직접 넣고 꺼내는 검사 기법입니다.

쉽게 풀면

칩 안의 모든 플립플롭에 스위치를 하나씩 달아, 검사 모드일 때는 이들이 긴 사슬처럼 줄줄이 연결되도록 만듭니다. 그러면 원하는 값을 사슬의 한쪽 끝에서 밀어 넣어 모든 플립플롭을 원하는 상태로 만들 수 있고, 한 클록 동안 정상 동작을 시킨 뒤 결과를 다시 반대쪽 끝으로 밀어내어 읽을 수 있습니다. 내부를 직접 들여다보는 통로를 만든 셈입니다.

왜 중요한가

플립플롭을 자유롭게 설정하고 관찰할 수 있게 되면 순차 회로 검사 문제가 조합 회로 검사 문제로 단순해져, 자동 패턴 생성 도구가 훨씬 효율적으로 높은 검출률의 패턴을 만들 수 있습니다. 이 때문에 스캔 방식은 오늘날 거의 모든 디지털 칩에서 사실상 표준으로 채택되어 있으며, 테스트 용이화 설계를 논할 때 기본 전제로 가정됩니다.

논문에서는 이렇게 쓰입니다

"스캔체인을 8개로 분할하고 패턴 압축 기법을 적용해 검사 시간을 기존 대비 60% 단축하였다."

사슬이 길수록 값을 밀어 넣는 데 시간이 오래 걸리므로 여러 갈래로 나누어 병렬화한 사례입니다.

조금 더 깊게 보면

각 플립플롭 앞에 정상 데이터와 스캔 입력을 고르는 다중화기를 두는 것이 가장 일반적인 구현이며, 이 다중화기가 추가 면적과 약간의 지연을 만듭니다. 검사는 값을 밀어 넣는 시프트 단계, 한 클록 동안 조합 논리를 통과시키는 캡처 단계, 결과를 밀어내는 시프트 단계로 반복되며, 두 클록을 연속으로 주어 지연 결함을 검출하는 방식도 쓰입니다. 사슬이 길수록 시프트에 걸리는 시간이 늘어나므로 여러 갈래로 나누고, 패턴 데이터 양을 줄이기 위해 소수의 입력에서 다수의 사슬로 펼치는 압축 구조를 함께 사용합니다.

주의할 점

스캔 시프트 중에는 정상 동작과 다른 신호 전환이 대량으로 일어나 전력 소비가 급증하므로, 검사 중 발열로 잘못된 불량 판정이 나오지 않도록 관리해야 합니다. 내장 자체 시험이 칩 스스로 패턴을 만들어 검사하는 방식이라면, 이 항목은 외부 장비가 패턴을 공급하는 방식입니다.

관련 용어