An element selection is made in reference to a first graphical display showing a first subset of elements of a design having a number of elements coupled to one another. The selection is learned. In response, a second graphical display is provided. The second graphical display shows a second subset of the elements of the design, including at least a number of elements that are not part of the first subset but having an informational nexus to the selected element. As a result, a designer may selectively explore a complex design at the designer's direction.
|
22. An apparatus comprising:
means for learning of an element selection by a user in reference to a first graphical display showing a first subset of elements of a circuit design having a plurality of elements coupled to one another; and means for responding, with no further user action, to the element selection, with a second graphical display showing a second subset of said elements of said circuit design including at least a number of elements that are not part of said first subset but having an informational nexus to the selected element of multiple degrees of indirection, with said degrees of indirection determined on at least one input and at least one output of the selected element.
23. A method comprising the steps of:
first step for learning an element selection by a user in reference to a first graphical display showing a first subset of elements of a circuit design having a plurality of elements coupled to one another; and second step for responding, with no further user action, to the element selection with a second graphical display showing a second subset of said elements of said circuit design including at least a number of elements that are not part of said first subset but having an informational nexus to the selected element of multiple degrees of indirection, with said degrees of indirection determined on at least one input and at least one output of the selected element.
1. A computer implemented method comprising:
receiving a notification conveying a user's selection of an element that is a part of a first graphical display of a circuit design having a plurality of elements coupled to one another, the first graphical display showing a first subset of the elements of the design; and in response to said notification, without further user action, determining a second subset of the elements of the circuit design to form a second graphical display, with the second subset to include at least a number of elements that are not part of the first subset but having an informational nexus to the selected element of multiple degrees of indirection, with said degrees of indirection determined on at least one input and at least one output of the selected element.
15. An article of manufacture comprising:
a recordable medium having recorded thereon a plurality of programming instructions for use to program an apparatus to enable the apparatus to be able to cause a notification of a selection of an element to be received, the selected element being a part of a first graphical display showing a first subset of elements of a circuit design having a plurality of elements coupled to one another, and to enable the apparatus to be able to cause a second subset of the elements of the circuit design for use to render a second graphical display to be determined in response, the second subset includes at least a number of elements that are not part of the first subset but having an informational nexus to the selected element of multiple degrees of indirection, with said degrees of indirection determined on at least one input and at least one output of the selected element.
8. A computer system comprising:
a processor; a storage medium coupled to the processor and having stored therein a plurality of programming instructions to be executed by the processor to cause a notification of a user's selection of an element to be received, the selected element being a part of a first graphical display showing a first subset of elements of a circuit design having a plurality of elements coupled to one another, and to cause a second subset of said elements of said circuit design for use to render a second graphical display to be determined in response to said notification, without further user action, the second subset including at least a number of elements that are not part of the first subset but having an informational nexus to the selected element of multiple degrees of indirection, with said degrees of indirection determined on at least one input and at least one output of the selected element.
2. The computer implemented method of
3. The computer implemented method of
4. The computer implemented method of
5. The computer implemented method of
6. The computer implemented method of
7. The computer implemented method of
9. The computer system of
10. The computer system of
11. The computer system of
12. The computer system of
13. The computer system of
14. The computer system of
16. The article of manufacture of
17. The article of manufacture of
18. The article of manufacture of
19. The article of manufacture of
20. The article of manufacture of
21. The article of manufacture of
|
1. Field of the Invention
The present invention relates to the field of computer aided design tools. More specifically, the present invention relates to methods and apparatuses associated with assisting a designer in exploring a multi-element design, e.g., an integrated circuit (IC) having a large number of interconnected circuit elements.
2. Background Information
As price/performance of computing technology continues to improve, increasingly, computers are employed to assist a designer in performing various design tasks. As a result, designers are able to engage more complex designs, which in turn lead to greater demand for computerized assistance.
For example, in the design and fabrication of ICs, improvements in the price/performance of computing technology have made IC desing, as well as IC fabrication processes, more automated. As a result, increasingly more complex ICs, having multiple millions of transistors, are being designed and fabricated. In turn, the IC designers have become more reliant on electronic design automation (EDA) tools to assist them in managing the complexity and diagnosing design problems, to sustain their productivity and effectiveness. More specifically, in the area of IC design, virtually all complex IC designs are being synthesized employing synthesis tools. Typically, a circuit designer would specify an IC design on a textual basis, employing one of a number of high level hardware languages, such as Very High Speed Integrated Circuits (VHSIC) Hardware Design Language (VHDL). The text based design specification is in turn provided to a synthesis tool to generate the circuit elements and their interconnections. Most synthesis tools will generate complementary schematic diagrams for the textually specified design. However, by virtue of the complexity of the design and the fact that the designer has specified the design in a textual approach, the schematic diagrams are usually very large, very difficult to manipulate, and very hard for the designer to comprehend or use to aid in diagnosing a design problem. Thus, more computerized assistance is required to enable the designer to utilize these schematics effectively. Various design and diagnostic tools have emerged to provide such assistance. Some are able to generate functional block diagrams to supplement the huge unwieldy schematics, while other diagnostic tools will report critical paths or design problems, such as timing violations, in graphical form. Nevertheless, circuit designers have found the current generation of EDA tools to be inadequate in their flexibility in assisting them in dealing with the ever more complex IC designs.
Similar problems exist in other fields. For examples, in understanding or managing the wiring of complex machinery, such as the space shuttle, or a commercial airliner, or in the understanding/management of cabling for a complex communication network having a large number of "nodes".
Thus, a more effective and user friendly approach to assisting designers in exploring or analyzing complex designs is desired.
In accordance with the present invention, an element selection is made in reference to a first graphical display showing a first subset of elements of a design having a number of elements coupled to one another. The selection is learned. In response, a second graphical display is provided. The second graphical display shows a second subset of the elements of the design, including at least a number of elements that are not part of the first subset but having an informational nexus to the selected element. As a result, a designer may selectively explore a complex design at the designer's direction.
In one embodiment, the elements having an information nexus to the selected element are elements that are coupled to the selected element by at most n-1 degree(s) of indirection, n being an integer and may be dynamically set. Furthermore, they are included into the first subset to form the second subset.
In one embodiment, the design is a circuit design, and the elements are circuit elements of a circuit design.
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well known features are omitted or simplified in order not to obscure the present invention.
Parts of the description will be presented in terms of operations performed by a computer system, using terms such as tables, files, data and the like, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of a digital system; and the term digital system include general purpose as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded.
Various operations will be described as multiple discrete steps performed in turn in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily performed in the order they are presented, or order dependent.
Referring now to
As discussed earlier in the background section, the multi-element design may be an IC design having a large number of circuit elements interconnected to one another, or a wiring design for a complex machinery having a large number of components coupled to one another, or a cabling design for a large communication network having a large number of nodes coupled to one another. Thus, the term "design" as used herein is intended to represent a broad range of multi-element designs having like kind of characteristics, and the term "element" as used herein is intended to include meanings of other like-terms such as "component" and so forth.
Continuing to refer to
User interface 102 performs its conventional function of interfacing with the user, e.g. the designer, displaying outputs for the designer and accepting inputs from the designer. An exemplary one of user interface 102, showing an exemplary graphical display 104 of selected circuit elements of a circuit design, including in particular, preference setting option 106 and "click and sprout" control button 108, is shown in
Referring back to
Additionally, for the illustrated embodiment, "click and sprout" processing routine 112 is "operationally coupled" to user interface 102 by way of the input notification services of an underlying operating system (not shown). Furthermore, "click and sprout" processing routine 112 obtains the selected ones of the elements that are not part of the element content of the current graphical display, but having the requisite informational nexus to the selected element from tool/database 150.
Place and route routine 126 is used to place and route the elements of the newly added elements of the element content of the next graphical display. Graphical display 124 is used to render the graphical displays including the previously as well as the newly placed and routed elements. As described earlier, tool/database 150 is used to supply "click and sprout" routine 112 with the elements having the requisite informational nexus to the selected element. Both place and route routine 122 and graphical display 124 are intended to represent a broad category of these routines known in the art. In he case of graphical display 124, for the illustrated embodiment, it is "operationally coupled" to user interface 102 by way of the rendering services of the underlying operating also. Similarly, tool/database 150 is also intended to represent a broad category of design tools/databases known in the art. An example of such tools/databases is the Calibre™ product available from Mentor Graphics Corp., of Wilsonville, Oreg., for deep submicron IC design. Accordingly, neither place and route routine 122, graphical display routine 124, nor tool/database 150 will be further described.
Referring now to
Having formed the element content of the replacement graphical display, at step 306, "click and sprout" routine 112 calls "place and route" routine 122 to place and route the newly added elements. Upon placement and routing of the newly added elements, at step 308, "click and sprout" routine 112 calls graphical display routine 124 to render the replacement graphical display.
Refer now to
Thus, a method and apparatus for facilitating design exploration through user directed selective rendering has been described. While the present invention has been described in terms of the above illustrated embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. The present invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of restrictive on the present invention.
Geisler, Stephen J., Pannala, Geetha
Patent | Priority | Assignee | Title |
10585575, | May 31 2017 | Oracle International Corporation | Visualizing UI tool for graph construction and exploration with alternative action timelines |
10809881, | Nov 14 2016 | Oracle International Corporation | Visual graph construction from relational data |
11120082, | Apr 18 2018 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
11244098, | Aug 18 2017 | STARSYSTEMS, INC. | Electronic design automation |
6848100, | Mar 31 2000 | Intel Corporation | Hierarchical software path profiling |
7499601, | May 20 2003 | JVC Kenwood Corporation | Electronic service manual display control device |
D703219, | Feb 08 2011 | Qualcomm Incorporated | Computing device display screen with computer-generated notification feature |
D753706, | Nov 25 2013 | TENCENT TECHNOLOGY SHENZHEN COMPANY LIMITED | Display screen portion with animated graphical user interface |
D767583, | Nov 25 2013 | TENCENT TECHNOLOGY SHENZHEN COMPANY LIMITED | Display screen portion with graphical user interface |
D798324, | May 09 2016 | Microsoft Corporation | Display screen with transitional graphical user interface |
Patent | Priority | Assignee | Title |
4613946, | Jun 07 1984 | EXPERT CHOICE, INC | Method and apparatus for generating hierarchical displays |
5359523, | Feb 26 1991 | Texas Instruments Incorporated | Computer tool for system level design |
5515487, | Apr 18 1994 | International Business Machines Corporation | Displaying partial graphs by expanding and collapsing nodes |
5864865, | Mar 24 1997 | EMC IP HOLDING COMPANY LLC | Management information base listing viewer |
6040834, | Dec 31 1996 | Cisco Technology, Inc | Customizable user interface for network navigation and management |
6111578, | Mar 07 1997 | RPX Corporation | Method, system and computer program product for navigating through partial hierarchies |
6128016, | Dec 20 1996 | NEC Corporation | Graphic user interface for managing a server system |
6189019, | Aug 14 1996 | Microsoft Technology Licensing, LLC | Computer system and computer-implemented process for presenting document connectivity |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 16 1998 | GEISLER, STEPHEN J | Mentor Graphics Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009601 | /0644 | |
Nov 16 1998 | PANNALA, GEETHA | Mentor Graphics Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009601 | /0644 |
Date | Maintenance Fee Events |
Apr 30 2003 | ASPN: Payor Number Assigned. |
Nov 14 2005 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 20 2009 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Nov 26 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 04 2005 | 4 years fee payment window open |
Dec 04 2005 | 6 months grace period start (w surcharge) |
Jun 04 2006 | patent expiry (for year 4) |
Jun 04 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 04 2009 | 8 years fee payment window open |
Dec 04 2009 | 6 months grace period start (w surcharge) |
Jun 04 2010 | patent expiry (for year 8) |
Jun 04 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 04 2013 | 12 years fee payment window open |
Dec 04 2013 | 6 months grace period start (w surcharge) |
Jun 04 2014 | patent expiry (for year 12) |
Jun 04 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |