Generalized constraint collection management method
First Claim
1. A method of automating the validation of constraints associated with circuit design objects in a circuit design created using an electronic design automation tool, comprising:
- using a computer for providing a template type in a computer system;
wherein the template type includes a selectable template type identifier in produced in a computer user interface display of the computer system to identify the template type;
wherein template type includes template instance generation code stored in non-transitory computer readable storage media of the computer system to run a template instance generation process;
wherein the template type includes template instance validation code stored in non-transitory computer readable storage media to run a template instance validation process;
receiving by the computer system, a user selection of the template type identifier;
in response to the received user selection of the template type identifier, invoking the template instance generation code to run the template instance generation process on the computer system, to produce a template instance;
wherein the produced template instance identifies a constraint set that includes multiple constraints and that identifies associations between the multiple constraints in the constraint set and the one or more design objects to store the produced template instance in the memory device and to create an association in the memory device between the produced template instance and the template type;
in response to receiving notification of an event that could cause the template instance to become invalid,invoking the validation process to validate the constraints associated with the template instance;
receiving a success indicator from the validation process; and
if the success indicator indicates that the constraints are not valid, invoking a recovery process.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided to allow users of Electronic Design Automation (EDA) tools to define constraint template types for efficiently associating constraints with design objects to specify design intent. Processes for creating and validating the constraints are provided by user-defined plug-ins, thereby allowing users to annotate circuit designs with constraints for proprietary layout and fabrication processes without exposing the constraints to tool vendors or competitors. The constraints are re-created from the template types whenever the circuit design is loaded into the EDA tool, so that the constraints are based upon the latest version of the template type. The constraints are also re-created when validation fails. Constraint groups are reusable in different designs, technology nodes, and processes because they automatically expand to provide the specific constraints to achieve a goal. The specific constraints in a template type can be modified as technology changes, and the modification will automatically be applied to the design objects.
-
Citations
10 Claims
-
1. A method of automating the validation of constraints associated with circuit design objects in a circuit design created using an electronic design automation tool, comprising:
-
using a computer for providing a template type in a computer system; wherein the template type includes a selectable template type identifier in produced in a computer user interface display of the computer system to identify the template type; wherein template type includes template instance generation code stored in non-transitory computer readable storage media of the computer system to run a template instance generation process; wherein the template type includes template instance validation code stored in non-transitory computer readable storage media to run a template instance validation process; receiving by the computer system, a user selection of the template type identifier; in response to the received user selection of the template type identifier, invoking the template instance generation code to run the template instance generation process on the computer system, to produce a template instance; wherein the produced template instance identifies a constraint set that includes multiple constraints and that identifies associations between the multiple constraints in the constraint set and the one or more design objects to store the produced template instance in the memory device and to create an association in the memory device between the produced template instance and the template type; in response to receiving notification of an event that could cause the template instance to become invalid, invoking the validation process to validate the constraints associated with the template instance; receiving a success indicator from the validation process; and if the success indicator indicates that the constraints are not valid, invoking a recovery process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage media comprising program code for automating the validation of constraints associated with design objects in a design created using an electronic design automation tool, the computer program product comprising:
-
program code stored in the non-transitory computer readable storage media operable to cause a computer to provide a template type in a computer system; wherein the template type includes a selectable template type identifier in produced in a computer user interface display of the computer system to identify the template type; wherein template type includes template instance generation code stored in the non-transitory computer readable storage media to cause a computer to run a template instance generation process; wherein the template type includes template instance validation code stored in the non-transitory computer readable storage media to cause a computer to run a template instance validation process; wherein the template instance generation code is operable to cause a computer to produce in the computer system, in response to user selection of the template type identifier, a template instance that is associated with the template type; wherein the produced template instance identifies a constraint set that includes multiple constraints and that identifies associations between the multiple constraints in the constraint set and the one or more design objects in the circuit design; wherein the template instance validation code is operable in response to receiving notification of an event that could cause the template instance to become invalid to, invoke the validation process associated with the template instance to validate the constraints; receiving a success indicator from the validation process, and invoke a recovery process if the success indicator indicates that the constraints are not valid.
-
Specification