IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates generally to the testing of logical structures methods and particularly to static and dynamic fault simulation and test generation method.
2. Description of Background
With the increasing density and size of Very-Large-Scale Integration (VLSI) structures it is becoming necessary to further reduce test generation and fault simulation times. This increase in test generation and fault simulation efficiency must be realized while still achieving the same quality DC/AC test overages obtained via current methods. These long simulation times during LSSD (level sensitive scan design) Deterministic, Weighted Random Pattern (WRP), and various forms of BIST test generation considerably add to total test cost and in some cases are extremely prohibitive for particular test modes and test pattern types. Costly Deterministic, WRP, and BIST (built in self test) test generation and fault simulation times and resources are becoming more of a constraint on the system, and will be unacceptable for future products with today's aggressive system cycle times.
Current test structures, methodologies, and Automated Test Pattern Generation (ATPG) software do not take advantage of structural regularity, resulting in larger test data volumes and longer test times. Essentially, the logic in a VLSI design is treated as flat, random logic. A typical example of a regular structure consists of Register Arrays (RA). As the name suggests, they are highly regular structures having the array and read multiplexing treated as independent but identical bit-slices. Since VLSIs design typically have a large number of register arrays, often with more storage elements in the arrays than that found in conventional (random) logic, and since such arrays are inherently more difficult to test due to the addressing requirements, the problem of testing such VLSIs designs have become unmanageable. In addition to storage arrays, it has become increasingly common to find functional blocks in the chip replicated several times. As a result, many chips have significant portions of their logic organized as repeated structures. Current ATPG techniques are unable to take advantage of this repetition, leading to an excessive test data volume and test application times.
Current ATPG programs are unable to take into consideration multiple, repeated, structures because of the inherent assumption built into all ATPG programs, and all Design For Test rules, that data in different memory elements of the scan chains should be independent of all each other. That is, the data should be uncorrelated. When testing random logic, i.e., wherein an arbitrary subset of the storage elements in the scan chains feed an arbitrary Boolean expression, this independence is required to avoid non-testable faults. Indeed, within a single repeated structure, this requirement for independence of the stimulus data still holds. However, when a structure is repeated multiple times, and each copy of the structure is independent of other copies, then, identical (fully correlated) stimulus data may be scanned into each copy of the structure without creating non-testable faults.
Different methods and techniques of performing test generation and fault simulation have historically been utilized to reduce simulation times, ranging from Parallel Pattern Single Fault Propagate (PPSFP) and fan-out free network approaches to LSSD Deterministic and BIST test generation methods.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of test generation methods.
Exemplary embodiments include a static test generation and simulation method including: analyzing a logic model; identifying a logic structure in the logic model whose input/output signal can be assigned to a particular logical value and remain fixed during a fault simulation test; and running the fault simulation test to check the logic model for faults.
Exemplary embodiments also include a dynamic test generation and simulation method including: analyzing a logic model; running a fault simulation test to check the logic model for faults; and identifying a logic structure in the logic model whose input/output signal can be assigned to a particular logical value and remain fixed during a fault simulation test, wherein identifying a logic structure is performed during the running of the fault simulation test.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution that allows quick and efficient fault simulation and test generation for logical models.
The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Referring now to
In an exemplary embodiment, the test generator needs to trace back sufficient paths to set up the activation and propagation values to detect a fault. Trace backs on these logic structures are performed using the same analysis of logic structures as shown at method steps 12 and 14, which reduces the time required for test generation. For example, the test generator might need a certain value but because of the analysis, the test generator will already know either that the value is achieved or not achievable through a particular path. In addition, there could be many instances of this logic structure across the logic model and thereby provide even more reduction in test generation or fault simulation time. By performing the method 10, the number of forward and backward implications made during test generation or fault simulation, especially upon large logic structures, can be greatly simplified. The simplification of the logic structure will cause a reduction in the overall simulation time.
The implementation of the method 10 can take on various forms. In one exemplary embodiment, implementation of the method 10 is strictly based upon logic model tracing that would identify these logic structures and multiple instances of them within the logic model. These logic model tracing algorithms are of the same form and nature that can also be used to identify certain logic topological configurations and functions such as clock choppers, fan-out free networks, re-convergent fan-out, redundant faults, L1 latch to L1 latch paths, L2 latch to L2 latch paths, L2 latch to L3 latch paths, L3 latch to L1/L2 latch paths, ‘A’/‘B’/‘P’ clock to PO paths, L1/L2/L3 latch to PO paths, PI to PO paths, and the like. There are many efficient logic model-tracing algorithms that can be employed to identify these structures including, but not limited to, the “ping-pong” and the “shotgun” tracing methods. For example, the ping-pong method traverses the logic blocks one path at a time, whereas the shotgun method traces the logic blocks one level of logic at a time. Regardless of the algorithm that is used, as the logic model is traversed the configuration of the logic is duly noted in the form of special data structures in the logic model trace software to identify each logic block making up these special structures. These data structures or “flags” are then made available to the test generation/fault simulation software.
Some simple examples of these logic structures applicable to the static learning method are described below with reference to
Referring now to
Referring now to
Referring now to
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.