jtag environment full chip testing

40
1 JTAG course - Dolev Eyal JTAG JTAG environment environment Full Full Chip testing Chip testing

Upload: terena

Post on 01-Feb-2016

69 views

Category:

Documents


1 download

DESCRIPTION

JTAG environment Full Chip testing. Test Logic Architecture. In the following presentation we will discuss the needs and means for the creation of a JTAG dft environment. Within the chip Outside of the chip. The environment is designed for: RTL block testing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: JTAG environment Full Chip testing

1 JTAG course - Dolev Eyal

JTAG environmentJTAG environment Full Chip testingFull Chip testing

Page 2: JTAG environment Full Chip testing

2 JTAG course - Dolev Eyal

Test Logic Architecture Test Logic Architecture

In the following presentation we will discuss the In the following presentation we will discuss the needs and means for the creation of a JTAG dft needs and means for the creation of a JTAG dft environment. environment. – Within the chipWithin the chip

– Outside of the chipOutside of the chip

The environment is designed for:The environment is designed for:– RTL block testingRTL block testing

– Creating the patterns for the testersCreating the patterns for the testers

– Gate-level testingGate-level testing

– FPGA testingFPGA testing

– Silicon testingSilicon testing

Page 3: JTAG environment Full Chip testing

3 JTAG course - Dolev Eyal

Test Logic Architecture Test Logic Architecture

Basically making a complicated testing seem Basically making a complicated testing seem so simple from the outsideso simple from the outside

Page 4: JTAG environment Full Chip testing

4 JTAG course - Dolev Eyal

Test Logic Architecture Test Logic Architecture

The following elements shall compose the test The following elements shall compose the test logic architecture within the chip:logic architecture within the chip:

– A TAPA TAP

– A TAP controllerA TAP controller

– An instruction registerAn instruction register

– A group of test data registersA group of test data registers

Page 5: JTAG environment Full Chip testing

5 JTAG course - Dolev Eyal

Test Access Port - TAPTest Access Port - TAP

The TAP is a general-purpose port that can provide The TAP is a general-purpose port that can provide access to many test support functions built into a access to many test support functions built into a component.component.

It is composed as a minimum of the three input It is composed as a minimum of the three input connections and one output connection.connections and one output connection.

An optional fourth input connection provides for An optional fourth input connection provides for asynchronous initialization.asynchronous initialization.

Page 6: JTAG environment Full Chip testing

6 JTAG course - Dolev Eyal

TAP connections TAP connections

Test clock input (TCK)Test clock input (TCK)– Provides the clock for the test logic.Provides the clock for the test logic.

– Stored-state devices in the test logic shall retain their state Stored-state devices in the test logic shall retain their state indefinitely when the signal applied to TCK is stopped at 0.indefinitely when the signal applied to TCK is stopped at 0.

Test mode select input (TMS)Test mode select input (TMS)– This signal is decoded to the TAP controller to control test This signal is decoded to the TAP controller to control test

operations.operations.

– Shall be sampled on the rising edge of TCK.Shall be sampled on the rising edge of TCK.

Test data input (TDI)Test data input (TDI)– Serial test instruction and data.Serial test instruction and data.

– Shall be sampled on the rising edge of TCK.Shall be sampled on the rising edge of TCK.

Page 7: JTAG environment Full Chip testing

7 JTAG course - Dolev Eyal

TAP connections TAP connections continue…continue…

Test data out (TDO)Test data out (TDO)– Serial output for test instruction and data.Serial output for test instruction and data.

– Changes in the state of the signal driven through TDO shall Changes in the state of the signal driven through TDO shall occur only on the falling edge of TCK.occur only on the falling edge of TCK.

Test reset input (TRST*)Test reset input (TRST*)– Provides for asynchronous initialization of the TAP controller.Provides for asynchronous initialization of the TAP controller.

– Active low.Active low.

Page 8: JTAG environment Full Chip testing

8 JTAG course - Dolev Eyal

Interconnection of components compatible Interconnection of components compatible with the standardwith the standard

The figures on the next slide illustrate three The figures on the next slide illustrate three alternative board-level interconnections of alternative board-level interconnections of components conforming to IEEE Std 1149.1-components conforming to IEEE Std 1149.1-2001 standard.2001 standard.

Page 9: JTAG environment Full Chip testing

9 JTAG course - Dolev Eyal

Interconnection of components compatible Interconnection of components compatible with the standardwith the standard

Serial connection using one TMS signalSerial connection using one TMS signal

Connection in two paralleled serial chainsConnection in two paralleled serial chains Multiple independent paths with common Multiple independent paths with common TMS and TCK signalsTMS and TCK signals

Page 10: JTAG environment Full Chip testing

10 JTAG course - Dolev Eyal

Test Logic Architecture Test Logic Architecture Top level design - figuresTop level design - figures

Clock and/or controlsClock and/or controls

A conceptual schematic of test logicA conceptual schematic of test logic

Page 11: JTAG environment Full Chip testing

11 JTAG course - Dolev Eyal

Test Logic Architecture Test Logic Architecture

The following elements shall be contained in The following elements shall be contained in the test logic architecture within the chip :the test logic architecture within the chip :

– A TAPA TAP

– A TAP controllerA TAP controller

– An instruction registerAn instruction register

– A group of test data registersA group of test data registers

Page 12: JTAG environment Full Chip testing

12 JTAG course - Dolev Eyal

The full chip - The full chip - Communication chip exampleCommunication chip example

The full chip top

PERIPHERYTHERMAL

SensorCCM

COMMONP

CI

CLOCK_RESET_COMM

GIO

DNW_MNG

GHOST

FLEEP

RMII Pass

Through

LAN_PORT

MACPHY_GLUE

CAR ARBELCLK_WRAP

EEPROM LOGIC STAT REGS

TARGET LOGIC

MAC CORERX FILTER

DMATX

LED STRECH

XTX

DMA TX

MAC_TX

MAC_RXDMA RX

CB

GHOST i/f

Target i/f

GHOST i/f

MNG-LAN

Target i/f

FLEEP i/f

FLEEP i/f

CB

IO RING GLUE (DFT,Jtag,BSCAN) IO Buff

ARCsubsys

DMARX

MNG-HOST

PBCBQ

CB HDR

CB HDR

LAN_PORT

MACPHY_GLUE

CARclk

EEPROM LOGIC STAT REGS

TARGET LOGIC

MAC CORERX FILTER

DMATX

LED STRECH

XTX

DMA TX

MAC_TX

MAC_RXDMA RX

CB

CB

DMARX

PBCBQ

CB HDR

CB HDR

MNG-HOST

MNG-LAN

SGMII

SGMII

ULT_WRAP

PHY

PHY

SerDes /SGMII

SerDes /SGMII

PERIPHERYCLOCK_RESETDFT pins IO RING GLUE (DFT,Jtag,BSCAN) IO Buff

Page 13: JTAG environment Full Chip testing

13 JTAG course - Dolev Eyal

TAP Functional Overview TAP Functional Overview

Compiles with the IEEE Std 1149.1 (“JTAG”) test Compiles with the IEEE Std 1149.1 (“JTAG”) test architecture standard architecture standard

additionally provides access to most of the full chip additionally provides access to most of the full chip testability features testability features

provides not only a customer-visible feature of the chip provides not only a customer-visible feature of the chip but also provides crucial proprietary functionality for but also provides crucial proprietary functionality for silicon debug and production testing silicon debug and production testing

Page 14: JTAG environment Full Chip testing

14 JTAG course - Dolev Eyal

Inside the Chip JTAG FSMInside the Chip JTAG FSM

The JTAG commands are 6 bit words chosen according The JTAG commands are 6 bit words chosen according to the IEEE standard and the test you want the JTAG to to the IEEE standard and the test you want the JTAG to cover. cover. For example:For example:

The controller must implement the IEEE standard FSM. The controller must implement the IEEE standard FSM. For example:For example:

Using the JTAG commands we issue instructions to the Using the JTAG commands we issue instructions to the correct test/action we want to activate.correct test/action we want to activate.

– BS,BIST,DAT and so on…BS,BIST,DAT and so on…

Page 15: JTAG environment Full Chip testing

15 JTAG course - Dolev Eyal

The TAP controllerThe TAP controller

The TAP state machine

Page 16: JTAG environment Full Chip testing

16 JTAG course - Dolev Eyal

The TAP controllerThe TAP controller

The TAP controller is a synchronous finite state machine that responds to changes at the TMS and TCK signals of the TAP and controls the sequence of operations of the circuitry.

The TAP state machine

Page 17: JTAG environment Full Chip testing

17 JTAG course - Dolev Eyal

The TAP controllerThe TAP controller

All state transitions of All state transitions of the TAP controller shall the TAP controller shall occur based on the value occur based on the value of TMS at the time of a of TMS at the time of a rising edge of TCK.rising edge of TCK.

Actions of the test logic Actions of the test logic (instruction register, test (instruction register, test data registers, etc.) shall data registers, etc.) shall occur on either the rising occur on either the rising or the falling edge of TCK or the falling edge of TCK in each controller state.in each controller state.

The TAP state machine

Page 18: JTAG environment Full Chip testing

18 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

ContainsContains– Reset stateReset state

– Run-test/idle stateRun-test/idle state

– Two major branchesTwo major branches– Access to the TAP Access to the TAP

instruction registerinstruction register

– Access to one of the Access to one of the TAP/core data registersTAP/core data registers

TMS pin is used as the TMS pin is used as the controlling input.controlling input.

The TAP state machine

Page 19: JTAG environment Full Chip testing

19 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Test-Logic-ResetTest-Logic-Reset– Test logic disabledTest logic disabled– Normal operation of the Normal operation of the

processor can continue.processor can continue.– Enters this state:Enters this state:

– When the TMS input is held When the TMS input is held active for at least five clocks.active for at least five clocks.

– When TRST_N is pulled When TRST_N is pulled active.active.

– Upon power-up.Upon power-up.

Test-Logic-Reset

maximum of 5 clocks

with TMS signal hold

at 1'b1TMS=1'b1

asynchronousTRST_N

asynchronouslan_pwrgood

Page 20: JTAG environment Full Chip testing

20 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Run-Test/IdleRun-Test/Idle– The idle state of the TAP The idle state of the TAP

controller.controller.– The contents of all test data The contents of all test data

registers retain their registers retain their previous values.previous values.

– Self tests may run.Self tests may run.

Shift-DR-ScanShift-DR-Scan– Temporary controller state.Temporary controller state.

Shift-IR-ScanShift-IR-Scan– Temporary controller state.Temporary controller state.

Page 21: JTAG environment Full Chip testing

21 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Capture-IRCapture-IR– The shift register The shift register

contained in the contained in the instruction register loads a instruction register loads a fixed value. (two lsb are 01)fixed value. (two lsb are 01)

– Test data registers Test data registers selected by the current selected by the current instruction retain their instruction retain their previous state.previous state.

– The instruction does not The instruction does not change.change.

IR branchIR branch

Page 22: JTAG environment Full Chip testing

22 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Shift-IRShift-IR– The shift register The shift register

contained in the contained in the Instruction Register is Instruction Register is connected between TDI connected between TDI and TDO and is shifted one and TDO and is shifted one stage toward its serial stage toward its serial output on each rising edge output on each rising edge of TCK. of TCK.

– The output arrives at TDO The output arrives at TDO on the falling edge of TCK.on the falling edge of TCK.

– The current instruction The current instruction does not change in this does not change in this state.state.

The TAP state machine

IR branchIR branch

Page 23: JTAG environment Full Chip testing

23 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Exit1-IRExit1-IR– a temporary state. a temporary state. – TMS held high – the TMS held high – the

controller enters Update-IR controller enters Update-IR which terminates the which terminates the scanning process.scanning process.

– The current instruction The current instruction does not change in this does not change in this state.state.

The TAP state machine

Pause-IRPause-IR– Allows shifting of the Allows shifting of the

Instruction Register to be Instruction Register to be temporarily halted.temporarily halted.

– The current instruction does The current instruction does not change in this state.not change in this state.

IR branchIR branch

Page 24: JTAG environment Full Chip testing

24 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Exit2-IRExit2-IR– a temporary state. a temporary state. – TMS held high – the TMS held high – the

controller enters Update-IR controller enters Update-IR which terminates the which terminates the scanning process.scanning process.

– The current instruction The current instruction does not change in this does not change in this state.state.

The TAP state machine

IR branchIR branch

Page 25: JTAG environment Full Chip testing

25 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Update-IRUpdate-IR– The instruction which has The instruction which has

been shifted into the been shifted into the Instruction Register is Instruction Register is latched onto the parallel latched onto the parallel output of the Instruction output of the Instruction Register on the falling Register on the falling edge of TCK.edge of TCK.

IR branchIR branch

Page 26: JTAG environment Full Chip testing

26 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Capture-DRCapture-DR– Data may be parallel-loaded Data may be parallel-loaded

into test data registers into test data registers selected by the current selected by the current instruction (on the rising instruction (on the rising edge of TCK).edge of TCK).

– The current instruction does The current instruction does not change in this state.not change in this state.

DR branchDR branch

Page 27: JTAG environment Full Chip testing

27 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Shift-DRShift-DR– The Data Register The Data Register

connected between TDI connected between TDI and TDO as a result of and TDO as a result of selection by the current selection by the current instruction is shifted one instruction is shifted one stage toward its serial stage toward its serial output on each rising edge output on each rising edge of TCK.of TCK.

– The output arrives at TDO The output arrives at TDO on the falling edge of TCK. on the falling edge of TCK.

– The parallel, latched output The parallel, latched output of the selected Data of the selected Data Register does not change Register does not change while new data is being while new data is being shifted in.shifted in.

The TAP state machine

DR branchDR branch

Page 28: JTAG environment Full Chip testing

28 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Exit1-DRExit1-DR– a temporary state. a temporary state. – TMS held high – the TMS held high – the

controller enters Update-controller enters Update-DR which terminates the DR which terminates the scanning process.scanning process.

– The current instruction The current instruction does not change in this does not change in this state.state.

The TAP state machine

Pause-DRPause-DR– Allows shifting of the Allows shifting of the

Instruction Register to be Instruction Register to be temporarily halted.temporarily halted.

– The current instruction does The current instruction does not change in this state.not change in this state.

DR branchDR branch

Page 29: JTAG environment Full Chip testing

29 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

Exit2-DRExit2-DR– a temporary state. a temporary state. – TMS held high – the TMS held high – the

controller enters Update-controller enters Update-DR which terminates the DR which terminates the scanning process.scanning process.

– The current instruction The current instruction does not change in this does not change in this state.state.

The TAP state machine

DR branchDR branch

Page 30: JTAG environment Full Chip testing

30 JTAG course - Dolev Eyal

The TAP state machineThe TAP state machine

The TAP state machine

Update-DRUpdate-DR– Data from the shift register Data from the shift register

path is loaded into the path is loaded into the latched parallel outputs of latched parallel outputs of the selected Data Register the selected Data Register (if applicable) on the falling (if applicable) on the falling edge of TCK.edge of TCK.

– This (and Test-Logic-This (and Test-Logic-Reset) are the only Reset) are the only controller states in which controller states in which the latched paralleled the latched paralleled outputs of a data register outputs of a data register can change.can change.

DR branchDR branch

Page 31: JTAG environment Full Chip testing

31 JTAG course - Dolev Eyal

Test logic operationTest logic operation

Instruction scan

Test-Logic-reset

Run-Test/Idle

Select-DR-Scan

Select-IR-Scan

Capture-IR

Shift-IR

Exit1-IR

Pause-IR

Exit2-IR

Update-IR

Page 32: JTAG environment Full Chip testing

32 JTAG course - Dolev Eyal

TAP registersTAP registers

Allows an instruction to be shifted into the design.Allows an instruction to be shifted into the design. The instruction is used to select the test to be The instruction is used to select the test to be

performed or the test data register to be accessed or performed or the test data register to be accessed or both. both.

The instruction registerThe instruction register

Actual Instruction Register

Shift Register

Ir_ltch_out

Shift Register

(MSB) (LSB)

TDOTDI

Cupture_irShift_irTst_lgc_rst

Update_irTst_lgc_rst

Page 33: JTAG environment Full Chip testing

33 JTAG course - Dolev Eyal

TAP registersTAP registers

This register consists of 6 bit shift register and the This register consists of 6 bit shift register and the actual instruction register.actual instruction register.

The parallel output of the TAP instruction register goes The parallel output of the TAP instruction register goes to the TAP instruction decoder .to the TAP instruction decoder .

The instruction registerThe instruction register

(a) Capture-IR (b) Shift-IR (c) Update-IR

Operation of the TAP Instruction registerOperation of the TAP Instruction register

Page 34: JTAG environment Full Chip testing

34 JTAG course - Dolev Eyal

TAP registersTAP registers

In Capture-IR, the shift register portion of the In Capture-IR, the shift register portion of the instruction register is loaded in parallel with the fixed instruction register is loaded in parallel with the fixed value “NOP”.value “NOP”.

In Shift-IR, the shift register portion of the instruction In Shift-IR, the shift register portion of the instruction register forms a serial data path between TDI and TDO.register forms a serial data path between TDI and TDO.

In Update-IR, the shift register contents are latched in In Update-IR, the shift register contents are latched in parallel into the actual instruction register. parallel into the actual instruction register.

The instruction registerThe instruction register

Page 35: JTAG environment Full Chip testing

35 JTAG course - Dolev Eyal

The chip TopThe chip Top

Every Chip has a Top layer which contains all it’s IO Every Chip has a Top layer which contains all it’s IO pins (functional and testing)pins (functional and testing)

The IO pins change their functionality from one feature The IO pins change their functionality from one feature to another. to another.

In order to test the full chip we wrap this top with our In order to test the full chip we wrap this top with our own new top – AV top. Where we can control the JTAG own new top – AV top. Where we can control the JTAG IO pins and check the other IO pinsIO pins and check the other IO pins

Page 36: JTAG environment Full Chip testing

36 JTAG course - Dolev Eyal

AV TopAV Top

The full chip top

PERIPHERYTHERMAL

SensorCCM

COMMONP

CI

CLOCK_RESET_COMM

GIO

DNW_MNG

GHOST

FLEEP

RMII Pass

Through

LAN_PORT

MACPHY_GLUE

CAR ARBELCLK_WRAP

EEPROM LOGIC STAT REGS

TARGET LOGIC

MAC CORERX FILTER

DMATX

LED STRECH

XTX

DMA TXMAC_TX

MAC_RXDMA RX

CB

GHOST i/f

Target i/f

GHOST i/f

MNG-LAN

Target i/f

FLEEP i/f

FLEEP i/f

CB

IO RING GLUE (DFT,Jtag,BSCAN) IO Buff

ARCsubsys

DMARX

MNG-HOST

PBCBQ

CB HDR

CB HDR

LAN_PORT

MACPHY_GLUE

CARclk

EEPROM LOGIC STAT REGS

TARGET LOGIC

MAC CORERX FILTER

DMATX

LED STRECH

XTX

DMA TXMAC_TX

MAC_RXDMA RX

CB

CB

DMARX

PBCBQ

CB HDR

CB HDR

MNG-HOST

MNG-LAN

SGMII

SGMII

ULT_WRAP

PHY

PHY

SerDes /SGMII

SerDes /SGMII

AV TopAV Top

TCKTMSTDITDO

IO pins

Page 37: JTAG environment Full Chip testing

37 JTAG course - Dolev Eyal

Chip external dft environmentChip external dft environment

Chip_dftChip_dft

Jtag_stubJtag_stub dft_utilsdft_utils dft_strapsdft_straps dft_testsdft_testsdft_signalsdft_signals

basic dft basic dft operations:operations:

Writing a Writing a JTAG JTAG

command, command, reading the reading the output …output …

Different Different utils utils

neededneeded

Strap utils: Strap utils: powering powering

up, z up, z straps, straps, clock clock

bypassing bypassing ……

Connecting Connecting the signals the signals threw Hw threw Hw

pathspaths

The tests!! The tests!! Block/FC Block/FC

teststests

Page 38: JTAG environment Full Chip testing

38 JTAG course - Dolev Eyal

Creating the patternsCreating the patterns

After testing and approving the validity of the design on After testing and approving the validity of the design on RTL we create patterns of 1 & 0 for each pin in the RTL we create patterns of 1 & 0 for each pin in the proper time.proper time.

We use the patterns for the Gate level testing and the We use the patterns for the Gate level testing and the silicon debug.silicon debug.

TDI: 800ns – 1 850ns – 1 870ns – 0

….

Page 39: JTAG environment Full Chip testing

39 JTAG course - Dolev Eyal

Testing the Gate level & siliconTesting the Gate level & silicon

Using the JTAG device along with the patterns as Using the JTAG device along with the patterns as inputs for the 4 (or 5) access ports for before and after inputs for the 4 (or 5) access ports for before and after silicon validation.silicon validation.

Page 40: JTAG environment Full Chip testing

40 JTAG course - Dolev Eyal

Questions??Questions??