Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
First Claim
1. An interactive system for hierarchical display of control and dataflow information, comprising:
- an ECAD system including a computer processor, means for storing design-related information, and graphical display means;
means for a problem-solving user to enter a high-level design description on said ECAD system and to store said design description on said means for storing;
means, on the ECAD system, for analyzing the high-level design description to identify modules of the design and to organize the modules in a hierarchical manner such that;
each module at other than a highest level of abstraction is associated with ancestor modules at higher levels of abstraction;
each module at other than a lowest level of abstraction is associated with progeny modules at lower levels of abstraction;
means, on the ECAD system, for synthesizing one or more detailed electronic designs from the high-level design description;
graphical display means, connected to said computer processor, for displaying graphical objects representing selected modules of the design;
means for graphically indicating control and data flow between said graphical objects on said graphical display means, said graphical control and data flow indications representing control and data flow between the modules represented by the graphical objects;
means for selecting a level of hierarchical abstraction for any displayed graphical object; and
means for indicating that a displayed graphical object represents a module which has progeny modules associated therewith at a lower level of abstraction.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for hierarchical display of control and dataflow graphs allowing a user to view hierarchically filtered control and dataflow information related to a design. The technique employs information inherent in the design description and information derived from design synthesis to identify "modules" of the design and design hierarchy. The user can specify a level of detail to be displayed for any design element or group of design elements. Any CDFG (control and dataflow graph) object can be "annotated" with a visual attribute or with text to indicate information about the design elements represented by the object. For example, block size, interior color, border color, line thickness, line style, etc., can be used to convey quantitative or qualitative information about a CDFG object. Examples of information which can be used to "annotate" objects include power dissipation, propagation delay, the number of HDL statement represented, circuit area, number of logic gates, etc. The user is able to expand and/or compress CDFG blocks either "in-place" on a higher level CDFG display or to be displayed in isolation. Simulation-related data can also be used to annotate the CDFG. By viewing CDFG'"'"'s (particularly annotated CDFG'"'"'s) for a variety of trial designs, a problem-solving user can gain quick insight into the effects and effectiveness of various design choices.
-
Citations
24 Claims
-
1. An interactive system for hierarchical display of control and dataflow information, comprising:
-
an ECAD system including a computer processor, means for storing design-related information, and graphical display means; means for a problem-solving user to enter a high-level design description on said ECAD system and to store said design description on said means for storing; means, on the ECAD system, for analyzing the high-level design description to identify modules of the design and to organize the modules in a hierarchical manner such that; each module at other than a highest level of abstraction is associated with ancestor modules at higher levels of abstraction; each module at other than a lowest level of abstraction is associated with progeny modules at lower levels of abstraction; means, on the ECAD system, for synthesizing one or more detailed electronic designs from the high-level design description; graphical display means, connected to said computer processor, for displaying graphical objects representing selected modules of the design; means for graphically indicating control and data flow between said graphical objects on said graphical display means, said graphical control and data flow indications representing control and data flow between the modules represented by the graphical objects; means for selecting a level of hierarchical abstraction for any displayed graphical object; and means for indicating that a displayed graphical object represents a module which has progeny modules associated therewith at a lower level of abstraction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In an ECAD system, a method of creating and validating a structural description of an electronic system from a higher level, behavior-oriented description thereof, comprising:
-
entering on an ECAD system a specification for a design of desired behavior of an electronic system, including high-level timing goals, in a high-level, behavior-oriented language; on the ECAD system, iteratively simulating and changing the design of the electronic system at the behavioral-level until the desired behavior is obtained; on the ECAD system, partitioning the design of the device into a number of architectural blocks and constraining the architectural choices to those which meet the high-level timing goals; on the ECAD system, directing the various architectural blocks to logic synthesis programs, said logic synthesis programs also running in the ECAD system, thereby providing a netlist or gate-level description of the design; organizing design objects associated with said graphical objects in a hierarchical manner such that; each design object at other than a highest level of abstraction is associated with ancestor design objects at higher levels of abstraction; and each design object at other than a lowest level of abstraction is associated with progeny design objects at lower levels of abstraction; and on the ECAD system, displaying the design of at least a portion the electronic system as a plurality of graphical objects, each graphical object associated with one or more respective design objects, said graphical objects interconnected with control and data flow indications to form a control and dataflow graph. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of creating an electronic design on an ECAD system having a computer, a database accessible to the computer, design tools running on the computer, and a display device and one or more input devices enabling a user to interact with the computer, comprising:
-
displaying, on a display device of a computer, the display device having a display screen, a control and dataflow graph representation of an electronic design, the control and dataflow graph being at a given hierarchical level of abstraction, the control and dataflow graph containing at least one object; storing in the database information relating to the electronic design at various levels of abstraction; retrieving information relating to the electronic design from a database accessible to the computer; displaying the information contemporaneously with displaying the control and dataflow graph; and providing selectable lower level representations of objects represented in the control and dataflow graph. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. Method for simultaneous, interactive presentation of electronic circuit diagrams and simulation data, consisting essentially of:
-
in a single computer system, interactively performing all of the following steps; storing objects representative of circuit elements, a portion of which objects are pre-defined, each object associated with a particular schematic symbol, and each object having a plurality of input and/or output nodes to which input and/or output signals are associated; displaying the objects on a display; displaying graphical representations of interconnections between said input and output nodes of said objects on the display; representing the interconnections between said input and output nodes of said objects as "nets"; storing the nets; manipulating and arranging said pre-defined objects on said display in the form of a schematic diagram; creating "new nets" representing additional interconnections between said input and output nodes of said objects; deleting "nets"; modifying "nets" and representing the modified "nets" as additional "new nets"; displaying and storing the "new nets" deleted "nets" and additional "new nets" providing a plurality of executable simulation models for operating on the interconnected objects; storing states of the nets in the form of a net-list; specifying, storing and displaying a signal state on any input or output node of said objects; specifying a signal state on any of said nets; applying said signal state simultaneously to all input and output nodes connected to a net; specifying a portion of said schematic diagram to be simulated; specifying a duration for said simulation in the form of starting conditions and/or stopping conditions; executing a simulation of the identified portion of said schematic diagram according to said starting and stopping conditions; and displaying, on said schematic diagram, the end states of said simulation such that the state data corresponding to the output nodes of each of said graphical objects is displayed immediately adjacent thereto during simulation; wherein; the objects are derived from a logic synthesis process.
-
-
24. In an ECAD system, a method of creating and validating a structural description of a circuit or device from a higher level, behavior-oriented description thereof, comprising:
-
entering on an ECAD system a specification for a design of desired behavior of a device, including high-level timing goals, in a high-level, behavior-oriented language; on the ECAD system, iteratively simulating and changing the design of the device at the behavioral-level until the desired behavior is obtained; on the ECAD system, partitioning the design of the device into a number of architectural blocks and constraining the architectural choices to those which meet the high-level timing goals; on the ECAD system, displaying a control and data flow graph corresponding to the partitioned design; and on the ECAD system, directing the various architectural blocks to logic synthesis programs, said logic synthesis programs also running in the ECAD system, thereby providing a netlist or gate-level description of the design.
-
Specification