Test results checking via predictive-reactive emulation
First Claim
1. A functional testing system for verifying the behavior of a digital system, the system comprising:
- a plurality of input vectors;
a hardware model representing a relatively low-level software characterization of the digital system;
a hardware emulator representing a relatively high-level software characterization of the digital system, wherein the hardware emulator is capable of storing internal model state information;
a system simulator for applying the plurality of input vectors to the hardware model and the hardware emulator, wherein each input vector applied to the hardware model produces a corresponding model output vector and wherein each input vector applied to the hardware emulator produces one or more corresponding emulator output vectors;
a comparator comparing each of the one or more emulator output vectors to the model output vector, activating a match signal if the model output vector matches one of the one or more emulator output vectors, and providing a current matching output vector;
a history file storing matching output vectors from the comparator;
a set of context specific rules defining a valid behavior for the list of matching output vectors stored in the history file; and
a rules checker determining whether the current matching output vector is valid based on the history file, the internal model state information from the hardware emulator, the set of context specific rules, and the current matching output vector.
2 Assignments
0 Petitions
Accused Products
Abstract
A function for verifying the behavior of a digital system, where the digital system can exhibit several differing but valid behaviors from the same input. Identical input vectors are applied to both a hardware model and hardware emulator of the digital system via a simulator. Simulating the hardware emulator generates one or more predicted output vectors, while simulating the hardware model produces a single output vector. The output vector of the hardware model is then compared with the one or more predicted output vectors of the hardware emulator. If there is not an output match, an exception is raised. If the output vector of the hardware model matches one of the predicted output vectors of the hardware emulator, a rules checker applies a set of context specific rules defining a valid behavior to the current matching output vector, the internal model state information from the hardware emulator, and a history file of previous output vectors. If the current matching output vector passes the rules checker, the hardware emulator reacts by updating its internal state information and the verification continues with a new input vector, otherwise an exception is raised indicating a rules violation.
-
Citations
23 Claims
-
1. A functional testing system for verifying the behavior of a digital system, the system comprising:
-
a plurality of input vectors;
a hardware model representing a relatively low-level software characterization of the digital system;
a hardware emulator representing a relatively high-level software characterization of the digital system, wherein the hardware emulator is capable of storing internal model state information;
a system simulator for applying the plurality of input vectors to the hardware model and the hardware emulator, wherein each input vector applied to the hardware model produces a corresponding model output vector and wherein each input vector applied to the hardware emulator produces one or more corresponding emulator output vectors;
a comparator comparing each of the one or more emulator output vectors to the model output vector, activating a match signal if the model output vector matches one of the one or more emulator output vectors, and providing a current matching output vector;
a history file storing matching output vectors from the comparator;
a set of context specific rules defining a valid behavior for the list of matching output vectors stored in the history file; and
a rules checker determining whether the current matching output vector is valid based on the history file, the internal model state information from the hardware emulator, the set of context specific rules, and the current matching output vector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
a model simulator for simulating the hardware model; and
a predictive simulator for simulating the hardware emulator.
-
-
6. The functional testing system of claim 1, wherein the hardware model is synthesized and processed to form the digital system.
-
7. The functional testing system of claim 1, wherein if the comparator determines that there are no current matching output vectors between the hardware emulator and the hardware model for a given input vector, an exception handler raises an exception.
-
8. The functional testing system of claim 1, wherein if the rules checker determines that the current matching output vector is invalid, an exception handler raises an exception.
-
9. The functional testing system of claim 1, wherein if the rules checker detects a problem with the internal model state information, an exception handler raises an exception.
-
10. A method for verifying the behavior of a digital system, the method comprising:
-
defining a hardware model representing a relatively low-level software characterization of the digital system;
defining a hardware emulator representing a relatively high-level software characterization of the digital system, wherein the hardware emulator is capable of storing internal model state information;
defining a plurality of input vectors;
simulating the hardware model and the hardware emulator by applying the plurality of ordered input vectors to the hardware model and the hardware emulator, wherein each input vectors applied to the hardware model produces a corresponding model output vector, and each input vector applied to the hardware emulator produces one or more corresponding emulator output vectors;
comparing each of the one or more emulator output vectors produced by the hardware emulator to the model output vector;
activating a match signal if the model output vector matches one of the one or more emulator output vectors;
providing a current matching output vector if the model output vector matches one of the one or more emulator output vectors;
storing matching output vectors in a history file;
defining a set of context specific rules which define a valid behavior for the ordered list of matching output vectors stored in the history file; and
determining whether the current matching output vector is a valid based on the history file, the internal model state information from the hardware emulator, the set of context specific rules, and the current matching output vector. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium containing instructions for controlling a computer system to perform a method for verifying the behavior of a digital system, comprising the steps of:
-
defining a hardware model representing a relatively low-level software characterization of the digital system;
defining a hardware emulator representing a relatively high-level software characterization of the digital system, wherein the hardware emulator is capable of storing internal model state information;
defining a plurality of input vectors;
simulating the hardware model and the hardware emulator with a system simulator by applying the plurality of ordered input vectors to the hardware model and the hardware emulator, wherein each input vectors applied to the hardware model produces a corresponding model output vector, and each input vector applied to the hardware emulator produces one or more corresponding emulator output vectors;
comparing each of the one or more emulator output vectors produced by the hardware emulator to the model output vector;
activating a match signal if the model output vector matches one of the one or more emulator output vectors;
providing a current matching output vector if the model output vector matches one of the one or more emulator output vectors;
storing matching output vectors in a history file;
defining a set of context specific rules which define a valid behavior for the ordered list of matching output vectors stored in the history file; and
determining whether the current matching output vector is a valid based on the history file, the internal model state information from the hardware emulator, the set of context specific rules, and the current matching output vector. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification