US6782502B2 - Combinational test pattern generation method and apparatus - Google Patents

Combinational test pattern generation method and apparatus Download PDF

Info

Publication number
US6782502B2
US6782502B2 US10/262,271 US26227102A US6782502B2 US 6782502 B2 US6782502 B2 US 6782502B2 US 26227102 A US26227102 A US 26227102A US 6782502 B2 US6782502 B2 US 6782502B2
Authority
US
United States
Prior art keywords
test pattern
scan chain
initialization
registers
chain test
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
US10/262,271
Other versions
US20030079167A1 (en
Inventor
Wern-Yan Koe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics America Inc
Original Assignee
NEC Electronics America Inc
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
Application filed by NEC Electronics America Inc filed Critical NEC Electronics America Inc
Priority to US10/262,271 priority Critical patent/US6782502B2/en
Publication of US20030079167A1 publication Critical patent/US20030079167A1/en
Application granted granted Critical
Publication of US6782502B2 publication Critical patent/US6782502B2/en
Assigned to Renesas Electronics America, Inc. reassignment Renesas Electronics America, Inc. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: NEC ELECTRONICS AMERICA, INC.
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures

Definitions

  • This invention relates to the field of integrated circuit testing.
  • An integrated circuit is a miniature electric circuit containing large numbers of discrete electronic circuit elements, such as transistors, resistors, capacitors, and diodes, which are packaged as a single unit with leads extending from it for input, output, and power-supply connections.
  • the electronic circuit elements are formed by selective manipulation of a single chip of semiconductor material, often in combination with various other semi-conducting and/or conducting materials.
  • SSIs small-scale integrated circuits
  • MSIs medium-scale integrated circuits
  • LSIs large-scale integrated circuits
  • VLSIs very-large-scale integrated circuit
  • integrated circuit design can be viewed at one level of abstraction in terms of discrete electronic circuit components (e.g., resistors, capacitors, inductors, transistors, diodes, etc.).
  • integrated circuit design can also be viewed at a next-higher layer of abstraction in terms of logic diagrams consisting of well-defined digital Boolean logic circuits such as AND, NAND, OR, and NOR gates, where each such gate consists of well-defined congeries of the discrete electronic circuit elements.
  • Integrated circuit design can also be viewed at yet a next-higher layer of abstraction known as Register Transfer Level (RTL), which consists of program-like statements describing the movement or processing of data between storage elements.
  • RTL Register Transfer Level
  • Integrated circuits can also be viewed at a yet again higher layer of abstraction known as a functional block diagram layer, which shows the major subcomponents of a design. This is the level at which the highest conceptual design work is done.
  • IC design is done at the functional block diagram, RTL, and logic diagram levels. It is common for whole teams of people (and sometimes whole companies) to focus on various aspects of the design at various abstraction levels. However, as noted, the design process rarely proceeds at a lower level than that of logic diagrams. Below this level, it is common to program the desired logic diagram layouts into artificially intelligent software, which automatically produces discrete circuit component level diagrams to be enacted within the integrated circuit.
  • the discrete circuit level components are produced via the selective manipulation of a single piece of semiconductor material, where such selective manipulation usually includes the use of other semi-conducting and/or conducting materials.
  • the discrete circuit level components are created via this selective manipulation.
  • the regions affected by the selective manipulation of the single piece of semiconductor material are almost unimaginably small.
  • current VLSI production procedures produce the discrete circuit components by manipulating material by use of sub-micron width (i.e., widths of less that ( ⁇ fraction (1/1,000,000) ⁇ ) of a meter) lines drawn, or “etched,” in the semiconductor material.
  • sub-micron width i.e., widths of less that ( ⁇ fraction (1/1,000,000) ⁇
  • etched etched
  • the higher abstraction logic diagram level is designed using logic diagram level component circuits consisting of congeries of discrete circuit level components. Consequently, errors in production sufficient to produce errors in the behavior of the discrete circuit level components can “propagate” upwards to the logic diagram level since the logic diagram circuits are built from congeries of these malfunctioning circuit components. If the errors are severe, then such malfunctioning will be very apparent in that the affected logic diagram level circuits will not function. However, if the malfunction is not severe, it is possible that the affected logic diagram level components will perform, but will perform in such a way that is out of design tolerances, which can cause a general system malfunction or failure as these logic diagram level errors “propagate” up the abstraction-layer hierarchy to affect the RTL and functional block diagram level designs.
  • testing has been devised in the art to ensure that the logic diagram level circuits are performing their functions within design tolerances.
  • This testing basically amounts to the following: (1) defining at least one combinational logic path through a combinational logic circuit; (2) initializing the combinational logic circuit with a given set of inputs; (3) waiting until the combinational logic circuit becomes stable; (4) changing the logic levels of one or more of the set of inputs; and (5) and measuring the time it takes for output of the combinational logic circuit at the end of the defined path to change subsequent to the change in the set of inputs.
  • This testing is illustrated at a basic conceptual level with reference to FIGS. 1A, 1 B and 1 C.
  • combinational logic circuit 100 composed of logic diagram level circuits 108 , 110 which will be utilized to illustrate how delay testing of combinational logic diagram circuits is achieved in the related art.
  • two input signal test patterns are needed to measure the delay path: a first input signal test pattern to initialize output signal Z, and a second input signal test pattern to cause a change in output signal Z from that to which it was previously initialized.
  • feeding combinational logic circuit 100 is scan chain register bank 101 composed of Registers a, b, and c.
  • scan chain test patterns need to be utilized to test the delay associated with path 102 , 104 , 106 .
  • Such scan chain test patterns are typically generated by recognizing that the various logic circuits providing inputs to the path whose delay is to be tested generate certain requirements relevant to such scan chain patterns. For example, regarding AND gate 108 , in the context of controlling the value of output Z, those skilled in the art will recognize that a non-controlling logic value is logic 1. Furthermore, those skilled in the art will also recognize that, in the context of controlling of output Z, a non-controlling value is logic 0 for OR gate 110 .
  • the first test pattern set is illustrated in FIG. 1 A.
  • clock cycle waveform 112 For sake of illustration, it will be assumed herein that values are clocked into registers at the leading edge of clock cycles in clock cycle waveform 112 .
  • multitudinous variants on this scheme are possible.
  • test patterns which may be applied under the related art are wholly constrained by the arrangement of inputs of the combinational logic circuit under test and the fact that the test patterns are sequentially scanned into any scan chain register.
  • Those skilled in the art will recognize that it is quite possible, under the foregoing noted related art constraints, that there will be no scan chain test pattern sets that can be applied to test certain circuits.
  • Those skilled in the art will also recognize that even in those instances under the related art where a circuit under test does allow the construction of test pattern sets which can be practicably applied to the circuit, that the number and type of those test patterns will be a severely constrained subset of all the test patterns that can be envisioned (a fact illustrated in relation to scan chain register bank 101 , above).
  • a method and apparatus have been devised which provide the ability to practicably apply the full range of test pattern sets appropriate to any particular combinational logic circuit under test.
  • the method and apparatus couple a change input scan chain test pattern with an initialization scan chain test pattern such that a resultant scan chain test pattern is produced, and apply the resultant scan chain test pattern to at least one combinational logic path.
  • the coupling is achieved by interleaving the change input scan chain test pattern with the initialization scan chain test pattern.
  • the coupling is achieved by creating a constructed test pattern set from the change input and the initialization scan chain test pattern.
  • FIGS. 1A, 1 B, and 1 C illustrate how delay testing of combinational logic diagram level circuits is achieved in the related art.
  • FIGS. 2A, 2 B, and 2 C illustrate the functioning of embodiments of the present invention wherein shadow registers are utilized.
  • FIGS. 3A, 3 B, and 3 C, 3 D and 3 E illustrate embodiments of the present invention which will provide the advantage of the embodiments of FIGS. 2A, 2 B, and 2 C, but which utilize pre-existing IC registers to provide the functions of shadow registers.
  • FIGS. 4, 5 , 6 A, 6 B, 7 A and 7 B illustrate embodiments of the present invention which require near minimal numbers of shadow registers to achieve the ability to clock in a change input scan chain test pattern utilizing only one clock cycle.
  • shadowed scan chain register bank 201 is feeding combinational logic circuit 200 .
  • shadowed scan chain register bank 201 has Registers a, b, and c of scan chain register bank 101 ; however, also shown is that shadowed scan chain register bank 201 has “shadow” Register b′ inserted between Registers a and b, shadow Register c′ inserted between Registers b and c, and shadow Register a′ inserted to be the input register, and thus is shown inserted to the left of Register a.
  • shadow Registers a′, b′, and c′ serve as place-holders for the change input test pattern. It will be understood by those skilled in the art that shadow Registers a′, b′, and c′ should be properly connected to ground to eliminate noise and leakage current. As shown, the outputs of shadow Registers a′, b′, and c′ connect to the scan inputs of following Registers a, b, and c of scan chain register bank 201 . As will be shown, in the delay test operation, the shadow registers are utilized to hold the change input test pattern.
  • the shadow registers a′, b′, and c′ remain inactive. That is, the shadow Registers a′, b′, and c′ are only activated when a testing signal indicates testing is desired.
  • Reference material related to testing signals and other general background material may be located in M. Abramovici, et al., Digital Testing and Testable Design Textbook , (1990), which is hereby incorporated by reference herein in its entirety.
  • initialization test pattern “010” is held in Registers a, b, and c.
  • the embodiment shown gives the ability to apply change input test pattern “110”, subsequent to the application of initialization test pattern “010” in just one clock cycle.
  • shadow registers can be inserted for any arbitrary path, and that the embodiments shown and discussed in relation to FIGS. 2A, 2 B, and 2 C can be extended from more than two successive patterns by the insertion of more shadow registers in a fashion analogous to that shown in for shadow Registers a′, b′, and c′.
  • Registers a′, a, b′, b, c′, and c can be implemented utilizing any number of components well known to those within the art, such as virtually any memory elements allowing the sequential application of data (e.g., flop flops, latches, or random access memory sequentially employed) to appropriate inputs of any particular combinational logic circuit under test.
  • FIGS. 2A, 2 B, and 2 C assumed that additional shadow registers would be inserted in addition to those registers normally utilized for the operation of an IC.
  • FIGS. 2A, 2 B, and 2 C assumed that additional shadow registers would be inserted in addition to those registers normally utilized for the operation of an IC.
  • other embodiments which will provide essentially the same functionality of the embodiments shown in relation to FIG. 2, but without requiring any additional registers beyond those already present in an IC.
  • FIGS. 3A, 3 B, 3 C, 3 D, and 3 E shown is a partially schematic diagram which will be utilized to illustrate embodiments of the present invention which will provide the advantage of the embodiments of FIGS. 2A, 2 B, and 2 C, but which utilize pre-existing IC registers to provide the functions of shadow Registers a′, b′, and c′.
  • Shown in FIG. 3A is scan chain register bank 301 , which as shown contains Registers a, b, c, d, e, and f. As shown in FIG.
  • Registers d, e, and f can be interconnected with Registers a, b, and c such that composite shadowed scan chain register bank 351 is constructed which will function “as if” shadow registers are present. Shown is that connections have been made such that that composite shadowed scan chain register bank 351 is constructed with Register f as the first register, Register a as the second register, Register e as the third register, Register b as the fourth register, Register d as the fifth register, and Register c as the sixth register.
  • FIG. 3C shown is the logical ordering of composite shadowed scan chain register bank 351 arising from the connections shown in FIG. 2 C. Comparison of the logical ordering of composite shadowed scan chain register bank 351 with shadowed scan chain register bank 201 will reveal that they are substantially similar, but that in composite shadowed scan chain register bank 351 Registers f, e, and d “play the role” of shadow Registers a′, b′, and c′ of shadowed scan chain register bank 201 , respectively.
  • composite shadowed scan chain register bank 351 which shows the logical ordering of FIG. 3 C and wherein initialization test pattern “010” and change input test pattern “110” have been entered, which looks substantially similar to shadowed scan chain register bank 201 similarly loaded as depicted in FIG. 2 B.
  • composite shadowed scan chain register bank 351 as depicted in FIG. 3E will function in a fashion substantially similar to the functioning of shadowed scan chain register bank 201 as described in FIG. 2 C.
  • FIG. 3B provides the same functionality of the embodiments illustrated in relation to FIGS. 2A, 2 B, and 2 C.
  • the embodiments illustrated in FIGS. 3A, 3 B, 3 C, 3 D, and 3 E require no additional registers beyond those already present within an IC under test.
  • Registers a, b, c, d, e, and f, and the connections associated with such registers can be implemented utilizing any number of components well known to those within the art, such as virtually any memory elements allowing the sequential application of data (e.g., flop flops, latches, or random access memory sequentially employed) to appropriate inputs of any particular combinational logic circuit under test.
  • shadow registers or registers connected to function as shadow registers, which utilize one shadow register for each register present in a scan chain register bank to be shadowed.
  • scan chain register banks which have a large number of inputs
  • the number of shadow registers utilized under the previously described embodiments could become quite large. That is, when many registers affect output Z under the preceding embodiments, many shadow registers have to be interleaved between registers that affect the output Z. Adding new shadow registers may increase the number of registers present substantially. Embodiments will now be described which do not utilize a corresponding shadow register for every single scan chain register present.
  • FIGS. 4-7B will be utilized to show embodiments of the present invention which require near minimal numbers of shadow registers to achieve the ability to clock in a change input scan chain pattern utilizing only one clock cycle.
  • embodiments will be described which reduce the number of shadow registers by arranging only the registers that affect the output Z.
  • Both of the above test pattern sets toggle value “A” while keeping all other register values unchanged.
  • Neither of these test patterns sets can be generated by a one clock cycle shift of the contents of scan chain register bank 401 in the direction shown in FIG. 4 .
  • test pattern set (a) is to be used to test the delay of combinational logic path 402 , 404 , 406 , in the scenario shown it is apparent that at least 9 rising edge clock cycles must elapse subsequent to the loading of initialization test pattern “011000000” prior to being able to utilize change input test pattern “111000000”. Thus, for reasons analogous to those discussed in relation to FIGS. 1A, 1 B, and 1 C, there is no practicable way in the absence of the present invention to use test pattern set “(a)”.
  • test pattern set “(a)” since scan chain register bank 401 contents are changing on each clock cycle there is no practicable way that test pattern set “(a)” can be utilized since there does not exist any way, under the related art, to practicably allow change input pattern “1110000000” to follow initialization test pattern “011000000”.
  • test pattern “(a)” can be used to construct test patterns composed of a constructed initialization test pattern and a constructed change input test pattern to be scanned into scan chain register bank 501 , such that after the constructed initialization test pattern is scanned in, a one bit, or clock cycle, shift will result in the constructed change input test pattern being presented as input to combinational logic circuit 400 of which a path delay is to be tested.
  • the embodiment of FIG. 5 requires only substantially minimal additional shadow registers, and such minimum additional shadow registers may be supplied via the utilization of newly added shadow registers (e.g., analogous to the way shadow registers were supplied in the embodiments of FIGS. 2A, 2 B, and 2 C) or by utilizing existing scan chain registers (e.g., analogous to the way shadow registers were supplied in the embodiments of FIGS. 3A, 3 B, 3 C, 3 D and 3 E).
  • Method step 600 depicts the start of the process.
  • Method step 602 illustrates the designation of combinational logic circuit (e.g., combinational logic circuit 400 ) wherein a path delay will be tested, such as the delay on path 402 , 404 , 406 .
  • Method step 604 depicts the designation of at least one logic circuit providing input to a combinational logic circuit path whose delay is to be tested, which will be used to control transitioning of an output signal Z; that is, method step 604 depicts that at least one logic circuit will be designated to be an output-affecting input circuit, such as logic circuit 408 .
  • Method step 606 shows the generation of a test pattern set composed of a change input test pattern and an initialization test pattern, with both the change in input and initialization patterns having lengths substantially identical to a total number of inputs feeding at least one designated output-affecting input circuit and at least one designated non-output-affecting input circuit (e.g., test pattern sets similar to either test pattern sets (a), or (b), are generated).
  • test pattern set is constructed therefrom, as will be illustrated via method steps 612 - 628 .
  • Method steps 612 - 628 depict the rearranging of the entries of the first scan chain test pattern and appending at least one symbol to the rearranged entries of the first scan chain test pattern such that a constructed scan chain test pattern set is produced that has a constructed change input test pattern and a constructed initialization test pattern such that the constructed test patterns can be utilized with scan chain resister bank 501 of FIG. 5 to change a test pattern from an initialization test pattern to a change input test pattern with just a one bit shift.
  • Method step 612 depicts designating symbol “I” to be the head symbol position of the scan chain test pattern and designating symbol “A” to be the tail symbol position of the at least a first scan chain—the designations are such that the head symbol “I” position corresponds to a first symbol in the scan chain test pattern that would be clocked in and the tail symbol position “A” corresponds to a last symbol in the scan chain pattern that would be clocked in if initialization pattern (a) were to be clocked into scan chain register bank 401 .
  • Method step 614 depicts designating the symbol that was originally in the tail symbol position (e.g., symbol “A”) to be the “reference symbol”.
  • Method step 616 illustrates the comparison of the remaining symbols (e.g., symbols “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”) against the “reference symbol” and reordering these remaining symbols such that those symbols which are of value substantially equivalent to the reference symbol (e.g., symbols “D”, “E”, “F”, “G”, “H”, “I”) appear either in or substantially proximate to the head of the reordered initialization scan chain.
  • Method step 618 shows that symbols which are of value substantially opposite that of reference symbol (e.g., symbols “B”, “C”) are reordered to appear either in or substantially proximate to the tail symbol position in the scan chain.
  • method step 620 illustrates placing the reference symbol value (e.g., symbol “A”) in the remaining open slot.
  • Method step 622 shows the discernment of the logic value of the symbol which is now in the tail symbol positions (e.g., symbol “B” is in the tail position) and the creation of a new symbol B′ which has logic value the same as that of the symbol in the tail symbol position (e.g., B′ is the same logic value of symbol B).
  • Method step 624 shows that B′ is now appended to the rearranged initialization scan chain to construct a new test pattern set.
  • Method step 626 depicts that constructed scan chain B′BCADEFGHI is loaded into scan chain register bank 501 such that values BCADEFGHI are in Registers a-f and value B′ appears in shadow Register a′.
  • Method step 628 shows that on the next clock cycle, the appended value B′ is clocked into scan chain register bank 501 which will then result in B′BCADEFGH appearing in Registers a-f, and thus force a change in output signal Z.
  • Method step 630 shows the end of the process.
  • the foregoing described method depicts that even though the scan chain test pattern is 9 symbols long, an embodiment of the present invention can be achieved by the addition of only one shadow register sufficient to accommodate B′. This is because the foregoing method constructed an initialization pattern BCADEFGHI and a change input test pattern B′BCADEFGH which can be applied in one clock cycle subsequent to the application of the initialization pattern.
  • This flowchart functions, and is used in substantially the same way, as that described in relation to the high-level logic flowchart of FIG. 6, with the seven hundred series numbered blocks functioning substantially similar to their seven hundred series counterparts.
  • Method step 700 depicts the start of the process.
  • Method step 702 illustrates the designation of combinational logic circuit (e.g., combinational logic circuit 400 ) wherein a path delay will be tested, such as the delay on path 402 , 404 , 406 .
  • Method step 704 depicts the designation of at least one logic circuit providing input to a combinational logic circuit path whose delay is to be tested, which will be used to control transitioning of an output signal Z; that is, method step 704 depicts that at least one logic circuit will be designated to be an output-affecting input circuit, such as logic circuit 408 .
  • Method step 706 shows the generation of a test pattern set composed of a change input test pattern and an initialization test pattern, with both the change in input and initialization patterns having lengths substantially identical to a total number of inputs feeding at least one designated output-affecting input circuit and at least one designated non-output-affecting input circuit (e.g., test pattern sets similar to either test pattern sets (a), or (b), are generated).
  • test pattern set is constructed therefrom, as will be illustrated via method steps 712 - 728 .
  • Method steps 712 - 728 depict the rearranging of the entries of the first scan chain test pattern and appending at least one symbol to the rearranged entries of the first scan chain test pattern such that a constructed scan chain test pattern set is produced that has a constructed change input test pattern and a constructed initialization test pattern such that the constructed test patterns can be utilized with scan chain resister bank 501 of FIG. 5 to change a test pattern from an initialization test pattern to a change input test pattern with just a one bit shift.
  • Method step 712 depicts designating symbol “I” to be the head symbol position of the scan chain test pattern and designating symbol “A” to be the tail symbol position of the at least a first scan chain—the designations are such that the head symbol “I” position corresponds to a first symbol in the scan chain test pattern that would be clocked in and the tail symbol position “A” corresponds to a last symbol in the scan chain pattern that would be clocked in if initialization pattern (a) were to be clocked into scan chain register bank 401 .
  • Method step 714 depicts designating the symbol that was originally in the tail symbol position (e.g., symbol “A”) to be the “reference symbol”.
  • Method step 716 illustrates the comparison of the remaining symbols (e.g., symbols “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”) against the “reference symbol” and reordering these remaining symbols such that those symbols which are of value substantially equivalent to the reference symbol (e.g., symbols “B”, “C”) appear either in or substantially proximate to the head of the reordered initialization scan chain.
  • Method step 718 shows that symbols which are of value substantially opposite that of reference symbol (e.g., symbols “D”, “E”, “F”, “G”, “H”, “I”) are reordered to appear either in or substantially proximate to the tail symbol position in the scan chain.
  • method step 720 illustrates placing the reference symbol value (e.g., symbol “A”) in the remaining open slot.
  • Method step 722 shows the discernment of the logic value of the symbol which is now in the tail symbol positions (e.g., symbol “D” is in the tail position) and the creation of a new symbol D′ which has logic value the same as that of the symbol in the tail symbol position (e.g., D′ is the same logic value of symbol D).
  • Method step 724 shows that D′ is now appended to the rearranged initialization scan chain to construct a new test pattern set.
  • Method step 726 depicts that constructed scan chain D′DEFGHIABC is loaded into scan chain register bank 501 such that values DEFGHIABC are in Registers a-f and value D′ appears in shadow Register a′.
  • Method step 728 shows that on the next clock cycle, the appended value D′ is clocked into scan chain register bank 501 which will then result in D′DEFGHIAB appearing in Registers a-f, and thus force a change in output signal Z.
  • Method step 730 shows the end of the process.
  • any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components.
  • any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality.

Abstract

A method and apparatus that couple a change input scan chain test pattern with an initialization scan chain test pattern such that a resultant scan chain test pattern is produced, and apply the resultant scan chain test pattern to at least one combinational logic path. In one embodiment, the coupling is achieved by interleaving the change input scan chain test pattern with the initialization scan chain test pattern. In another embodiment, the coupling is achieved by creating a constructed test pattern set from the change input and the initialization scan chain test pattern.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 09/265,513, entitled “Combinational Test Pattern Generation Method and Apparatus”, filed Mar. 10, 1999, now U.S. Pat. No. 6,480,980.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of integrated circuit testing.
2. Description of the Related Art
An integrated circuit (IC) is a miniature electric circuit containing large numbers of discrete electronic circuit elements, such as transistors, resistors, capacitors, and diodes, which are packaged as a single unit with leads extending from it for input, output, and power-supply connections. The electronic circuit elements are formed by selective manipulation of a single chip of semiconductor material, often in combination with various other semi-conducting and/or conducting materials.
It is common in the art to roughly classify integrated circuits dependent upon their transistor density. Presently, there are effectively four common integrated circuit classifications: small-scale integrated circuits (SSIs); medium-scale integrated circuits (MSIs); large-scale integrated circuits (LSIs); and very-large-scale integrated circuit (VLSIs). Exactly what transistor densities constitute the various “classes” varies, but at present SSIs typically include up to several tens of transistors, MSIs include from many tens to several hundred transistors; LSIs include from several hundred to a few thousand transistors; and VLSIs several hundred thousand or more. Most ICs in use today would constitute VLSIs.
One powerful feature of integrated circuits is the ability to use such integrated circuits to produce several levels of abstraction, which is useful for complete design. For example, integrated circuit design can be viewed at one level of abstraction in terms of discrete electronic circuit components (e.g., resistors, capacitors, inductors, transistors, diodes, etc.). Integrated circuit design can also be viewed at a next-higher layer of abstraction in terms of logic diagrams consisting of well-defined digital Boolean logic circuits such as AND, NAND, OR, and NOR gates, where each such gate consists of well-defined congeries of the discrete electronic circuit elements. Integrated circuit design can also be viewed at yet a next-higher layer of abstraction known as Register Transfer Level (RTL), which consists of program-like statements describing the movement or processing of data between storage elements. Integrated circuits can also be viewed at a yet again higher layer of abstraction known as a functional block diagram layer, which shows the major subcomponents of a design. This is the level at which the highest conceptual design work is done.
Typically, IC design is done at the functional block diagram, RTL, and logic diagram levels. It is common for whole teams of people (and sometimes whole companies) to focus on various aspects of the design at various abstraction levels. However, as noted, the design process rarely proceeds at a lower level than that of logic diagrams. Below this level, it is common to program the desired logic diagram layouts into artificially intelligent software, which automatically produces discrete circuit component level diagrams to be enacted within the integrated circuit.
As noted above, the discrete circuit level components are produced via the selective manipulation of a single piece of semiconductor material, where such selective manipulation usually includes the use of other semi-conducting and/or conducting materials. The discrete circuit level components are created via this selective manipulation.
The regions affected by the selective manipulation of the single piece of semiconductor material are almost unimaginably small. For example, current VLSI production procedures produce the discrete circuit components by manipulating material by use of sub-micron width (i.e., widths of less that ({fraction (1/1,000,000)}) of a meter) lines drawn, or “etched,” in the semiconductor material. Furthermore, the sizes of the regions manipulated decrease virtually every week.
Due to the very small regions manipulated during VLSI production, errors invariably occur. This can be the result of contamination of the material, or minor variations in the length, width, or height of lines etched. These errors in production often result in errors in the behavior of the discrete electronic circuit level components.
As noted, the higher abstraction logic diagram level is designed using logic diagram level component circuits consisting of congeries of discrete circuit level components. Consequently, errors in production sufficient to produce errors in the behavior of the discrete circuit level components can “propagate” upwards to the logic diagram level since the logic diagram circuits are built from congeries of these malfunctioning circuit components. If the errors are severe, then such malfunctioning will be very apparent in that the affected logic diagram level circuits will not function. However, if the malfunction is not severe, it is possible that the affected logic diagram level components will perform, but will perform in such a way that is out of design tolerances, which can cause a general system malfunction or failure as these logic diagram level errors “propagate” up the abstraction-layer hierarchy to affect the RTL and functional block diagram level designs.
A principle way in which such a malfunction will manifest at the logic diagram level is that one or more of the logic diagram level circuits will perform their functions appropriately, but so slowly that they affect the design. Accordingly, testing has been devised in the art to ensure that the logic diagram level circuits are performing their functions within design tolerances. This testing basically amounts to the following: (1) defining at least one combinational logic path through a combinational logic circuit; (2) initializing the combinational logic circuit with a given set of inputs; (3) waiting until the combinational logic circuit becomes stable; (4) changing the logic levels of one or more of the set of inputs; and (5) and measuring the time it takes for output of the combinational logic circuit at the end of the defined path to change subsequent to the change in the set of inputs. This testing is illustrated at a basic conceptual level with reference to FIGS. 1A, 1B and 1C.
With reference now to FIGS. 1A, 1B, and 1C, shown is combinational logic circuit 100 composed of logic diagram level circuits 108, 110 which will be utilized to illustrate how delay testing of combinational logic diagram circuits is achieved in the related art. The diagrams in FIGS. 1A, 1B, and 1C show a combinational logic path that implements the equation output signal Z=(input signal a*input signal b)+input signal c, with the path from input signal a to output signal Z, whose delay is to be measured, illustrated by the heavier dark line segments of path 102, 104, 106. As described above, two input signal test patterns are needed to measure the delay path: a first input signal test pattern to initialize output signal Z, and a second input signal test pattern to cause a change in output signal Z from that to which it was previously initialized.
Depicted is that feeding combinational logic circuit 100 is scan chain register bank 101 composed of Registers a, b, and c. As has been discussed, scan chain test patterns need to be utilized to test the delay associated with path 102, 104, 106. Such scan chain test patterns are typically generated by recognizing that the various logic circuits providing inputs to the path whose delay is to be tested generate certain requirements relevant to such scan chain patterns. For example, regarding AND gate 108, in the context of controlling the value of output Z, those skilled in the art will recognize that a non-controlling logic value is logic 1. Furthermore, those skilled in the art will also recognize that, in the context of controlling of output Z, a non-controlling value is logic 0 for OR gate 110. Consequently, to test the delay of path 102, 104, 106 both input signals from Register b and input signal from Register c should stay at non-controlling values, while input signal from Register a should change from logic value 0 to logic value 1, or change from logic value 1 to logic value 0, in order to force a change in output signal Z. Two examples of test pattern sequences that satisfy the above conditions are as follows: a first test pattern set of ABC=<initialization test pattern of “010”, change input test pattern of “110”>, or a second test pattern set which is the partial complement of the first test pattern set, ABC=<initialization test pattern of “110”, change input test pattern of “010”>. The first test pattern set is illustrated in FIG. 1A.
Referring now to FIG. 1B, those skilled in the art will recognize that during the shifting of data through scan chain register bank 101, Register b(t+1)=Register a(t) and Register c(t+1)=Register b(t), where the value t is defined as clock cycle count, which is illustrated as clock cycle waveform 112 in FIG. 1C. For sake of illustration, it will be assumed herein that values are clocked into registers at the leading edge of clock cycles in clock cycle waveform 112. However, those skilled in the art will recognize that multitudinous variants on this scheme are possible.
Illustrated in FIG. 1B is that initialization test pattern “010” has been previously loaded into Registers a, b, and c. This input initializes combination logic path 100 and forces output Z=0. As shown, it is desired to use change input test pattern “110” to test the delay of path 102, 104, 106.
As shown in FIG. 1C, it takes three leading-edge clock cycles before change input test pattern “110” can be fully clocked into Registers a, b, and c. Notice that since during the shifting of data through scan chain register bank 101, Register b(t+1)=Register a(t) and Register c(t+1)=Register b(t), where the value t is defined as clock cycle count, there is no practicable way in which change input test pattern “110” can be clocked into scan chain register 101 in one clock cycle. Rather, on the first leading edge Register a, b, and c contain “001”, and on the second leading edge Register a, b, and c contain “101”. Thereafter, on the third leading edge change input test pattern “110” is clocked into Registers a, b, and c. Thus, as demonstrated, under the scheme shown, there is no practicable way to apply change input test pattern “110” immediately subsequent to initialization test pattern “010” in that intermediate patterns “001” and “101” must be clocked through Registers a, b, and c in order to get change input test pattern “110” loaded into Registers a, b, and c subsequent to initialization test pattern “010” being loaded.
As the foregoing has shown, under the related art somewhat more than 3 clock cycles must elapse subsequent to initialization test pattern “010” being loaded into scan chain register bank 101 before change input test pattern “110” is loaded. Those skilled in the art will recognize that, due to the foregoing noted difficulties, it is the practice within the related art to design scan chain test pattern sets dependent upon the inputs of any particular circuit under test, which thus severely limits the number of test pattern sets which can be utilized. To use scan chain register bank 101 to illustrate this practice, notice that an initialization test pattern of “111” followed by a “0” could be utilized to apply the change input test pattern “011”; notice also that the complement of the foregoing (“000” followed by a “1”) could also be so applied with adequate results.
Notice that the test patterns which may be applied under the related art are wholly constrained by the arrangement of inputs of the combinational logic circuit under test and the fact that the test patterns are sequentially scanned into any scan chain register. Those skilled in the art will recognize that it is quite possible, under the foregoing noted related art constraints, that there will be no scan chain test pattern sets that can be applied to test certain circuits. Those skilled in the art will also recognize that even in those instances under the related art where a circuit under test does allow the construction of test pattern sets which can be practicably applied to the circuit, that the number and type of those test patterns will be a severely constrained subset of all the test patterns that can be envisioned (a fact illustrated in relation to scan chain register bank 101, above).
Those skilled in the art will recognize that it is desirable to have the ability to practicably apply the full range of test pattern sets which may be appropriate to any particular combinational logic circuit under test, such as combinational logic circuit 100. However, it has been demonstrated that under the related art it is not possible to practicably apply the full range of test pattern sets appropriate to a particular combinational logic circuit under test. It is therefore apparent that a need exists in the art for a method and apparatus which will provide the ability to practicably apply the full range of test pattern sets appropriate to any particular combinational logic circuit under test.
SUMMARY OF THE INVENTION
A method and apparatus have been devised which provide the ability to practicably apply the full range of test pattern sets appropriate to any particular combinational logic circuit under test. The method and apparatus couple a change input scan chain test pattern with an initialization scan chain test pattern such that a resultant scan chain test pattern is produced, and apply the resultant scan chain test pattern to at least one combinational logic path. In one embodiment, the coupling is achieved by interleaving the change input scan chain test pattern with the initialization scan chain test pattern. In another embodiment, the coupling is achieved by creating a constructed test pattern set from the change input and the initialization scan chain test pattern.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
FIGS. 1A, 1B, and 1C illustrate how delay testing of combinational logic diagram level circuits is achieved in the related art.
FIGS. 2A, 2B, and 2C illustrate the functioning of embodiments of the present invention wherein shadow registers are utilized.
FIGS. 3A, 3B, and 3C, 3D and 3E illustrate embodiments of the present invention which will provide the advantage of the embodiments of FIGS. 2A, 2B, and 2C, but which utilize pre-existing IC registers to provide the functions of shadow registers.
FIGS. 4, 5, 6A, 6B, 7A and 7B illustrate embodiments of the present invention which require near minimal numbers of shadow registers to achieve the ability to clock in a change input scan chain test pattern utilizing only one clock cycle.
The use of the same reference symbols in different drawings indicates similar or identical items.
DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
The following sets forth a detailed description of the best contemplated mode for carrying out the invention as described in the claims. The detailed description is intended to be illustrative and should not be taken as limiting.
Referring now to FIGS. 2A, 2B, and 2C shown is a combinational logic circuit 200 composed of logic diagram level circuits which will be utilized to illustrate the functioning of embodiments of the present invention. Depicted in FIG. 2A is that shadowed scan chain register bank 201 is feeding combinational logic circuit 200. As shown, shadowed scan chain register bank 201 has Registers a, b, and c of scan chain register bank 101; however, also shown is that shadowed scan chain register bank 201 has “shadow” Register b′ inserted between Registers a and b, shadow Register c′ inserted between Registers b and c, and shadow Register a′ inserted to be the input register, and thus is shown inserted to the left of Register a.
As will be shown in the discussions of FIGS. 2B and 2C, shadow Registers a′, b′, and c′ serve as place-holders for the change input test pattern. It will be understood by those skilled in the art that shadow Registers a′, b′, and c′ should be properly connected to ground to eliminate noise and leakage current. As shown, the outputs of shadow Registers a′, b′, and c′ connect to the scan inputs of following Registers a, b, and c of scan chain register bank 201. As will be shown, in the delay test operation, the shadow registers are utilized to hold the change input test pattern. In the normal operation (that is, when testing is not being performed and an IC of which combinational logic circuit 200 is a part is performing normal, ordinary, non-test functions), the shadow registers a′, b′, and c′ remain inactive. That is, the shadow Registers a′, b′, and c′ are only activated when a testing signal indicates testing is desired. Reference material related to testing signals and other general background material may be located in M. Abramovici, et al., Digital Testing and Testable Design Textbook, (1990), which is hereby incorporated by reference herein in its entirety.
As shown, shadow registers in FIGS. 2A, 2B, and 2C are labeled as Registers a′, b′, and c′. It is desired to apply the first test pattern sequence of ABC=<initialization test pattern of “010”, change input test pattern of “110”>, which was discussed in relation to FIGS. 1A, 1B, and 1C wherein it was demonstrated that subsequent to initialization test pattern “010” being loaded, there was no practicable way to follow initialization test pattern “010” with change input test pattern “110” due to the fact that in the absence of the present invention the number and type of scan chain test pattern sets which may be practicably applied to a particular combinational logic circuit are severely constrained by the arrangement of inputs to the combinational logic circuit under test and the fact that the test patterns are sequentially scanned into scan chain register 101. The embodiment shown in FIGS. 2A, 2B, and 2C alleviates the foregoing noted constraints and makes it possible to practicably apply virtually any imaginable test pattern set.
Referring now to FIG. 2B, shown is that initialization test pattern “010” and change output test pattern “110” have been alternately clocked in such that shadowed scan chain register bank 201 now contains contents of the sequence A′AB′BC′C=<101100> (where A, A′, B, B′, C, C′ refer to the respective components of initialization test pattern ABC=“010” and change input test pattern A′B′C′=“110” as depicted in FIG. 2A). As shown, in the current clock cycle, initialization test pattern “010” is held in Registers a, b, and c.
With reference now to FIG. 2C, depicted is that on the next clock cycle rising edge, the logic value A′ is shifted into Register a, the logic value B′ is shifted into Register b, and the logic value C′ is shifted into Register c. Thus, the embodiment shown gives the ability to apply change input test pattern “110”, subsequent to the application of initialization test pattern “010” in just one clock cycle. Thus, the embodiment shown allows the use of test pattern sequence ABC=<initialization test pattern of “010”, change input test pattern of “110”>, to control the inputs to combinational logic circuit 200 such that the time delay on path 102, 104, 106 can be measured—something not possible under the related art, as was explained above.
Those skilled in the art will recognize that the embodiment shown will allow the sequential application of any initialization test pattern-change input test pattern sets appropriate to combinational logic circuit 200. For example, as an additional embodiment, those skilled in the art will recognize that the test pattern set of ABC=<initialization test pattern “110”, and change input test pattern “010”>, can also be achieved using the embodiment shown in FIG. 2A by applying the data set A′AB′BC′C=<011100> in a fashion substantially similar to that just described in relation to FIGS. 2A and 2B.
The above examples show how the delay of path 102, 104, 106 can be tested using shadow registers. Those skilled in the art will appreciate that the shadow registers can be inserted for any arbitrary path, and that the embodiments shown and discussed in relation to FIGS. 2A, 2B, and 2C can be extended from more than two successive patterns by the insertion of more shadow registers in a fashion analogous to that shown in for shadow Registers a′, b′, and c′. Those skilled in the art will recognize that Registers a′, a, b′, b, c′, and c can be implemented utilizing any number of components well known to those within the art, such as virtually any memory elements allowing the sequential application of data (e.g., flop flops, latches, or random access memory sequentially employed) to appropriate inputs of any particular combinational logic circuit under test.
The embodiments illustrated with the help of FIGS. 2A, 2B, and 2C assumed that additional shadow registers would be inserted in addition to those registers normally utilized for the operation of an IC. However, other embodiments exist which will provide essentially the same functionality of the embodiments shown in relation to FIG. 2, but without requiring any additional registers beyond those already present in an IC.
Referring now to FIGS. 3A, 3B, 3C, 3D, and 3E shown is a partially schematic diagram which will be utilized to illustrate embodiments of the present invention which will provide the advantage of the embodiments of FIGS. 2A, 2B, and 2C, but which utilize pre-existing IC registers to provide the functions of shadow Registers a′, b′, and c′. Shown in FIG. 3A is scan chain register bank 301, which as shown contains Registers a, b, c, d, e, and f. As shown in FIG. 3A, it is desired to test the delay of path 102, 104, 106 utilizing test pattern ABC=<initialization test pattern of “010”, and change input test pattern of “110”> in such a fashion as that illustrated in relation to FIGS. 2A, 2B, and 2C. However, as shown, no shadow registers exist within scan chain register bank 301. Depicted, though, is that other registers (Registers d, e, and f) serving circuit elements other than those of combinational logic circuit 200 do exist.
With reference now to FIG. 3B, it can be seen that Registers d, e, and f can be interconnected with Registers a, b, and c such that composite shadowed scan chain register bank 351 is constructed which will function “as if” shadow registers are present. Shown is that connections have been made such that that composite shadowed scan chain register bank 351 is constructed with Register f as the first register, Register a as the second register, Register e as the third register, Register b as the fourth register, Register d as the fifth register, and Register c as the sixth register.
Referring now to FIG. 3C, shown is the logical ordering of composite shadowed scan chain register bank 351 arising from the connections shown in FIG. 2C. Comparison of the logical ordering of composite shadowed scan chain register bank 351 with shadowed scan chain register bank 201 will reveal that they are substantially similar, but that in composite shadowed scan chain register bank 351 Registers f, e, and d “play the role” of shadow Registers a′, b′, and c′ of shadowed scan chain register bank 201, respectively.
With reference to FIG. 3D, depicted is composite shadowed scan chain register bank 351 which shows the logical ordering of FIG. 3C and wherein initialization test pattern “010” and change input test pattern “110” have been entered, which looks substantially similar to shadowed scan chain register bank 201 similarly loaded as depicted in FIG. 2B. Likewise, on the next clock cycle composite shadowed scan chain register bank 351 as depicted in FIG. 3E will function in a fashion substantially similar to the functioning of shadowed scan chain register bank 201 as described in FIG. 2C.
As has been shown, the connections shown in FIG. 3B provide the same functionality of the embodiments illustrated in relation to FIGS. 2A, 2B, and 2C. However, the embodiments illustrated in FIGS. 3A, 3B, 3C, 3D, and 3E require no additional registers beyond those already present within an IC under test. Those skilled in the art will recognize that Registers a, b, c, d, e, and f, and the connections associated with such registers, can be implemented utilizing any number of components well known to those within the art, such as virtually any memory elements allowing the sequential application of data (e.g., flop flops, latches, or random access memory sequentially employed) to appropriate inputs of any particular combinational logic circuit under test.
The preceding embodiments have described the use of shadow registers, or registers connected to function as shadow registers, which utilize one shadow register for each register present in a scan chain register bank to be shadowed. In the case of scan chain register banks which have a large number of inputs, it can be seen that the number of shadow registers utilized under the previously described embodiments could become quite large. That is, when many registers affect output Z under the preceding embodiments, many shadow registers have to be interleaved between registers that affect the output Z. Adding new shadow registers may increase the number of registers present substantially. Embodiments will now be described which do not utilize a corresponding shadow register for every single scan chain register present.
Referring now to FIGS. 4-7B, FIGS. 4-7B will be utilized to show embodiments of the present invention which require near minimal numbers of shadow registers to achieve the ability to clock in a change input scan chain pattern utilizing only one clock cycle. In the course of describing FIGS. 4-7B, embodiments will be described which reduce the number of shadow registers by arranging only the registers that affect the output Z.
With reference now to FIG. 4, shown is a combinational block that depends on many registers. Those skilled in the art will recognize that the output signal Z is generated from the following equation: (output signal Z=input signal a*input signal b*input signal c+input signal d+input signal e+input signal f+input signal g+input signal h+input signal i). In order to test the delay path from input signal a to output signal Z, either of the following two sets of test patterns can be utilized (it will be understood that these two sets of test patterns are exemplary, and that other test pattern sets can be likewise constructed via the use of the principles discussed (i.e., the discussion of controlling and non-controlling inputs) above):
(a) ABCDEFGHI=<initialization test pattern “011000000”, and change input test pattern “111000000”>, or
(b) ABCDEFGHI=<initialization test pattern “111000000”, and change input test pattern “011000000”>.
Both of the above test pattern sets toggle value “A” while keeping all other register values unchanged. Neither of these test patterns sets, however, can be generated by a one clock cycle shift of the contents of scan chain register bank 401 in the direction shown in FIG. 4.
Shown in FIG. 4 is combinational logic circuit 400. Shown also is scan chain register bank 401 composed of Registers a, b, c, d, e, f, g, h, and i. Assuming test pattern set (a) is to be used to test the delay of combinational logic path 402, 404, 406, in the scenario shown it is apparent that at least 9 rising edge clock cycles must elapse subsequent to the loading of initialization test pattern “011000000” prior to being able to utilize change input test pattern “111000000”. Thus, for reasons analogous to those discussed in relation to FIGS. 1A, 1B, and 1C, there is no practicable way in the absence of the present invention to use test pattern set “(a)”. That is, since scan chain register bank 401 contents are changing on each clock cycle there is no practicable way that test pattern set “(a)” can be utilized since there does not exist any way, under the related art, to practicably allow change input pattern “1110000000” to follow initialization test pattern “011000000”.
Shown in FIG. 5 is an embodiment of the present invention whereby test pattern “(a)” can be used to construct test patterns composed of a constructed initialization test pattern and a constructed change input test pattern to be scanned into scan chain register bank 501, such that after the constructed initialization test pattern is scanned in, a one bit, or clock cycle, shift will result in the constructed change input test pattern being presented as input to combinational logic circuit 400 of which a path delay is to be tested. The embodiment of FIG. 5 requires only substantially minimal additional shadow registers, and such minimum additional shadow registers may be supplied via the utilization of newly added shadow registers (e.g., analogous to the way shadow registers were supplied in the embodiments of FIGS. 2A, 2B, and 2C) or by utilizing existing scan chain registers (e.g., analogous to the way shadow registers were supplied in the embodiments of FIGS. 3A, 3B, 3C, 3D and 3E).
Referring now to FIGS. 6A and 6B, shown is a high-level logic flowchart which illustrates a method to be utilized when a substantially minimal number of shadow registers is required. Method step 600 depicts the start of the process. Method step 602 illustrates the designation of combinational logic circuit (e.g., combinational logic circuit 400) wherein a path delay will be tested, such as the delay on path 402, 404, 406. Method step 604 depicts the designation of at least one logic circuit providing input to a combinational logic circuit path whose delay is to be tested, which will be used to control transitioning of an output signal Z; that is, method step 604 depicts that at least one logic circuit will be designated to be an output-affecting input circuit, such as logic circuit 408. Method step 606 shows the generation of a test pattern set composed of a change input test pattern and an initialization test pattern, with both the change in input and initialization patterns having lengths substantially identical to a total number of inputs feeding at least one designated output-affecting input circuit and at least one designated non-output-affecting input circuit (e.g., test pattern sets similar to either test pattern sets (a), or (b), are generated).
Subsequent to the generation of the test pattern set, a second test pattern set is constructed therefrom, as will be illustrated via method steps 612-628.
Method steps 612-628 depict the rearranging of the entries of the first scan chain test pattern and appending at least one symbol to the rearranged entries of the first scan chain test pattern such that a constructed scan chain test pattern set is produced that has a constructed change input test pattern and a constructed initialization test pattern such that the constructed test patterns can be utilized with scan chain resister bank 501 of FIG. 5 to change a test pattern from an initialization test pattern to a change input test pattern with just a one bit shift.
FIG. 6A depicts initialization pattern of test pattern set (a) to be ABCDEFGHI=“011000000” such as that depicted in FIG. 4. Method step 612 depicts designating symbol “I” to be the head symbol position of the scan chain test pattern and designating symbol “A” to be the tail symbol position of the at least a first scan chain—the designations are such that the head symbol “I” position corresponds to a first symbol in the scan chain test pattern that would be clocked in and the tail symbol position “A” corresponds to a last symbol in the scan chain pattern that would be clocked in if initialization pattern (a) were to be clocked into scan chain register bank 401.
Method step 614 depicts designating the symbol that was originally in the tail symbol position (e.g., symbol “A”) to be the “reference symbol”. Method step 616 illustrates the comparison of the remaining symbols (e.g., symbols “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”) against the “reference symbol” and reordering these remaining symbols such that those symbols which are of value substantially equivalent to the reference symbol (e.g., symbols “D”, “E”, “F”, “G”, “H”, “I”) appear either in or substantially proximate to the head of the reordered initialization scan chain. Method step 618 shows that symbols which are of value substantially opposite that of reference symbol (e.g., symbols “B”, “C”) are reordered to appear either in or substantially proximate to the tail symbol position in the scan chain. Subsequently, method step 620 illustrates placing the reference symbol value (e.g., symbol “A”) in the remaining open slot. Method step 622 shows the discernment of the logic value of the symbol which is now in the tail symbol positions (e.g., symbol “B” is in the tail position) and the creation of a new symbol B′ which has logic value the same as that of the symbol in the tail symbol position (e.g., B′ is the same logic value of symbol B). Method step 624 shows that B′ is now appended to the rearranged initialization scan chain to construct a new test pattern set.
Method step 626 depicts that constructed scan chain B′BCADEFGHI is loaded into scan chain register bank 501 such that values BCADEFGHI are in Registers a-f and value B′ appears in shadow Register a′. Method step 628 shows that on the next clock cycle, the appended value B′ is clocked into scan chain register bank 501 which will then result in B′BCADEFGH appearing in Registers a-f, and thus force a change in output signal Z. Method step 630 shows the end of the process.
As can be seen, the foregoing described method depicts that even though the scan chain test pattern is 9 symbols long, an embodiment of the present invention can be achieved by the addition of only one shadow register sufficient to accommodate B′. This is because the foregoing method constructed an initialization pattern BCADEFGHI and a change input test pattern B′BCADEFGH which can be applied in one clock cycle subsequent to the application of the initialization pattern.
It will also be understood by those skilled in the art that an alternate embodiment could be achieved by clocking constructed initialization pattern BCADEFGHI into scan chain register bank 401 and subsequently clocking B′ into scan chain register bank 401.
It will also be understood by those skilled in the art that the manipulation shown in the high level logic flowchart of FIG. 6 can be achieved by hardware design within the IC via the use of techniques will understood by those within the art.
Finally, FIGS. 7A-7B present a high level logic flowchart geared to constructing a test pattern set based on test pattern (b) (i.e., ABCDEFGHI=<111000000,011000000>). This flowchart functions, and is used in substantially the same way, as that described in relation to the high-level logic flowchart of FIG. 6, with the seven hundred series numbered blocks functioning substantially similar to their seven hundred series counterparts.
Referring now to FIGS. 7A and 7B, shown is a high-level logic flowchart which illustrates a method to be utilized when a substantially minimal number of shadow registers is required. Method step 700 depicts the start of the process. Method step 702 illustrates the designation of combinational logic circuit (e.g., combinational logic circuit 400) wherein a path delay will be tested, such as the delay on path 402, 404, 406. Method step 704 depicts the designation of at least one logic circuit providing input to a combinational logic circuit path whose delay is to be tested, which will be used to control transitioning of an output signal Z; that is, method step 704 depicts that at least one logic circuit will be designated to be an output-affecting input circuit, such as logic circuit 408. Method step 706 shows the generation of a test pattern set composed of a change input test pattern and an initialization test pattern, with both the change in input and initialization patterns having lengths substantially identical to a total number of inputs feeding at least one designated output-affecting input circuit and at least one designated non-output-affecting input circuit (e.g., test pattern sets similar to either test pattern sets (a), or (b), are generated).
Subsequent to the generation of the test pattern set, a second test pattern set is constructed therefrom, as will be illustrated via method steps 712-728.
Method steps 712-728 depict the rearranging of the entries of the first scan chain test pattern and appending at least one symbol to the rearranged entries of the first scan chain test pattern such that a constructed scan chain test pattern set is produced that has a constructed change input test pattern and a constructed initialization test pattern such that the constructed test patterns can be utilized with scan chain resister bank 501 of FIG. 5 to change a test pattern from an initialization test pattern to a change input test pattern with just a one bit shift.
FIG. 7A depicts initialization pattern of test pattern set (a) to be ABCDEFGHI=“111000000”. Method step 712 depicts designating symbol “I” to be the head symbol position of the scan chain test pattern and designating symbol “A” to be the tail symbol position of the at least a first scan chain—the designations are such that the head symbol “I” position corresponds to a first symbol in the scan chain test pattern that would be clocked in and the tail symbol position “A” corresponds to a last symbol in the scan chain pattern that would be clocked in if initialization pattern (a) were to be clocked into scan chain register bank 401.
Method step 714 depicts designating the symbol that was originally in the tail symbol position (e.g., symbol “A”) to be the “reference symbol”. Method step 716 illustrates the comparison of the remaining symbols (e.g., symbols “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”) against the “reference symbol” and reordering these remaining symbols such that those symbols which are of value substantially equivalent to the reference symbol (e.g., symbols “B”, “C”) appear either in or substantially proximate to the head of the reordered initialization scan chain. Method step 718 shows that symbols which are of value substantially opposite that of reference symbol (e.g., symbols “D”, “E”, “F”, “G”, “H”, “I”) are reordered to appear either in or substantially proximate to the tail symbol position in the scan chain. Subsequently, method step 720 illustrates placing the reference symbol value (e.g., symbol “A”) in the remaining open slot. Method step 722 shows the discernment of the logic value of the symbol which is now in the tail symbol positions (e.g., symbol “D” is in the tail position) and the creation of a new symbol D′ which has logic value the same as that of the symbol in the tail symbol position (e.g., D′ is the same logic value of symbol D). Method step 724 shows that D′ is now appended to the rearranged initialization scan chain to construct a new test pattern set.
Method step 726 depicts that constructed scan chain D′DEFGHIABC is loaded into scan chain register bank 501 such that values DEFGHIABC are in Registers a-f and value D′ appears in shadow Register a′. Method step 728 shows that on the next clock cycle, the appended value D′ is clocked into scan chain register bank 501 which will then result in D′DEFGHIAB appearing in Registers a-f, and thus force a change in output signal Z. Method step 730 shows the end of the process.
The foregoing detailed description has set forth various embodiments of the present invention via the use of block diagrams, pictographic representations, flowcharts and examples. It will be understood as notorious by those within the art that each component, step, and operation illustrated by the use of block diagrams, pictographic representations, and examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or any combination thereof. In one embodiment, the present invention is implemented via Application Specific Integrated Circuits (ASICs). However, those skilled in the art will recognize that the embodiments disclosed herein, in whole or in part, can be equivalently implemented in standard Integrated Circuits, as a computer program running on a computer or processor, as firmware, or as virtually any combination thereof and that designing the circuitry and/or writing the code for the software or firmware would be well within the skill of one of ordinary skill in the art in light of this specification.
The description of the invention set forth herein is illustrative and is not intended to limit the scope of the invention as set forth in the following claims. Variations and modifications of the embodiments disclosed herein may be made based on the description set forth herein, without departing from the scope and spirit of the invention as set forth in the following claims.
The foregoing described embodiments depict different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In an abstract, but still definite sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality.
Other embodiments are within the following claims.
While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that, based upon the teachings herein, changes and modifications may be made without departing from this invention and its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this invention. Furthermore, it is to be understood that the invention is solely defined by the appended claims. It will be understood by those within the art that if a specific number of an introduced claim element is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such limitation is present. For non-limiting example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim elements. However, the use of such phrases should not be construed to imply that the introduction of a claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an”; the same holds true for the use of definite articles used to introduce claim elements.

Claims (8)

What is claimed is:
1. A method comprising:
interleaving a change input scan chain test pattern and an initialization scan chain test pattern utilizing a shadowed scan chain register bank including a first set of registers sufficient to store said initialization scan chain test pattern and a second set of registers sufficient to store said change input scan chain test pattern to produce a resultant scan chain test pattern; and
applying said resultant scan chain test pattern to at least one combinational logic circuit.
2. The method of claim 1, wherein,
said interleaving comprises,
interleaving one or more symbols of said change input scan chain test pattern into said initialization scan chain test pattern.
3. The method of claim 1, wherein,
said interleaving comprises,
interleaving a scan chain register bank sufficient to store said initialization scan chain test pattern and a bank of shadow registers sufficient to store said change input scan chain test pattern.
4. The method of claim 1, wherein,
said applying comprises,
loading said resultant scan chain test pattern into said shadowed scan chain register bank, wherein,
at least one register from said shadowed scan chain register bank is connected to at least one input of said combinational logic circuit; and
sequentially clocking said resultant scan chain test pattern through said shadowed scan chain register bank.
5. A system comprising:
means for interleaving a change input scan chain test pattern and an initialization scan chain test pattern utilizing a shadowed scan chain register bank including a first set of registers sufficient to store said initialization scan chain test pattern and a second set of registers sufficient to store said change input scan chain test pattern to produce a resultant scan chain test pattern; and
means for applying said resultant scan chain test pattern to at least one combinational logic circuit.
6. The system of claim 5, wherein,
said means for interleaving comprises,
means for interleaving one or more symbols of said change input scan chain test pattern into said initialization scan chain test pattern.
7. The system of claim 5, wherein,
said means for interleaving comprises,
means for interleaving a scan chain register bank sufficient to store said initialization scan chain test pattern and a bank of shadow registers sufficient to store said change input scan chain test pattern.
8. The system of claim 5, wherein,
said means for applying comprises,
means for loading said resultant scan chain test pattern into said shadowed scan chain register bank, wherein,
at least one register from said shadowed scan chain register bank is connected to at least one input of said combinational logic circuit; and
means for sequentially clocking said resultant scan chain test pattern through said shadowed scan chain register bank.
US10/262,271 1999-03-10 2002-10-01 Combinational test pattern generation method and apparatus Expired - Fee Related US6782502B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/262,271 US6782502B2 (en) 1999-03-10 2002-10-01 Combinational test pattern generation method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/265,513 US6480980B2 (en) 1999-03-10 1999-03-10 Combinational test pattern generation method and apparatus
US10/262,271 US6782502B2 (en) 1999-03-10 2002-10-01 Combinational test pattern generation method and apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/265,513 Continuation US6480980B2 (en) 1999-03-10 1999-03-10 Combinational test pattern generation method and apparatus

Publications (2)

Publication Number Publication Date
US20030079167A1 US20030079167A1 (en) 2003-04-24
US6782502B2 true US6782502B2 (en) 2004-08-24

Family

ID=23010759

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/265,513 Expired - Lifetime US6480980B2 (en) 1999-03-10 1999-03-10 Combinational test pattern generation method and apparatus
US10/262,271 Expired - Fee Related US6782502B2 (en) 1999-03-10 2002-10-01 Combinational test pattern generation method and apparatus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/265,513 Expired - Lifetime US6480980B2 (en) 1999-03-10 1999-03-10 Combinational test pattern generation method and apparatus

Country Status (1)

Country Link
US (2) US6480980B2 (en)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556044B2 (en) * 2001-09-18 2003-04-29 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US6950974B1 (en) * 2001-09-07 2005-09-27 Synopsys Inc. Efficient compression and application of deterministic patterns in a logic BIST architecture
US7246287B1 (en) * 2002-04-04 2007-07-17 Mips Technologies, Inc. Full scan solution for latched-based design
US7539915B1 (en) 2003-01-07 2009-05-26 Marvell Israel (Misl) Ltd. Integrated circuit testing using segmented scan chains
US7228478B2 (en) * 2004-08-11 2007-06-05 International Business Machines Corporation Built-in self-test (BIST) for high performance circuits
US7469372B2 (en) * 2005-05-13 2008-12-23 Texas Instruments Incorporated Scan sequenced power-on initialization
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7506225B2 (en) * 2005-10-14 2009-03-17 International Business Machines Corporation Scanned memory testing of multi-port memory arrays
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US20120179935A1 (en) * 2011-01-11 2012-07-12 Nec Laboratories America, Inc. Dynamic test generation for concurrent programs
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900753A (en) * 1997-03-28 1999-05-04 Logicvision, Inc. Asynchronous interface
US6263461B1 (en) * 1998-06-12 2001-07-17 Synopsys, Inc. Circuit for efficiently testing memory and shadow logic of a semiconductor integrated circuit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3375843D1 (en) * 1983-12-28 1988-04-07 Ibm Electrical-diagnosis method for a defect cell in a chain of cells of a shift register
JPH0690695B2 (en) * 1992-06-24 1994-11-14 インターナショナル・ビジネス・マシーンズ・コーポレイション Computer system and system expansion device
EP0578858A1 (en) * 1992-07-17 1994-01-19 International Business Machines Corporation AC interconnect test of integrated circuit chips
US5642362A (en) * 1994-07-20 1997-06-24 International Business Machines Corporation Scan-based delay tests having enhanced test vector pattern generation
US5640402A (en) * 1995-12-08 1997-06-17 International Business Machines Corporation Fast flush load of LSSD SRL chains
US5805789A (en) * 1995-12-14 1998-09-08 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US6199182B1 (en) * 1997-03-27 2001-03-06 Texas Instruments Incorporated Probeless testing of pad buffers on wafer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900753A (en) * 1997-03-28 1999-05-04 Logicvision, Inc. Asynchronous interface
US6263461B1 (en) * 1998-06-12 2001-07-17 Synopsys, Inc. Circuit for efficiently testing memory and shadow logic of a semiconductor integrated circuit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Digital Systems Testing and Testable Design by Miron Abramovici, Melvin A. Breuer and Arthur D. Friedman, 1990, Chapters 2 and 3 (pp. 9-91) (Copy Enclosed).
Savir et al. (Scan-based transition test; IEEE, Aug. 1993).* *

Also Published As

Publication number Publication date
US20030079167A1 (en) 2003-04-24
US20020133775A1 (en) 2002-09-19
US6480980B2 (en) 2002-11-12

Similar Documents

Publication Publication Date Title
US6782502B2 (en) Combinational test pattern generation method and apparatus
US6389566B1 (en) Edge-triggered scan flip-flop and one-pass scan synthesis methodology
US7747917B2 (en) Scan cells with minimized shoot-through and scan chains and integrated circuits using the same
US5719878A (en) Scannable storage cell and method of operation
US5867409A (en) Linear feedback shift register
US5717701A (en) Apparatus and method for testing interconnections between semiconductor devices
US6788105B2 (en) Semiconductor integrated circuit
EP1709454B1 (en) Test architecture and method
US5886901A (en) Flip-flop for scan test chain
EP0884599A1 (en) Programming mode selection with jtag circuits
US5878055A (en) Method and apparatus for verifying a single phase clocking system including testing for latch early mode
EP0053665A1 (en) Testing embedded arrays in large scale integrated circuits
JPS5973780A (en) Device for testing integrated circuit
US20050229059A1 (en) Flip flop circuit and apparatus using a flip flop circuit
US6553530B1 (en) Integrated circuit devices that include self-test apparatus for testing a plurality of functional blocks and methods of testing same
JPH07504076A (en) Dual edge-triggered memory device and system
US4428060A (en) Shift register latch circuit means for check and test purposes and contained in LSI circuitry conforming to level sensitive scan design (LSSD) rules and techniques
EP0470821A2 (en) Scannable register with delay test capability
US5815687A (en) Apparatus and method for simulating domino logic circuits using a special machine cycle to validate pre-charge
US8046643B2 (en) Transport subsystem for an MBIST chain architecture
US20090009210A1 (en) Scan-Testable Logic Circuit
JP2778443B2 (en) Optimization method of scan path test circuit
US7143322B2 (en) Arrangement and method of testing an integrated circuit
Hosokawa et al. Design for testability strategies using full/partial scan designs and test point insertions to reduce test application times
US20080215941A1 (en) Double-edge triggered scannable pulsed flip-flop for high frequency and/or low power applications

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: RENESAS ELECTRONICS AMERICA, INC., CALIFORNIA

Free format text: MERGER;ASSIGNOR:NEC ELECTRONICS AMERICA, INC.;REEL/FRAME:026110/0643

Effective date: 20100401

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20120824