chip and circuit board debugging
DESCRIPTION
JTAG. Chip and Circuit Board Debugging. Adam Hoover. Background. 1980’s explosion of embedded computing products. Background. Mass production of chips … how to test in bulk?. Mass production of products … how to test in bulk?. Background. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/1.jpg)
Chip and Circuit Board Debugging
Adam Hoover
JTAG
![Page 2: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/2.jpg)
1980’s explosion of embedded computing products
Background
![Page 3: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/3.jpg)
Mass production of chips … how to test in bulk?
Background
Mass production of products … how to test in bulk?
![Page 4: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/4.jpg)
Chip fails in a product … how to find which part failed?
Background
![Page 5: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/5.jpg)
During product development … how to debug/observe code?
Background
![Page 6: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/6.jpg)
How to see inside a chip?
X-ray
Can see traces, detect breaks How to test functionality?Used for inspection Non-break failures?
![Page 7: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/7.jpg)
Oscilloscope
How to see inside a chip?
Pins getting smaller and smaller Lots of pins!Pins underneath the chips How to affect, record?
![Page 8: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/8.jpg)
Dedicate some pins to test and debug
Read voltages from other pins or circuitry inside chip via debug pins
When turned on, in debug mode; when turned off, operate normally
Boundary Scanning
![Page 9: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/9.jpg)
Industry manufacturers were all making custom solutions
JTAG = Joint Test Action Group
IEEE 1149.1 Standard Test Access Port (TAP) and Boundary-Scan Architecture(mouthful, let’s just call it JTAG)
Background
![Page 10: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/10.jpg)
JTAG pins
TDI = input TDO = outputTCK = clock TMS = test mode select (turn JTAG on/off)
Input/output voltagesShifted through latcheson pins around theboundary of the chip
![Page 11: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/11.jpg)
Multiple chips
Connect chips in series
![Page 12: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/12.jpg)
Details
Buffer bits to form JTAG instruction
Execute JTAG instruction
Shift in/out 1 bit at a time
Dual-use some pins formore debugging options
Some default instructions:BYPASS (TDO = TDI)SAMPLE/PRELOADIDCODE (chip ID)INTEST (run internally hold pins)CLAMP/HIGHZ (voltage test)RUNBIST (built-in self test)…
(slow!)
![Page 13: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/13.jpg)
JTAG variationsManufacturer Processor family Debug interface #pins
Atmel AT91 ARM Thumb JTAG 4
Atmel megaAVR JTAG 4
Atmel tinyAVR debugWIRE 1
Silicon Labs 8051 (small) C2 2
Silicon Labs 8051 (larger) JTAG 4
Zilog eZ80 ZDI 2
Freescale MC68HC12 BDM 1
Freescale MPC500 Nexus 5001 16
ST Micro STR710 ARM JTAG 4
LSI Logic MiniRISC MIPS EJTAG 4
Toshiba TX system MIPS EJTAG 4
![Page 14: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/14.jpg)
On a development board
![Page 15: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/15.jpg)
On a productthrough-holes
header
![Page 16: Chip and Circuit Board Debugging](https://reader035.vdocuments.mx/reader035/viewer/2022062310/5681614f550346895dd0d463/html5/thumbnails/16.jpg)
Low-level (non-processor chips)
Software interface
High-level IDE for processorprogramming and debugging
Custom, anything in-between