Introduction to JTAG
(Joint Test Action
Group)
Basics, Architecture, and Use Cases
6/19/2025 Justine Litto Koomthanam 1
What is JTAG?
• JTAG stands for Joint Test Action Group
• Standardized as IEEE 1149.1 for boundary scan testing
• Provides a way to test and program devices on a PCB
• Uses a small number of dedicated pins to access internal chip
functions
6/19/2025 Justine Litto Koomthanam 2
JTAG Pinout (TAP Interface)
• TCK – Test Clock
• TMS – Test Mode Select
• TDI – Test Data In
• TDO – Test Data Out
• TRST (optional) – Test Reset
These pins allow serial communication with the test logic inside
chips.
6/19/2025 Justine Litto Koomthanam 3
What Can JTAG Do?
• Boundary Scan Testing – Detect shorts, opens, stuck-at faults
• In-System Programming (ISP) – Program microcontrollers,
FPGAs, CPLDs
• Debugging – Access internal registers, set breakpoints, memory
access
• Hardware Bring-up – Verify device response and power state
6/19/2025 Justine Litto Koomthanam 4
How JTAG Works
• JTAG controller sends data via TDI to device scan chain
• Data shifted through internal registers of connected devices
• Output observed via TDO
• TCK and TMS control data flow through JTAG state machine
6/19/2025 Justine Litto Koomthanam 5
JTAG Scan
Chain
Architecture
Justine Litto Koomthanam 6/19/2025 6
Tools that Use JTAG
• Debuggers: SEGGER J-Link, Keil ULINK, ST-Link
• Boundary Scan: XJTAG, JTAG Technologies, Corelis
• FPGA Tools: Xilinx iMPACT, Intel Quartus
• Open-source: OpenOCD, CMSIS-DAP
6/19/2025 Justine Litto Koomthanam 7