Constraint data management for electronic design automation
First Claim
1. A computer aided method for determining the existence of one or more conflicts in the placement or configuration of objects defining a circuit in the design of an integrated circuit, the method comprising the steps of:
- (a) defining a plurality of constraints each of which imposes at least one limitation on at least one of placement and configuration of at least one object that defines a circuit;
(b) defining a plurality of constraint families each of which is comprised of a subset of the constraints defined in step (a), with each constraint family comprised of constraints of the same type;
(c) determining for each constraint family of a subset of the plurality of constraint families defined in step (b) if a conflict exists between the constraints of said constraint family;
(d) defining pairs of constraint families from the plurality of constraint families defined in step (b);
(e) determining for each pair of constraint families of a subset of the pairs of constraint families defined in step (d) if a conflict exists between at least one constraint of one constraint family of said pair and at least one constraint of the other constraint family of said pair;
(f) amending at least one of the constraints if a conflict is determined to exist in step (e);
(g) repeating steps (c), (e) and (f) if at least one of the constraints was amended in the prior iteration of step (f); and
(h) laying out the circuit objects subject to the constraints.
2 Assignments
0 Petitions
Accused Products
Abstract
In a method of determining the existence of one or more conflicts in the placement or configuration of circuit objects defining a circuit, a number of constraints is defined, each of which imposes at least one limitation on at least one circuit object. A number of constraint families is then defined, each of which includes a subset of interrelated constraints. For each of a subset of the constraint families, a determination is made if a conflict exists between the constraints thereof. If not, pairs of constraint families are defined from the plurality constraint families. For each of a subset of the pairs of constraint families, a determination is made if a conflict exists between the constraints thereof. If not, the circuit objects defining the circuit are laid out subject to the constraints.
16 Citations
24 Claims
-
1. A computer aided method for determining the existence of one or more conflicts in the placement or configuration of objects defining a circuit in the design of an integrated circuit, the method comprising the steps of:
-
(a) defining a plurality of constraints each of which imposes at least one limitation on at least one of placement and configuration of at least one object that defines a circuit;
(b) defining a plurality of constraint families each of which is comprised of a subset of the constraints defined in step (a), with each constraint family comprised of constraints of the same type;
(c) determining for each constraint family of a subset of the plurality of constraint families defined in step (b) if a conflict exists between the constraints of said constraint family;
(d) defining pairs of constraint families from the plurality of constraint families defined in step (b);
(e) determining for each pair of constraint families of a subset of the pairs of constraint families defined in step (d) if a conflict exists between at least one constraint of one constraint family of said pair and at least one constraint of the other constraint family of said pair;
(f) amending at least one of the constraints if a conflict is determined to exist in step (e);
(g) repeating steps (c), (e) and (f) if at least one of the constraints was amended in the prior iteration of step (f); and
(h) laying out the circuit objects subject to the constraints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer aided method for determining the existence of one or more conflicts in the placement or configuration of objects defining a circuit in the design of an integrated circuit, the method comprising the steps of:
-
(a) defining a plurality of constraints each of which imposes at least one limitation on at least one of placement and configuration of at least one object that define a circuit;
(b) defining a plurality of constraint families each of which is comprised of a subset of the constraints that can interrelate;
(c) determining for each constraint family of a subset of the plurality of constraint families defined in step (b) if a conflict exists between the constraints of said constraint family;
(d) if a conflict is determined to exist in step (c), amending at least one of the constraints of said constraint family;
(e) repeating steps (c) and (d) if at least one constraint was amended in the prior iteration of step (d);
(f) defining pairs of constraint families from the plurality of constraint families defined in step (b);
(g) determining for each pair of constraint families of a subset of the pairs of constraint families defined in step (f) if a conflict exists between the constraints of said pair of constraint families;
(h) if a conflict is determined to exist in step (g), amending at least one of the constraints of said pair of constraint families;
(i) repeating steps (g) and (h) if at least one constraint was amended in the prior iteration of step (h); and
(j) laying out the circuit objects subject to the constraints. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer aided method for determining the existence of one or more conflicts in the placement or configuration of objects defining a circuit in the design thereof, the method comprising the steps of:
-
(a) selecting objects that define a circuit;
(b) associating constraints with a subset of the selected objects, with each constraint imposing at least one restriction on at least one of a placement, routing and/or configuration of at least one of the selected objects;
(c) defining a first matrix of objects vs. constraint types, wherein each cell of the first matrix is related to a unique object-constraint type pair and each constraint in step (b) corresponds to one of the constraint types of the first matrix;
(d) associating each constraint in step (b) with one of the cells of the first matrix that has said constraint as the constraint type of its related object-constraint type pair, whereupon the constraint(s) associated with each cell define an associated constraint family;
(e) determining for each constraint family that includes a plurality of constraints if at least one conflict exists between the constraints of said constraint family;
(f) defining a second matrix of constraint types vs. constraint types, wherein the constraint types of the second matrix are the same as the constraint types of the first matrix and each cell of the second matrix is related to a unique constraint-constraint pair;
(g) associating with each cell of a subset of the cells of the second matrix the constraint families associated with the cells of the first matrix that have as the constraint types of their related constraint-object pairs one of the constraint types of the constraint-constraint pair associated with the cell of the second matrix;
(h) determining for each pair of constraint families associated with a cell of the second matrix if a conflict exists between at least one constraint of one constraint family of said pair and at least one constraint of the other constraint family of said pair;
(i) amending at least one constraint if a conflict is determined to exist in step (h);
(j) repeating steps (h) and (i) until no conflict is determined to exist in step (h); and
(k) laying out the objects defining the circuit subject to the constraints. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification