The field of the invention relates to a method for performing logic built-in-self-test cycles on a semiconductor chip, and more particularly to a corresponding semiconductor chip with a test engine and design methodology for same.
An integrated circuit on a semiconductor chip comprises a plurality of storage elements and logic circuits. For example, the storage elements are realized as flip-flop elements. The logic circuits may be realized as gate logic circuits. During the manufacturing process of the semiconductor chip the integrated circuit has to be tested in order to detect defects.
A well known example of a method for testing high speed integrated circuits is a logic built-in-self-test (LBIST) element. LBIST allows testing the logic of the semiconductor chip at the rated clock speed of the system. LBIST uses pseudo-random pattern generators (PRPG) to initialize LBIST-able scan chains, referred to as LBIST stumps. The LBIST stump is formed by a series of a plurality of scan-able storage elements. Like other storage elements, the scan-able storage element comprises a data input and a data output. Additionally, the scan-able storage element comprises a scan input and a scan output. The scan output of one scan-able storage element is connected to the scan input of the next scan-able storage element. In this way the scan-able storage elements form the LBIST stump.
The PRPG generates pseudo-random patterns, which are driven into the LBIST stumps. The PRPG initializes the LBIST stumps through their scan inputs at the maximum scan frequency. Subsequently, the LBIST switches to the system clock frequency of the product and exercises the functional logic between the LBIST stumps and updates the storage elements of the LBIST stumps. After the functional logic updates, the LBIST stumps scan out the updated values into multiple-input-signature registers (MISR), while simultaneously scanning in new values from the PRPG. The results from the LBIST stump are serially compressed into the MISR. The registers of the MISR capture a signature that is used to identify faults after running enough LBIST iterations.
For very complex and high speed integrated circuits the conventional LBIST techniques to test the complete semiconductor chip becomes more difficult. Switching activity associated with LBIST results in excessive power consumption. Power consumption may be reduced by subdividing the semiconductor chip into partitions, so that only one partition of the semiconductor chip is tested at a time. However, this results in two additional problems. First, the inter-connections between LBIST-able partitions on the semiconductor chip cannot be tested. Second, the contributions from non-LBIST-able partitions may result in non-reproducible LBIST signatures for good semiconductor chips.
Known solutions for testing the inter-connections between the partitions, include manually designed tests, which exercise these connections. For example, a special program is run on a microprocessor. These solutions are very expensive in terms of manual effort and test time. Further, these solutions result in very limited coverage for manufacturing faults.
A known solution to obtain reproducible signatures on one partition is to scan the other partitions to a known state and then hold them in that state, while running LBIST on only one partition. However, the test of the inter-connections between the partitions is impractical with this setup.
The foregoing discussed drawbacks and deficiencies of the prior art are overcome or alleviated, in an exemplary embodiment, by a method as set forth in the independent claims. Further advantageous embodiments are described in the dependent claims and are taught in the description below.
The core idea of the invention is to suppress the signals from the non-scan-able storage elements and from the inter-connection between the partitions. This is realized by controlling the clock signals in the functional path. The control logic may be realized by a relatively small number of gates. Thus, the cost in terms of the additional logic is negligible. Only the additional logic for clock gating is required.
The storage elements are grouped on the semiconductor chip and each group is provided with an individual clock signal.
The invention provides two different modes for running a logic built-in-self-test (LBIST). In the first mode the LBIST is running on one or several complete partitions at a time. In the second mode the LBIST is running on the inter-connections between the partitions. Thereby the LBIST is started synchronously on the boundaries of all partitions to be tested. If the power budget allows it, the modes can be combined in a flexible way. For example, the LBIST runs only a subset of the partitions and on some or all inter-connections at a time.
The signatures are supposed to be reproducible in both modes, since the contributions from the non-LBIST-able logic circuits are suppressed. This is achieved by disabling the clock signal for storage elements connected to the non-LBIST-able logic circuits.
In particular, one or more special LBIST stumps are implemented, which contain only input and/or output registers of a partition. The modes are selectable in conjunction with a proper clock network.
A preferred embodiment allows high fault coverage with a fully automatic LBIST operation. The LBIST operation may be performed for regular logic partitions as well as for the interconnection logic or glue logic. Reproducible signatures are enforced by this test architecture of the semiconductor chip. Manual setups are not necessary before running the LBIST. The connections between the partitions can be tested without defining manual tests.
The overall power consumption on the semiconductor chip can be controlled and limited by running LBIST only on a subset of the partitions in parallel.
Referring to the exemplary drawings wherein like elements are numbered alike in the several Figures:
In a first step 10 the manufacturing test for the integrated circuit is started. In a next step 11 a run of the manufacturing test in a first mode is performed. In said first test mode a logic built-in-self-test (LBIST) is running separately or in parallel for each partition, without testing the inter-partition interfaces. If a resulting signature mismatches with a reference signature, then a faulty partition can be clearly identified. If the signature of all the partitions matches with corresponding reference signatures, then a step 14 is performed. In the step 14 a LBIST for the inter-connections between the LBIST-able partitions is running. If the resulting signature of an inter-connection does not match with a corresponding reference signature, then a defect in the wires between the partitions may be identified. If the resulting signatures of all inter-connections match with corresponding reference signatures, then a last step 16 is performed. The last step 16 finishes the manufacturing test.
The manufacturing test according to the preferred embodiment includes several LBIST steps. The order of the steps 11 and 14 does not matter. If the power budget permits, steps 11 and 14 may run in parallel on at least some partitions and interconnections.
LBIST stumps 22, 24, 26 and 28 are arranged between a pseudo-random pattern generator (PRPG) 30 and a multiple input signature register (MISR) 32. The input of each LBIST stump 22, 24, 26 and 28 is connected to one output of the PRPG 30, respectively. The outputs of the LBIST stumps 22, 24, 26 and 28 are connected to the MISR 32. The PRPG 30 and the MISR 32 are also arranged on the integrated circuit. The PRPG 30 generates pseudo-random patterns that are propagated into LBIST stumps 22, 24, 26 and 28. The results from the LBIST stump are serially compressed into the MISR 32. The registers of the MISR 32 capture a signature that is used to identify faults after running enough LBIST iterations. Between LBIST stumps 22, 24, 26 and 28 combinational logic blocks 34 and 36 are arranged.
In this embodiment the first LBIST stump 22 consists of input registers and the last LBIST stump 28 consists of output registers realized by one or more storage elements.
Alternatively, other constellations of LBIST stumps 22, 24, 26 and 28 are possible. For example, one single LBIST stump contains exclusively the input and output registers. According to another example, multiple LBIST stumps contain exclusively input and output registers.
In step 11 of
In step 14 of
The contributions from non-LBIST-able partitions have to be suppressed in order to avoid irreproducible signatures. Those special input registers, which are connected to non-LBIST-able partitions and receive signals from those non-LBIST-able partitions, have to be scanned to known values and hold their value in any functional cycle for both LBIST modes. These requirements on when the register is supposed to update and when the register is supposed to hold have to be met by a proper clock gating implementation. In order to achieve this functionality, the input registers according to the present invention are subdivided into two kinds of input registers. The input registers of the first kind are driven by a logic circuit, which is tested by an LBIST cycle. The input registers of the second kind are driven by a logic circuit, which is not LBIST-able.
First partition 42 contains AND gate 58 with two input terminals, one connected to a clock signal Clk and the other to a clock enable signal EA4. The output terminal of the AND gate 58 is connected to the clock input terminals of the output registers 52 of the first partition 42.
The second partition 44 comprises an AND gate 60 with two input terminals. The one input terminal of the AND gate 60 is connected to the clock signal Clk. The other input terminal of the AND gate 60 is connected to a clock enable signal EB4. The output terminal of the AND gate 60 is connected to the clock input terminals of the output registers 52 of the second partition 44.
The third partition 46 comprises a first AND gate 62, a second AND gate 64, a third AND gate 66 and a fourth AND gate 68. Each of AND gates 62, 64, 66 and 68 has two input terminals. One input terminal of each AND gate 62, 64, 66 and 68 is connected to clock signal Clk. The other input terminal of the first AND gate 62 is connected to a first clock enable signal EC1. The other input terminal of the second AND gate 64 is connected to a second clock enable signal EC2. The other input terminal of the third AND gate 66 is connected to a third clock enable signal EC3. The other input terminal of the fourth AND gate 68 is connected to a fourth clock enable signal EC4.
Between the first partition 42 and the third partition 46 there is a register 70. In this example, register 70 is provided to retime the signals, so that these signals may be synchronously sampled by the partition 46. In general, register 70 is a relatively small circuit between partitions 42, 44, 46, 48 and may be also provided for other applications. The LBIST for the inter-connections in the step 14 of
The output terminal of the first AND gate 62 is connected to the clock input terminals of the scan-able input registers 54 of the third partition 46. The output terminal of the second AND gate 64 is connected to the clock input terminal of the input register 56 of the third partition 46. The output terminal of the third AND gate 66 is connected to the logic partition 50 of the third partition 46. The output terminal of the fourth AND gate 68 is connected to the clock input terminals of the output registers 52 of the third partition 46.
The clock enable signals EC1, EC2, EC3 and EC4 may control, when the registers 52, 54 and 56 and the logic partition 50 of the third partition are provided with the clock signal Clk. In the same way the clock enable signal EA4 controls the clock signal Clk to the output registers 52 of the first partition 42, and the clock enable signal EB4 controls the clock signal Clk to the output register 52 of the second partition 44.
By the clock enable signals EC1 and EC2 the contributions from other partitions and/or from non-LBIST-able logic circuit may be suppressed as a function of the test mode. Specifically in the embodiment of
The following table shows the logical states of the clock enable signals EC1, EC2, EC3 and EC4 for the third partition 46 of the integrated circuit. The clock enable signals EA4 and EB4 have the same effect as the clock enable signal EC4. The table shows the logical states of the clock enable signals EC1, EC2, EC3 and EC4 for the different test modes as well as the functional modes “partition is running” and “partition in hold mode”.
In
The preferred embodiments can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein. Further, when loaded in computer system, said computer program product is able to carry out these methods.
Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various other changes and modifications may be performed therein by one skilled in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
07108640.9 | May 2007 | DE | national |