SLEEK SERIAL INTERFACE FOR A WRAPPER BOUNDARY REGISTER (DEVICE AND METHOD)
20190170821 ยท 2019-06-06
Inventors
Cpc classification
G01R31/31703
PHYSICS
G01R31/31727
PHYSICS
G01R31/31725
PHYSICS
G01R31/318558
PHYSICS
International classification
Abstract
Invention achieves reduced amount of terminals to control a test mode, test function and test results of a given standard for at least one wrapped core (40,100) (a core 100 surrounded by a wrapper boundary register (40) as wrapper chain). Test flexibility and speed of testing the core (100) are also improved. Suggested serial test interface comprises a state machine (210) and an instruction register (213) for wrapper-instructions, supplied through a single physical data input terminal (1a). The state machine (210) reads wrapper-instructions held by the instruction register (213) and generates on-chip wrapper control signals (30) of the given standard for the wrapper boundary register (40) of the core (100). At least one wrapper-instruction read from the Instruction Register (213) provides at least one wrapper control signal (30). The single input terminal (1a) also supplies an input test signal SDI for coupling to the wrapper boundary register (40) as on chip logical input test signal WSI. A single output terminal (1b) returns an output test signal SDO from an output WSO of the wrapper boundary register (40). Invention may apply to IEEE 1500 control signals.
Claims
1. Serially operable interface device on a chip (1), the interface device (201) for generating control signals for a Wrapper Boundary Register (40,WBR) on chip (1) level, said wrapper control signals (30) complying with a given standard for testing a core device (100), said core device provided on the chip (1) as well and having the WBR, the serial interface device (201) comprising one physical Data Input (2a) and one physical Data Output (2b) and no more than the input (SDI) for and the output (SDO) of the serial interface device (201) are coupled to a respective terminal (la, lb) on said chip (1) containing the interface device (201) and the core device (100) with the Wrapper Boundary Register (40); and a physical Clock Input (2c) that is coupled to a third terminal (1c) on said chip (1) on chip level for supplying a clock signal (SCLK) to the serial interface device (201); the serial interface device (201) further comprising an Address Register (214) for holding a received address for comparison to a device-address (214a); an Instruction Register (213) to receive and hold wrapper-instructions supplied through the terminal (1a) supplying the Data Input (SDI) on said chip (1) a control logic (209) including a state machine (210) for handling transactions from an external master (10) that supplies logical data input (SDI) to physical data input terminal (1a) and the serial interface device (201) returns logical data output (SDO) to said physical data output terminal (2b) and for said external master (10) from the WBR (40) of the core device (100); wherein the state machine (210) is configured to provide the wrapper control signals (30) of the given standard for the core device (100) having the Wrapper Boundary Register (40;WBR); read an address held by the Address Register (214) and compare it to the device-address (214a); read a currently active wrapper-instruction, held by the Instruction Register (213), send (logic) output test (SDO) data, as taken from the Wrapper Boundary Register (40,WBR).
2. Device of one of previous claims, further having a counter (211) to control a data transmission size in certain states (READ_DEV_ADR, READ_INSTRUCTION, SEND_IDCODE, READ_DATA and READ_UPDATE) of the state machine (210), the counter receiving the clock signal (SCLK) supplied to the serial interface device.
3. Device of one of previous claims, the state machine (210) handling transactions between the external master (10) and itself, wherein the state machine (210) is capable to generate an additional Wrapper Boundary Register control signal (WT), e.g. WCH_RESET, to and for the Wrapper Boundary register (WBR,40) of the core device (100).
4. Device of one of previous claims, wherein the State Machine (210) is configured and capable to generate all Wrapper Boundary Register control signals (30; CW, SW, UW, WN) of the given standard, preferably CaptureWR, ShiftWR, UpdateWR and WRSTN of the IEEE 1500 standard, the SelectWIR signal of the IEEE 1500 standard not being a WBR control signal.
5. Device of one of previous claims 1 to 3, the state machine (210) generates at least some Wrapper Boundary Register control signals (30) comprising one or more of the control signals for the IEEE 1500 Wrapper Boundary Register (WBR).
6. Device of one of previous claims, wherein an output signal (WSO) of the Wrapper Boundary Register (40;WBR) is supplied to the serial interface device (201) or directly to the terminal (2b) of the physical Data Output (SDO).
7. Device of one of previous claims, wherein the logical data input signal (SDI) at physical Data Input Terminal (1a) is supplied, preferably directly, to the WBR (40) as Input Signal (WSI).
8. Device of one of previous claims, wherein the clock signal (SCLK) from the third terminal (1c) is also supplied, preferably directly, to the WBR (40) as clock signal (WRCK).
9. Device of one of previous claims, wherein the clock signal (SCLK) from the third terminal (1c) is supplied to the serial interface device (201), preferably therewith to the control logic (209) containing the state machine (210), the Address Register (214) and the Instruction Register (213).
10. Device of one of previous claims, wherein the logical data input signal (SDI) at physical Data Input Terminal (1a) is supplied to the Address Register (214), the Instruction Register (213) and to the control logic (209) containing the state machine (210), but not to the state machine (210).
11. Device of one of previous claims, wherein the coupling is an electrical conductive connection.
12. Device of one of previous claims, further having an Identification Register (215) containing an identification-code (215a) of the core device (100).
13. Device of one of previous claims, the serial interface device (201) further having an additional device-address source, supplying a device-address (214a) of a corresponding core device (100a) associated with the interface device, when multiple cores (100a, 100b) are on the chip (1) and each core has an own dedicated serial interface device (201a, 201b).
14. Device of one of previous claims, further having a counter (211), supplied with the clock signal (SCLK) through the third terminal (1c) to control the changes of states (510, 520, 525, 530, 550) of the state machine (210).
15. Serially operable interface device on a chip (1), the interface device (201) for generating control signals for a Wrapper Boundary Register (40;WBR) on chip (1,1*) level, said wrapper control signals (30) complying with a given standard for testing a core device (100), said core device provided on the chip (1) as well and having the WBR (40), the chip (1;1*) comprising one physical Data Input (1a) for test purposes and one physical Data Output (1b) for test purposes and no more than an input and an output terminal of the serial interface device (201) are coupled to the terminals (1a, 1b) on said chip (1) containing the interface device (201) and the core device (100) with the WBR; and a physical Clock Input (1c) for test purposes that is coupled to a third terminal (1c) on said chip (1;1*) on chip level for supplying a clock signal (SCLK) to the serial interface device (201); the serial interface device (201) on chip further comprising an Instruction Register (213) to receive and hold wrapper-instructions supplied through the physical data input terminal (1a); wherein the state machine (210) is configured to read a currently active wrapper-instruction, as held by the Instruction Register (213); generate and provide on-chip wrapper control signals (30) of the given standard for the core device (100) having the Wrapper Boundary Register (40;WBR) according to the wrapper-instruction read from the Instruction Register (213).
16. Device of one of previous claims, the serial interface device (201) further having an Address Register (214) to receive and hold an address supplied through the physical data input terminal (1a) for comparison with an individual device-address (214a) of this serial interface device (201a) and a corresponding core (100a), when multiple serial interface devices (201a,201b,201c) each attributed to a corresponding core (100a,100b,100c) are present on the chip (1*).
17. Device of one of previous claims, wherein the control logic (209) has access to an Address Register (214), being configured for holding a received address, the control logic (209) being configured for reading the address as held by the Address Register (214).
18. Device of one of previous claims, further having a counter (211), supplied with the clock signal (SCLK) through the third terminal (1c) to control at least some changes of states (510, 520, 525, 530, 550) of the state machine (210).
19. Device of previous claim, wherein at least some changes of states of the state machine (210) depend at least from a counter value of the counter (211) and a wrapper-instruction as read from the Instruction Register (213), the Instruction Register (213) having received the wrapper-instruction through the physical data input terminal (1a).
20. Device of one of previous claims, further having an Identification Register (215) for holding an ID-Code (215a) identifying the core device (100).
21. Device of previous claim, the ID-Code of the Identification Register (215) identifying the core device (100) is sent by control of the state machine (210) and a control logic (209) in the serial test interface (201) to the single output terminal (1b) to the external master (10), upon an corresponding wrapper-instruction as read from the Instruction Register (213).
22. Device of previous claim, the control logic (209) in the serial test interface (201) acts as gateway to the single output terminal (1b) for supplying eitherbut not both at the same timethe ID-Code (215a) of the Identification Register (215) or the logical output test signal (WSO) returning from the WBR (40) of the core device (100) to the external master (10) by control of the control logic (209) upon an corresponding wrapper-instruction as read from the Instruction Register (213).
23. Device of one of previous claims, further having a power-on detector (20) for supplying a power on reset signal to the serial test interface (201) and the Wrapper Boundary Register (40) of the core (100) for common initialisation.
24. Device of one of previous claims, the clock signal (SCLK) supplied through the third terminal (1c) is supplied to the WBR (40) and the serial test interface (201).
25. Test method of testing wrapped cores (100a, 100b, 100c) within a System-on-Chip (SoC;1*), wherein each core of the wrapped cores (100a, 100b, 100c) having an associated serial interface device (201a, 201b, 201c); each interface device having a unique device address (214a, 214b, 214c), not being the same, although a structure of all serial interface devices (201a, 201b, 201c) is the same.
26. Method of claim 25, each serial interface device (201a, 201b, 201c) further having an Address Register (214), receiving and holding an address supplied through a test input terminal (1a), each serial interface device comparing the supplied address with an individual device-address as the unique device address (214a) of each serial interface device (201a) the associated wrapped core (100a) present on the chip (1,1*), and that serial interface device (201a, 201b, 201c) is elected whose device-address matches the supplied address held by the Address Register (214).
27. Method of claim 25, each serial interface device (201a, 201b, 201c) having the structure according to one of claims 1 to 24.
28. Method to skip a state of a state machine (210) in a selected serial interface device (201), the state machine (210) having a state (510) of reading a device-address (READ DEV ADR), the method comprising . . . the serial interface device (201) receives a device-address having a first bit (FIN) as a FIN-bit; a value of the received FIN-bit as held in a corresponding FIN-register determines, whether multiple transactions are implemented for the selected interface device (201), if the FIN-register holds ONE (=logical 1), further instructions follow for the selected interface device (201), and in a next transaction reading the or a new device-address is skipped.
29. Method of claim 28, each serial interface device (201) having a structure according to one of claims 1 to 24.
30. Method of generating IEEE 1500 Wrapper Boundary Register (WBR) control signals (30) by a state machine (210) having several states, the state machine being part of a functional slave (201) in a System on Chip (SoC) configuration, the method comprising the steps generation of WBR control signal CaptureWR by the state machine (210) in a state READ_DATA originating from a currently active wrapper instruction in an Instruction Register (213) and a counting content of a counter (211) of the slave (201); generation of WBR control signal ShiftWR by the state machine (210) in a state READ SHIFT based on the currently active wrapper instruction in the Instruction Register (213) and the value of a STOP_SHIFT FLAG; generation of WBR control signal UpdateWR by the state machine (210) in a state READ_UPDATE based on the currently active wrapper instruction in the Instruction Register (213) and a counting contents of the counter register (211); generation of active-low wrapper reset signal WRSTN by the state machine (210) upon completion of a READ_INSTRUCTION state in an IDLE state, whenever the Instruction Register (213) contains a WS_RESET instruction.
31. Method to generate additional Wrapper Boundary Register (WBR) control signals (30) by a state machine (210) on a chip (1,1*), the method comprising the steps of generation of at least one additional WBR control signal by the state machine (210) upon completion of a READ_INSTRUCTION state, in an IDLE state, whenever the Instruction Register (213) contains an additionally defined wrapper instruction with a non-data-transfer function; defining one additional signal (WCH RESET), and thereby the additional signal sets back or resets one or more access signals in the Wrapper Boundary Register (40).
32. Layout for a serial test interface comprising a layout for an Instruction Register (213) to receive and hold wrapper-instructions supplied through a representation of a physical data input terminal (2a) and a layout of a state machine (210) for handling transactions supplied thereto, wherein the state machine is layouted to read a wrapper-instruction from the Instruction Register (213) and generate and provide wrapper control signals (30) of the given standard for a core device (100) having the Wrapper Boundary Register (40) according to the wrapper-instruction read from the Instruction Register; and the representation of the single input terminal (2a) is provided to supply an input test signal (SDI) coupled to the Wrapper Boundary Register (40) as logical input test signal (WSI); a representation of a single output terminal (2b) is provided to return an output test signal (SDO) coupled (209) to the representation of the output terminal (2b) from an output (WSO) of the Wrapper Boundary Register (40) of the core device (100).
1. A serially-operable interface device on a chip (1), the interface device (201) for generating control signals for a Wrapper Boundary Register (40, WBR) on chip (1) level, said wrapper control signals (30) complying with a given standard for testing a core device (100), said core device provided on the chip (1) as well and having the WBR, the serial interface device (201) comprising: one physical Data Input (2a) and one physical Data Output (2b) and no more than the input (SDI) for and the output (SDO) of the serial interface device (201) are coupled to a respective terminal (1a, 1b) on said chip (1) containing the interface device (201) and the core device (100) with the Wrapper Boundary Register (40); and a physical Clock Input (2c) that is coupled to a third terminal (1c) on said chip (1) on chip level for supplying a clock signal (SCLK) to the serial interface device (201); the serial interface device (201) further comprising: an Address Register (214) for holding a received address for comparison to a device-address (214a); an Instruction Register (213) to receive and hold wrapper-instructions supplied through the terminal (1a) supplying the Data Input (SDI) on said chip (1); a control logic (209) including a state machine (210) for handling transactions from an external master (10) that supplies logical data input (SDI) to physical data input terminal (1a) and the serial interface device (201) returns logical data output (SDO) to said physical data output terminal (2b) and for said external master (10) from the WBR (40) of the core device (100); wherein the state machine (210) is configured to: provide the wrapper control signals (30) of the given standard for the core device (100) having the Wrapper Boundary Register (40;WBR); read an address held by the Address Register (214) and compare it to the device-address (214a); read a currently active wrapper-instruction, held by the Instruction Register (213); and send (logic) output test (SDO) data, as taken from the Wrapper Boundary Register (40,WBR).
2. The device of claim 1, further having a counter (211) to control a data transmission size in certain states (READ_DEV_ADR, READ_INSTRUCTION, SEND_IDCODE, READ_DATA and READ_UPDATE) of the state machine (210), the counter receiving the clock signal (SCLK) supplied to the serial interface device.
3. The device of claim 1, the state machine (210) handling transactions between the external master (10) and itself, wherein the state machine (210) is capable to generate an additional Wrapper Boundary Register control signal (WT), e.g. WCH_RESET, to and for the Wrapper Boundary register (WBR,40) of the core device (100).
4. The device of claim 1, wherein the State Machine (210) is configured and capable to generate all Wrapper Boundary Register control signals (30; CW, SW, UW, WN) of the given standard selected from the group consisting of CaptureWR, ShiftWR, UpdateWR and WRSTN of the IEEE 1500 standard, the SelectWIR signal of the IEEE 1500 standard not being a WBR control signal.
5. The device of claim 1, the state machine (210) generates at least some Wrapper Boundary Register control signals (30) comprising one or more of the control signals for the IEEE 1500 Wrapper Boundary Register (WBR).
6. The device of claim 1, wherein an output signal (WSO) of the Wrapper Boundary Register (40;WBR) is supplied to the serial interface device (201) or directly to the terminal (2b) of the physical Data Output (SDO).
7. The device of claim 1, wherein the logical data input signal (SDI) at physical Data Input Terminal (1a) is supplied to the WBR (40) as Input Signal (WSI).
8. The device of claim 1, wherein the clock signal (SCLK) from the third terminal (1c) is also supplied to the WBR (40) as clock signal (WRCK).
9. The device of claim 1, wherein the clock signal (SCLK) from the third terminal (1c) is supplied to the serial interface device (201) to the control logic (209) containing the state machine (210), the Address Register (214) and the Instruction Register (213).
10. The device of claim 1, wherein the logical data input signal (SDI) at physical Data Input Terminal (1a) is supplied to the Address Register (214), the Instruction Register (213) and to the control logic (209) containing the state machine (210), but not to the state machine (210).
11. The device of claim 1, wherein the coupling is an electrical conductive connection.
12. The device of claim 1, further having an Identification Register (215) containing an identification-code (215a) of the core device (100).
13. The device of claim 1, the serial interface device (201) further having an additional device-address source, supplying a device-address (214a) of a corresponding core device (100a) associated with the interface device, when multiple cores (100a, 100b) are on the chip (1) and each core has an own dedicated serial interface device (201a, 201b).
14. The device of claim 1, further having a counter (211), supplied with the clock signal (SCLK) through the third terminal (1c) to control the changes of states (510, 520, 525, 530, 550) of the state machine (210).
15. A serially-operable interface device on a chip (1), the interface device (201) for generating control signals for a Wrapper Boundary Register (40;WBR) on chip (1,1*) level, said wrapper control signals (30) complying with a given standard for testing a core device (100), said core device provided on the chip (1) as well and having the WBR (40), the chip (1;1*) comprising: one physical Data Input (1a) for test purposes and one physical Data Output (1b) for test purposes and no more than an input and an output terminal of the serial interface device (201) are coupled to the terminals (1a, 1b) on said chip (1) containing the interface device (201) and the core device (100) with the WBR; and a physical Clock Input (1c) for test purposes that is coupled to a third terminal (1c) on said chip (1;1*) on chip level for supplying a clock signal (SCLK) to the serial interface device (201); the serial interface device (201) on chip further comprising an Instruction Register (213) to receive and hold wrapper-instructions supplied through the physical data input terminal (1a); wherein the state machine (210) is configured to: read a currently active wrapper-instruction, as held by the Instruction Register (213); and generate and provide on-chip wrapper control signals (30) of the given standard for the core device (100) having the Wrapper Boundary Register (40;WBR) according to the wrapper-instruction read from the Instruction Register (213).
16. The device of claim 15, the serial interface device (201) further having an Address Register (214) to receive and hold an address supplied through the physical data input terminal (1a) for comparison with an individual device-address (214a) of this serial interface device (201a) and a corresponding core (100a), when multiple serial interface devices (201a,201b,201c) each attributed to a corresponding core (100a,100b,100c) are present on the chip (1*).
17. The device of claim 15, wherein the control logic (209) has access to an Address Register (214), being configured for holding a received address, the control logic (209) being configured for reading the address as held by the Address Register (214).
18. The device of claim 15, further having a counter (211), supplied with the clock signal (SCLK) through the third terminal (1c) to control at least some changes of states (510, 520, 525, 530, 550) of the state machine (210).
19. The device of claim 18, wherein at least some changes of states of the state machine (210) depend at least from a counter value of the counter (211) and a wrapper-instruction as read from the Instruction Register (213), the Instruction Register (213) having received the wrapper-instruction through the physical data input terminal (1a).
20. The device of claim 15, further having an Identification Register (215) for holding an ID-Code (215a) identifying the core device (100).
21. The device of claim 20, the ID-Code of the Identification Register (215) identifying the core device (100) is sent by control of the state machine (210) and a control logic (209) in the serial interface device (201) to the single output terminal (1b) to the external master (10), upon an corresponding wrapper-instruction as read from the Instruction Register (213).
22. The device of claim 21, the control logic (209) in the serial interface device (201) acts as gateway to the single output terminal (1b) for supplying eitherbut not both at the same timethe ID-Code (215a) of the Identification Register (215) or the logical output test signal (WSO) returning from the WBR (40) of the core device (100) to the external master (10) by control of the control logic (209) upon an corresponding wrapper-instruction as read from the Instruction Register (213).
23. The device of claim 15, further having a power-on detector (20) for supplying a power on reset signal to the serial test interface device (201) and the Wrapper Boundary Register (40) of the core (100) for common initialization.
24. The device of claim 15, the clock signal (SCLK) supplied through the third terminal (1c) is supplied to the WBR (40) and the serial interface device (201).
25. A device for testing wrapped cores (100a, 100b, 100c) within a System-on-Chip (SoC;1*), wherein: each core of the wrapped cores comprises an associated serial interface device (201a, 201b, 201c) that is directly and individually controlled by a single off-chip test master; each interface device having a unique device address (214a, 214b, 214c) and the same; and wherein the off-chip test master operates in parallel with or with the interface devices as multiple slaves, and elects from said multiple slaves one thereof by sending a device address of a targeted slave.
26. The device of claim 25, each serial interface device (201a, 201b, 201c) further having an Address Register (214), receiving and holding an address supplied through a test input terminal (1a), each serial interface device comparing the supplied address with an individual device-address as the unique device address (214a) of each serial interface device (201a) the associated wrapped core (100a) present on the chip (1,1*), and that serial interface device (201a, 201b, 201c) is elected whose device-address matches the supplied address held by the Address Register (214).
27.-44. (canceled)
Description
[0059] Examples are shown to enable the inventions as claimed. They are not to limit the claimed inventions, but to enable them to the Fachmann (the man skilled in the art of testing chips and wrapped cores).
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081] Only two signals (SDO and SDI) and one clock signal (SCLK) have to be connected to corresponding test terminals at IC level 1. The Wrapper Boundary Register 40 control signals 30 are: CaptureWR, ShiftWR, UpdateWR and WRSTN and are generated by the state machine 210 of the serial test interface 201. These wrapper control signals 30 operate the IEEE 1500 wrapper 40 in test mode.
[0082] Additional Wrapper Boundary Register control signals, e.g. WCH_RESET may also be generated by the state machine 210.
[0083]
[0084] The core 100 is equipped with one or multiple wrapper chains across all IOs to achieve full testability. The Wrapper Boundary Register (WBR) 40 is the register through which test data stimuli are applied via SDI as WSI.
[0085] Address Register 214 is loaded with an address and Instruction Register 213 is loaded with a wrapper instruction, via the SDI terminal 1a and 2a (the terminal of the SDI signal). An ID-Code 215a can be shifted out through SDO, wherefore a Control Logic 209 is provided that enables either the output WSO of the Wrapper Boundary Register 40 to the SDO output terminal 1b or the ID-code 215a as read from the register 215 to the SDO output terminalthis upon control of the wrapper instruction driven state machine 210.
[0086] The slave 201 (with the core 100) may have an m-bit, e.g. 16 bit chip ID (ID-Code 215a) that may contain information of the type and structure of the core 100. The length of this identification is longer than each of the following register lengths of counter 211, address register 214 and Instruction Register 213.
[0087] The bit transfer is not limited to 8 bit words. All samples are illustrative only. Other lengths of bits of registers and words may apply.
[0088] The device-address 214a may be n-bit long, e.g. 4 bit to 7 bit long and is sent after the 1 bit FIN (Following Instruction), see
[0089] The Slave 201 has a 4 bit Instruction Register 213 used to load and store wrapper instructions, e.g. IEEE 1500 Standard instructions, communicated through terminal 1a.
[0090] The Serial Test Interface 201 and its terminals 1a, 1b, 1c of the IC is to access to one or multiple IEEE 1500 wrapper cell chains surrounding a core 100 within an SoC 1.
[0091] The Serial Test Interface 201 reduces the pin count while retaining a high clock frequency. Each core 100 is equipped with an own slave according to
[0092] The sleek serial interface SSI has only three logic signals:
[0093] SCLK serial clock
[0094] SDI serial data in
[0095] SDO serial data out.
[0096] The associated terminals operate with a single master 10 outside the chip 1 and with one or more slave devices 201a, 201b, 201c on the chip. The master 10 selects the desired slave by sending a device-address that corresponds to the e.g. hard-coded STI device address 214a.
[0097] The slave(s) 201 have no external reset signal. Therefore, a power on reset 20 (POR) is provided to allow an initialization of the slave(s) and to avoid damage to core 100 (or to COREs 100a, 100b and 100c).
[0098] The SSI protocol used is as follows, cf.
[0099] The master 10 (outside the Layout or chip) issues a RESET/RUN sequence.
[0100] The master sends 8 bit: FIN and the 7 bit slave address, see
[0101] All slaves 201a, 201b, . . . receive and compare the sent address as held by the Address Register 214 with their own device address 214a (supplied to the serial test interface 201 from a source, such as a register or hard coded in a layout).
[0102] This slave 201a is selected if the sent address matches his device-address 201a in step 510. For example the device 201a (having state machine 210a) has device address 214a. When the address supplied through the SDI input terminal 1a to the Address Register 214 matches the address 214a, this serial test interface 201a is selected and receives the wrapper commands into its Instruction Register 213 and connects output test signals from the attributed core 100a and its Wrapper Boundary Register 40a (40 as named for core 100a with serial test interface 201a). The other serial test interface 201b would have 214b as device-address and attributed core 100b having a wrapper chain 40b. Same for serial test interface 201c.
[0103] The leading FIN bit determines whether multiple transactions are implemented for the selected slave. If e.g. FIN=1, further instructions follow for the selected slave, see
[0104] If the address doesn't match in step 510 and FIN=0, each non-selected slave waits for the Reset/Run-sequence and after that for a new slave address in step 510 (RUN=1, FIN=0).
[0105] If the address doesn't match and FIN=1, each non-selected slave waits until the master 10 sends the WS_RESET instruction (WRSTN) through SDI input terminal 1a from master output terminal 10a.
[0106] The selected slave proceeds to READ 520, upon RUN=1, FIN=1.
[0107] WS Instruction (e.g. 4 bit) follows e.g. a standard instruction as WS_EXTEST, WS_ID or WS_PRELOAD.
[0108] Data bits DATA for the instruction INSTR [3:0] follow, e.g. shifting data of Wrapper IO [length IO)) and shift-stop sequence, if necessary for an instruction, see
[0109] To terminate the transaction the master 10 sends the RESET sequence. After the RESET/RUN sequence a new transaction begins with
[0110] if FIN=0 . . . a new slave address
[0111] if FIN=1 . . . the 4-bit instruction
[0112] To terminate a transaction with FIN=1 and to deselect the slave, the master sends the WS_RESET instruction to generate WRSTN (see
[0113] The connection of the multiple serial test interfaces (STI) at IC-level of this IC 1* as illustrated in
[0114] Each core 100a, 100b and 100c has its own STI 201a, 201b and 201c. Each STI (serial test interface) is directly controlled by the master 10. The master is located outside the chip or layout, e.g. as testing intelligence eTM.
[0115] The SDO data lines are tied together and fed back to the master 10. The SDO outputs 2b of the unselected slaves on the chip of
[0116]
[0117] If multiple Wrapper Boundary Register chains for the core are implemented, the WSO data lines 31 are switched through logic 209 to the output 2b and 1b carrying the signal SDO.
[0118] The output values change on the negative (falling or trailing) edge of SCLK.
[0119] The serial interface device 201 has a 4 bit instruction register 213. The following WS-Instructions are used to access the core 100 across the serial test interface STI . . .
TABLE-US-00001 Instruction Name Explanation WS_EXTEST used to apply data to all IP pins WS_ID used to scan out the ID code WS_PRELOAD used to preload the chain WS_SHIFTUPDATE only SHIFT and Update WS_RESET used to generate WRSTN (as internal signal) WS_BYPASS put the wrapper into a bypass configuration
[0120] Some further instructions are explained in the following table.
TABLE-US-00002 Instruction Name Explanation WS_CAPTURE only Capture WS_WCHRE SET only wrapper chain reset for selected wrapper cells, used to generate WCH_RESET (as internal signal) WS_TACC use to measure access time (delay time testing)
[0121]
[0129] The state machine 210 contains seven states. State transitions are controlled by a clock edge of clock SCLK (e.g. by the negative edge of the clock). The power-on reset POR and the internal RESET signal return the state machine 210 to state IDLE. All transactions start with the RUN condition. The power-on reset POR resets all Flip-Flops (not shown).
[0130] The state changes (or changes of states] are based on . . . [0131] a counter value [0132] the currently active wrapper instruction (INSTR==/INSTR!=) [0133] FIN=1 following instructions for the selected device (state: IDLE) [0134] device-address=valid (or invalid) [0135] In state 510: READ_DEV_ADR [0136] WBYPASS_SEL=1 bypass path between SDI and SDO (state 520: [0137] READ_INSTRUCTION), e.g. for wrapper instruction (=WI) [0138] WS_RESET or WS_WCHRESET [0139] STOP_SHIFT=1 shift operation was completed (state 540: READ_SHIFT)
[0140]
[0141] The data on the SDI terminal must be stable during the HIGH period of the clock SCLK. The LOW or HIGH state of the data signal can only change when the clock signal is low. The bits are placed on the SDI terminal 2a starting with the MSB (Most Significant Bit). According to
[0142]
[0143] The internal RESET-Signal terminates the actual transaction. The first HIGH to LOW transition on the SDI signal while SCLK is high after RESET starts a new data transfer. The beginning of a new data transfer is only possible after the RESET/RUN sequence. The RESET/RUN sequence has no influence to the wrapper chains. After the RESET/RUN sequence the master 10 sends a new address for another serial test interface (slave) or a new wrapper-instruction for the Instruction Register 213.
[0144]
[0145] All slaves 201 of
[0146] WRSTN active low forces its corresponding slave into a disabled state. If FIN=1, only the WRSTN signal can terminate transactions for its selected slave. After WRSTN is active low and following the RESET/RUN-sequence the data transfer is started with a new device-address.
[0147] WRSTN resets the Instruction Register 213 and puts the WBR 40 into its normal system mode (reset the wrapper-chain cells). If FIN =1 the instruction WS_RESET will be evaluated by all slaves that are on the chip, thus for example slaves 201a, 201b and 201c of
[0148] A problem of shift operations is that the length of the wrapper chains is not fixed. The slave needs information to terminate the shift operation of the Wrapper chain cells. The amelioration is a stop-shift.
[0149] The master 10 sends a stop-shift sequence to the Slave to finish the shifting of data. A disadvantage might be that stop-shift is dependent from the value of the last SDI bit.
[0150]
[0151]
[0152]
[0153] A transaction begins with the RUN sequence. After the 1 bit FIN and 7 bit device-address follows the 4 bit WS-Instruction. DATA are sent according the WS-Instruction [0154] e.g. DATA for CaptureWR, ShiftWR and UpdateWR [0155] and DATA for a special operation, e.g. DATA for reading or writing an NVM (non-volatile memory) as core 100.
[0156] The size of the data to be transferred is not fixed. A transaction ends with a Reset (RES) condition.
[0157]
[0158] Only two special transactions are currently defined . . . [0159] The first one is used to generate WRSTN [0160] The second one is used to generate WCH_RESET
[0161]
[0162] The slave sends the 16 bit ID-Code 215a using the control logic 209 and gates the ID-code to SDO terminal 1b (through terminal 2b of the slave 201). The terminal 1b for the SDO output changes state at the falling edge of SCLK. The transaction ends with a reset condition (RES). The state 525 changes to IDLE state 500 after 16 bits were sent, see
[0163]
[0164]
[0165] All bit lengths given above are examples only.