Placement optimizing method/apparatus and apparatus for designing semiconductor devices
First Claim
Patent Images
1. A method of determining optimal allocation of a multiplicity of circuit elements having a predetermined correlation with one another, comprising the steps of:
- setting at least information for connecting the circuit elements and coordinates for arranging the circuit elements;
generating output values for allocating the circuit elements by executing operation in n2 processors, each of which receives its own output and outputs of the other processors to substantially arrange the circuit elements on locations on the basis of a weight representing a degree of connection between the circuit elements and on the basis of a threshold representing an allocation possibility of the circuit elements on the locations, both the weight and the threshold being obtained from the information and the coordinates;
calculating a constraint variable in a processor of the coordinates value (i, k) such that an i-th circuit element (where i=1 to n) is arranged on a k-th location (where k-1 to n), so that a circuit evaluation function becomes an optimal value and converges up to a constraint condition; and
arranging a circuit element on the coordinates of one of the processor which generates an output value which converges the constraint variable to the constraint condition, by deciding whether the constraint variable is converged or not.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of finding the optimal placement of circuit elements is disclosed in which the optimal position of each circuit element is determined from the results of arithmetic operations performed by a processor network where a plurality of processors are interconnected so as to form a neural network, and each processor takes in its own output and the outputs of all other processors to solve a problem.
58 Citations
25 Claims
-
1. A method of determining optimal allocation of a multiplicity of circuit elements having a predetermined correlation with one another, comprising the steps of:
-
setting at least information for connecting the circuit elements and coordinates for arranging the circuit elements; generating output values for allocating the circuit elements by executing operation in n2 processors, each of which receives its own output and outputs of the other processors to substantially arrange the circuit elements on locations on the basis of a weight representing a degree of connection between the circuit elements and on the basis of a threshold representing an allocation possibility of the circuit elements on the locations, both the weight and the threshold being obtained from the information and the coordinates; calculating a constraint variable in a processor of the coordinates value (i, k) such that an i-th circuit element (where i=1 to n) is arranged on a k-th location (where k-1 to n), so that a circuit evaluation function becomes an optimal value and converges up to a constraint condition; and arranging a circuit element on the coordinates of one of the processor which generates an output value which converges the constraint variable to the constraint condition, by deciding whether the constraint variable is converged or not. - View Dependent Claims (2, 3)
-
-
4. A method of determining optimal allocation of a multiplicity of circuit elements having a predetermined correlation with one another, comprising the steps of:
-
setting at least information for connecting the circuit elements and coordinates for arranging the circuit elements; generating output values for allocating the circuit elements by executing operation in n2 processors, each of the processors receiving its own output and outputs of the other processors to substantially arrange the circuit elements on locations on the basis of a weight matrix T representing a degree of connection between the circuit elements and on the basis of a threshold vector b representing an allocation possibility of the circuit elements on the locations, both the weight matrix T and the threshold vector b being based on the information and the coordinates and obtained from an energy function E given by the following equations;
##EQU9## where x and b indicate n-dimensional vectors, tx indicates the transposed vector of the vector x, tb indicates the transposed vector of the vector b, dkl indicates the distance between the k-th position and the l-th position, dkp indicates the distance between the k-th position and the fixed position of the p-th circuit element (wherein, when there is no fixed circuit element, dkp =0), cijm indicates a variable having a value "1" for a case where the i-th and j-th circuit elements form a net and having a value "0" for other cases, xik and xjl indicate constraint variables, and A and D are coefficients, wherein the weight matrix T and threshold vector b thus determined are given by the following equations;
##EQU10## calculating a constraint variable in a processor of the coordinates value (i, k) such that an i-th circuit element (where i=1 to n) is arranged on a k-th location (where k=1 to n), from the following equations;
space="preserve" listing-type="equation">dx.sub.ik (t)=-(Σ
T.sub.ikjl u.sub.jl (t)-b.sub.ik)×
dt
space="preserve" listing-type="equation">x.sub.ik (t+1)=x.sub.ik (t)+dx.sub.ik (t)
space="preserve" listing-type="equation">u.sub.ik (t+1)=1/{1+exp(-x.sub.ik (t+1))}where a constraint variable ujl (t) of the t-th calculation result is given, a constraint variable uik (t+1) is given by t+1-th calculation, and calculating the constraint variable uik becoming convergent up to the following constraint condition;
##EQU11## arranging a circuit element on the coordinates of one of the processors which generates an output value which converges the constraint variable to the constraint condition, by deciding whether the constraint variable s converged or not. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. An optimal allocation apparatus for allocating a multiplicity of circuit elements having a predetermined correlation with one another, comprising:
-
initialization means including at least a table storing information for connecting between the circuit elements and a table storing coordinates for arranging the circuit elements, for setting a weight representing a degree of connection between the circuit elements and a threshold representing an allocation possibility of the circuit elements on locations on the basis of the information and the coordinates; processor network means including n2 processors, each of the processors receiving its own output and outputs of the other processors to generate an output value on the basis of the weight and the threshold by executing calculation to substantially arrange the circuit elements on the locations such that a processor of the coordinates value (i, k) calculates a constraint variable in arranging an i-th circuit element (where i-1 to n) on a k-th location (where k=1 to n), so that a circuit evaluation function becomes an optimal value and converges up to a constraint condition; and arrangement means for arranging a circuit element on the coordinates of the processor which generates an output value which converges the constraint variable to the constraint condition, by deciding whether the constraint variable is converged or not. - View Dependent Claims (13, 14)
-
-
15. An optimal allocation apparatus for allocating a multiplicity of circuit elements having a predetermined correlation with one another, comprising:
initialization means including at least a table storing information for connecting between the circuit elements and a table storing coordinates for arranging the circuit elements, for setting a weight matrix representing a degree of connection between the circuit elements and a threshold vector representing an allocation possibility of the circuit elements on locations on the basis of the information and the coordinates, both the weight matrix T and the threshold vector b being based on the information and the coordinates and obtained from an energy function E given by the following equation;
##EQU14## where x and b indicate n-dimensional vectors, tx indicates the transposed vector of the vector x, tb indicates the transposed vector of the vector b, dkl indicates the distance between the k-th position and the l-th position, dkp indicates the distance between the k-th position and the fixed position of the p-th circuit module or element (wherein, when there is no fixed circuit element, dkp =0), cijm indicates a variable having a value "1" for a case where the i-th and j-th circuit elements form a net and having a value "0" for other cases, xik and xjl indicate constraint variables, and A and D are coefficients, wherein the weight matrix T and threshold vector b thus determined are given by the following equations;
##EQU15## processor network means including n2 processors, each of the processors receiving its own output and outputs of the other processors to generate an output value for allocating the circuit elements on the basis of the weight matrix T and on the basis of the threshold vector b by executing calculation to substantially arrange the circuit elements on the locations such that a processor of the coordinates value (i, k) calculates a constraint variable in arranging an i-th circuit element (where i=1 to n) on a k-th location (where k=1 to n), so that a circuit evaluation function becomes an optimal value and converges up to a constraint condition, the calculation of the constraint variable being obtained from the following equations;
##EQU16## arrangement means for arranging a circuit element on the coordinates of one of the processor which generates an output value which converges the constraint variable to the constraint condition, by whether the constraint variable is converged or not.- View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
24. A semiconductor device design apparatus for use in design of semiconductor devices, comprising:
-
initialization means including at least a table storing information for connecting between the circuit elements and a table storing coordinates for arranging the circuit elements, for setting a weight representing a degree of connection between the circuit elements and a threshold representing an allocation possibility of the circuit elements on locations on the basis of the information and the coordinates; processor network means including n2 processors, each of the processors receiving its own output and outputs of the other processors to generate an output value for allocating the circuit elements on the basis of the weight and the threshold by executing calculation to substantially arrange the circuit elements on the locations such that a processor of the coordinates value (i, k) calculates a constraint variable in arranging an i-th circuit element (where i=1 to n) on a k-th location (where k=1 to n), so that a circuit evaluation function becomes an optimal value and converges up to a constraint condition; and arrangement means for arranging a circuit element on the coordinates of one of the processor which generates an output value which converges the constraint variable to the constraint condition, by deciding whether the constraint variable is converged or not. - View Dependent Claims (25)
-
Specification