ECAD system for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic descriptions thereof
DCFirst Claim
1. An ECAD software system for running on an electronic computer and creating a structural description of an electronic device, comprising:
- an input tool for inputting a functional specification for a design of an electronic device;
a partitioning tool for partitioning the design of the electronic device into a plurality of architectural blocks; and
one or more logic synthesization tools for converting the architectural blocks to a physical description of the design.
0 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A methodology for generating structural descriptions of complex digital devices from high-level descriptions and specifications is disclosed. The methodology uses a systematic technique to map and enforce consistency of the semantics imbedded in the intent of the original, high-level descriptions. The design activity is essentially a series of transformations operating upon various levels of design representations. At each level, the intended meaning (semantics) and formal software manipulations are captured to derive a more detailed level describing hardware meeting the design goals. Important features of the methodology are: capturing the users concepts, intent, specification, descriptions, constraints and trade-offs; architectural partitioning; what-if analysis at a high level; sizing estimation; timing estimation; architectural trade-off; conceptual design with implementation estimation; and timing closure. The methodology includes using estimators, based on data gathered over a number of realized designs, for partitioning and evaluating a design prior to logic synthesis. From the structural description, a physical implementation of the device is readily realized.
66 Citations
24 Claims
-
1. An ECAD software system for running on an electronic computer and creating a structural description of an electronic device, comprising:
-
an input tool for inputting a functional specification for a design of an electronic device; a partitioning tool for partitioning the design of the electronic device into a plurality of architectural blocks; and one or more logic synthesization tools for converting the architectural blocks to a physical description of the design. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An ECAD software system for running on an electronic computer and mapping a structural description of an electronic system from a functional specification of the system, comprising:
-
(a) a specification tool for specifying a behavioral design for an electronic system in a high-level, behavior-oriented language; (b) a functional description tool for describing, in the high-level language, a functional description of the design of the system; (c) a simulation and editing tool for verifying in the high-level language, correctness of intended functionality and, if necessary, for iteratively simulating and changing the functional description of the system until the desired functionality is obtained; (d) a partitioning tool for partitioning the functional description into a number of architectural blocks; (e) a constraining tool for constraining the architectural choices for the design to those which meet the desired behavior; and (f) a layout tool for mapping the architecturally constrained design into a structural description of the system. - View Dependent Claims (13, 14)
-
-
15. An ECAD software system for simulating the functionality of a structural description of an electronic device from a behavior-oriented description thereof, comprising:
-
an input tool for allowing a user to specify and input a behavioral description for a desired behavior of a device in a high-level, behavior-oriented language, and to input the behavioral description; a simulation tool for allowing the user to iteratively simulate and change the behavioral description until the desired behavior is obtained; a partitioning tool for partitioning the behavioral description into architectural blocks; a synthesization tool for synthesizing a structural description of the architectural blocks in a lower-level language; and a simulation tool for simulating the functionality of the structural description. - View Dependent Claims (16, 17, 18)
-
-
19. A software partitioner for partitioning the design of a digital device, comprising:
-
an input tool for inputting a design; a first partitioning tool for partitioning a design into functional blocks; a layout tool for generally laying out the partitioned design; a selection tool for selecting existing designs for a portion of the functional blocks; a generation tool for generating another portion of the functional blocks; a second partitioning tool for partitioning yet another portion of the functional blocks into smaller functional units; a synthesization tool for synthesizing the remaining portion of the functional blocks; a generation tool for generating a structural description of the functional blocks and units; and a timing tool for predicting delays between functional blocks and units. - View Dependent Claims (20, 21)
-
-
22. An ECAD software system for ensuring that area and timing characteristics of a structural description of an electronic device comply with a higher level, behavior-oriented description thereof, comprising:
-
(1) an input tool for entering to an ECAD system a specification for an entire design of desired behavior of an electronic device, including high-level timing goals, in a high-level, behavior oriented language; (2) a derivation tool for deriving a functional description from the specification, including intended functionality; (3) a verification tool for verifying the correctness of the intended functionality of the functional description; (4) a partitioning tool for partitioning the functional description into a partitioned design having separate modules; (5) a description tool for describing the modules, and for imposing on each module a set of timing and area constraints; (6) a reconstruction tool for reconstructing the partitioned design, and for examining and for verifying the partitioned design, for providing an RTL description of the entire design; (7) a verification tool for verifying architectural decisions that were made during partitioning, and for examining their impact on the functionality and performance of the entire design; (8) a library tool for providing a target technology library to the modules; (9) layout tool for mapping the design is mapped into the target technology; (10) a gate level description tool for providing a gate level, technology-dependent structural descriptions of the modules; (11) a verification tool for verifying the correctness of the structural descriptions of the modules against their intended functionality; (12) an association tool for associating specified timing and area constraints on the structural description of the modules; (13) a modification tool for modifying the structural descriptions of the modules so that their area and timing characteristics comply with the specified constraints; (14) a derivation tool for deriving optimized structural description of the modules from the modified structural descriptions; (15) an examination tool for examining the impact of the optimized structural descriptions of the modules on the entire design; (16) a derivation tool for deriving a high level module, from the optimized structural descriptions of the modules, wherein the high level module describes the interaction and connectivity between the modules, and for creating higher level modules hierarchically from high level modules until the entire design is described in a highest level module; (17) a composition tool for composing the optimized structural descriptions of the modules are composed together to implement the intended functionality of the highest level module; (18) a floorplanning tool for performing floorplanning for the modules, and for determining more accurate intrablock and inter-block delays; (19) a back annotation tool for back-annotating the delays into the structural descriptions of the modules; and (20) a modification tool for further modifying the structural descriptions of the modules so that their area and timing characteristics comply with global constraints.
-
-
23. An ECAD system for designing electronic devices, comprising:
-
an electronic computer workstation, including memory for storing a behavioral description of an electronic device; a software partitioning tool for running on the workstation and converting the behavioral description into architectural blocks; a software synthesizing tool for running on the workstation and deriving a physical description of the electronic device from the architectural blocks; a software layout tool for running on the workstation and laying out a physical description of the device. - View Dependent Claims (24)
-
Specification