WO2006138583A2 - Sequential scan test of interface between ic modules that operate at different frequencies - Google Patents

Sequential scan test of interface between ic modules that operate at different frequencies Download PDF

Info

Publication number
WO2006138583A2
WO2006138583A2 PCT/US2006/023516 US2006023516W WO2006138583A2 WO 2006138583 A2 WO2006138583 A2 WO 2006138583A2 US 2006023516 W US2006023516 W US 2006023516W WO 2006138583 A2 WO2006138583 A2 WO 2006138583A2
Authority
WO
WIPO (PCT)
Prior art keywords
clock
module
clock signal
frequency
clock frequency
Prior art date
Application number
PCT/US2006/023516
Other languages
French (fr)
Other versions
WO2006138583A3 (en
Inventor
Naga Satya Srikanth Puvvada
Nikila Krishnamoorthy
Sandeep Jain
Jais Abraham
Original Assignee
Texas Instruments Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/160,235 external-priority patent/US7421634B2/en
Application filed by Texas Instruments Incorporated filed Critical Texas Instruments Incorporated
Publication of WO2006138583A2 publication Critical patent/WO2006138583A2/en
Publication of WO2006138583A3 publication Critical patent/WO2006138583A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318594Timing aspects

Definitions

  • the invention relates to testing of integrated circuits using sequential scan based techniques, and more specifically to methods and apparatus for testing interface between modules designed to operate at different clock frequencies.
  • Sequential scan techniques are often used to test integrated circuits.
  • integrated circuits are designed to operate in functional mode or test mode.
  • functional mode elements in the integrated circuit are connected according to a desired design and to provide a desired utility for which the integrated circuit is primarily designed.
  • the integrated circuit In test mode, the integrated circuit is designed to connect various memory elements (contained in the integrated circuit) such as flip-flops in a sequence referred to as a "scan chain" (i.e., the output of one element is connected as an input to the next element).
  • the first element in the scan chain is generally designed to receive the input bits and the last element of the scan chain is designed to scan out the results of evaluation, as described below.
  • a number of bits in a particular pattern of zeros and ones are sequentially (one bit at every clock cycle) loaded (scanned in) into a scan chain through the first element.
  • the number of bits contained in the scan vector generally equals the number of memory elements in a corresponding scan chain.
  • the elements (generally the combinatorial logic) in the integrated circuit are evaluated by connecting the elements in the integrated circuit according to the connections defined for functional mode of operation.
  • the integrated circuit is operated generally for one clock cycle similar to operation in the functional mode and the corresponding duration may be termed as the evaluation phase.
  • the flip-flops Based on the scanned- in bits, the flip-flops latch the results of the functional mode operation of one clock pulse.
  • connection is then reverted back to the test mode, and the bits latched are sequentially scanned out (one bit at every clock cycle) through the last element in the scan chain.
  • the received scan out is compared with an expected scan out corresponding to the scan vector to determine the various faults within the integrated circuit.
  • Modules generally refer to distinct units, typically provided for a specific purpose. For example, a module may operate as a random access memory, and another module may be implemented to process analog signals according to desired digital signal processing (DSP) techniques.
  • DSP digital signal processing
  • interface logic which can be a combinatorial circuit (performing a logical operation), a straight metal path connecting the modules, etc.
  • a transition fault is generally said to be present if a node fails to transition from one logical value to another logical value in a desired time interval (determined by the frequency of operation of the clock).
  • the invention provides a method and apparatus for testing the interface between modules of an integrated circuit that are designed to operate at different clock frequencies.
  • methods and apparatus are provided for simultaneously (concurrently) testing two modules at different clock frequencies equaling the respective operating clock frequencies of the modules in the functional mode.
  • a first module provides an output to a second module on an interface
  • the output is transferred (during testing) from the first module to the second module on the interface at a speed equaling the speed at which the outputs would be transferred in functional mode.
  • first clock signal and a second clock signal used with the first module and second module during testing.
  • the timing of the clock signals is controlled to generate a second latch edge of the first clock signal and a second latch edge of the second clock signal to be synchronous in the evaluation phase, while controlling the clock duration to equal the inverse of the respective clock frequency just prior to the respective synchronous edge.
  • FIG. 1 is a block diagram illustrating an example environment in which several aspects of the invention can be implemented
  • FIG. 2 is a flow chart illustrating an approach for inter-module testing according to an aspect of the invention
  • FIG. 3 is a timing diagram illustrating the relationship between various signals in an embodiment of the invention.
  • FIG. 4 is a circuit diagram containing relevant portions of the modules, illustrating the manner in which inter-module testing is performed at-speed in an embodiment of the invention.
  • FIG. 5 is block diagram illustrating manner in which n th and (n+l)st clock pulses are generated corresponding to different modules designed to operate at different clock frequencies in functional mode.
  • FIG. 1 is a block diagram of illustrating an example environment in which several aspects of the invention can be implemented.
  • the block diagram is shown containing tester 110 and integrated circuit (IC) 150.
  • IC 150 in turn is shown containing modules 160 and 180, interface logic 170 and clock generation circuit 130. Each block is described below in further detail.
  • Modules 160 and 180 are designed for operation at different clock frequencies in functional mode, and are shown connected by interface logic 170.
  • Interface logic 170 is assumed to contain combinatorial logic only. The logic performs a corresponding logical operation on inputs received from module 160 and provides the resulting output to module
  • Tester 110 provides scan vectors (and various control signals) used for testing integrated circuit 150 using sequential scan techniques.
  • the scan vectors can be generated using techniques such as combinational Automatic test pattern generation (ATPG) well known in the relevant arts.
  • Scan vectors are scanned into modules 160 and 180 using different scan chains.
  • Tester 110 operates in conjunction with clock generation circuit 130 to facilitate inter-module testing of modules 160 and 180 using sequential scan techniques as described below in further detail.
  • Clock generation circuit 130 receives a source clock signal from tester 110 and generates clock signals for modules 160 and 180 to cause inter-module testing to be performed at the same clock speed as at which the data would be transferred between the modules in functional mode. Though shown in IC 150, clock generation circuit 130 can be implemented in tester 110 as well.
  • FIG. 2 is a flow chart illustrating an approach for inter-module testing according to various aspect of invention.
  • the flowchart is described with reference to FIG. 1 for illustration. However, the approaches can be implemented in other environments as well without departing from the scope and spirit of various aspects of the invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. Also, for illustration, it is assumed that a scan vectors of n-bits is used in testing.
  • the flowchart begins in step 201 and control immediately passes to step 210.
  • clock generation circuit 130 generates a first clock signal and a second clock signal, each having 2n+l clock pulses with corresponding latch edges.
  • the latch edges of n and n+1 clock cycles of the first clock signal are designed with a time interval proportionate to reciprocal value of the first clock frequency
  • the latch edges of n and n+1 clock cycles of the second clock signal are designed with a time interval proportionate to reciprocal value of the second clock frequency.
  • the (n+l)st latch edge of the first clock signal and second clock signal are synchronized.
  • the first n-1 and last n+1 latch edges may also be synchronized.
  • tester 110 In step 230, tester 110 generates scan vector(s) which would cause a transition at the output of the interface module as well as at the output of a memory element (receiving the output from the first module via the interface module) in the second module at the (n+l)st latch edge. It may be appreciated that inter-module testing entails successful transfer of a transition from one module to the other, and this transition needs to be successfully latched by the receiving module. Confirmation of both these events could require using vectors according to step 230. Such scan vectors can be generated in a known way using techniques such as combinational Automatic test pattern generation (ATPG).
  • ATPG combinational Automatic test pattern generation
  • clock generation circuit 130 (responsive to source clock received from tester 110) causes the first n bits of the scan vector to be scanned in (to integrated circuit 150).
  • the first clock signal may be used for clocking the memory elements in the first module and the second clock signal for the second module for the scan-in operation.
  • tester 110 in conjunction with clock generation circuit 130 in the described embodiment operates the two modules in evaluation phase in the (n+l)st clock pulse using the corresponding clock signals.
  • the evaluation causes IC 100 to operate as if in functional mode, but starting from the state caused by the scanning in of the N-bits, during the one clock pulse.
  • step270 the output of the memory element is compared with an expected output to determine any faults in the inter-module operation.
  • Tester 110 may scan out the n-bits and then compare with corresponding expected bits to determine the presence of any faults.
  • the flowchart ends in step 299.
  • inter-module testing is performed by having clock generation circuit 130 generate and provide the two clock signals noted above.
  • the inter-module interface is tested for "at-speed" (i.e., at the same speed as the data transfers would occur in functional mode during normal operation) performance, as described below in further detail.
  • FIG. 3 is a timing diagram illustrating the first clock signal and second cock signal generated in one embodiment.
  • the timing diagram is shown containing first clock signal 310 (clocking module 160), second clock signal 360 (clocking module 180), first scan enable 340 (specifying the transitions in/out of evaluation mode for module 160) and second scan enable 380 (for module 180).
  • the memory elements of the modules are designed for latching on the rising edges of the corresponding clock signals and also that the entire timing diagram relates to test mode.
  • the first clock signal is assumed to have twice (rational number conveniently) the frequency of the second clock signal in functional mode, and thus the inter-module testing is to be performed in a corresponding situation.
  • Scan line 340 indicates whether module 160 is operated in scan mode (on logic high) or in evaluation mode (logic low). Scan line is shown going low after the rising edge of pulse 320-n, an thus module operates in "scan in" mode until that point. Module 160 operates in scan out mode after the rising edge of scan line 340. Similarly, scan line 380 causes module 180 to operate in scan in mode until after the rising edge of pulse 370-n, and in scan out mode starting from the rising edge of pulse 370-(n+2). In between the scan in mode and scan out mode, inter-modules are tested at-speed in testing duration 303, as described below.
  • First clock signal 310 (clocking module 160) is shown containing pulses 320-1 through 320-(2n+l) and second clock signal 360 (corresponding to module 180) is shown containing pulses 370-1 through 370-(2n+l).
  • the latch (rising) edges of clock pulses 320-1 through 320-(n-l) are synchronous (occurring at same time instance/point) with corresponding edges of clock pulses 370-1 through 370-(n-l).
  • the latch edges of clock pulses 320-(n+l) through 320-(2n+l) are synchronous with corresponding edges of pulses 370-(n+l) through 370-(2n+l).
  • the time duration between two successive latch edges in scan-in and scan-out durations needs to be long enough to permit scanning in the slowest module.
  • the duration is selected to be greater than or equal to the reciprocal of the lowest clock frequency among the different clock frequencies used for modules in functional mode.
  • the rising edge of pulse 320-(n+l) is synchronous with rising edge of 370-(n+l).
  • the time duration (330) between the rising edge of pulse 320-(n) to the rising edge of 320-(n+l) is set equal to the reciprocal of functional clock frequency of module 160.
  • time duration 340 between the latch edge of pulse 370-n and the latch edge of the pulse 370-(n+l) is set to reciprocal of corresponding functional clock frequency of module 180.
  • module 160 receives two successive clock pulses ( 310-n and 310-(n+l)) at frequency equal to the frequency at which the module 160 is designed to operate in functional mode. As a result, module 160 is effectively tested at the designed frequency of operation (i.e., frequency in the functional mode during normal operation).
  • FIG. 4 is a circuit diagram illustrating manner in which interface logic 170 transferring data from module 160 and module 180 are tested at-speed.
  • the block diagram is shown containing modules 160, 180 and interface logic 170.
  • module 160 is shown containing only a single multiplexer 430 and a single flip flop 440, even though typical modules would contain many such pairs.
  • module 180 is shown containing a multiplexer 460 and a flip flop 470. Each component is described below in further detail.
  • Multiplexer 430 selects the data from path 413 or path 423 depending on the logic level of scan enable signal 340. It is assumed that path 413 is part of a scan chain and is selected on logic high of scan enable signal 340, and thus flip-flop 440 forms part of a scan chain when scan enable 340 is high. On the other hand, path 423 is assumed to be connected to the functional input as in normal/functional mode of operation. Flip-flop 440 is shown clocked by clock signal 310.
  • flip-flop 470 and multiplexer 460 The operation of flip-flop 470 and multiplexer 460 is similarly explained, except that the select path of multiplexer 460 is connected to scan enable signal 380 and flip-flop 460 is clocked by clock signal 360.
  • the scan chain input is received on path 456 and functional input on path 476.
  • Interface logic 170 receives an output from the flip flop 440 and performs various logical operations. The result of the logic operations is provided as input to multiplexer 460 on the logic 0 terminal (476). The manner in which interface logic 170 is tested at-speed, is described below with combined reference to FIG. 3.
  • the first (n-1) bits are scanned into flip flops 440 and 470 in "scan-in duration" by having both scan enable signals 340 and 380 at logic 1 during the first n-1 pulses.
  • the n th bit of the corresponding scan vector is scanned into flip flop 470 on the rising edge of 370-n pulse. It may be appreciated that the scanning has the effect of initializing both flip-flops 440 and 470 to the same logical value.
  • Second scan enable signal 380 is thereafter made logic 0, and thus flip-lop 470 is ready for operation in evaluation mode.
  • nth bit is scanned into flip-flop 440 on the rising edge of pulse 320-n.
  • scan enable 340 is set to logic low, and thus flip-flop 440 is ready for operation in evaluation mode.
  • flip-flop 470 latches the next input (resulting from the evaluation mode, which is akin to the functional mode).
  • the evaluation causes a transition at the output of flip- flop 440, which is transferred as an input to flip-flop 470 (due to the functional mode of operation). Since the rising edge of pulse 370-(n+l) is synchronous with the rising edge of pulse
  • the total duration available for evaluation and latching (the transition) in flip-flop 470 equals one clock period of clock signal 310 (or half clock period of clock signal 360) since the clock signal has been generated as such according to step 210.
  • Such time duration equals an at-speed performance during functional mode. Accordingly, interface logic 170 is tested for at speed performance, as desired.
  • FIG. 5 is block diagram illustrating manner in which various clock signals of interest can be generated.
  • the block diagram is shown containing frequency dividers 510A- 510Y, clock gating (CG) circuits 540A-540Y, OR gate 590 and phase and clock enable logic 570.
  • Frequency dividers 51 OA-Y divides a master clock (received from tester 110 in one embodiment) with respective divisor values Nl, N2, etc., to generate corresponding clock signals clockl , clock2, etc.
  • first clock signal 310 in functional mode (and thus for pulses 320-n and 320-(n+l)) is to be at a frequency of 2X, and the first clock signal 310 and second clock signal 360 otherwise need to be at frequency of 2X. Accordingly, it is assumed that Nl equals 2 and N2 equals 4.
  • phase and clock enable logic 570 controls CG circuits 540A and 540B to cause clock signal 310 to be generated as the output of OR gate 590.
  • phase and clock enable logic 570 enables CG circuit 540A in time durations pulses 320-n and 320-(n+l) are to be generated, and enables CG circuit CG 540B in other times.
  • the output of OR gate 590 represents clock signal 310. Any other desired clock signals can be generated using similar approaches.

Abstract

Integrated circuit modules (160, 180) designed to operate at different frequencies in functional (normal) mode are tested using a sequential scan based technique at the respective frequencies. In one embodiment, the interface logic (170) connecting the two modules is tested for at-speed performance (i.e., the same speed at which the interface would be operated in functional mode during normal operation).

Description

SEQUENTIAL SCAN TEST OF INTERFACE BETWEEN IC MODULES THAT OPERATE AT DIFFERENT FREQUENCIES The invention relates to testing of integrated circuits using sequential scan based techniques, and more specifically to methods and apparatus for testing interface between modules designed to operate at different clock frequencies. BACKGROUND
Sequential scan techniques are often used to test integrated circuits. According to a typical sequential scan technique, integrated circuits are designed to operate in functional mode or test mode. In functional mode, elements in the integrated circuit are connected according to a desired design and to provide a desired utility for which the integrated circuit is primarily designed.
In test mode, the integrated circuit is designed to connect various memory elements (contained in the integrated circuit) such as flip-flops in a sequence referred to as a "scan chain" (i.e., the output of one element is connected as an input to the next element). The first element in the scan chain is generally designed to receive the input bits and the last element of the scan chain is designed to scan out the results of evaluation, as described below.
In a typical scan test scenario, a number of bits in a particular pattern of zeros and ones (scan vector) are sequentially (one bit at every clock cycle) loaded (scanned in) into a scan chain through the first element. The number of bits contained in the scan vector generally equals the number of memory elements in a corresponding scan chain.
Once a scan chain is loaded with a scan vector, the elements (generally the combinatorial logic) in the integrated circuit are evaluated by connecting the elements in the integrated circuit according to the connections defined for functional mode of operation. The integrated circuit is operated generally for one clock cycle similar to operation in the functional mode and the corresponding duration may be termed as the evaluation phase.
Based on the scanned- in bits, the flip-flops latch the results of the functional mode operation of one clock pulse.
The connection is then reverted back to the test mode, and the bits latched are sequentially scanned out (one bit at every clock cycle) through the last element in the scan chain. The received scan out is compared with an expected scan out corresponding to the scan vector to determine the various faults within the integrated circuit.
There is a general need to use such scan techniques even in situations when an integrated circuit (device or system) contains multiple modules. Modules generally refer to distinct units, typically provided for a specific purpose. For example, a module may operate as a random access memory, and another module may be implemented to process analog signals according to desired digital signal processing (DSP) techniques.
It is desirable to be able to test the inter-module operation, generally when one module is designed to provide a signal to another module. The modules are generally said to be connected by interface logic, which can be a combinatorial circuit (performing a logical operation), a straight metal path connecting the modules, etc.
Testing of inter-module operation is known to present challenges, particularly when the modules are designed to operate at different clock frequencies in functional mode. In one prior approach, each module is tested separately at a corresponding clock frequency only. Thus, each module is tested individually, but inter-module operation may not be at least adequately tested.
In another prior approach, the two modules are tested together, but using a common clock frequency. As a result, the accuracy of logic of inter-module operation may be tested. However, such an approach may not test the inter-module operation for any faults related merely to timing. For example, the prior approach may not test for transition faults. A transition fault is generally said to be present if a node fails to transition from one logical value to another logical value in a desired time interval (determined by the frequency of operation of the clock).
Hence what is generally needed is a method and apparatus for testing interface between modules designed to operate at different clock frequencies. SUMMARY
The invention provides a method and apparatus for testing the interface between modules of an integrated circuit that are designed to operate at different clock frequencies.
In accordance with one aspect of the invention, methods and apparatus are provided for simultaneously (concurrently) testing two modules at different clock frequencies equaling the respective operating clock frequencies of the modules in the functional mode. In an embodiment in which a first module provides an output to a second module on an interface, the output is transferred (during testing) from the first module to the second module on the interface at a speed equaling the speed at which the outputs would be transferred in functional mode.
Such features are supported by appropriate design of a first clock signal and a second clock signal used with the first module and second module during testing. The timing of the clock signals is controlled to generate a second latch edge of the first clock signal and a second latch edge of the second clock signal to be synchronous in the evaluation phase, while controlling the clock duration to equal the inverse of the respective clock frequency just prior to the respective synchronous edge. BRIEF DESCRIPTION OF THE DRAWINGS
Various features of the invention are described with reference to the accompanying drawings, wherein: FIG. 1 is a block diagram illustrating an example environment in which several aspects of the invention can be implemented;
FIG. 2 is a flow chart illustrating an approach for inter-module testing according to an aspect of the invention;
FIG. 3 is a timing diagram illustrating the relationship between various signals in an embodiment of the invention;
FIG. 4 is a circuit diagram containing relevant portions of the modules, illustrating the manner in which inter-module testing is performed at-speed in an embodiment of the invention; and
FIG. 5 is block diagram illustrating manner in which n th and (n+l)st clock pulses are generated corresponding to different modules designed to operate at different clock frequencies in functional mode.
In the drawings, like reference numbers generally indicate identical, functionally similar, or structurally similar elements. DETAILED DESCRIPTION OF THE EMBODIMENTS
Several aspects of the invention are described below with reference to examples for illustration. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding of the invention. One skilled in the relevant art, however, will readily recognize that the invention can be practiced without one or more of the specific details, or with other methods, etc. In other instances, well-known structures or operations are not shown in detail to avoid obscuring the invention.
FIG. 1 is a block diagram of illustrating an example environment in which several aspects of the invention can be implemented. The block diagram is shown containing tester 110 and integrated circuit (IC) 150. IC 150 in turn is shown containing modules 160 and 180, interface logic 170 and clock generation circuit 130. Each block is described below in further detail.
Modules 160 and 180 are designed for operation at different clock frequencies in functional mode, and are shown connected by interface logic 170. Interface logic 170 is assumed to contain combinatorial logic only. The logic performs a corresponding logical operation on inputs received from module 160 and provides the resulting output to module
180.
Tester 110 provides scan vectors (and various control signals) used for testing integrated circuit 150 using sequential scan techniques. The scan vectors can be generated using techniques such as combinational Automatic test pattern generation (ATPG) well known in the relevant arts. Scan vectors are scanned into modules 160 and 180 using different scan chains. Tester 110 operates in conjunction with clock generation circuit 130 to facilitate inter-module testing of modules 160 and 180 using sequential scan techniques as described below in further detail. Clock generation circuit 130 receives a source clock signal from tester 110 and generates clock signals for modules 160 and 180 to cause inter-module testing to be performed at the same clock speed as at which the data would be transferred between the modules in functional mode. Though shown in IC 150, clock generation circuit 130 can be implemented in tester 110 as well. The operation and implementation of clock generation circuit will be clearer based on the manner in which inter-module testing is performed according to various aspects of the invention, as described below in further detail. 3. Inter-module Testing FIG. 2 is a flow chart illustrating an approach for inter-module testing according to various aspect of invention. The flowchart is described with reference to FIG. 1 for illustration. However, the approaches can be implemented in other environments as well without departing from the scope and spirit of various aspects of the invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. Also, for illustration, it is assumed that a scan vectors of n-bits is used in testing. The flowchart begins in step 201 and control immediately passes to step 210.
In step 210, clock generation circuit 130 generates a first clock signal and a second clock signal, each having 2n+l clock pulses with corresponding latch edges. The latch edges of n and n+1 clock cycles of the first clock signal are designed with a time interval proportionate to reciprocal value of the first clock frequency, and the latch edges of n and n+1 clock cycles of the second clock signal are designed with a time interval proportionate to reciprocal value of the second clock frequency. In addition, the (n+l)st latch edge of the first clock signal and second clock signal are synchronized. The first n-1 and last n+1 latch edges may also be synchronized. In step 230, tester 110 generates scan vector(s) which would cause a transition at the output of the interface module as well as at the output of a memory element (receiving the output from the first module via the interface module) in the second module at the (n+l)st latch edge. It may be appreciated that inter-module testing entails successful transfer of a transition from one module to the other, and this transition needs to be successfully latched by the receiving module. Confirmation of both these events could require using vectors according to step 230. Such scan vectors can be generated in a known way using techniques such as combinational Automatic test pattern generation (ATPG).
In step 250, clock generation circuit 130 (responsive to source clock received from tester 110) causes the first n bits of the scan vector to be scanned in (to integrated circuit 150). The first clock signal may be used for clocking the memory elements in the first module and the second clock signal for the second module for the scan-in operation.
In step 260, tester 110 (in conjunction with clock generation circuit 130 in the described embodiment) operates the two modules in evaluation phase in the (n+l)st clock pulse using the corresponding clock signals. The evaluation causes IC 100 to operate as if in functional mode, but starting from the state caused by the scanning in of the N-bits, during the one clock pulse.
In step270, the output of the memory element is compared with an expected output to determine any faults in the inter-module operation. Tester 110 may scan out the n-bits and then compare with corresponding expected bits to determine the presence of any faults. The flowchart ends in step 299.
Thus, inter-module testing is performed by having clock generation circuit 130 generate and provide the two clock signals noted above. In addition, the inter-module interface is tested for "at-speed" (i.e., at the same speed as the data transfers would occur in functional mode during normal operation) performance, as described below in further detail.
FIG. 3 is a timing diagram illustrating the first clock signal and second cock signal generated in one embodiment. The timing diagram is shown containing first clock signal 310 (clocking module 160), second clock signal 360 (clocking module 180), first scan enable 340 (specifying the transitions in/out of evaluation mode for module 160) and second scan enable 380 (for module 180).
For illustration, it is assumed that the memory elements of the modules are designed for latching on the rising edges of the corresponding clock signals and also that the entire timing diagram relates to test mode. Similarly, the first clock signal is assumed to have twice (rational number conveniently) the frequency of the second clock signal in functional mode, and thus the inter-module testing is to be performed in a corresponding situation.
Scan line 340 indicates whether module 160 is operated in scan mode (on logic high) or in evaluation mode (logic low). Scan line is shown going low after the rising edge of pulse 320-n, an thus module operates in "scan in" mode until that point. Module 160 operates in scan out mode after the rising edge of scan line 340. Similarly, scan line 380 causes module 180 to operate in scan in mode until after the rising edge of pulse 370-n, and in scan out mode starting from the rising edge of pulse 370-(n+2). In between the scan in mode and scan out mode, inter-modules are tested at-speed in testing duration 303, as described below.
First clock signal 310 (clocking module 160) is shown containing pulses 320-1 through 320-(2n+l) and second clock signal 360 (corresponding to module 180) is shown containing pulses 370-1 through 370-(2n+l). The latch (rising) edges of clock pulses 320-1 through 320-(n-l) are synchronous (occurring at same time instance/point) with corresponding edges of clock pulses 370-1 through 370-(n-l). Similarly, the latch edges of clock pulses 320-(n+l) through 320-(2n+l) are synchronous with corresponding edges of pulses 370-(n+l) through 370-(2n+l).
The time duration between two successive latch edges in scan-in and scan-out durations needs to be long enough to permit scanning in the slowest module. In an embodiment, the duration is selected to be greater than or equal to the reciprocal of the lowest clock frequency among the different clock frequencies used for modules in functional mode.
With respect to testing duration, as noted above, the rising edge of pulse 320-(n+l) is synchronous with rising edge of 370-(n+l). Once the edges are thus fixed, the time duration (330) between the rising edge of pulse 320-(n) to the rising edge of 320-(n+l) is set equal to the reciprocal of functional clock frequency of module 160. Similarly, time duration 340 between the latch edge of pulse 370-n and the latch edge of the pulse 370-(n+l) is set to reciprocal of corresponding functional clock frequency of module 180.
Due to use of clock signals generated according to the description provided above, module 160 receives two successive clock pulses ( 310-n and 310-(n+l)) at frequency equal to the frequency at which the module 160 is designed to operate in functional mode. As a result, module 160 is effectively tested at the designed frequency of operation (i.e., frequency in the functional mode during normal operation).
Similarly pulses ( 360-n and 360-(n+l)) effectively tests the module 180 at the corresponding designed frequency of operation. The clock signals thus used also test interface logic 170 at "at-speed performance" as described below with respect to the relevant details of internals of modules 160 and 180. FIG. 4 is a circuit diagram illustrating manner in which interface logic 170 transferring data from module 160 and module 180 are tested at-speed. The block diagram is shown containing modules 160, 180 and interface logic 170. For conciseness and clarity of understanding, module 160 is shown containing only a single multiplexer 430 and a single flip flop 440, even though typical modules would contain many such pairs. Similarly module 180 is shown containing a multiplexer 460 and a flip flop 470. Each component is described below in further detail.
Multiplexer 430 selects the data from path 413 or path 423 depending on the logic level of scan enable signal 340. It is assumed that path 413 is part of a scan chain and is selected on logic high of scan enable signal 340, and thus flip-flop 440 forms part of a scan chain when scan enable 340 is high. On the other hand, path 423 is assumed to be connected to the functional input as in normal/functional mode of operation. Flip-flop 440 is shown clocked by clock signal 310.
The operation of flip-flop 470 and multiplexer 460 is similarly explained, except that the select path of multiplexer 460 is connected to scan enable signal 380 and flip-flop 460 is clocked by clock signal 360. The scan chain input is received on path 456 and functional input on path 476.
Interface logic 170 receives an output from the flip flop 440 and performs various logical operations. The result of the logic operations is provided as input to multiplexer 460 on the logic 0 terminal (476). The manner in which interface logic 170 is tested at-speed, is described below with combined reference to FIG. 3.
The first (n-1) bits are scanned into flip flops 440 and 470 in "scan-in duration" by having both scan enable signals 340 and 380 at logic 1 during the first n-1 pulses. The n th bit of the corresponding scan vector is scanned into flip flop 470 on the rising edge of 370-n pulse. It may be appreciated that the scanning has the effect of initializing both flip-flops 440 and 470 to the same logical value. Second scan enable signal 380 is thereafter made logic 0, and thus flip-lop 470 is ready for operation in evaluation mode.
Now with respect to duration 303, it is noted that the nth bit is scanned into flip-flop 440 on the rising edge of pulse 320-n. Immediately thereafter, scan enable 340 is set to logic low, and thus flip-flop 440 is ready for operation in evaluation mode. On the rising edge of pulse 370-(n+l), flip-flop 470 latches the next input (resulting from the evaluation mode, which is akin to the functional mode). The evaluation causes a transition at the output of flip- flop 440, which is transferred as an input to flip-flop 470 (due to the functional mode of operation). Since the rising edge of pulse 370-(n+l) is synchronous with the rising edge of pulse
320-(n+l), the total duration available for evaluation and latching (the transition) in flip-flop 470 equals one clock period of clock signal 310 (or half clock period of clock signal 360) since the clock signal has been generated as such according to step 210. Such time duration equals an at-speed performance during functional mode. Accordingly, interface logic 170 is tested for at speed performance, as desired.
The description is continued with respect to the manner in which the clock signals are generated in an embodiment of the invention.
FIG. 5 is block diagram illustrating manner in which various clock signals of interest can be generated. The block diagram is shown containing frequency dividers 510A- 510Y, clock gating (CG) circuits 540A-540Y, OR gate 590 and phase and clock enable logic 570. Frequency dividers 51 OA-Y divides a master clock (received from tester 110 in one embodiment) with respective divisor values Nl, N2, etc., to generate corresponding clock signals clockl , clock2, etc. For illustration, it is assumed that the master clock is received with a frequency of 4X, first clock signal 310 in functional mode (and thus for pulses 320-n and 320-(n+l)) is to be at a frequency of 2X, and the first clock signal 310 and second clock signal 360 otherwise need to be at frequency of 2X. Accordingly, it is assumed that Nl equals 2 and N2 equals 4.
The output from divider 520B is provided as clock signal 360. Phase and clock enable logic 570 controls CG circuits 540A and 540B to cause clock signal 310 to be generated as the output of OR gate 590. To obtain the clock signal, phase and clock enable logic 570 enables CG circuit 540A in time durations pulses 320-n and 320-(n+l) are to be generated, and enables CG circuit CG 540B in other times. As a result, the output of OR gate 590 represents clock signal 310. Any other desired clock signals can be generated using similar approaches. While various embodiments of the invention have been described above, it should be understood that they have been presented by way of example only, and not by way of limitation. Thus, the breadth and scope of the claimed invention should not be limited to the details of the above described example embodiments, and should encompass all modifications, variations and equivalents thereof.

Claims

1. A method of testing a first module and a second module using a sequential scan technique, said first module and said second module being contained in an integrated circuit, said first module being designed to operate at a first clock frequency and said second module being operable at a second clock frequency in a functional mode, wherein said first clock frequency is not equal to said second clock frequency, said method comprising: testing said first module with said first clock frequency using a sequential scan technique; and testing said second module with said second clock frequency using said sequential scan technique, wherein said first module provides an output to said second module on an interface at a third clock speed in said functional mode, wherein said output is transferred from said first module to said second module on said interface at said third clock speed when said first module and said second module are tested simultaneously.
2. The method of Claim 1 , wherein an interface module is presented between said first module and said second module, said interface module comprising only combinatorial logic.
3. The method of Claim 2, wherein said second clock frequency is a multiple of said first clock frequency by an integer.
4. The method of Claim 2, wherein a first clock signal of said first clock frequency is provided to said first module and a second clock signal of said second clock frequency is provided to said second module during said simultaneous testing, wherein a timing of said two clock signals is controlled to generate a second latch edge of said first clock signal and a second latch edge of said second clock signal to be synchronous in an evaluation phase, while controlling a clock duration of said first clock signal and second clock signal prior to the synchronous edge being respectively equal to the inverse of said first clock frequency and said second clock frequency.
5. The method of Claim 4, wherein each of said first clock signal and said second clock signal has a clock duration sufficient to support scanning operation in both of said first module and said second module before and after said clock duration prior to the synchronous edge.
6. The method of Claim 4, wherein both of said first module and said second module are operated in said functional model at said second latch edge.
7. An integrated circuit comprising: a first module designed for operation at a first clock frequency in a functional mode while testing using a sequential scan approach; a second module designed for operation at a second clock frequency in said functional mode; and a clock generation circuit receiving a source clock from a tester device and generating a first clock signal and a second clock signal, wherein a timing of said two clock signals is controlled to generate a second latch edge of said first clock signal and a second latch edge of said second clock signal to be synchronous in an evaluation phase, while controlling a clock duration of said first clock signal and second clock signal prior to the synchronous edge being respectively equal to the inverse of said first clock frequency and said second clock frequency.
8. A clock generation circuit facilitating testing of a first module and a second module using a sequential scan approach, said first module being designed for operation at a first clock frequency in a functional mode and said second module being designed for operation at a second clock frequency in said functional mode, said clock generation circuit comprising: means for receiving a source clock and generating a first clock signal and a second clock signal, wherein a timing of said two clock signals is controlled to generate a second latch edge of said first clock signal and a second latch edge of said second clock signal to be synchronous in an evaluation phase, while controlling a clock duration of said first clock signal and second clock signal prior to the synchronous edge being respectively equal to the inverse of said first clock frequency and said second clock frequency.
PCT/US2006/023516 2005-06-15 2006-06-15 Sequential scan test of interface between ic modules that operate at different frequencies WO2006138583A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/160,235 2005-06-15
US11/160,235 US7421634B2 (en) 2005-05-02 2005-06-15 Sequential scan based techniques to test interface between modules designed to operate at different frequencies

Publications (2)

Publication Number Publication Date
WO2006138583A2 true WO2006138583A2 (en) 2006-12-28
WO2006138583A3 WO2006138583A3 (en) 2008-07-31

Family

ID=37571213

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/023516 WO2006138583A2 (en) 2005-06-15 2006-06-15 Sequential scan test of interface between ic modules that operate at different frequencies

Country Status (1)

Country Link
WO (1) WO2006138583A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI400932B (en) * 2007-03-22 2013-07-01 Intel Corp Sharing routing of a test signal with an alternative power supply to combinatorial logic for low power design

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503386A (en) * 1982-04-20 1985-03-05 International Business Machines Corporation Chip partitioning aid (CPA)-A structure for test pattern generation for large logic networks
US20050102592A1 (en) * 2001-08-17 2005-05-12 Credence Systems Corporation Circuit testing with ring-connected test instrument modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503386A (en) * 1982-04-20 1985-03-05 International Business Machines Corporation Chip partitioning aid (CPA)-A structure for test pattern generation for large logic networks
US20050102592A1 (en) * 2001-08-17 2005-05-12 Credence Systems Corporation Circuit testing with ring-connected test instrument modules

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI400932B (en) * 2007-03-22 2013-07-01 Intel Corp Sharing routing of a test signal with an alternative power supply to combinatorial logic for low power design

Also Published As

Publication number Publication date
WO2006138583A3 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
US6510534B1 (en) Method and apparatus for testing high performance circuits
US5349587A (en) Multiple clock rate test apparatus for testing digital systems
KR100335683B1 (en) Method and apparatus for utilizing mux scan flip-flops to test speed related defects
US8205125B2 (en) Enhanced control in scan tests of integrated circuits with partitioned scan chains
US6671839B1 (en) Scan test method for providing real time identification of failing test patterns and test bist controller for use therewith
US7644333B2 (en) Restartable logic BIST controller
US8527824B2 (en) Testing of multi-clock domains
US5867409A (en) Linear feedback shift register
US7624322B2 (en) Scan based testing of an integrated circuit containing circuit portions operable in different clock domains during functional mode
US7352169B2 (en) Testing components of I/O paths of an integrated circuit
EP1890234B1 (en) Microcomputer and method for testing the same
US6880137B1 (en) Dynamically reconfigurable precision signal delay test system for automatic test equipment
GB2412971A (en) Integrated circuit test system which compares functional and scan test performance
US8841952B1 (en) Data retention flip-flop
US7228476B2 (en) System and method for testing integrated circuits at operational speed using high-frequency clock converter
US7380189B2 (en) Circuit for PLL-based at-speed scan testing
US7421634B2 (en) Sequential scan based techniques to test interface between modules designed to operate at different frequencies
US7213184B2 (en) Testing of modules operating with different characteristics of control signals using scan based techniques
US20060041806A1 (en) Testing method for semiconductor device and testing circuit for semiconductor device
US6976199B2 (en) AC LSSD/LBIST test coverage enhancement
WO2006138583A2 (en) Sequential scan test of interface between ic modules that operate at different frequencies
US7380184B2 (en) Sequential scan technique providing enhanced fault coverage in an integrated circuit
US6748563B1 (en) Method and apparatus for testing path delays in a high-speed boundary scan implementation
US9835683B2 (en) Clock gating for X-bounding timing exceptions in IC testing
EP3859361B1 (en) An electronic circuit and corresponding method of testing electronic circuits

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06773362

Country of ref document: EP

Kind code of ref document: A2