Automated scan chain sizing using Synopsys

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital logic testing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S730000, C712S220000

Reexamination Certificate

active

06212656

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computer systems and associated hardware, and particularly to methods and apparatuses for facilitating testing of integrated circuit devices.
2. Description of the Related Art
Electronic devices, such as computer chips, can include multiple and often thousands of logic circuits. To ensure that the logic circuits are operating correctly before they are put to use, these circuits are tested to verify wiring integrity. To facilitate this testing, during fabrication flip-flops are configured with multiplexers to form scan-flops. As is shown in
FIG. 1
, a scan-flop
10
includes a flip-flop
12
electrically connected to a multiplexer (MUX)
14
. A data-in signal (DI) and a scan-in signal (SI) are input to the MUX
14
along with a scan-enable signal (SE). An output is passed from the MUX
14
to the flip-flop
12
through an electrical connection
16
, to provide a data signal D to the flip-flop
12
. A clock signal CLK is also passed to the flip-flop
12
. Thus, with the clock signal CLK and data signal D, the flip-flop
12
generates an output signal Q and an output signal NQ which is the inverse of Q.
Scan-flops such as that shown in
FIG. 1
are then electrically connected to each other in series to form a scan chain, in a process sometimes referred to as scan chain stitching. Other non-scan logic circuitry (miscellaneous logic) that is to be tested by the scan mode testing, is also electrically connected to the scan chain, interspersed between various scan-flops. For example,
FIG. 2
depicts a representative scan chain
20
. A scan-flop
10
is connected to miscellaneous logic
24
, which is desired to be tested with the scan chain
20
. Another scan-flop
10
′ is connected to miscellaneous logic
24
to complete the scan chain. Of course, other miscellaneous logic and other scan-flops can be included in the scan chain
20
. In particular, other miscellaneous logic
26
is connected to scan-flop
10
, as well as to other miscellaneous logic or scan-flop of another scan-chain (not shown).
Signals, in the form of a test vector, can be passed through the scan chain
20
to test the miscellaneous logic by monitoring the output signal. Typically the test vector is introduced to the scan chain as the scan-in signal SI of the first scan-flop
10
of the scan chain
20
. Scan signals
22
, including a scan-in signal SI, scan-enable signal SE, and clock signal CLK, are shown introduced to the scan flops
10
and
10
′ of the scan chain
20
. The test vector is sequentially shifted into each scan-flop of the scan chain, in accordance with the clock signal CLK. After the test vector is passed into the miscellaneous logic from adjacent scan-flops, the scan-flops are sequentially unloaded to an output signal SO. This output signal SO is then analyzed to verify the wiring and functionality of the miscellaneous logic that is electrically connected to the scan chain. For example, the output signal can be compared to an output signal that would be expected, given the known scan chain path, miscellaneous logic, and test vector, with any differences being indicative of a possible fault in the miscellaneous logic circuitry. In addition, the inverse output signals NQ and NQ′ of the scan-flops
10
and
10
′ can be passed to other circuitry such as miscellaneous logic
26
or scan-flops of other scan chains (not shown).
As is well known, in order to load the test vector into the scan chain
20
to initiate testing, the test vector data must be sequentially loaded into each scan flop
20
. Unfortunately, the longer the scan chain is, the longer the time to test the device. This is because loading each individual scan-flop with the test vector requires one clock. Accordingly, this sequential loading and unloading of all of the scan-flops each entail a number of clocks equal to the number of scan-flops, which can be in the order of thousands. The greater this test time is, the lower the production yield, and therefore the lower the production output. Therefore, in order to minimize the impact of testing on production output, test time can be limited by limiting the size of the scan chains during the design phase. Thus, rather than having a single scan chain of several thousand scan-flops, multiple scan chains that can be run in parallel may be used, each with a certain desired maximum number of scan-flops.
While two scan-flops
10
and
10
′ are depicted in the scan chain
20
of
FIG. 2
, a typical scan chain can encompass thousands of scan-flops
10
. Typically, the particular scan path of a scan chain
20
can be designed using a synthesis tool, such as Synopsys which can be obtained from Synopsys, Inc. of Mountain View, Calif. Information regarding operational and other aspects of Synopsys can be found in “About Synopsys Online Documentation—Version 1998.02,” which is incorporated herein by reference. Such a tool is utilized to identify which scan-flops are to be included within a particular scan chain, to determine the particular scan path that is to be formed between both scan-flops
10
and the miscellaneous logic that is to be tested, and to physically stitch the scan chain. Unfortunately, such tools require a user to manually input each register that is to be included on a single scan chain. This manual designation includes manually counting each scan-flop and identifying it as being within the scan chain. As the number of scan-flops increases, the error rate in designated these scan-flops can become increasingly burdensome and prone to error. This problem is further exacerbated by increasing circuit densities on IC devices.
Thus, it is desired to have a method and system for creating multiple scan chains having varying numbers of scan-flops, within a single design, while minimizing error rates and design time.
SUMMARY OF THE INVENTION
Broadly speaking, the present invention fills these needs by providing a method and apparatus for an automated technique of creating multiple scan chains, each of any desired length, within the same test circuitry design. In particular, a Unix c-shell script is called to parse through a list of all of the scan-flops that are to be used in the test circuitry. The list of all of the scan-flops to be used can be formed with a synthesis tool, such as Synopsys. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
A method for designing scan mode circuitry for testing electrical interconnections within an integrated circuit design includes identifying each one of a plurality of scan-flops that will be part of the scan mode circuitry, and declaring each one of the plurality of scan-flops as being part of a valid scan path and writing the plurality of scan-flops to a file. The method also includes executing a Unix c-shell script for creating a plurality of scan sub-chains from the plurality of scan-flops, such that the creating includes defining a plurality of holding tanks for storing each of the scan sub-chains. Also, a scan path is declared for each of the scan sub-chains that are stored in each of the plurality of holding tanks, as is a set of test signals for each of the scan sub-chains. In addition, the method includes stitching each of the scan sub-chains of the plurality of scan-flops that are part of the executable file.
A method for configuring scan mode circuitry of an integrated circuit device includes preparing an initial file listing a plurality of scan-flops that will be used in the scan mode circuitry. Also, a holding tank is created for each of a plurality of scan chains, each holding tank listing a subset of the plurality of scan-flops that form a particular scan chain. In addition, both a scan path and a test vector are determined for each scan chain. The method further includes identifying a pin for each component of eac

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Automated scan chain sizing using Synopsys does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Automated scan chain sizing using Synopsys, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Automated scan chain sizing using Synopsys will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2491517

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.