Boundary Scan. Boundary Scan.1



Similar documents
Chapter 10. Boundary Scan and Core-Based Testing

The Boundary Scan Test (BST) technology

Boundary-Scan Tutorial

Primer. Semiconductor Group

A STUDY OF INSTRUMENT REUSE AND RETARGETING IN P1687

REUSING AND RETARGETING ON-CHIP INSTRUMENT ACCESS PROCEDURES IN IEEE P1687

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

Testing of Digital System-on- Chip (SoC)

Reusing and Retargeting On-Chip Instrument Access Procedures in IEEE P1687

Introduction to VLSI Testing

Section 33. Programming and Diagnostics

Non-Contact Test Access for Surface Mount Technology IEEE

Octal T1/E1/J1 Line Interface Unit

The Advanced JTAG Bridge. Nathan Yawn 05/12/09

Implementation Details

Section 33. Programming and Diagnostics

Training JTAG Interface

In-System Programming Design TM. Guidelines for ispjtag Devices. Introduction. Device-specific Connections. isplsi 1000EA Family.

MAX II ISP Update with I/O Control & Register Data Retention

512K x 18, 256K x 36 9Mb SCD/DCD Sync Burst SRAMs

Testing and Programming PCBA s during Design and in Production

Design Verification & Testing Design for Testability and Scan

Analysis of Hardware and Software Approaches to Embedded In-Circuit Emulation of Microprocessors

What is a System on a Chip?

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

Finite State Machine Design and VHDL Coding Techniques

MICROPROCESSOR AND MICROCOMPUTER BASICS

A New Paradigm for Synchronous State Machine Design in Verilog

Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ

SPI Flash Programming and Hardware Interfacing Using ispvm System

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Computer organization

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

OpenSPARC T1 Processor

Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs

Digital Design with VHDL

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

JTAG Applications. Product Life-Cycle Support. Software Debug. Integration & Test. Figure 1. Product Life Cycle Support

Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

Application Note, V2.2.1, July 2003 AP OCDS Level 1 JTAG Connector. 16-Bit & 32-Bit Microcontrollers. AI Microcontrollers. Never stop thinking.

JTAG-HS2 Programming Cable for Xilinx FPGAs. Overview. Revised January 22, 2015 This manual applies to the HTAG-HS2 rev. A

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards

CMOS PARALLEL-TO-SERIAL FIFO 256 x 16, 512 x 16, 1,024 x 16

FEATURES DESCRIPTION. PT6321 Fluorescent Display Tube Controller Driver

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Using Xilinx ISE for VHDL Based Design

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

Arbitration and Switching Between Bus Masters

Design and Verification of Nine port Network Router

SDLC Controller. Documentation. Design File Formats. Verification

RETRIEVING DATA FROM THE DDC112

Lab 1: Introduction to Xilinx ISE Tutorial

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK.

VLSI Design Verification and Testing

Serial port interface for microcontroller embedded into integrated power meter

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

In-System Programmability

Computer Organization & Architecture Lecture #19

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Extended Boundary Scan Test breaching the analog ban. Marcel Swinnen, teamleader test engineering

Microprocessor & Assembly Language

EC313 - VHDL State Machine Example

Embedded Multi-Media Card Specification (e MMC 4.5)

Boundary-Scan Testing of Power/Ground Pins

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

TI GPS PPS Timing Application Note

IEEE JTAG Boundary-Scan Testing

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Am186ER/Am188ER AMD Continues 16-bit Innovation

21555 Non-Transparent PCI-to- PCI Bridge

CENTRONICS interface and Parallel Printer Port LPT

Manchester Encoder-Decoder for Xilinx CPLDs

Step : Create Dependency Graph for Data Path Step b: 8-way Addition? So, the data operations are: 8 multiplications one 8-way addition Balanced binary

Chapter 9 Latches, Flip-Flops, and Timers

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

FPGA INTEGRATION MANUAL SATURN-SIL 2 MODULES. Dictionary Code. Edition 01. Revision 00. Number of pages 18

MAX 10 FPGA Configuration User Guide

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

Designing VM2 Application Boards

Using the HT46R46 I/O Ports to Implement Half-Duplex SPI Communication

Interfacing Credit Card-sized PCs to Board Level Electronics

0832 Dot Matrix Green Display Information Board User s Guide

THE ADVANTAGES OF COMBINING LOW PIN COUNT TEST WITH SCAN COMPRESSION OF VLSI TESTING

RAM & ROM Based Digital Design. ECE 152A Winter 2012

21154 PCI-to-PCI Bridge

a8251 Features General Description Programmable Communications Interface

Transcription:

Boundary Scan! Objectives! History! Family of 49! Architecture! Bus Protocol! Boundary scan cell! TAP controller! Instruction set! Boundary Scan Description Language Boundary Scan.

Objectives! Standards for board level testing; can be used to test. chips 2. chip interconnections 3. modules 4. module interconnections 5. subsystems 6. systems 7. ulti-chip odules Boundary Scan.2

History! 985: Joint European Test Action Group (JETAG, Philips)! 986 VHSIC Element-Test & aintenance (ET) bus standard (IB et al.) VHSIC Test & aintenance (T) Bus structure (IB et al.)! 988: Joint Test Action Group (JTAG) proposed Boundary Scan Standard! 99 Boundary Scan approved as IEEE Std. 49.-99 Boundary Scan Description Language (BSDL) proposed by HP! 993: 49.a-993 approved to replace 49.-99! 994: 49.b BSDL approved! 995: 49.5 approved! 999: 49.4 approved Boundary Scan.3

Overview of P49 Family Number Title Status 49. Testing of digital chips and interconnections between chips 49.2 Extended Digital Serial Interface 49.3 Direct Access Testability interface Std. 49.-99 Std. 49.a-993 Std. 49.b-994 (BSDL) Near completion Discontinue 49.4 ixed-signal Test Bus Std. 49.4-999 49.5 Standard odule Test and Std. 49.5-995 aintenance (T) Bus Protocal 49 nification Not yet started Boundary Scan.4

49.-99, 49.a-993! Testing of chips and interconnections on board! For digital circuits! ost successful among 49 family! Widely used in industry, e.g., in advanced CP, HDTV, satellite system, etc. Boundary Scan.5

Basic Chip Architecture for 49. Boundary Scan Cell Boundary Scan Path I/O Pins I/O Pins Sin Sout TRST* iscellaneous Registers Instruction Register Bypass Register TS TAP Controller TCK Boundary Scan.6

Boundary Scan Circuitry in a Chip Design-Spec. Reg. Data Registers TRST* TS TCK T A P T A P C 3 3 Device-ID Reg. BS Register Bypass Reg.( bit) ClockDR ShiftDR pdatedr ClockIR ShiftIR pdateir Reset* IR decode Instruction Register Select TCK D C Enable EN Boundary Scan.7

Hardware Components of 49.! TAP (Test Access Port) : TS, TCK,,, TRST* (optional)! TAP Controller : A finite state machine with 6 states Input : TCK, TS Output : 9 or signals included ClockDR, pdatedr, ShiftDR, ClockIR, pdateir, ShiftIR, Select, Enable, TCK and the optional TRST*.! IR (Instruction Register)! TDR (Test Data Registers) : andatory: Boundary scan register and Bypass register Optional: Device-ID register, Design-Specific registers, etc. Boundary Scan.8

Bus Protocol! Signals : Test Data In : Test Data Out TS: Test ode Selection TCK: Test Clock TRST* (optional): Test Reset! Basic operations Instruction sent (serially) over into instruction register. Selected test circuitry configured to respond to instruction. Test instruction executed. Test results shifted out through ; new test data on may be shifted in at the same time. Boundary Scan.9

A Typical Boundary Scan Cell IN SOT OT SIN shiftdrclockdr Operation modes: ID Q Q A ID pdatedr. Normal: ode_control=; IN->OT 2. Scan: ShiftDR=,ClockDR; ->...->SIN->SOT->... Q Q B 3. Capture: ShiftDR=, ClcokDR; IN->, OT driven by IN or 4. pdate: ode_control=, pdatedr; ->OT ode_control Boundary Scan.

State Diagram of TAP Controller Test--Reset Run-test/idle Control of data registers Select-DR-Scan Capture-DR Shift-DR Exit-DR Pause-DR Exit2-DR Control of instruction registers Select-IR-Scan Capture-IR Shift-IR Exit-IR Pause-IR Exit2-IR pdate-dr pdate-ir Boundary Scan.

States of TAP Controller! Test--Reset: normal mode! Run-Test/Idle: wait for internal test such as BIST! Select-DR-Scan: initiate a data-scan sequence! Capture-DR: load test data in parallel! Shift-DR: load test data in series! Exit-DR: finish phase- shifting of data! Pause-DR: temporarily hold the scan operation (allow the bus master to reload data)! Exit2-DR: finish phase-2 shifting of data! pdate-dr: parallel load from associated shift registers Boundary Scan.2

Timing of instruction scan TCK TS Control State Test-- Reset Run-test/ Idle Select-DR- Scan Select-IR- Scan Capture-IR Shift-IR Exit -IR Pause-IR Exit 2 -IR Shift-IR Exit -IR pdate-ir Run-Test/Idle Data input to IR IR shift-register Parallel output of IR IDCODE New instruction Data input to TDR TDR shift-register Parallel output of TDR Old data Register selected enable Instruction register Inactive Active Inactive Active Inactive = Don't care or undefined Boundary Scan.3

Timing of data scan TCK TS Control State Run-Test/Idle SelectDR-Scan Capture-DR Shift-DR Exit -DR Pause-DR Exit 2 -DR Shift-DR Exit -DR pdate-dr Run-Test/Idle SelectDR-Scan SelectIR-Scan Test-- Reset Data input to IR IR shift-register Parallel output of IR Instruction IDCODE Data input to TDR TDR shift-register Parallel output of TDR Instruction Register Old data Test data register New data enable Inactive Active Inactive Active Inactive = Don't care or undefined Boundary Scan.4

Instruction Set! ETEST: Test interconnection between chips of board! SAPLE/PRELOAD: Sample and shift out data or shift in data only! BYPASS: Bypass data through a chip! Optional : INTEST, RNBIST, CLAP, IDCODE, SERCODE, HIGH-Z, etc. Boundary Scan.5

ETEST Chip Chip2. Shift-DR (Chip) Registers TAP Controller Registers TAP Controller 2. pdate-dr (Chip) 3. Capture-DR (Chip2) Registers TAP Controller Registers TAP Controller 4. Shift-DR (Chip2) Registers TAP Controller Registers TAP Controller Boundary Scan.6

ETEST. Shift-DR (Chip) Input Output 2. pdate-dr (Chip) Input Output to Chip2 Input from Chip 3. Capture-DR (Chip2) Output 4. Shift-DR Input (Chip2) Output Boundary Scan.7

SAPLE/PRELOAD Input SAPLE Output Input PRELOAD Output Sample/Preload is one instruction that allows. Sample and shift (out) or 2. Shift (in) only Boundary Scan.8

BYPASS Bypass Register ( bit) TAP Controller Boundary Scan.9

INTEST.Shift-DR 2.pdate-DR Registers TAP Controller Registers TAP Controller 3.Capture-DR 4. Shift-DR Registers TAP Controller Registers TAP Controller Boundary Scan.2

Boundary Scan.2 INTEST Output Input Input 2. pdate-dr Output Input 3. Capture-DR Output Output Input 4. Shift-DR. Shift-DR

Test Bus Configuration Application chips Application chips Bus master TD TS TCK TCK TS TCK TS # #2 Bus master TD TS TS2 TSN TCK TCK TS TCK TS # #2 TCK TS #N TCK TS #N Ring configuration Star configuration Boundary Scan.22

A Printed Circuit Board with 49. (Ring configuration, test controller on board) Chip Chip2 Registers Registers TAP Controller TAP Controller TAP Controller Registers ASTER Controller TS TCK Chip3 Boundary Scan.23

Boundary Scan Description Language (BSDL)! Now the IEEE 49.b standard! Purposes: To provide a standard description language for boundary scan devices. To simplify the design work for boundary scan---automated synthesis is possible. To promote consistency throughout ASIC designers, device manufacturers, foundries, test developers and ATE manufacturers. For easy incorporation into software tools for test generation, analysis and failure diagnosis. To reduce possibility of human error when employing boundary scan in a design. Boundary Scan.24

Features of BSDL! BSDL describes the testability features of boundary scan devices which are compatible with 49..! It's a subset of VHDL.! Elements of a design which are absolutely mandatory for the 49. and system-logic are not included in the language. Examples: BYPASS register, TAP controller, etc.! BSDL may be used in a full or in a partial VHDL environment. Boundary Scan.25

Boundary Scan.26 A Complete Example TS CLK C O R E L O G I C TAP Controller D D2 D3 D4 D5 Q5 Q4 Q3 Q2 Q Q6 D6 C O R E L O G I C D D2 D3 D4 D5 Q5 Q4 Q3 Q2 Q Q6 D6 CLK 4 5 3 6 2 2 9 7 8 TCK 6 7 8 9 5 4 3 2 2 3 4 5 6 7

Entity entity demo is generic(physical_pin_ap:string:="ndefined"); port(clk:in,bit;q:out,bit_vector( to 6);D:in,bit_vector( to 6); GND,VCC:linkage,bit;:out,bit;TS,TCK,:in,bit); use STD_49 99.all; attribute PIN_AP of demo:entity is PHYSICAL_PIN_AP; constant DW_PACKAGE:PIN_AP_STRING:="CLK:," & "Q(6,7,8,9,,),D(2,3,4,5,6,7),GND:8,VCC:9," & ":5,TS:4,TCK:3,:2"; attribute TAP_SCAN_IN of :signal is true; attribute TAP_SCAN_ODE of TS:signal is true; attribute TAP_SCAN_OT of :signal is true; attribute TAP_SCAN_CLOCK of TCK:signal is (2e6,BOTH); attribute INSTRCTION_LENGTH of demo:entity is 4; attribute INSTRCTION_OPCODE of demo:entity is "BYPASS (),"& "ETEST()," & "SAPLE(,)," & "INTEST()"; Boundary Scan.27

Entity (Cont.) attribute INSTRCTION_CAPTRE of demo:entity is ""; attribute BONDARY_CELLS of demo:entity is "BC_"; attribute BONDARY_LENGTH of demo:entity is 2; attribute BONDARY_REGISTER of demo:entity is -- num cell port function safe [ccell disval rslt] "2 (BC_,CLK,input,)," & " (BC_,D(),input,)," & " (BC_,D(2),input,)," & "9 (BC_,D(3),input,)," & "8 (BC_,D(4),input,)," & "7 (BC_,D(5),input,)," & "6 (BC_,D(6),input,)," & "5 (BC_,Q(),output3,,,,Z)," & "4 (BC_,Q(2),output3,,,,Z)," & "3 (BC_,Q(3),output3,,,,Z)," & "2 (BC_,Q(4),output3,,5,,Z)," & " (BC_,Q(5),output3,,5,,Z)," & " (BC_,Q(6),output3,,5,,Z)"; end demo; Boundary Scan.28

Package package STD_49 99 is attribute PIN_AP:string; subtype PIN_AP_STRING is string; type CLOCK_LEVEL is (LOW, BOTH); type CLOCK_INFO is record FREQ:real; LEVEL:CLOCK_LEVEL; end record; attribute TAP_SCAN_IN: boolean; attribute TAP_SCAN_OT:boolean; attribute TAP_SCAN_CLOCK:CLOCK_INFO; attribute TAP_SCAN_ODE:boolean; attribute TAP_SCAN_RESET:boolean; attribute INSTRCTION_LENGTH:integer; attribute INSTRCTION_OPCODE:string; attribute INSTRCTION_CAPTRE:string; Boundary Scan.29

Package (Cont.) type ID_BITS is ('', '', ''); type ID_STRING is array (3 downto ) of ID_BIT attribute REGISTER_ACCESS:string type BSCAN_INST is (ETEST, SAPLE, INTEST,RNBIST); type CELL_TYPE is (INPT, INTERNAL, CLOCK, CONTROL, OTPT2, OTPT3, BIDIR_IN, BIDIR_OT); type CAP_DATA is (PI, PO, PD, CAP,, ZRRO, ONE); type CELL_DATA is record CT:CELL_TYPE; I:BSCAN_INST; CD:CAP_DATA; end record; type CELL_INFO is array(positive range<>) of CELL_DATA; constant BC_:CELL_INFO; attribute BONDARY_CELLS:string; attribute BONDARY_LENGTH:integer; attribute BONDARY_REGISTER:string; attribute DESIGN_WARING:string; end STD_49 99; Boundary Scan.3

Package Body constant BC_:CELL_INFO:=( (INPT,ETEST,PI), (OTPT2,ETEST,PI), (INPT,SAPLE,PI), (OTPT2,SAPLE,PI), (INPT,INTEST,PI). (OTPT2,INTEST,PI), (OTPT3,ETEST,PI), (INTERNAL,ETEST,PI), (OTPT3, SAPLE,PI), (INTERNAL,SAPLE,PI), (OTPT3, INTEST,PI), (INTERNAL,INTEST,PI), (CONTROL,ETEST,PI),(CONTROL,ETEST,PI), (CONTROL,SAPLE,PI),(CONTROL,SAPLE,PI), (CONTROL,INTEST,PI),(CONTROL,INTEST,PI) ); Boundary Scan.3