IP Library Granted Patent US 8,904,325
Granted Patent B2
US 8,904,325 · App. 13/755,686 · Granted Dec 2, 2014

Verification test set and test bench map maintenance

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 8,904,325
App. No.
13/755,686
Granted
Dec 2, 2014
Kind
B2
Abstract

Aspects of the invention provide for the maintenance of user modified portions of a map between a test bench and a test set generator during an iterative electronic design process. Various implementations of the invention provide for matching sections within a design for an electronic device with corresponding sections in a map between the elements in the design to elements in a graph representation of the design. The matched sections are then compared to determine if any discrepancies exists, such as, for example, if the design has been recently changed. If any discrepancies do exist, then it is determined whether the section of the map can be updated or must be replaced entirely to resolve the discrepancies. Various implementations of the invention provide that the process can be repeated during an iterative design flow such that as the design is modified during the iterative design flow, the map can be updated to reflect the changes.

Claims (75)

1. A method, comprising:

modifying, by a computing device, a first section of a map in accordance with user input requesting a customization to the first section of the map, wherein the map correlates elements of an electronic design under test to corresponding elements of a graph-based representation of the electronic design, and wherein the customization to the first section of the map is based on a customization of a hardware description language in which the electronic design is expressed;

applying, to the elements of the electronic design, one or more test sequences that were generated based on the graph-based representation of the electronic design;

modifying a first section of the electronic design based on an analysis of results from applying the one or more test sequences;

determining that the first section of the map needs to be updated based on the first section of the electronic design being modified; and

updating the first section of the map such that the customization to the first section of the map is preserved.

2. The method recited in claim 1 , wherein updating the first section of the map includes replacing a portion of the first section of the map, and wherein the method further comprises:

providing an indication that the portion of the map was replaced.

3. The method recited in claim 1 , further comprising:

matching a second section of the electronic design to a second section of the map;

determining that the second section of the map needs to be updated; and

replacing the section of the map with an updated section.

4. The method recited in claim 1 , further comprising:

performing an iterative process for updating the map, wherein the steps of claim 1 are performed during a first iteration and a second iteration includes:

matching a second section of the electronic design to a second section of the map;

determining if the second section of the map needs to be updated;

determining if the second section of the map can be updated; and

replacing the second section if it is determined that the first section of the map cannot be updated.

5. The method of claim 4 , further comprising:

providing an alert to a user of the replacing.

6. The method of claim 4 , wherein determining if the second section of the map needs to be updated includes determining if the second section of the electronic design has changed from a previous iteration.

7. The method of claim 1 , further comprising:

attempting to match a second section of the electronic design to a second section of the map; and

upon failing to match the second section of the electronic design, generating a mapping between the second section of the electronic design and one or more elements in the graph-based representation of the electronic design and adding the mapping to the map.

8. The method of claim 1 , further comprising:

after updating the first section of the map, re-applying, to the elements of the electronic design, the one or more test sequences that were generated based on the graph-based representation of the electronic design;

modifying the first section of the electronic design a second time based on an analysis of results from the re-applying;

determining that the first section of the map needs to be updated based on the first section of the electronic design being modified the second time; and

updating the first section of the map such that the customization to the first section of the map is preserved a second time.

9. One or more computer-readable storage devices storing executable instructions that, when executed, cause an apparatus to:

modify a first section of a map in accordance with user input requesting a customization to the first section of the map, wherein the map correlates elements of an electronic design under test to corresponding elements of a graph-based representation of the electronic design, and wherein the customization to the first section of the map is based on a customization of a hardware description language in which the electronic design is expressed;

apply, to the elements of the electronic design, one or more test sequences that were generated based on the graph-based representation of the electronic design;

modify a first section of the electronic design based on an analysis of results from applying the one or more test sequences;

determine that the first section of the map needs to be updated based on the first section of the electronic design being modified; and

update the first section of the map such that the customization to the first section of the map is preserved.

10. The one or more computer-readable storage devices recited in claim 9 , wherein causing the apparatus to update the first section of the map includes causing the apparatus to replace a portion of the first section of the map, and wherein the executable instructions, when executed, cause the apparatus to:

provide an indication that the portion of the map was replaced.

11. The one or more computer-readable storage devices recited in claim 9 , wherein the executable instructions, when executed, cause the apparatus to:

match a second section of the electronic design to a second section of the map;

determine that the second section of the map needs to be updated; and

replacing the section of the map with an updated section.

12. The one or more computer-readable storage devices recited in claim 9 , wherein the executable instructions, when executed, cause the apparatus to:

perform an iterative process for updating the map, wherein the executable instructions, when executed, cause the apparatus to perform the steps of claim 9 during a first iteration and wherein the executable instructions, when executed, cause the apparatus to perform a second iteration that comprises causing the apparatus to:

match a second section of the electronic design to a second section of the map;

determine if the second section of the map needs to be updated;

determine if the second section of the map can be updated; and

replace the second section if it is determined that the first section of the map cannot be updated.

13. The one or more computer-readable storage devices recited in claim 12 , wherein causing the apparatus to determine if the second section of the map needs to be updated includes causing the apparatus to determine if the second section of the electronic design has changed from a previous iteration.

14. The one or more computer-readable storage devices recited in claim 9 , wherein the executable instructions, when executed, cause the apparatus to:

attempt to match a second section of the electronic design to a second section of the map; and

upon failing to match the second section of the electronic design, generate a mapping between the second section of the electronic design and one or more elements in the graph based representation of the electronic design and adding the mapping to the map.

15. An apparatus, comprising:

one or more processors; and

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

modify a first section of a map in accordance with user input requesting a customization to the first section of the map, wherein the map correlates elements of an electronic design under test to corresponding elements of a graph-based representation of the electronic design, and wherein the customization to the first section of the map is based on a customization of a hardware description language in which the electronic design is expressed;

apply, to the elements of the electronic design, one or more test sequences that were generated based on the graph-based representation of the electronic design;

modify a first section of the electronic design based on an analysis of results from applying the one or more test sequences;

determine that the first section of the map needs to be updated based on the first section of the electronic design being modified; and

update the first section of the map such that the customization to the first section of the map is preserved.

16. The apparatus recited in claim 15 , wherein causing the apparatus to update the first section of the map includes causing the apparatus to replace a portion of the first section of the map, and wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

provide an indication that the portion of the map was replaced.

17. The apparatus recited in claim 15 , wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

match a second section of the electronic design to a second section of the map;

determine that the second section of the map needs to be updated; and

replace the second section of the map with an updated section.

18. The apparatus recited in claim 14 , wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

perform an iterative process for updating the map, wherein the executable instructions, when executed by the one or more processors, cause the apparatus to perform the steps of claim 15 during a first iteration, and wherein the executable instructions, when executed by the one or more processors, cause the apparatus to perform a second iteration that comprises causing the apparatus to:

match a second section of the electronic design to a second section of the map;

determine if the second section of the map needs to be updated;

determine if the second section of the map can be updated; and

replace the second section if it is determined that the first section of the map cannot be updated.

19. The apparatus recited in claim 18 , wherein causing the apparatus to determine if the second section of the map needs to be updated includes causing the apparatus to determine if the second section of the electronic design has changed from a previous iteration.

20. The apparatus recited in claim 15 , wherein the executable instructions, when executed by the one or more processors, cause the apparatus to:

attempt to match a second section of the electronic design to a second section of the map; and

upon failing to match the second section of the electronic design, generate a mapping between the second section of the electronic design and one or more elements in the graph-based representation of the electronic design and adding the mapping to the map.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 24, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056675/0285 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: BALLANCE, MATTHEW
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 030436/0523 →