경계 스캔과 테스트 접근망
7장의 MBIST 제어기 40개, PLL 4개, 온도 센서 12개는 모두 칩 안에 있다. 장비는 이들에게 어떻게 명령을 내리고 결과를 읽는가. 그리고 칩이 보드에 납땜된 뒤 볼 900개가 제대로 붙었는지는 어떻게 아는가. 답은 1990년에 표준이 된 핀 네 개짜리 직렬 포트, JTAG다. 이 장은 IEEE 1149.1의 TAP 상태 기계와 경계 스캔에서 출발해, 칩 안의 계측기 수백 개에 닿는 IEEE 1500·1687, 그리고 칩렛과 3D 적층으로 넓혀 가는 IEEE 1838까지, 테스트 접근망을 한 줄로 꿴다.
- BGA 시대의 보드 테스트 문제와 경계 스캔이 그 해답이 된 이유를 설명한다.
- TAP의 다섯 신호와 16상태 제어기를 따라 명령 레지스터와 데이터 레지스터를 시프트한다.
- BYPASS·SAMPLE/PRELOAD·EXTEST·INTEST·IDCODE의 동작과 경계 스캔 셀의 경로를 구분한다.
- 보드 연결 테스트의 벡터(워킹 1, 카운팅 시퀀스)로 오픈·쇼트를 검출·진단하고 별칭을 이해한다.
- IEEE 1500 래퍼와 IEEE 1687 SIB 네트워크로 칩 안의 계측기에 닿는 비용을 계산한다.
- IEEE 1838이 칩렛·3D 적층·HBM에서 테스트 접근을 어떻게 이어 가는지 설명한다.
보드 테스트의 문제
칩 테스트가 끝나도 할 일이 남는다. 칩이 보드에 납땜되는 과정에서 볼이 덜 녹아 떨어지거나(오픈), 옆 볼과 붙거나(쇼트), 부품이 틀린 방향으로 놓이는 불량이 생긴다. 1980년대까지 보드 테스트의 주력은 인서킷 테스트(ICT, In-circuit test)였다. 못을 촘촘히 박은 판(bed of nails)을 보드 뒷면에 눌러 모든 넷의 테스트 패드에 탐침을 대고, 넷 사이의 연결을 하나하나 재는 방식이다.
이 방식은 부품이 작아지고 핀이 패키지 아래로 숨으면서 무너졌다. TB-7의 패키지는 12 × 12 mm 플립칩 CSP, 볼 900개다. 볼은 패키지 아래에 0.4 mm 간격으로 깔려 있고, 바깥 몇 줄을 빼면 보드 배선은 비아를 통해 내부층으로 바로 내려간다. 탐침이 닿을 패드를 넷마다 만들 공간이 없다. 양면 실장에 고속 신호가 많은 스마트폰 보드에서는 테스트 패드 하나가 신호 품질을 해치기도 한다.
1985년 유럽 전자 업체들의 모임 JETAG가 발상을 내놓고, 미국 업체가 합류해 JTAG(Joint Test Action Group)가 되었다. 그 결과가 1990년의 IEEE 1149.1, 흔히 JTAG라 부르는 경계 스캔 표준이다. 칩의 모든 신호 핀 바로 안쪽에 시프트 레지스터 셀을 하나씩 두고 이들을 사슬로 엮는다. 테스트 모드에서는 셀이 핀을 대신 구동하고, 핀에 들어온 값을 잡아 둔다. 보드 위 모든 칩의 사슬을 다시 하나로 엮으면, 핀 네 개만으로 보드의 모든 넷을 구동하고 관측할 수 있다. 가상의 못 판이 칩 안에 생긴 셈이다.
IEEE 1149.1의 구조
1149.1을 지원하는 칩에는 네 가지가 들어간다. 테스트 접근 포트(TAP, Test access port), TAP 제어기라는 16상태 기계, 명령 레지스터(IR), 그리고 여러 개의 데이터 레지스터(DR)다. 데이터 레지스터 가운데 바이패스 레지스터(1비트)와 경계 스캔 레지스터(BSR)는 필수, IDCODE 레지스터(32비트)는 선택이지만 거의 모든 칩에 있다. 설계자가 정의하는 사용자 데이터 레지스터도 둘 수 있다. TDI와 TDO 사이에는 언제나 IR 또는 DR 가운데 정확히 하나가 연결된다. 어느 DR을 연결할지는 현재 명령이 정한다.
| 신호 | 방향 | 역할 |
|---|---|---|
TCK | 입력 | 테스트 클록. 시스템 클록과 무관하다. 보통 10~50 MHz |
TMS | 입력 | 모드 선택. TCK 상승 엣지에서 샘플되어 TAP 제어기의 다음 상태를 정한다 |
TDI | 입력 | 직렬 데이터 입력. 상승 엣지에서 샘플, 선택된 레지스터의 맨 앞(MSB 쪽)으로 들어간다 |
TDO | 출력 | 직렬 데이터 출력. 하강 엣지에서 바뀐다. 시프트 상태가 아니면 고임피던스 |
TRST* | 입력(선택) | 비동기 리셋. 없으면 TMS = 1로 클록 다섯 번이면 리셋된다 |
TAP 제어기: 16상태 기계
TAP 제어기는 TCK 상승 엣지마다 TMS 한 비트를 보고 다음 상태로 간다. 상태는 16개다. 왼쪽에 리셋(Test-Logic-Reset)과 대기(Run-Test/Idle), 가운데에 DR을 다루는 일곱 상태, 오른쪽에 IR을 다루는 똑같은 일곱 상태가 있다. 일곱 상태의 뼈대는 Capture → Shift → Update다. Capture에서 레지스터에 병렬로 값을 잡고, Shift에서 TDI→TDO로 한 비트씩 밀고, Update에서 시프트 레지스터의 값을 출력 래치로 내보낸다. Exit·Pause 상태는 시프트를 잠시 멈추거나(장비가 다음 데이터를 준비하는 동안) 빠져나가는 길이다.
상태 기계의 설계에는 두 가지 영리한 점이 있다. 첫째, 어느 상태에서든 TMS = 1로 클록을 다섯 번 주면 Test-Logic-Reset에 도착한다. 리셋 핀이 없어도 장비가 언제든 칩을 알려진 상태로 돌릴 수 있다. 둘째, 리셋되면 명령이 IDCODE(없으면 BYPASS)로 바뀌어 칩이 시스템 동작을 방해하지 않는다. 그래서 보드 위의 칩들은 전원이 켜진 뒤 JTAG를 아무도 건드리지 않아도 정상 동작한다.
TAP 상태 기계: TMS로 길을 찾아라
| 상태 | 하는 일 (상승 엣지 기준) | TMS = 0 | TMS = 1 |
|---|---|---|---|
| Test-Logic-Reset | 테스트 논리 비활성, 명령 = IDCODE/BYPASS | Run-Test/Idle | 그대로 |
| Run-Test/Idle | 대기. RUNBIST 같은 명령은 여기서 BIST를 돌린다 | 그대로 | Select-DR-Scan |
| Select-DR/IR-Scan | DR로 갈지 IR로 갈지 고르는 갈림길 | Capture | 다음 Select / 리셋 |
| Capture-DR/IR | 선택된 레지스터에 병렬 값을 잡는다 (IR은 …01) | Shift | Exit1 |
| Shift-DR/IR | TDI → 레지스터 → TDO 한 비트 시프트 | 그대로 | Exit1 |
| Exit1 / Exit2 | 시프트 종료 또는 일시 정지로 가는 길목 | Pause / Shift | Update |
| Pause-DR/IR | 시프트 멈춤(값 유지) | 그대로 | Exit2 |
| Update-DR/IR | 하강 엣지에 시프트 레지스터 → 출력 래치(명령이 바뀌는 순간) | Run-Test/Idle | Select-DR-Scan |
명령과 경계 스캔 셀
표준은 명령 몇 개를 필수로 정한다. 명령의 이진 코드는 BYPASS(모두 1)를 빼면 제조사가 정하고, 그 정보는 6절의 BSDL 파일에 적는다.
| 명령 | 필수 | TDI–TDO 사이 레지스터 | 핀 | 쓰임 |
|---|---|---|---|---|
| BYPASS | 필수, 코드 모두 1 | 바이패스 1비트 | 시스템 동작 | 체인에서 이 칩을 1비트로 건너뛴다 |
| SAMPLE/PRELOAD | 필수 | BSR | 시스템 동작 | 동작 중인 핀 값을 몰래 찍고(SAMPLE), EXTEST 전에 출력값을 미리 넣는다(PRELOAD) |
| EXTEST | 필수 | BSR | BSR이 구동 | 칩 밖, 즉 보드 연결을 검사한다. 출력 셀이 핀을 구동하고 입력 셀이 받는다 |
| INTEST | 선택 | BSR | BSR이 구동 | 칩 안쪽 코어에 BSR로 값을 넣고 응답을 받는다(느려서 요즘은 드묾) |
| IDCODE | 선택(있으면 리셋 기본값) | IDCODE 32비트 | 시스템 동작 | 제조사·부품·버전 확인. 체인 구성 확인 |
| CLAMP / HIGHZ | 선택 | 바이패스 | 고정값 / 고임피던스 | 다른 칩 검사 중 이 칩의 핀을 묶어 두거나 떼어 놓는다 |
경계 스캔 셀은 플립플롭 둘과 멀티플렉서 둘로 이루어진다. 캡처/시프트 FF는 시프트 사슬의 한 칸이고, 업데이트 FF는 시프트 중에 출력이 출렁이지 않도록 값을 붙잡아 두는 래치다. 입력 MUX는 ShiftDR 신호에 따라 "앞 셀에서 온 직렬 데이터"와 "핀(또는 코어)의 병렬 데이터" 가운데 하나를 잡고, 출력 MUX는 Mode 신호에 따라 "평소 경로"와 "업데이트 FF의 값" 가운데 하나를 내보낸다. 이 구조가 SAMPLE(평소 경로는 그대로 두고 값만 찍기), PRELOAD(출력값 미리 넣기), EXTEST(업데이트 FF가 핀을 구동)를 모두 만든다.
경계 스캔 셀 하나 들여다보기
보드 연결 테스트
EXTEST로 보드의 넷을 검사하는 순서는 이렇다. 보드 위 모든 칩의 BSR을 한 체인으로 보고, 각 넷을 구동하는 출력 셀에 값을 넣고(Shift-DR → Update-DR, 핀으로 나간다), 그 넷을 받는 입력 셀이 값을 잡게 한 뒤(Capture-DR), 다시 시프트해 받은 값을 읽는다. 한 번의 "넣고 잡고 읽기"가 병렬 테스트 벡터(PTV) 하나다. 넷 하나가 벡터들을 거치며 받는 비트열을 그 넷의 직렬 테스트 벡터(STV), 곧 코드라 한다.
무엇을 잡으려는지부터 정하자. 오픈은 넷이 끊겨 수신 쪽이 떠 있는 상태다. 수신 셀은 풀업·풀다운이나 입력 버퍼의 성질에 따라 대개 한 값(흔히 1)으로 읽힌다. 쇼트는 두 넷이 붙은 상태다. 두 드라이버가 다른 값을 내면 싸움이 나는데, 어느 쪽이 이기는지는 드라이버 세기에 달려 있어 흔히 0이 이기는 wired-AND나 1이 이기는 wired-OR로 모형화한다. 넷이 전원이나 접지에 붙으면 늘 1이나 0으로 읽힌다.
그러면 각 넷에 서로 다른 코드를 주면 된다. 쇼트된 두 넷은 같은 값을 받으므로 코드가 같아지고, 오픈된 넷은 모두 1이 된다. 가장 짧은 방법은 넷 번호를 이진수로 세는 카운팅 시퀀스(Counting sequence)다. 단 모두 0과 모두 1인 코드는 접지·전원 단락과 구별되지 않으므로 뺀다.
진단을 분명히 하려는 벡터 설계가 여럿 있다. 각 코드와 그 보수를 함께 보내는 참·보수 시퀀스(True/complement)는 벡터 수가 두 배지만 wired-AND·OR 어느 쪽이든 합쳐진 코드가 다른 넷의 코드와 같아지는 일을 크게 줄인다. 워킹 1은 쇼트된 넷들을 정확히 짚지만 벡터가 N개다. 실제 보드 테스트 소프트웨어는 넷 사이의 물리적 이웃 관계(같은 칩의 옆 볼, 같은 층의 옆 배선)를 알면 쇼트 후보만 서로 다른 코드를 주어 벡터를 더 줄인다.
보드 연결 테스트: 고장을 심고 EXTEST로 찾기
여러 칩의 체인과 BSDL
보드에서는 칩들의 TDO를 다음 칩의 TDI에 이어 하나의 데이지 체인(Daisy chain)을 만들고, TMS·TCK는 모든 칩에 나란히 준다. 모든 칩의 TAP 제어기는 늘 같은 상태에 있다. IR을 시프트하면 모든 칩의 IR이 이어진 하나의 긴 레지스터가 되고, 칩마다 다른 명령을 넣을 수 있다. 검사할 칩만 EXTEST나 사용자 명령을 주고 나머지는 BYPASS로 두면 DR 체인이 칩당 1비트씩만 늘어난다.
네 칩 체인: BYPASS와 IDCODE로 체인 읽기
장비 소프트웨어는 체인의 칩 수, 각 칩의 IR 길이, 명령 코드, BSR 셀의 순서와 종류를 알아야 한다. 이 정보를 담은 파일이 BSDL(Boundary scan description language)이다. VHDL의 부분 집합으로 쓰이며 칩 제조사가 데이터시트와 함께 제공한다. 보드 테스트 도구는 보드 넷리스트와 칩들의 BSDL을 합쳐 연결 테스트 벡터를 자동으로 만든다.
-- TB-7 BSDL 일부 (가상의 예) entity TB7 is attribute INSTRUCTION_LENGTH of TB7 : entity is 5; attribute INSTRUCTION_OPCODE of TB7 : entity is "BYPASS (11111), EXTEST (00000), SAMPLE (00001), PRELOAD (00001), " & "IDCODE (00010), CLAMP (00100), HIGHZ (00101), IJTAG_ACCESS (01000)"; attribute INSTRUCTION_CAPTURE of TB7 : entity is "00001"; attribute IDCODE_REGISTER of TB7 : entity is "0001" & "0111101100000111" & "00010100101" & "1"; attribute BOUNDARY_LENGTH of TB7 : entity is 412; attribute BOUNDARY_REGISTER of TB7 : entity is -- 번호 셀 종류 포트 기능 안전값 제어셀 비활성 "0 (BC_2, *, control, 1), " & "1 (BC_1, GPIO(0), output3, X, 0, 1, Z), " & "2 (BC_4, GPIO(0), input, X), " & ...
셀 종류 BC_1, BC_2, BC_4 등은 표준이 정한 셀 회로다. 양방향 핀 하나에는 대개 셀이 셋 필요하다. 출력 데이터 셀, 출력 활성화(제어) 셀, 입력 셀이다. TB-7의 일반 I/O 신호 약 200개에 셀 412개가 붙는 이유다. LPDDR5X와 SerDes 같은 고속 핀에는 셀을 넣지 않는다. 셀의 MUX가 고속 신호 경로에 지연과 부하를 더하기 때문이다. 교류 결합된 고속 차동 링크를 경계 스캔으로 검사하려면 별도 표준 IEEE 1149.6을 쓴다.
IEEE 1500: 코어 래퍼
SoC는 여러 회사와 팀이 만든 코어(IP core)를 이어 붙여 만든다. CPU 클러스터, GPU, 모뎀, 메모리 컨트롤러는 각자 따로 설계되고 각자의 테스트 패턴을 갖고 온다. 코어를 칩에 넣은 뒤에도 그 패턴을 그대로 쓰려면 코어 경계에 "칩 안의 경계 스캔"이 필요하다. 이것이 2005년의 IEEE 1500이다. 1149.1이 칩과 보드 사이의 경계를 다룬다면, 1500은 코어와 칩 사이의 경계를 다룬다.
래퍼는 세 가지 모드를 준다. 내부 테스트(InTest)에서는 래퍼 셀이 코어 입력을 대신 구동하고 출력을 잡아, 주변 회로와 상관없이 코어의 패턴을 그대로 돌린다. 외부 테스트(ExTest)에서는 코어를 떼어 두고 코어 사이의 연결 논리를 검사한다. 바이패스에서는 WBY 1비트로 코어를 건너뛴다. 코어마다 같은 패턴을 칩 수준에서 재사용할 수 있으므로 패턴 개발 비용이 크게 준다. 6장의 스캔 압축과 결합해 코어별로 스캔 채널을 나눠 쓰는 것이 오늘날 큰 SoC 테스트의 기본 구조다. HBM 메모리 스택도 JEDEC 규격에 따라 1500 방식의 테스트 포트를 갖는다.
IEEE 1687 IJTAG: 칩 안 계측기의 네트워크
칩 안에는 테스트용 회로가 점점 많아졌다. MBIST 제어기, PLL 설정 레지스터, 온도·전압 센서, 링 오실레이터, ADC, 리페어 퓨즈 제어기, 디버그 모니터. 이들을 1687 표준은 계측기(Instrument)라 부른다. 1149.1만으로 이들에 닿으려면 계측기마다 사용자 데이터 레지스터와 명령을 하나씩 만들어야 한다. 계측기가 수백 개면 명령 코드가 모자라고, 모두 한 레지스터에 이으면 수천 비트를 매번 밀어야 한다.
2014년의 IEEE 1687, 흔히 IJTAG는 TAP 뒤에 재구성 가능한 스캔 망을 둔다. 핵심 부품은 SIB(Segment insertion bit)다. SIB는 스캔 경로 위의 1비트 레지스터로, 그 값이 0이면 하위 세그먼트를 건너뛰고 1이면 하위 세그먼트를 경로에 끼워 넣는다. SIB 아래에 다시 SIB를 두면 나무 구조가 된다. 평소에는 모든 SIB가 닫혀 경로가 짧고, 필요한 가지만 열어 그 아래의 계측기에 닿는다.
표준은 하드웨어만이 아니라 두 언어도 정한다. ICL(Instrument connectivity language)은 망의 구조, 곧 어느 SIB 아래에 어느 레지스터가 몇 비트로 있는지를 적는다. PDL(Procedural description language)은 계측기 수준의 동작("온도 센서 레지스터를 읽어라", "MBIST를 시작하라")을 적는다. 도구가 ICL을 보고 PDL을 칩 최상위의 TAP 시퀀스로 바꿔 준다. 이를 리타기팅(Retargeting)이라 한다. 계측기를 만든 IP 업체는 PDL만 제공하면 되고, 그 계측기가 칩 어디에 어떤 망으로 묻혀 있든 같은 PDL이 쓰인다.
TB-7 IJTAG 망: 최소 비트로 계측기에 닿기
IEEE 1838: 칩렛과 3D 적층의 테스트 접근
칩을 쌓거나 나란히 붙이는 시대가 되면서 접근 문제가 다시 생겼다. 3D 적층에서 위층 다이에는 패키지 핀이 직접 닿지 않는다. 모든 신호는 아래 다이를 지나 TSV(Through-silicon via)로 올라간다. 2019년의 IEEE 1838은 적층된 다이들이 테스트 접근을 이어받는 방법을 정한다. 각 다이에는 다이 래퍼 레지스터(DWR)가 있어 다이 경계를 감싸고(1500 래퍼와 같은 발상), 맨 아래 다이의 기본 TAP(PTAP)에서 들어온 직렬 접근이 각 다이의 2차 TAP(STAP)을 통해 위층으로 올라간다. 고속 스캔용 병렬 포트(FPP)는 선택이다.
적층은 테스트의 경제학도 바꾼다. 다이 하나의 불량이 쌓인 스택 전체를 버리게 하므로, 쌓기 전에 각 다이가 좋은지 확실히 알아야 한다. 이것이 KGD(Known good die) 문제이고, 14장에서 흐름과 비용으로 다시 다룬다. 쌓은 뒤에는 TSV와 마이크로범프의 연결을 검사해야 하는데, 이것은 보드 연결 테스트의 축소판이다. DWR의 외부 테스트 모드로 다이 사이 연결에 카운팅 시퀀스 같은 벡터를 보낸다. 범프 수가 수만 개라도 \(\lceil\log_2(N+2)\rceil\) 덕분에 벡터 수는 스무 개 안쪽이다. 패키징 쪽에서 본 적층 구조는 PackagingBook이 자세히 다룬다.
| 표준 | 연도 | 경계 | 핵심 부품 | 주된 쓰임 |
|---|---|---|---|---|
| IEEE 1149.1 | 1990 | 칩 ↔ 보드 | TAP, 16상태 제어기, BSR | 보드 연결 테스트, 칩 접근 입구 |
| IEEE 1149.6 | 2003 | 칩 ↔ 보드 (교류 결합) | AC 경계 셀 | 고속 차동 링크 |
| IEEE 1500 | 2005 | 코어 ↔ 칩 | WIR, WBR, WBY | 코어 패턴 재사용, HBM 테스트 포트 |
| IEEE 1687 | 2014 | 계측기 ↔ 칩 | SIB, ICL, PDL | MBIST·센서·PLL 접근 |
| IEEE 1838 | 2019 | 다이 ↔ 스택 | DWR, PTAP/STAP, FPP | 3D 적층 테스트 |
TB-7 테스트 계획
1149.1 TAP 하나로 IJTAG 망에: MBIST 40, PLL 4, 온도 센서 12, ADC
TB-7의 테스트 접근은 IEEE 1149.1 TAP 하나(TCK·TMS·TDI·TDO·TRST*, 장비 채널 5개)에서 시작한다. IR 5비트, IDCODE 0x17B0714B(가상). IJTAG 접근 명령을 넣으면 TDI–TDO 사이에 IEEE 1687 망이 연결된다. 최상위 SIB 네 개 아래에 MBIST 제어기 40개(클러스터 4개), PLL 4개, 온도 센서 12개, ADC 하나가 매달린다. 모든 계측기를 한 체인에 이었다면 1,200비트가 넘지만, SIB 망에서 온도 센서 하나를 읽는 데는 스캔 세 번 48비트, 오버헤드를 합쳐 약 75 TCK면 된다. 웨이퍼 테스트에서 TCK 25 MHz로 약 3 µs다. MBIST 40개를 모두 시작하는 스캔도 약 1,000비트, 40 µs 수준이어서 MBIST 실행 시간(약 0.2 s)에 비하면 무시할 만하다.
경계 스캔 셀은 일반 I/O 신호 약 200개에만 둔다(셀 412개). LPDDR5X와 SerDes 4레인에는 넣지 않는다. 셀이 고속 경로에 지연을 더하기 때문이다. 그 핀들의 보드 연결은 고객 보드에서 메모리 학습과 링크 훈련 결과로 확인하고, 칩 테스트에서는 9장의 내부 루프백으로 대신한다. 고객용 BSDL 파일을 데이터시트와 함께 제공한다.
핵심 정리
- BGA처럼 핀이 숨은 패키지에서는 보드 위 넷에 탐침이 닿지 않는다. IEEE 1149.1은 핀 안쪽의 경계 스캔 셀로 칩 스스로 핀을 구동·관측하게 한다.
- TAP는 TCK·TMS·TDI·TDO(·TRST*) 네다섯 핀으로 16상태 제어기를 움직인다. Capture → Shift → Update가 뼈대이고, TMS = 1 다섯 번이면 어디서든 리셋된다.
- BYPASS는 칩을 1비트로 건너뛰고, SAMPLE/PRELOAD는 동작 중인 핀을 찍거나 값을 미리 넣으며, EXTEST는 BSR로 보드 연결을 검사한다. IDCODE의 마지막 비트 1로 체인의 칩을 센다.
- 보드 연결 테스트는 넷마다 서로 다른 코드를 준다. 카운팅 시퀀스는 \(\lceil\log_2(N+2)\rceil\)벡터로 오픈·쇼트를 검출하지만, 합쳐진 코드가 다른 넷의 코드와 같아지는 별칭으로 진단이 흐려질 수 있다.
- IEEE 1500은 코어 경계에 래퍼(WIR·WBR·WBY)를 두어 코어 패턴을 재사용하게 한다.
- IEEE 1687은 SIB로 경로를 필요한 만큼만 여는 계측기 망을 만들고, ICL·PDL로 접근 절차를 자동 변환한다. 깊이만큼 스캔이 더 들지만 총 비트는 크게 준다.
- IEEE 1838은 DWR과 PTAP/STAP으로 3D 적층의 각 다이에 접근을 이어 주며, KGD와 TSV 연결 검사의 기반이 된다.
확인 퀴즈
TAP 제어기의 현재 상태를 모른다. TMS를 1로 두고 TCK를 최소 몇 번 주면 반드시 Test-Logic-Reset에 도착하는가?
넷 100개인 보드를 카운팅 시퀀스(모두 0·모두 1 코드 제외)로 검사할 때 필요한 병렬 벡터 수는?
칩 네 개가 데이지 체인으로 이어져 있다. 세 칩은 BYPASS, TB-7만 IDCODE 명령이다. Shift-DR에서 TDI–TDO 사이 경로 길이는?
IEEE 1687 망에서 SIB의 역할로 옳은 것은?