IP Library Granted Patent US 9,619,598
Granted Patent B2
US 9,619,598 · App. 13/755,639 · Granted Apr 11, 2017

Input space reduction for verification test set generation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,619,598
App. No.
13/755,639
Granted
Apr 11, 2017
Kind
B2
Abstract

Various implementations of the invention provide for the determination of a test set that satisfies a coverage model, where portions of the search space need not be searched in order to generate the test set. With various implementations of the invention, a search space defined by a set of inputs for an electronic design and a coverage model is identified. The search space is then fractured into subspaces. Subsequently, the subspaces are solved to determine if they include at least one input sequence that satisfies the coverage constraints defined in the coverage model. The subspaces found to include at least one input sequence that satisfies these coverage constraints, are then searched for unique input sequences in order to generate a test set. Subspaces found not to include at least one input sequence that satisfies the coverage constraints may be excluded from the overall search space.

Claims (55)

1. A method comprising:

executing, by a computer system, a first process that performs a solving operation to determine if any input vector within a set of input vectors satisfy an input constraint;

executing, by the computer system, in parallel with execution of the first process, a second process that performs a searching operation to search for unique input vectors that satisfy the input constraint;

aborting the solving operation on the set based on a determination that at least one unique input vector has been found by the searching operation to satisfy the input constraint; and

applying, as part of a process for verifying an electronic circuit design of an electronic circuit that is to be fabricated or manufactured, the at least one unique input vector to the electronic circuit design.

2. The method of claim 1 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein the method further comprises:

performing the solving operation on the additional set; and

performing, while performing the solving operation on the additional set, the searching operation on the additional set for additional unique input vectors that satisfy the input constraint based on a determination by the solving operation that at least one input vector within the additional set satisfies the input constraint.

3. The method of claim 1 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein the method further comprises:

performing the searching operation on the additional set for additional unique input vectors that satisfy the input constraint;

performing, while performing the searching operation on the additional set, the solving operation on the additional set; and

aborting the solving operation on the additional set based on a determination that the search of the additional set has found at least one input vector within the additional set that satisfies the input constraint.

4. The method of claim 1 , wherein the set forms at least a portion of an input space for the electronic circuit design.

5. The method of claim 4 , wherein the input constraint comprises coverage constraints of a coverage model of the electronic circuit design.

6. The method of claim 4 , wherein the electronic circuit design is a microcircuit design of a microcircuit that is to be fabricated or manufactured.

7. The method of claim 1 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein the method further comprises:

performing the solving operation on the additional set;

performing, while performing the solving operation on the additional set, the searching operation on the additional set for additional unique input vectors that satisfy the input constraint; and

aborting the searching operation on the additional set in response to a determination by the solving operation that no input vector within the additional set satisfies the input constraint, wherein after aborting the searching operation on the additional set, a portion of the additional set is unsearched by the searching operation.

8. One or more computer readable memory devices comprising computer executable instructions, that when executed by one or more computers, cause the one or more computers to:

execute a first process that performs a solving operation to determine if any input vector within a set of input vectors satisfy an input constraint;

execute, in parallel with execution of the first process, a second process that performs a searching operation to search for unique input vectors that satisfy the input constraint;

abort the solving operation on the set based on a determination that at least one unique input vector has been found by the searching operation to satisfy the input constraint; and

apply, as part of a process for verifying an electronic circuit design of an electronic circuit that is to be fabricated or manufactured, the at least one unique input vector to the electronic circuit design.

9. The one or more computer readable memory devices of claim 8 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein computer executable instructions, when executed by one or more computers, cause the one or more computers to:

perform the solving operation on the additional set; and

perform, while performing the solving operation on the additional set, the searching operation on the additional set for additional unique input vectors that satisfy the input constraint based on a determination by the solving operation that at least one input vector within the additional set satisfies the input constraint.

10. The one or more computer readable memory devices of claim 8 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein computer executable instructions, when executed by the one or more computers, cause the one or more computers to:

perform the searching operation on the additional set for unique second input vectors that satisfy the input constraint;

perform, while performing the searching operation on the additional set, the solving operation on the additional set; and

abort the solving operation on the additional set based on a determination that the searching operation on the additional set has found at least one input vector within the additional set that satisfies the input constraint.

11. The one or more computer readable memory devices of claim 8 , wherein the set forms at least a portion of an input space for the electronic circuit design.

12. The one or more computer readable memory devices of claim 11 , wherein the input constraint comprises coverage constraints of a coverage model of the electronic circuit design.

13. The one or more computer readable memory devices of claim 11 , wherein the electronic circuit design is a microcircuit design of a microcircuit that is to be fabricated or manufactured.

14. The one or more computer readable memory devices of claim 8 , wherein the set forms a first subspace of an input space for the electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein the computer executable instructions, when executed by the one or more computers, cause the one or more computers to:

perform the solving operation on the additional set;

perform, while performing the solving operation on the additional set, the searching operation on the additional set for additional unique input vectors that satisfy the input construct; and

abort the searching operation on the additional set in response to a determination by the solving operation that no input vector within the additional set satisfies the input constraint, wherein after the searching operation on the additional set is aborted, a portion of the additional set is unsearched by the searching operation.

15. An apparatus comprising:

one or more processors; and

one or memory storing executable instructions, that when executed by one or more processors, cause the apparatus to:

execute a first process that performs a solving operation to determine if any input vector within a set of input vectors satisfy an input constraint;

execute, in parallel with execution of the first process, a second process that performs a searching operation to search for unique input vectors that satisfy the input constraint;

abort the solving operation on the set based on a determination that at least one unique vector has been found by the searching operation on the set to satisfy the input constraint; and

apply, as part of a process of verifying an electronic circuit design of an electronic circuit that is to be fabricated or manufactured, the at least one unique input vector to the electronic circuit design.

16. The apparatus of claim 15 , wherein the set forms a first subspace of an input space for the electronic design and an additional set of input vectors forms a second subspace of the input space, and wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

perform the solving operation on the additional set; and

perform, while performing the solving operation on the additional set, for additional unique input vectors that satisfy the input constraint based on a determination by the solving operation on the additional set that at least one input vector within the additional set satisfies the input constraint.

17. The apparatus of claim 15 , wherein the set forms at least a portion of an input space for the electronic circuit design.

18. The apparatus of claim 17 , wherein the input constraint comprises coverage constraints of a coverage model of the electronic circuit design.

19. The apparatus of claim 17 , wherein the electronic circuit design is a microcircuit design of a microcircuit that is to be fabricated or manufactured.

20. The apparatus of claim 15 , wherein the set forms a first subspace of an input space for an electronic circuit design and an additional set of input vectors forms a second subspace of the input space, and wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

perform the solving operation on the additional set;

perform, while performing the solving operation, on the additional set, the searching operation on the additional set for additional unique input vectors that satisfy the input constraint; and

abort the searching operation on the additional set in response to a determination by the solving operation that no input vector within the additional set satisfies the input constraint, wherein after the searching operation on the additional set is aborted, a portion of the additional set is unsearched by the searching operation.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056702/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2013
From: LYONS, CLIFTON A.; KADKADE, SUDHIR D.; GANESHPURE, KUNAL P.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 030513/0818 →