JTAG의 소개 및 원리 3편
등록: 2001-07-25 15:01:37
4탄에서 여러분은 Boundary-Scan Cell의 벌거 벗은 그 흉직한 모습을 보셨을 겁니다. 이 로직을 이용하여 JTAG의 디버그 방법론이 나옵니다. 우선 이전 내용을 말로 정리해 봅시다.
- JTAG의 핵심은 Boundary-Scan Cell이며 Boundary-Scan Cell은 쉬프트 레지스터 형식을 가진다.
- 각 셀의 상태를 읽어 오거나 써 넣는 것은 시리얼 입출력 방식을 이용한다.
- Boundary-Scan Cell은 디바이스의 입출력단에만 있다.
뭐 이정도의 정리면 되겠지요... 여러분은 사실 이용만 할것이기 때문에 내부의 동작원리는 몰라도 됩니다.
이젠 접근을 외부에서 해봅시다. 내부에서의 구조와 외부에서의 접근을 통하여 중간 계층에 무엇이 있는지를 알수 있겠죠? 여러분이 스토롱암의 매뉴얼을 보면 JTAG에 대한 내용이 나옵니다. 그 내용을 보면 JTAG는 CPU의 코어가 들어있는 CPLD의 외부 단자중 딱 5개의 단자만을 사용합니다. 이 단자에는 어떤 것이 있을까요?
- TDI
- TDO
- TMS
- TCK
- TRST
이 단자들을 묶어서 TAP라고 합니다. TAP를 풀어쓰면 Test Access Port라고 합니다. JTAG의 TAP단자명들은 이전 강좌에서 소개한 Boundary-Scan Cell에서 사용되는 핀의 이름과는사뭇 다른 이름을 사용하고 있읍니다. 이것은 JTAG에는 Boundary-Scan Cell이외에 무언가가 있다는 것이지요. 우리는 이 정체를 밝혀 내야 합니다. 물론 제가 밝혀 드리겠지요 ^^;
우선 위에 써 놓은 각 단자명을 영문으로 풀어내어 봅시다.
- TDI : Test Data In
- TDO : Test Data Out
- TMS : Test Mode Select
- TCK : Test Clock
- TRST : Test Reset
이런 이름들의 약자들입니다.
자 그럼 이제 JTAG의 진짜 내부 모습을 보여드리지요.. 그런데 이 그림을 제가 어떻게 그릴수 있을까요... 흑흑 (텍스트가 미워) 참 이그림은 약간 약화 시킨 그림입니다. 스트롱 암에서 작동되는 자세한 동작 방식에 대한 설명을 위한 그림은 나중에 다시 그리지요...
┌────────────────────┐
│ ■→■→■→■→■→■ │
│ ↑ ↓ │
│ ■ ┏━━━━━━┓ ■ │
│ ↑ ┃ 로직 코어 ┃ ↓ │
│ ■ ┃ +----+ ┃ ■ │
│ ↑ ┃ | | ┃ ↓ │
│ ■ ┃ ■→■→■ ┃ ■ │
│ ↑ ┃ | +----+ | ┃ ↓ │
│ ■ ┃ |특정로직| ┃ ■ │
│ ↑ ┗━━━━━━┛ ↓ |\ │
│ | | | *----→| | │
│ | | +---------→| | │
TDI □---*-**-----*---□-------------→| |----□ TDO
│ | | ByPass +-→| | │
│ | | Register |+→| | │
│ | | || |/ │
│ | | +----------------+ || │
│ | +->| Identification |-+| │
│ | | Register | | │
│ | +----------------+ | │
│ | | │
│ | +-----------------+ | │
│ +--->| Instruction |-+ │
│ | Register | │
│ +-----------------+ │
│ ▲ │
│ ┃ │
│ +--------------+ │
TMS □--------> | TAP | │
TCK □--------> | Controller | │
│ +--------------+ │
│ ↑ │
└─────────□──────────┘
TRST
무슨 그림인지 알아 보시겠어요?. 이것이 JTAG의 완성된 블록도 입니다. 여기서 ■처럼 표현한 것은 Boundary-Scan Cell을 의미합니다. 아직까지는 Boundary-Scan Cell과 TAP의 관계가 불분명해 보이죠. 이 비밀은 Boundary-Scan Cell이외에 각종 Register에 해답이 있습니다.
하나씩 하나씩 비밀을 벗겨 볼까요?
이궁 벌써 저녁 10시 이군요... 오늘은 이만 퇴근해야 할것 같네요... 조만간 바로 다음 편을 올리겠읍니다. 사실 JTAG의 진 면목은 여기서 부터 입니다.
참 항상 이야기하는 데요. 이 글의 지적 소유권 관계는 GPL을 따릅니다. 물론 상업적인 용도로는 사용할수 없죠.... 그럼..