경계 스캔

Boundary scan
JTAG Register.svg

경계 스캔인쇄회로기판 또는 집적회로 내부의 서브블록에서 상호 연결(와이어 라인)을 시험하는 방법이다. 경계 스캔은 집적회로 핀 상태를 관찰하거나 전압을 측정하거나 집적회로 내부의 서브블록을 분석하는 디버깅 방법으로도 널리 사용된다.

공동시험조치그룹(JTAG)은 1990년에 IEEE 규격 1149.1-90으로 표준화된 경계 스캔 시험 규격을 개발했다. 1994년에는 IEEE 규격 1149.1 호환 장치의 경계 스캔 논리 콘텐츠를 설명하는 BSDL(Border Scan Description Language) 설명을 포함하는 부록이 추가되었다. 이후 이 표준은 전 세계 전자기기 업체에서 채택됐다. 경계 스캔은 이제 JTAG와 거의 동의어가 되었다.[1][2]

테스트

경계 스캔 아키텍처는 물리적 테스트 프로브를 사용하지 않고 상호 연결(논리, 메모리 등의 클러스터 포함)을 테스트할 수 있는 수단을 제공한다. 이는 장치의 각 핀에 연결되고 핀의 기능을 선택적으로 무시할 수 있는 최소한 하나의 테스트 셀을 추가하는 것을 포함한다. 각 테스트 셀은 JTAG 스캔 체인을 통해 프로그래밍되어 핀에 신호를 전송하여 보드의 개별 추적에 걸쳐 신호를 전달할 수 있다. 그러면 보드 트레이스의 목적지에 있는 셀을 판독하여 보드 트레이스가 두 핀을 적절하게 연결하는지 확인할 수 있다. 트레이스가 다른 신호로 단락되거나 트레이스가 열린 경우, 정확한 신호 값이 목적지 핀에 나타나지 않아 결함을 나타낸다.

온칩 인프라

경계 스캔 기능을 제공하기 위해 IC 공급업체는 각 외부 트레이스에 대한 스캔 셀을 포함하여 각 장치에 추가적인 로직을 추가한다. 그런 다음 이들 셀을 함께 연결하여 외부 경계 스캔 시프트 레지스터(BSR)를 형성하고, 추가 핀 4개(또는 때로는 그 이상)와 제어 회로로 구성된 JTAG 테스트 액세스 포트(TAP) 컨트롤러 지원부와 결합한다.

일부 TAP 컨트롤러는 BSR 대신 내부 스캔 체인에서 작동하는 JTAG 지침으로 온칩 논리 설계 블록 사이의 스캔 체인을 지원한다. 이를 통해 그러한 통합 구성부품을 보드의 별도 칩인 것처럼 시험할 수 있다. 온칩 디버깅 솔루션은 그러한 내부 스캔 체인의 무거운 사용자들이다.

이러한 설계는 대부분의 Verilog 또는 VHDL 라이브러리의 일부분이다. 이러한 추가적인 논리에 대한 오버헤드는 최소 수준이며, 일반적으로 이사회 수준에서 효율적인 시험을 가능하게 하기 위한 가격만큼 충분히 가치가 있다.

정상 작동을 위해 추가된 경계 스캔 래치 셀은 회로에 영향을 미치지 않도록 설정되며, 따라서 효과적으로 보이지 않는다. 그러나 회로가 시험 모드로 설정되면 래치는 데이터 스트림을 하나의 래치에서 다음 래치로 이동시킬 수 있다. 테스트 대상 회로에 완전한 데이터 워드를 전환하면 외부 신호를 구동하도록 래치할 수 있다. 단어를 이동하면 일반적으로 입력으로 구성된 신호에서 입력 값이 반환된다.

테스트 메커니즘

셀은 보드로 데이터를 강제 주입하는 데 사용될 수 있기 때문에 시험 조건을 설정할 수 있다. 그런 다음 데이터 워드를 분석하기 위해 데이터 워드를 다시 클록함으로써 관련 상태를 테스트 시스템에 다시 공급할 수 있다.

이 기법을 채택함으로써 시험 시스템이 보드에 대한 시험 접근을 얻을 수 있다. 오늘날 대부분의 보드는 구성 요소와 트랙이 매우 밀집되어 있기 때문에, 시험 시스템이 보드를 시험할 수 있도록 하기 위해 보드의 관련 영역에 물리적으로 접근하는 것은 매우 어렵다. 경계 스캔은 물리적 탐침이 항상 필요 없이 접근을 가능하게 한다.

현대적인 칩과 보드 디자인에서 Design For Test는 중요한 이슈로, 하나의 일반적인 디자인 아티팩트는 경계 스캔 테스트 벡터 세트로서, SVF(Serial Vector Format) 또는 유사한 교환 형식으로 전달될 수 있다.

JTAG 테스트 운영

장치는 일련의 입력 및 출력 핀을 통해 세계와 통신한다. 이러한 핀은 그 자체로 기기 작동에 대한 제한된 가시성을 제공한다. 그러나 경계 스캔을 지원하는 장치에는 장치의 각 신호 핀에 대한 시프트 레지스터 셀이 포함되어 있다. 이러한 레지스터는 장치의 경계(이름을 확인)를 둘러싼 전용 경로에 연결된다. 이 경로는 정상적인 입력을 우회하는 가상 접근 기능을 생성하며, 장치에 대한 직접 제어와 출력 시 상세한 가시성을 제공한다.[3] 경계 스캔의 내용은 일반적으로 부품별 BSDL 파일을 사용하여 제조업체가 설명한다.

무엇보다도 BSDL 파일은 경계 스캔 레지스터(BSR)의 정의의 일부로, 경계 스캔에서 노출된 핀이나 공(칩 포장에 따라 다름)을 통해 노출된 각 디지털 신호를 설명할 것이다. 두 개의 공에 대한 설명은 다음과 같을 수 있다.

   "541(bc_1, *, 컨트롤, 1)" &    "542(bc_1, GPIO51_)ATACS1, 출력3, X, 541, 1, Z)," &    "543(bc_1, GPIO51_)ATACS1, 입력, X)" &    "544(bc_1, *, 컨트롤, 1)" &    "545(bc_1, GPIO50_)ATACS0, 출력3, X, 544, 1, Z)," &    "546(bc_1, GPIO50_)ATACS0, 입력, X)," & 

이는 중간 크기 칩에 있는 두 개의 볼(경계 스캔에는 361볼 BGA 패키지에 약 620개의 라인이 포함됨)을 보여주며, BSR에는 볼 구성 요소(입력, 출력, 어떤 드라이브 레벨, 풀업, 풀다운 등), 출력 신호의 한 가지 유형, 그리고 입력 신호의 한 가지 유형이 있다.

해당 경계 스캔 레지스터의 데이터를 샘플링하거나 값을 사용하여 데이터를 프리로드하라는 JTAG 지침이 있다.

시험하는 동안 I/O 신호는 경계 스캔 셀을 통해 칩을 들어오고 나간다. 시험에는 많은 시험 벡터가 포함되며, 각 벡터는 일부 신호를 구동한 다음 반응이 예상대로 반응하는지 검증한다. 경계-스캔 셀은 칩 간 상호연결을 위한 외부 시험(EXTEST 명령) 또는 칩 내부의 논리 시험(GUT 명령)을 지원하도록 구성할 수 있다.

보드 테스트 인프라

일반적으로 고급 상용 JTAG 시험 시스템은 CAD/EDA 시스템과 경계 스캔/J의 BSDL 모델에서 설계 '넷리스트'를 가져올 수 있다.TAG 호환 장치를 사용하여 테스트 응용 프로그램을 자동으로 생성하십시오. 일반적인 테스트 유형에는 다음이 포함된다.

  • 스캔 경로 '인프라' 또는 무결성
  • 경계 검사 장치 핀과 경계 검사 장치 핀의 '상호 연결'
  • 메모리 장치 또는 장치 클러스터에 대한 경계 검사 핀(SRAM, DRAM, DDR 등)
  • 임의 논리 클러스터 테스트

제조 중에 사용할 경우, 그러한 시스템은 NOR, NAND, 직렬(I2C 또는 SPI) 등 다양한 플래시 메모리의 시스템 내 프로그래밍과 같은 테스트는 아니지만 관련 애플리케이션도 지원한다.

이러한 상용 시스템은 보드 테스트 전문가들에 의해 사용되며, 완전한 시스템 구축에는 종종 수천 달러의 비용이 들 것이다. 여기에는 개방 회로 및 단락과 같은 고장을 정확하게 핀포인트하기 위한 진단 옵션이 포함될 수 있으며, 고장을 그래픽으로 나타내는 도식도 또는 레이아웃 뷰어를 제공할 수도 있다. 그러한 도구로 개발된 시험은 회로 내 시험기(ICT)나 기능 보드 시험 시스템과 같은 다른 시험 시스템과 자주 결합된다.

디버깅

경계 스캔 아키텍처는 또한 임베디드 시스템의 개발 단계에서 개발자엔지니어를 돕는 기능성을 제공한다. JTAG 테스트 액세스 포트(TAP)는 저속 로직 분석기로 변환할 수 있다.

역사

제임스 B. 스탠포드 대학의 안젤은 연속 테스트를 제안했다.[4]

IBM은 레벨에 민감한 스캔 설계(LSSD)를 개발했다.[5][6]

참고 항목

참조

  1. ^ IEEE Std 1149.1 (JTAG) 시험성 프라이머 3장은 JTAG와의 경계 스캔을 다루고 있으며, 다른 장들도 정보를 제공한다.
  2. ^ Frenzel, Louis E. (September 11, 2008). "The Embedded Plan For JTAG Boundary Scan". Electronic Design. Archived from the original on 2008-12-01. 2008년 경에 개요를 제시한다.
  3. ^ Oshana, Rob (October 29, 2002). "Introduction to JTAG". Embedded Systems Design. Retrieved 2007-04-05.
  4. ^ Williams, M. J. Y.; Angel, J. B. (January 1973), "Enhancing Testability of Large Scale Integrated Circuits via Test Points and Additional Logic", IEEE Transactions on Computers, C-22 (1): 46–60, doi:10.1109/T-C.1973.223600
  5. ^ US 3761695, Eichelberger, Edward, "Level Sensitive Testing a Functional Logic System", 1973년 9월 25일 발행
  6. ^ US 4293919, Dasgupta, Sumit, "LSSD(Level Sensitive Scan Design) 시스템", 1981년 10월 6일 발행

외부 링크