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.
Legal claims defining the scope of protection, as filed with the USPTO.
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.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 31, 2013
December 2, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.