jtag environment full chip testing

Post on 01-Feb-2016

70 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

1 JTAG course - Dolev Eyal

JTAG environmentJTAG environment Full Chip testingFull 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

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

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

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.

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.

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.

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.

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

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

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

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

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

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…

15 JTAG course - Dolev Eyal

The TAP controllerThe TAP controller

The TAP state machine

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

….

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.

40 JTAG course - Dolev Eyal

Questions??Questions??

top related