← Back to Patent Explorer
US5222030A Expired / Lapsed US ⏱️ 0.0 years remaining

Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof

Assignee: LSI Corp
•
Filing: 1990-04-06
•
Granted: 1993-06-22
•
Expires: 2010-04-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Carlos Dangelo
  • 👤 Vijay K. Nagasamy
  • 👤 Ahsan Bootehsaz
  • 👤 Sreeranga P. Rajan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 23:52
CPC Classifications
G; G01; G01R; G01R31/00; G01R31/28; G01R31/317; G01R31/31704; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/33; G06F30/3308

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 137 words
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, 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.
Claim 2
Dependent Claim 137 words
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, 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.
Claim 3
Dependent Claim 55 words
A method according to claim 1, wherein: architectural blocks having highly regular structures or well understood functions are directed to specific logic synthesis programs running on the ECAD system (e.g. memory or function compilers); and architectural blocks with random or unstructured logic are directed to more general logic synthesis programs running on the ECAD system.
Claim 4
Dependent Claim 52 words
A method according to claim 1, further comprising: on the ECAD system, simulating the gate-level design description; and on the ECAD system, comparing the results of the gate-level simulation with those from the behavioral simulation to ensure that the gate-level design description behaves as intended and that the timing goals are achieved.
Claim 5
Dependent Claim 29 words
A method according to claim 3, further comprising: on the ECAD system, back-annotating the design to ensure that other physical design limitations, such as capacitive loads, are not exceeded.
Claim 6
Dependent Claim 39 words
A method according to claim 3, further comprising: inputting to the ECAD system the net list or gate-level description of the design to a layout tool running on the ECAD system for creating a physical implementation of the design.
Claim 7
Dependent Claim 32 words
A method according to claim 1, further comprising: an intermediate step, between the behavioral and net-list descriptions of the design, of generating a description of the design at the register transfer level.
Claim 8
Dependent Claim 25 words
A method according to claim 1, wherein: the intent and meaning present in the behavioral description is preserved at the net list or gate-level description.
Claim 9
Dependent Claim 51 words
A method according to claim 1, further comprising: in the partitioning step, providing to the ECAD system high-level timing information extracted from known chip floorplan parameters to constrain the design into the feasible architectural choices which meet the high-level timing goals, thereby allowing the process to converge to specific physical embodiments.
Claim 10
Dependent Claim 30 words
A method according to claim 8, further comprising: on the ECAD system, extracting timing data from floorplan parameters; and incorporating this data into I/O ports of the high-level behavioral description.
Claim 11
Dependent Claim 19 words
A method according to claim 1, wherein the high-level behavioral description of the device is set forth in VHDL.
Claim 12
Dependent Claim 36 words
A method according to claim 1, further comprising: interpreting the behavioral description of the device by attaching one or more semantic rules to each of the syntactic rules underlying the behavioral description, in the ECAD system.
Claim 13
Dependent Claim 17 words
A method according to claim 11, wherein the interpreting is accomplished by using a "syntax attribute tree".
Claim 14
Dependent Claim 138 words
In an ECAD system, a method of deriving a structural description of a system from a behavioral description thereof, comprising: (a) specifying a behavioral design for a system in a high-level behavior-oriented language; (b) describing, in the high-level language, a functional description of the design of the system, and inputting the functional description to the ECAD system; (c) verifying in the high-level language, correctness of intended funtionality and, if necessary, iteratively simulating and changing the functional description of the system until the desired functionality is obtained; (d) on the ECAD system, partitioning the functional description into a number of architectural blocks; (e) on the ECAD system, constraining the architectural choices for the design to those which meet the desired behavior; and (f) on the ECAD system, mapping the architecturally constrained design into a structural description of the system.
Claim 15
Dependent Claim 138 words
In an ECAD system, a method of deriving a structural description of a system from a behavioral description thereof, comprising: (a) specifying a behavioral design for a system in a high-level behavior-oriented language; (b) describing, in the high-level language, a functional description of the design of the system, and inputting the functional description to the ECAD system; (c) verifying in the high-level language, correctness of intended funtionality and, if necessary, iteratively simulating and changing the functional description of the system until the desired functionality is obtained; (d) on the ECAD system, partitioning the functional description into a number of architectural blocks; (e) on the ECAD system, constraining the architectural choices for the design to those which meet the desired behavior; and (f) on the ECAD system, mapping the architecturally constrained design into a structural description of the system.
Claim 16
Dependent Claim 39 words
A method according to claim 13, further comprising: between the steps (e) and (f), composing the architectural choices as a structural description of the system; and on the ECAD system, verifying the architectural decisions that were made during partitioning.
Claim 17
Dependent Claim 28 words
A method according to claim 13, further comprising: on the ECAD system, after the step (f), verifying the correctness of the of the structural description of the system.
Claim 18
Dependent Claim 102 words
In an ECAD system, a method of creating and validating a structural description of a device from a behavior-oriented description, comprising: specifying a behavioral description for a desired behavior of a device in a high-level, behavior-oriented language, and inputting the behavioral description to an ECAD system; on the ECAD system, iteratively simulating and changing the behavioral description until the desired behavior is obtained; on the ECAD system, partitioning the behavioral description into architectural blocks; on the ECAD system, synthesizing a structural description of the architectural blocks in a lower-level language; and on the ECAD system, simulating the funtionality of the structural description.
Claim 19
Dependent Claim 102 words
In an ECAD system, a method of creating and validating a structural description of a device from a behavior-oriented description, comprising: specifying a behavioral description for a desired behavior of a device in a high-level, behavior-oriented language, and inputting the behavioral description to an ECAD system; on the ECAD system, iteratively simulating and changing the behavioral description until the desired behavior is obtained; on the ECAD system, partitioning the behavioral description into architectural blocks; on the ECAD system, synthesizing a structural description of the architectural blocks in a lower-level language; and on the ECAD system, simulating the funtionality of the structural description.
Claim 20
Independent Claim 15 words
A method according to claims 16, wherein: the device is a circuit or a system.
Claim 21
Dependent Claim 39 words
A method according to claim 16, wherein: the device is a design entity; and the design entity is an entire system, a sub-system, a board, a chip, a macro-cell, a logic gate, or any level of abstraction in between.
Claim 22
Dependent Claim 16 words
A method according to claim 16, further comprising: on the ECAD system, implementing the structural description.
Claim 23
Dependent Claim 97 words
In an ECAD system, a method of partitioning the design of a digital device, comprising: inputting a design to an ECAD system, and on the ECAD system performing the following steps; partitioning a design into functional blocks; generally laying out the partitioning design; selecting existing design for a portion of the functional blocks; generating another portion of the functional blocks; partitioning yet another portion of the functional blocks into smaller functional units; synthesizing the remaining portion of the functional blocks; generating a structural description of the functional blocks and units; predicting delays between functional blocks and units.
Claim 24
Dependent Claim 97 words
In an ECAD system, a method of partitioning the design of a digital device, comprising: inputting a design to an ECAD system, and on the ECAD system performing the following steps; partitioning a design into functional blocks; generally laying out the partitioning design; selecting existing design for a portion of the functional blocks; generating another portion of the functional blocks; partitioning yet another portion of the functional blocks into smaller functional units; synthesizing the remaining portion of the functional blocks; generating a structural description of the functional blocks and units; predicting delays between functional blocks and units.
Claim 25
Dependent Claim 15 words
A method according to claim 20, further comprising: back-annotating the delays to provide timing optimization.
Claim 26
Dependent Claim 18 words
A method according to claim 20, further comprising: using the delays to derive boundary constraints for timing optimization.
Claim 27
Dependent Claim 449 words
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: (1) entering on an ECAD system a specification for an entire design of desired behavior of a device, including high-level timing goals, in a high-level, behavior-oriented language; (2) on the ECAD system, deriving a functional description from the specification, including intended functionality; (2.5) on the ECAD system, verifying the correctness of the intended functionality of the functional description; (3) on the ECAD system, partitioning the functional description into a partitioned design having separate modules; (4) on the ECAD system, describing the modules, and imposing on each module a set of timing and area constraints; (5) on the ECAD system, reconstructing the partitioned design, and examining and verifying the partitioned design, to provide an RTL description of the entire design; (6) on the ECAD system, verifying architectural decisions that were made during partitioning, and examining their impact on the functionality and performance of the entire design; (7) on the ECAD system, providing a target technology library for the modules; (8) on the ECAD system, mapping the design is mapped into the target technology; (9) on the ECAD system, providing a gate-level, technology-dependent structural descriptions of the modules; (10) on the ECAD system, verify the correctness of the structural descriptions of the modules against their intended functionality; (11) on the ECAD system, associating specified timing and area constraints on the structural description of the modules; (12) on the ECAD system, modifying the structural descriptions of the modules so that their area and timing characteristics comply with the specified constraints; (13) on the ECAD system, deriving optimized structural description of the modules from the modified structural descriptions; (14) on the ECAD system, examining the impact of the optimized structural descriptions of the modules on the entire design; (15) on the ECAD system, 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 creating higher level modules hierarchically from high level modules until the entire design is described in a highest level module; (16) on the ECAD system, composing the optimized structural descriptions of the modules are composed (see step 5) together to implement the intended functionality of the highest level module; (17) in the ECAD system, performing floor-planning for the modules, and determining more accurate intra-block and interblock delays; (17.5) in the ECAD system, back-annotating the delays into the structural descriptions of the modules; and (18) in the ECAD system, further modifying the structural descriptions of the modules so that their area and timing characteristics comply with global constraints.
Claim 28
Dependent Claim 449 words
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: (1) entering on an ECAD system a specification for an entire design of desired behavior of a device, including high-level timing goals, in a high-level, behavior-oriented language; (2) on the ECAD system, deriving a functional description from the specification, including intended functionality; (2.5) on the ECAD system, verifying the correctness of the intended functionality of the functional description; (3) on the ECAD system, partitioning the functional description into a partitioned design having separate modules; (4) on the ECAD system, describing the modules, and imposing on each module a set of timing and area constraints; (5) on the ECAD system, reconstructing the partitioned design, and examining and verifying the partitioned design, to provide an RTL description of the entire design; (6) on the ECAD system, verifying architectural decisions that were made during partitioning, and examining their impact on the functionality and performance of the entire design; (7) on the ECAD system, providing a target technology library for the modules; (8) on the ECAD system, mapping the design is mapped into the target technology; (9) on the ECAD system, providing a gate-level, technology-dependent structural descriptions of the modules; (10) on the ECAD system, verify the correctness of the structural descriptions of the modules against their intended functionality; (11) on the ECAD system, associating specified timing and area constraints on the structural description of the modules; (12) on the ECAD system, modifying the structural descriptions of the modules so that their area and timing characteristics comply with the specified constraints; (13) on the ECAD system, deriving optimized structural description of the modules from the modified structural descriptions; (14) on the ECAD system, examining the impact of the optimized structural descriptions of the modules on the entire design; (15) on the ECAD system, 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 creating higher level modules hierarchically from high level modules until the entire design is described in a highest level module; (16) on the ECAD system, composing the optimized structural descriptions of the modules are composed (see step 5) together to implement the intended functionality of the highest level module; (17) in the ECAD system, performing floor-planning for the modules, and determining more accurate intra-block and interblock delays; (17.5) in the ECAD system, back-annotating the delays into the structural descriptions of the modules; and (18) in the ECAD system, further modifying the structural descriptions of the modules so that their area and timing characteristics comply with global constraints.

References Cited (Backward Citations)

UST940008I4 Cited
US4703435A Cited
US4697241A Cited
US4890238A Cited
US4908772A Cited
US4922432A Cited
US4967367A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-06-21 1996-12-21 1997-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-06-21 2000-12-21 2001-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-06-21 2004-12-21 2005-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag