Method and apparatus for the real time manipulation of a...

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

C703S015000, C714S033000

Reexamination Certificate

active

06718498

ABSTRACT:

TECHNICAL FIELD
The field of the invention generally relates to testing of integrated circuit designs, and more specifically built-in test systems which utilize integrated debug circuitry incorporated within the integrated circuit under test.
BACKGROUND
During the development of integrated circuits, particularly in Large Scale Integrated Circuits (LSICs), various software tools are utilized to check and test the operation and functionality of the circuits under test. Two software tools that are commonly utilized are state and timing simulators.
The state simulator is software that emulates a circuit under test, such as a LSIC. The purpose of the state simulator is to mimic the circuit under test so that inputs to and outputs from the circuit under test can be identified. One or more test vectors are entered into the state simulator in order to produce inputs, and determine the resulting outputs for the circuit under test. A test vector is essentially a set of logic states that are imposed upon corresponding nodes in the circuit under test. A set of test vectors typically make up each test case. The test vectors are entered into the state simulator sequentially, usually one vector per clock phase. The state simulator produces state data, which is essentially a large matrix of logic values for nodes in a circuit, for each phase transition, or time step, as determined by the state simulator. For a given set of test vectors, the state simulator identifies the input for the circuit under test (microprocessor test input) and the output for the circuit under test (expected microprocessor output).
A timing simulator is software that determines timing information for each logical path contained in the circuit under test. In general, a timing simulator measures elapsed time for signals to propagate to the circuit elements by providing the times at which each input signal arrives at each node in a path relevant to a clock. Paths are usually scored in order of speed so that a designer can find ways to speed up a slow path and thus enable a higher frequency of operation. The timing data that is produced by the timing simulator includes a list of paths, typically ordered slow to fast, with the time that each transition occurred at each node for each path.
Other software tools are available in the industry for collecting node toggle (transition) information, “stuck at” information and delay fault information. These tools focus on process defects, typically, one fault at a time.
U.S. Pat. No. 5,818,850, (the “'850 patent”) assigned to the assignee of the present invention, entitled Speed Coverage Tool And Method, issued Oct. 6, 1998, and hereby incorporated herein by reference in its entirety, describes a test coverage tool and method to determine the adequacy of test vectors for a state simulator for exercising logical paths in a logical circuit design. The speed coverage tool of the '850 patent generally compares state data from a state simulator and timing data from a timing simulator in order to validate whether a set of test vectors cover a simulated timing test.
Once the microprocessor test inputs and the expected microprocessor outputs are identified using the state simulator and other software tools, the microprocessor test inputs are applied to the circuit under test. Ideally, the results from the circuit under test would match the expected microprocessor outputs previously obtained from the state simulator. Once these vectors agree, the testing of the circuit under test is completed and the functionality of the circuit under test has been determined to be correct.
More often than not, the actual microprocessor output from the circuit under test does not match the expected microprocessor output obtained from the state simulator. Troubleshooting on the circuit under test must then be undertaken to determine the problems internal to the circuit. It has become very difficult to diagnose failures in, and to measure the performance of, state of the art microprocessors such as LSICs. This is because modern microprocessors not only run at very high clock speeds, but many of them also execute instructions in parallel, out of program order, and speculatively. Moreover, visibility of the microprocessors' inner state has become increasingly limited due to complexity of the microprocessors and of practical constraints on the number of external pads, or test points, that can be provided on the circuit under test for testing purposes.
In the past, the traditional failure, diagnosis and performance measurement tools have been external logic analyzers and in-circuit emulators. Logic analyzers are capable of monitoring signals on the chip pads, test points, or other externally accessible system signals, and capturing the state of these signals. Unfortunately, logic analyzers rely solely on externally accessible signals to accomplish this, and do not directly monitor test signals that are internal to the chip itself. In-circuit emulators, on the other hand, are used to mimic the functional characteristics of a new microprocessor in a system environment and to add visibility to certain data values within a microprocessor. Such devices emulate the functionality of the microprocessor. By their very nature, they cannot give a complete and accurate representation of the performance characteristics of an actual silicon device. Therefore, they are primarily useful only for developing and debugging system software.
U.S. Pat. No. 5,867,644, (the “'644 patent”) entitled System And Method For On-Chip Debug Support And Performance Monitoring In A Microprocessor, issued Feb. 2, 1999 to Gregory Ranson, is assigned to the assignee of the present invention, and is incorporated herein in its entirety. The '644 patent describes user configurable diagnostic hardware which is contained on the chip with a microprocessor for the purpose of debugging and monitoring the performance of the microprocessor. A programmable state machine is used in the '644 patent and is coupled to on-chip and off-chip input sources. The programmable state machine may be programmed to look for signal patterns presented by the input sources, and to respond to the occurrences of a defined pattern (or sequence of defined patterns) by driving certain control information onto a state machine output bus. On-chip devices coupled to the output bus take user definable action as dictated by the bus. The input sources include on-chip user configurable comparators located within the functional blocks of a microprocessor. The comparators are also coupled to storage elements within the microprocessor, and are configured to monitor nodes to determine whether the states of the nodes match the data contained in the storage elements. The programmer may change the information against which the states of the nodes are compared as well as the method by which the comparisons are made by changing data in the storage elements. Counters may also be included in the output device and may be used as state machine inputs, so one event may be defined as a function of a different event having occurred a certain number of times. The output device typically also includes circuitry for generating internal and external triggers. User configurable multiplexer circuitry may be used to route user selectable signals from within the microprocessor to the chip's output pads, and to select various internal signals to be used as state machine inputs.
Once a problem is identified within a circuit under test, on-board diagnostic hardware can be used to troubleshoot the circuit. However, before the on-board diagnostics can be used, they must be configured correctly for the testing desired. This is typically done by a test hardware vector. Additionally, the circuit under test must be placed in a known state, which is typically performed with vector initialization code.
Therefore, once a problem has been identified in a circuit under test, there are three vectors associated with this additional debug testing when onboard diagnostic hardware is used: a vector

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

Method and apparatus for the real time manipulation of a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for the real time manipulation of a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for the real time manipulation of a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3239637

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