Data base access mechanism for rules utilized by a synthesis procedure for logic circuit design
First Claim
1. In a data processing system, a method of synthesizing a circuit design by accessing data base objects in a data base organized as a data base structure and contained in a memory of said data processing system, said data base objects representing components of a circuit, the method comprising the steps, performed by the data processing system, of:
- creating, by the data processing system and in said memory, said data base structure by coupling said data base objects contained in said data base structure to allow said data base objects to be accessed in any order;
parsing, by the data processing system, a noun which is contained in a rule stored in the memory, said noun including a sequence of connected key words that identify a traversal of the data base structure, the parsing step including the substep ofinterpreting said noun as a sequence of nested functions; and
accessing, by the data processing system, the coupled data base objects contained in said data base structure in accordance with the traversal of said data base structure identified by the connected key words in said noun to perform a circuit design synthesis operation by modifying said data base structure.
2 Assignments
0 Petitions
Accused Products
Abstract
In a circuit design synthesis procedure in which the pointers are added to the data base to permit a path through the circuit to be followed, a qualified object is defined to be a data object that permits access expressed by a sequence (or chain) of access forms strung together. A mechanism is defined that permits access of any object in a logic design database relative to any other object in the data base. Access forms are strung together in a given format. This structure provides an easily understandable access form and it is defined in the rule grammar. This access form can be parsed in the synthesis procedure into a nest of (LISP) program functions, which, when evaluated, will return an object in the data base. This access chain is used in the antecedent and consequence portions of the rule structure for the purpose of modifying the target objects. This access structure permits the synthesis rules to make decisions on such parameters as timing, cell size, power, wire loading, model names, etc. The rules of the synthesis procedure can be written in such a manner as to be similar to a circuit designer'"'"'s rules. In addition to the access of objects, this chained access structure also permits tagging (or marking) a subset intermediate objects to be temporarily saved for use by the synthesis rules. This additional capability provides the ability to sort and partition sets of objects based on attributes and permits a synthesis procedure capable of using abstract tradeoffs.
102 Citations
17 Claims
-
1. In a data processing system, a method of synthesizing a circuit design by accessing data base objects in a data base organized as a data base structure and contained in a memory of said data processing system, said data base objects representing components of a circuit, the method comprising the steps, performed by the data processing system, of:
-
creating, by the data processing system and in said memory, said data base structure by coupling said data base objects contained in said data base structure to allow said data base objects to be accessed in any order; parsing, by the data processing system, a noun which is contained in a rule stored in the memory, said noun including a sequence of connected key words that identify a traversal of the data base structure, the parsing step including the substep of interpreting said noun as a sequence of nested functions; and accessing, by the data processing system, the coupled data base objects contained in said data base structure in accordance with the traversal of said data base structure identified by the connected key words in said noun to perform a circuit design synthesis operation by modifying said data base structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data processing system, for synthesizing circuit designs, in which a data base contained in a memory of the data processing system at non-adjacent locations is accessed, the data processing system comprising:
-
means for creating a data base structure in said memory in which coupled data base objects contained in said data base structure can be accessed in any order, said coupled data base objects representing circuit components; means for parsing a noun which is contained in a rule stored in the memory and which includes a sequence of connected key words that identify a traversal of the data base structure, by interpreting said noun as a sequence of nested functions; and means for accessing the coupled data base objects contained in said data base structure in accordance with the traversal of said data base structure identified by the connected key words in said noun to perform a circuit design synthesis operation by modifying said data base structure.
-
-
10. A circuit design synthesis process performed by a data processing system including a memory containing a plurality of rules having a consequence portion and an antecedent portion and a sequence of linked data base objects representing circuit components, the process being performed by the data processing system and comprising the steps, performed by the data processing system, of:
-
determining, by the data processing system, whether the antecedent portion of a first one of the rules applied to a first one of the data base objects is true by performing a plurality of tests contained within the antecedent portion of the first rule, the antecedent portion of the first rule being true when each of the performed tests yields a result of true, and the performing of the plurality of tests including; performing, by the data processing system, a first one of the tests by evaluating an end point in the sequence of data base objects which was accessed from the first data base object and performing, by the data processing system, a second one of the tests by evaluating the end point in the sequence of data base objects which was accessed from an intermediate point in the sequence of data base objects, the intermediate point being determined based on a result of the first test and located between the first data base object and the end point; and when the antecedent portion of the first rule is true, thereafter performing, by the data processing system, the consequence portion of the first rule. - View Dependent Claims (11, 12, 13)
-
-
14. A data processing system for performing a circuit design synthesis process, the data processing system having a memory in which a plurality of rules and a sequence of linked data base objects are stored and each of the rules having a consequence portion and an antecedent portion, the system comprising:
-
means for determining whether the antecedent portion of a first one of the rules applied to a first one of the data base objects is true by performing a plurality of tests contained within the antecedent portion of the first rule, the antecedent portion of the first rule being true when each of the performed tests yields a result of true, the determining means including; means for performing a first one of the tests by evaluating an end portion in the sequence of data base objects which was accessed from the first data base object and means for performing a second one of the tests by evaluating the end point in the sequence of data base objects which was accessed from an intermediate point in the sequence of data base objects, the intermediate point being determined based on a result of the first test and located between the first data base object and the end point; and means for performing the consequence portion of the first rule when the antecedent portion of the first rule is true. - View Dependent Claims (15, 16, 17)
-
Specification