DFT

Boundary scan (JTAG, IEEE 1149.1)

By CourseTron Team ·  8 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    🖨  Download / Print this guide (PDF)

    In short: Boundary scan is a design-for-test technique, standardized as IEEE 1149.1, that adds a shift-register cell at each chip pin so you can control and observe every connection through just four or five dedicated test pins. It lets you verify solder joints and board interconnects after assembly without bed-of-nails probes, and the same TAP infrastructure is reused for in-system programming and silicon debug.

    What Is boundary scan jtag?

    Boundary scan jtag is a structural test methodology defined by the IEEE 1149.1 standard, originally drafted by the Joint Test Action Group (JTAG) in the late 1980s. The core idea is simple: place a dedicated flip-flop, called a boundary scan cell, between each functional pin of an integrated circuit and its internal core logic. These cells are stitched together into one long shift register that rings the die, so test equipment can load values into them, drive them onto the pins, and capture whatever arrives back.

    Because every pin becomes individually controllable and observable, an engineer can test the physical interconnect between chips on a crowded board using only the four mandatory test pins, no matter how many signal pins the devices have or whether the balls underneath a BGA are physically reachable.

    Why boundary scan matters: the access problem it solves

    Surface-mount assembly, fine-pitch ball grid arrays, and dense multilayer boards made traditional in-circuit test increasingly impractical. A bed-of-nails fixture needs a test pad for every net, but modern packages hide their connections under the device where no probe can reach. Boundary scan sidesteps this entirely: the access point moves from the physical net to the silicon itself.

    The payoff is primarily manufacturing defect coverage. Boundary scan reliably detects opens (a dry or cracked solder joint), shorts (solder bridges between adjacent nets), and the wrong or missing device. It is a structural test that proves the board was built correctly, not a functional test that proves the design works, and keeping that distinction clear is essential when planning a test strategy.

    The Test Access Port and the four signals

    All control enters through the Test Access Port (TAP), which uses four mandatory pins plus one optional pin:

    • TCK (Test Clock) — the independent test clock that shifts data through the registers.
    • TMS (Test Mode Select) — sampled on the rising edge of TCK to navigate the TAP state machine.
    • TDI (Test Data In) — serial input to the instruction or data registers.
    • TDO (Test Data Out) — serial output, which chains to the next device's TDI.
    • TRST (Test Reset) — optional asynchronous reset of the TAP controller.

    Several devices connect TDO-to-TDI in series to form a single scan chain, while TCK and TMS are driven in parallel to all of them.

    JTAG scan chain: TDI to TDO daisy chainDevice Aboundary scan cellsTAP controllerDevice Bboundary scan cellsTAP controllerTDITDO→TDITDOTCK and TMS driven in parallelCourseTron · coursetron.com
    Two devices daisy-chained TDO to TDI, with TCK and TMS driven in parallel; the dot shows data shifting along the chain.
    Key fact: IEEE 1149.1 mandates exactly three registers — the instruction register, the bypass register (a single 1-bit flip-flop), and the boundary scan register — plus an optional device identification register. The mandatory BYPASS and SAMPLE/PRELOAD and EXTEST instructions must always be supported.

    How the TAP controller and boundary cells work

    The heart of the logic is the TAP controller, a 16-state finite state machine clocked by TCK and steered entirely by the TMS line. From the reset state, a specific sequence of TMS values walks the machine into either the data-register path or the instruction-register path, through Capture, Shift, and Update phases. Holding TMS high for five TCK cycles always returns the controller to Test-Logic-Reset, which is the universal way to put any chain into a known state.

    Each boundary scan cell typically contains two flip-flops: a capture stage that samples the pin or core signal, and an update stage that holds the value driven out. This two-stage design means new test data can be shifted in without disturbing the value currently being applied to the pins, so test vectors change cleanly on the Update-DR edge.

    Boundary scan cell: capture stage and update stageShift datafrom TDICapture stageUpdate stagePinsamples pin or coreholds driven valueNew data shifts in without disturbing the pin; it appears on Update-DRCourseTron · coursetron.com
    Each boundary scan cell has a capture stage and an update stage.

    A full interconnect test is a loop: shift a vector into the boundary register of the driving device, update it to drive the nets, capture what the receiving device sees on its input cells, then shift that result out through TDO for comparison against the expected pattern. Mismatches localize the defect to a specific net or pin.

    Key instructions

    • BYPASS — inserts the 1-bit bypass register so a device you are not testing adds only one clock of latency to the chain.
    • SAMPLE/PRELOAD — snapshots live pin values non-intrusively, or preloads safe values before EXTEST.
    • EXTEST — the workhorse: drives the boundary cells onto external pins to test board interconnect.
    • INTEST — optional; applies vectors inward to test the core logic.
    • IDCODE — reads the 32-bit device ID (manufacturer, part number, version), used to verify the right part is populated.
    Interconnect test loop with EXTEST1. Shift vectorinto drivingdevice2. Update:drive the nets(EXTEST)3. Capture atreceivinginput cells4. Shift outvia TDO andcompareA mismatch against the expected pattern localizes the defect to a net or pinOpens, shorts and wrong or missing devices are detectedCourseTron · coursetron.com
    The four steps of a boundary scan interconnect test.

    Variants and related standards

    IEEE 1149.1 is the foundation, but the family has grown. IEEE 1149.6 extends boundary scan to AC-coupled and differential high-speed nets that the DC-oriented original cannot test. IEEE 1149.7 (cJTAG) reduces the interface to a two-wire variant for pin-starved packages. IEEE 1149.8.1 addresses passive and non-powered net testing. Separately, IEEE 1532 layers in-system configuration of programmable logic on top of the TAP, and IEEE 1687 (IJTAG) standardizes access to embedded instruments such as BIST engines and sensors through the same port.

    How it is used and debugged in practice

    Every compliant device ships with a BSDL file (Boundary Scan Description Language, a VHDL subset). The BSDL describes the pin-to-cell mapping, register lengths, instruction opcodes, and IDCODE. Automated test pattern generation tools read the BSDLs of every device in the chain plus the board netlist and automatically generate interconnect vectors, so the engineer rarely writes vectors by hand.

    Common pitfalls are worth knowing for lab work: a single device with a corrupt BSDL, a wrong chain order, or a floating TMS can make the entire chain fail to respond. A reliable first check is to read back all IDCODEs — if the count and values match the board, the chain integrity and clocking are sound and the problem lies elsewhere. Compliance-enable pins must also be strapped correctly, or a device may ignore its TAP entirely.

    How industry tools handle it

    Commercial controllers and software from vendors such as JTAG Technologies, Corelis, Göpel, and XJTAG drive the chain, consume BSDL, and run ATPG for interconnect and memory-cluster tests. FPGA and SoC vendors reuse the same TAP for programming and debug — Xilinx/AMD, Intel/Altera, and Arm's CoreSight all expose configuration and on-chip debug over JTAG, which is why the four-pin header on a board is often the single most useful bring-up and failure-analysis tool an engineer has.

    Learn this hands-on

    Real projects and industry tool flows, with certification.

    Explore CourseTron Courses →

    boundary scan jtag — Interview FAQ

    What is the difference between SAMPLE/PRELOAD and EXTEST?

    SAMPLE/PRELOAD is non-intrusive: the boundary cells observe live functional pin values during normal operation and can preload safe values into the update stage. EXTEST is intrusive: it takes control of the output pins and drives the preloaded values onto the board to actively test interconnect. You typically PRELOAD safe states first, then switch to EXTEST so no undefined values glitch the board.

    Why is the BYPASS register only one bit long?

    When several devices are in one chain but you only need to talk to one, the others load BYPASS. The single-bit bypass register minimizes the number of TCK clocks needed to shift data past uninvolved devices, shortening test vectors and speeding up the whole chain instead of shifting through their long boundary registers.

    What does a BSDL file provide and why is it essential?

    The BSDL file formally describes a device's boundary scan architecture: pin-to-cell mapping, register lengths, supported instructions and opcodes, the IDCODE, and compliance-enable requirements. ATPG tools need it to generate correct interconnect vectors; without an accurate BSDL for every device, the tool cannot interpret the chain or localize faults.

    How do you bring the TAP controller to a known state?

    Hold TMS high and apply at least five TCK clock cycles. Regardless of the controller's current state, this guarantees arrival at Test-Logic-Reset. It is the standard recovery step at the start of any test session or when a chain stops responding.

    Related: a related topic · the VLSI Glossary · all courses.

    Advertisement