Patent US5604895A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5604895A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs

Assignee: NXP USA Inc
•
Filing: 1995-09-29
•
Granted: 1997-02-18
•
Expires: 2015-09-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus, for determining test coverage estimation for an electrical circuit (10) formed in accordance with an original high level description (21), uses a central processing unit (CPU 18). The CPU (18) accesses the description (21) and parses the high level language description (21) to allow for the generation of new code. This new code is intermixed with code from the description (21) to form a new high level description (22) which not only can be used to simulate the electrical circuit but can collect test coverage information. A simulation of the description (22) is performed using test vector inputs to simulate operation of the circuit (10) and estimate it's test coverage for the test vectors. Various warning/error messages are derived to indicate where the test vectors are lacking in test coverage.

Inventors

  • 👤 Richard S. Raimi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 17:25
CPC Classifications
G; G01; G01R; G01R31/00; G01R31/28; G01R31/317; G01R31/3181; G01R31/3183; G01R31/318342; G01R31/31835

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 291 words
A method for estimating test coverage of an original high level language description which represents an electrical circuit, the original high level description having at least one executable assignment statement which models the circuit, the at least one executable assignment statement having a left side and a right side separated by an assignment operator, the left side being a variable, and the right side being an expression which has a set of at least one variable and at least one logic operator, the expression on the right side, when evaluated, determining a value to be assigned to the variable on the left side, the method comprising the steps of: parsing the original high level language description having at least one executable assignment statement to obtain information of the structure of the electrical circuit represented by the original high level language description; and generating a new high level language description which includes both: (1) new code generated in response to the step of parsing and (2) all the code of the original high level language description necessary for preserving the circuit behavior of the original high level language description; executing the new high level language description via a central processing unit (CPU) in order to simulate the electrical circuit while providing binary test vectors as input to the simulation of the new high level language description; storing, via the new code in the new high level language description, data which indicates whether, during the simulation of the new high level language description of the electrical circuit, the set of variables from the right side of the at least one executable assignment statement has been set to predetermined combinations of values to allow an acceptable level of test coverage of the electrical circuit.
Claim 2
Independent Claim 291 words
A method for estimating test coverage of an original high level language description which represents an electrical circuit, the original high level description having at least one executable assignment statement which models the circuit, the at least one executable assignment statement having a left side and a right side separated by an assignment operator, the left side being a variable, and the right side being an expression which has a set of at least one variable and at least one logic operator, the expression on the right side, when evaluated, determining a value to be assigned to the variable on the left side, the method comprising the steps of: parsing the original high level language description having at least one executable assignment statement to obtain information of the structure of the electrical circuit represented by the original high level language description; and generating a new high level language description which includes both: (1) new code generated in response to the step of parsing and (2) all the code of the original high level language description necessary for preserving the circuit behavior of the original high level language description; executing the new high level language description via a central processing unit (CPU) in order to simulate the electrical circuit while providing binary test vectors as input to the simulation of the new high level language description; storing, via the new code in the new high level language description, data which indicates whether, during the simulation of the new high level language description of the electrical circuit, the set of variables from the right side of the at least one executable assignment statement has been set to predetermined combinations of values to allow an acceptable level of test coverage of the electrical circuit.
Claim 3
Dependent Claim 32 words
The method of claim 1 wherein the step of generating further comprises: using the new code to store data which indicates whether the at least one executable assignment statement has been executed.
Claim 4
Dependent Claim 58 words
The method of claim 1 wherein the at least one executable assignment statement comprises a plurality of executable assignment statements and the method further comprising the step of: storing for each executable assignment statement in the plurality of executable assignment statements whether each assignment statement was executed, the storing being accomplished via the new high level language description.
Claim 5
Dependent Claim 64 words
The method of claim 1 wherein the step of generating comprises: determining the predetermined combinations of gate input values such that all single stuck-at faults on a predetermined gate input of the original high level description will be propagated to a predetermined gate output of the original high level description when the new high level description is if executed with those gate input values.
Claim 6
Dependent Claim 50 words
The method of claim 1 wherein the step of generating comprises: simulating the operation of an electrical circuit by executing the new high level description and inputting input data into the high level description, the electrical circuit being modeled by the new high level description operating on the input data.
Claim 7
Dependent Claim 27 words
The method of claim 5 wherein the step of simulating comprises: storing at least one file of output data which stores results of the step of simulating.
Claim 8
Dependent Claim 30 words
The method of claim 5 wherein the step of simulating comprises: storing multiple files of output data, each file of output data storing results resulting from the step of simulating.
Claim 9
Dependent Claim 41 words
The method of claim 5 wherein the step of simulating comprises: storing a plurality of data vectors, each data vector within the plurality of data vectors identifies which portions of the electrical circuit were accurately tested by a specific test procedure.
Claim 10
Dependent Claim 49 words
The method of claim 1 wherein the step of generating comprises: executing the new high level description using input data patterns creating a output data file which identifies, for each input data pattern, which portions of the new high level description have been accurately tested by each data routine.
Claim 11
Dependent Claim 32 words
The method of claim 9 further comprising: reducing the number of input data patterns needed to test the new high level description using the output data file to determine a desirable reduction.
Claim 12
Dependent Claim 62 words
The method of claim 1 wherein the step of generating comprises: simulating the new high level description using input data patterns; creating an output data file which identifies, for each input data pattern, the number of clock cycles required by each input data pattern and which portions of the new high level description have been accurately tested by each input data pattern.
Claim 13
Dependent Claim 31 words
The method of claim 11 further comprising: reducing the number of input data patterns needed to test the new high level description by maximizing test coverage of the input data patterns.
Claim 14
Dependent Claim 45 words
The method of claim 11 further comprising: reducing the number of input data patterns needed to test the new high level description by minimizing a total number of clock cycles needed to achieve a predetermined level of test coverage for the new high level description.
Claim 15
Dependent Claim 30 words
The method of claim 11 further comprising: reducing the input data patterns such that an acceptable total number of test clock cycles is achieved along with an acceptable test coverage.
Claim 16
Dependent Claim 44 words
The method of claim 1 comprising: executing the new high level description using input data patterns to gain test coverage information; and using the test coverage information to develop a test procedure for testing the electrical circuit modeled by the new high level description.
Claim 17
Dependent Claim 34 words
The method of claim 1 wherein the step of generating comprises: storing data which identifies whether the left side, which is subject to assignment, is set to both a true and false logic state.
Claim 18
Dependent Claim 32 words
The method of claim 1 wherein the step of generating comprises: storing data which identifies when the left side, which is subject to assignment, completes at least one execution without changing value.
Claim 19
Dependent Claim 40 words
The method of claim 1 wherein the step of generating comprises: storing data which identifies when the left side, which is subject to assignment, completes at least one execution without changing value to ensure that a low-power mode is efficient.
Claim 20
Dependent Claim 53 words
The method of claim 1 wherein the step of generating comprises: storing output information from the simulation of an electrical circuit that implements a state machine wherein the output information may be used to determined if all reachable states in the state machine were entered when the new high level description was executed.
Claim 21
Dependent Claim 54 words
The method of claim 1 wherein the step of generating comprises: storing output information from the simulation of an electrical circuit which implements a state machine wherein the output information may be used to determined if all transitions between states in the state machine were traversed when the new high level description was executed.
Claim 22
Dependent Claim 47 words
The method of claim 1 wherein the step of generating comprises: providing warning or error messages which identify portions of the new high level description that were not tested when a predetermined set of input data patterns was applied to the new high level description during simulation.
Claim 23
Dependent Claim 71 words
The method of claim 1 further comprising: executing the new high level language description to create a plurality of output data files which contain test coverage information; and merging the plurality of output data files into one global data file which is used to obtain test coverage information pertaining to a set of input data patterns applied during simulation of the new high level language description which models the electrical circuit.
Claim 24
Dependent Claim 253 words
A data processor for determining the test coverage of an electrical circuit, the data processor comprising: a memory unit containing an original high level description which models the electrical circuit via a plurality of assignment statements, each assignment statement having a left side and a right side wherein the left side and right side are separated by an assignment operator, the right side containing at least one binary variable; a bus coupled to the memory unit; and a central processing unit (CPU) coupled to the bus to allow communication between the CPU and the memory unit, the CPU reading the original high level language description from the memory unit and creating a new high level language description containing the plurality of assignment statements and a plurality of new assignment statements inserted among the plurality of assignment statements to store test coverage information in an output file in the memory unit, the CPU determining, based upon simulation of the new high level language description using a set of input binary test data patterns, the test coverage information wherein the test coverage information includes: (1) whether the at least one variable on the right side of each assignment statement in the plurality of assignment statements has been set to a plurality of predetermined values; (2) whether the left side of each assignment statements in the plurality of assignment statements has been set to a predetermined set of values; and (3) whether each of the assignment statements in the plurality of assignments statements has been executed.
Claim 25
Dependent Claim 253 words
A data processor for determining the test coverage of an electrical circuit, the data processor comprising: a memory unit containing an original high level description which models the electrical circuit via a plurality of assignment statements, each assignment statement having a left side and a right side wherein the left side and right side are separated by an assignment operator, the right side containing at least one binary variable; a bus coupled to the memory unit; and a central processing unit (CPU) coupled to the bus to allow communication between the CPU and the memory unit, the CPU reading the original high level language description from the memory unit and creating a new high level language description containing the plurality of assignment statements and a plurality of new assignment statements inserted among the plurality of assignment statements to store test coverage information in an output file in the memory unit, the CPU determining, based upon simulation of the new high level language description using a set of input binary test data patterns, the test coverage information wherein the test coverage information includes: (1) whether the at least one variable on the right side of each assignment statement in the plurality of assignment statements has been set to a plurality of predetermined values; (2) whether the left side of each assignment statements in the plurality of assignment statements has been set to a predetermined set of values; and (3) whether each of the assignment statements in the plurality of assignments statements has been executed.
Claim 26
Dependent Claim 45 words
The data processor of claim 23 wherein the set of input data patterns contain a plurality of data patterns, the output file being analyzed by the CPU to determine which data patterns are redundant and contribute nothing new to test coverage of the electrical circuit.
Claim 27
Dependent Claim 125 words
The data processor of claim 24 wherein a subset of input data patterns which are redundant and contribute nothing new to test coverage of the electrical circuit are identified as being data patterns which may be removed from the set of data patterns to form a new set of data patterns, the determining of which data patterns are redundant and contribute nothing new to test coverage of the electrical circuit being performed in a manner which both: (1) reduces the number of clock cycles the new set of data patterns requires to execute in comparison to the set of data patterns; and (2) reduces the number of data patterns residing within the new set of data patterns as compared to the set of data patterns.
Claim 28
Dependent Claim 50 words
The data processor of claim 23 wherein the plurality of new assignment statements inserted among the plurality of assignment statements are also used to indicate which left side of the assignments statements in the plurality of assignments statements stay at a single logic value for a predetermined amount of time.
Claim 29
Dependent Claim 51 words
The data processor of claim 23 wherein the plurality of new assignment statements inserted among the plurality of assignment statements are also used to indicate which states of a state machine modeled within the original high level language description have been entered during simulation of the new high level language description.
Claim 30
Dependent Claim 52 words
The data processor of claim 23 wherein the plurality of new assignment statements inserted among the plurality of assignment statements are also used to indicate which state transitions of a state machine modeled within the original high level language description have been taken during simulation of the new high level language description.
Claim 31
Independent Claim 228 words
A method for determining the test coverage of a plurality of test inputs, the method comprising the steps of: providing an original high level description model of an electrical circuit, the original high level description model having a plurality of assignments statements each of which have a first portion which is subject to assignment from a second portion wherein the second portion contains variables and logical operators; parsing the original high level description model to allow for the generation of new assignments statements using information obtained from the parsing; inserting the new assignments statements into at least a portion of the original high level description model to create a new high level description model; executing in a simulator the new high level description model wherein some of the new assignments statements in the new high level description model create an output file which contains information regarding: (1) whether the first portion of an assignment statements in the plurality of assignments statement has been transitioned to both a true value and a false value; and (2) whether the second portion of each assignments statements in the plurality of assignments statements has been transitioned to all logical combinations in a predetermined set of combinations; and generating a warning/error message file in response to the output file, the warning/error message file identifying possible voids in test coverage of the electrical circuit.
Claim 32
Independent Claim 228 words
A method for determining the test coverage of a plurality of test inputs, the method comprising the steps of: providing an original high level description model of an electrical circuit, the original high level description model having a plurality of assignments statements each of which have a first portion which is subject to assignment from a second portion wherein the second portion contains variables and logical operators; parsing the original high level description model to allow for the generation of new assignments statements using information obtained from the parsing; inserting the new assignments statements into at least a portion of the original high level description model to create a new high level description model; executing in a simulator the new high level description model wherein some of the new assignments statements in the new high level description model create an output file which contains information regarding: (1) whether the first portion of an assignment statements in the plurality of assignments statement has been transitioned to both a true value and a false value; and (2) whether the second portion of each assignments statements in the plurality of assignments statements has been transitioned to all logical combinations in a predetermined set of combinations; and generating a warning/error message file in response to the output file, the warning/error message file identifying possible voids in test coverage of the electrical circuit.
Claim 33
Dependent Claim 298 words
A test estimator for estimating test coverage of an original high level language description of an electrical circuit given a set of test vectors as input, the original high level description having at least one executable assignment statement which models the circuit, the at least one executable assignment statement having a left side and a right side separated by an assignment operator, the left side being a variable, and the right side being an expression which has a set of at least one variable and at least one logic operator, the expression on the right side, when evaluated, determining a value to be assigned to the variable on the left side, the test estimator comprising: means for parsing the original high level language description to obtain information of the general structure of the high level language description and information of the structure of the at least one executable assignment statement; and means for generating a new high level language description which includes new generated code and all the code of the original high level language description necessary for preserving a circuit behavior of the original high level description, the means for generating creating the new high level language description in response to the information obtained by the means for parsing, the new generated code being generated by the means for generating to store data which indicates whether, during the simulation of the new high level language description of the circuit, the set of variables from the right side of the at least one executable assignment statement has been set to predetermined combinations of values in response to a plurality of binary test vectors applied as input to various input terminals which are simulated as being part of the electrical circuit modeled by the new high level language description.
Claim 34
Dependent Claim 298 words
A test estimator for estimating test coverage of an original high level language description of an electrical circuit given a set of test vectors as input, the original high level description having at least one executable assignment statement which models the circuit, the at least one executable assignment statement having a left side and a right side separated by an assignment operator, the left side being a variable, and the right side being an expression which has a set of at least one variable and at least one logic operator, the expression on the right side, when evaluated, determining a value to be assigned to the variable on the left side, the test estimator comprising: means for parsing the original high level language description to obtain information of the general structure of the high level language description and information of the structure of the at least one executable assignment statement; and means for generating a new high level language description which includes new generated code and all the code of the original high level language description necessary for preserving a circuit behavior of the original high level description, the means for generating creating the new high level language description in response to the information obtained by the means for parsing, the new generated code being generated by the means for generating to store data which indicates whether, during the simulation of the new high level language description of the circuit, the set of variables from the right side of the at least one executable assignment statement has been set to predetermined combinations of values in response to a plurality of binary test vectors applied as input to various input terminals which are simulated as being part of the electrical circuit modeled by the new high level language description.
Claim 35
Dependent Claim 228 words
A test estimator for determining the test coverage of a plurality of test input vectors, the test estimator comprising: means for accessing a high level description model of an electrical circuit, the high level description model having a plurality of assignments statements each of which have a first portion which is subject to assignment from a second portion wherein the second portion contains variables and logical operators; means for parsing the high level description model to allow for the generation of new assignments statements by using information obtained by the parsing; means for inserting the new assignments statements into the high level description model to create a new high level description model; means for executing the new high level description model wherein some of the new assignments statements in the new high level description model create an output file which contains information regarding: (1) whether the first portion of an assignment statements in the plurality of assignments statement has been transitioned to both a true value and a false value; and (2) whether the second portion of each assignments statements in the plurality of assignments statements has been transitioned to all logical combinations in a predetermined set of binary combinations; and means for generating a warning/error message file in response to the output file, the warning/error message file identifying possible voids in test coverage of the electrical circuit.
Claim 36
Dependent Claim 228 words
A test estimator for determining the test coverage of a plurality of test input vectors, the test estimator comprising: means for accessing a high level description model of an electrical circuit, the high level description model having a plurality of assignments statements each of which have a first portion which is subject to assignment from a second portion wherein the second portion contains variables and logical operators; means for parsing the high level description model to allow for the generation of new assignments statements by using information obtained by the parsing; means for inserting the new assignments statements into the high level description model to create a new high level description model; means for executing the new high level description model wherein some of the new assignments statements in the new high level description model create an output file which contains information regarding: (1) whether the first portion of an assignment statements in the plurality of assignments statement has been transitioned to both a true value and a false value; and (2) whether the second portion of each assignments statements in the plurality of assignments statements has been transitioned to all logical combinations in a predetermined set of binary combinations; and means for generating a warning/error message file in response to the output file, the warning/error message file identifying possible voids in test coverage of the electrical circuit.
Claim 37
Independent Claim 224 words
A method for determining test coverage, the method comprising the steps of: providing a plurality of test vectors where each test vector in the plurality of test vectors contains a plurality of binary values which, when applied to an integrated circuit, test at least a portion of the integrated circuit to ascertain whether the at least a portion of the integrated circuit is operating properly; providing a plurality of simulation instructions wherein the plurality of simulation instructions, when executed, simulate an operation of the integrated circuit, each simulation instruction in the plurality of simulation instructions having an assignment portion and a calculation portion wherein the calculation portion is processed, when executed, to assign a binary value to the assignment portion, the plurality of simulation instructions simulating input terminals of an external portion of the integrated circuit; parsing the plurality of simulation instructions to form parsed information; processing the parsed information to determine which test instructions need to be inserted into the plurality of simulation instructions; inserting the test instructions into the plurality of simulation instructions; executing the plurality of instructions, which includes the test instructions, using the test vectors as input to the simulated input terminals within the plurality of instructions; storing test data while executing via the test instructions; and using the test data to determine the test coverage of the test vectors.
Claim 38
Independent Claim 224 words
A method for determining test coverage, the method comprising the steps of: providing a plurality of test vectors where each test vector in the plurality of test vectors contains a plurality of binary values which, when applied to an integrated circuit, test at least a portion of the integrated circuit to ascertain whether the at least a portion of the integrated circuit is operating properly; providing a plurality of simulation instructions wherein the plurality of simulation instructions, when executed, simulate an operation of the integrated circuit, each simulation instruction in the plurality of simulation instructions having an assignment portion and a calculation portion wherein the calculation portion is processed, when executed, to assign a binary value to the assignment portion, the plurality of simulation instructions simulating input terminals of an external portion of the integrated circuit; parsing the plurality of simulation instructions to form parsed information; processing the parsed information to determine which test instructions need to be inserted into the plurality of simulation instructions; inserting the test instructions into the plurality of simulation instructions; executing the plurality of instructions, which includes the test instructions, using the test vectors as input to the simulated input terminals within the plurality of instructions; storing test data while executing via the test instructions; and using the test data to determine the test coverage of the test vectors.
Claim 39
Independent Claim 169 words
A method for determining transitions in an electrical circuit simulation of an electrical circuit, the method comprising the steps of: providing a plurality of test vectors containing a plurality of binary values which are used to test the functionality of the electrical circuit; providing a plurality of instructions which are used to model the operation of the electrical circuit via binary assignment statements which simulate logic gates; parsing the binary assignment statements to obtain assignment information; using the assignment information to insert a set of proper test instructions among the binary assignment statements; executing the binary assignment statements, which include the test instructions, while providing the plurality of test vectors to the binary assignments statements, wherein the test instructions monitor binary switching in the binary assignment statements and record switching data to storage media, the binary switching simulating the electrical circuit; and accessing the storage media to evaluate the switching data to determine an extent of test coverage of the electrical circuit when using the plurality of test vectors.
Claim 40
Independent Claim 169 words
A method for determining transitions in an electrical circuit simulation of an electrical circuit, the method comprising the steps of: providing a plurality of test vectors containing a plurality of binary values which are used to test the functionality of the electrical circuit; providing a plurality of instructions which are used to model the operation of the electrical circuit via binary assignment statements which simulate logic gates; parsing the binary assignment statements to obtain assignment information; using the assignment information to insert a set of proper test instructions among the binary assignment statements; executing the binary assignment statements, which include the test instructions, while providing the plurality of test vectors to the binary assignments statements, wherein the test instructions monitor binary switching in the binary assignment statements and record switching data to storage media, the binary switching simulating the electrical circuit; and accessing the storage media to evaluate the switching data to determine an extent of test coverage of the electrical circuit when using the plurality of test vectors.
Claim 41
Dependent Claim 46 words
The method of claim 33 wherein the step of accessing comprises: altering the plurality of test vectors in order to improve the test coverage of the plurality of test vectors when the plurality of test vectors are used to test the electrical circuits which are manufactured.
Claim 42
Dependent Claim 37 words
The method of claim 33 further comprising the steps of: manufacturing a plurality of integrated circuits which contain the electrical circuit; testing each integrated circuit in the plurality of integrated circuits using the plurality of test vectors.
Claim 43
Independent Claim 312 words
A method for determining whether binary test vectors applied to a software model of an electrical circuit cause a propagation of a single stuck-at fault from an input of a modeled logic gate to an output of the modeled logic gate wherein the software model models the modeled logic gate, the method comprising the steps of: providing the binary test vectors containing a plurality of binary values which are used to test the functionality of the electrical circuit; providing a plurality of instructions which are used to simulate the electrical circuit and the modeled logic gates via binary assignment statements which simulate logic gates; parsing the binary assignment statements to obtain assignment information, the assignment information being used to determine predetermined combinations of gate input values such that all single stuck-at faults on a predetermined gate input of the modeled logic gates will be propagated to a predetermined gate output of the modeled logic gates when the modeled logic gates are simulated with these gate input values; using the assignment information to insert a set of test instructions among the binary assignment statements, the set of test instructions being used to monitor the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate; executing the binary assignment statements, which include the test instructions, while providing the binary test vectors as input, wherein the test instructions monitor the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate; and determining the extent to which binary test vectors applied to the software model of the electrical circuit cause the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate wherein the software model models the modeled logic gate.
Claim 44
Independent Claim 312 words
A method for determining whether binary test vectors applied to a software model of an electrical circuit cause a propagation of a single stuck-at fault from an input of a modeled logic gate to an output of the modeled logic gate wherein the software model models the modeled logic gate, the method comprising the steps of: providing the binary test vectors containing a plurality of binary values which are used to test the functionality of the electrical circuit; providing a plurality of instructions which are used to simulate the electrical circuit and the modeled logic gates via binary assignment statements which simulate logic gates; parsing the binary assignment statements to obtain assignment information, the assignment information being used to determine predetermined combinations of gate input values such that all single stuck-at faults on a predetermined gate input of the modeled logic gates will be propagated to a predetermined gate output of the modeled logic gates when the modeled logic gates are simulated with these gate input values; using the assignment information to insert a set of test instructions among the binary assignment statements, the set of test instructions being used to monitor the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate; executing the binary assignment statements, which include the test instructions, while providing the binary test vectors as input, wherein the test instructions monitor the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate; and determining the extent to which binary test vectors applied to the software model of the electrical circuit cause the propagation of the single stuck-at fault from the input of the modeled logic gate to the output of the modeled logic gate wherein the software model models the modeled logic gate.

References Cited (Backward Citations)

US4794522A Cited
US4763289A Cited
US4924429A Cited
US5204956A Cited
US5105374A Cited
US5050168A Cited
US5544067A Cited
US5313616A Cited
US5347647A Cited
US5335344A Cited
US5265254A Cited
US5274815A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-18 2000-08-19 2001-02-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-18 2004-08-19 2005-02-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-18 2008-08-19 2009-02-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag