An apparatus for optimizing signal distribution through signal lines which connect a signal supplying source and a plurality of elements which are supplied with a signal from the signal supplying source through the signal lines, the apparatus being utilized when designing a circuit including the signal supplying source and the plurality of elements, the apparatus for optimizing the signal lines within the circuit, comprising:
- a determining unit determining whether or not the signal supplying source satisfies a fan-out restriction if the signal supplying source supplies a signal to all of the driven elements which are directly connected to the signal supplying source;
- a dividing unit dividing the plurality of elements into a plural number of groups so that the fan-out restriction is satisfied in each of the groups and that each of the groups has the same or substantially the same load capacity, when the determining unit determines that the signal supplying source does not satisfy the fan-out restriction;
- a buffer inserting unit inserting a buffer element having a size which makes the groups of elements satisfy the fan-out restriction, into each of the groups divided by the dividing unit;
- wherein
- the determining unit regards the buffer element inserted by the buffer inserting unit as a driven element and determines whether or not the signal supplying source satisfies the fan-out restriction if the signal supplying source supplies a signal to all of the driven elements which are directly connected to the signal supplying source, and
- the dividing unit and the buffer inserting unit repeat the processing thereof until the determining unit delivers a determination that the signal supplying source satisfies the fan-out restriction;
- an optimizing unit carrying out optimization in such a manner that, if the determining unit delivers a determination that the signal supplying source satisfies the fan-out restriction, then the optimizing unit analyzes a delay taken place between the signal supplying source and each of the plurality of elements, and optimizes the signal distribution through the signal lines by inserting or removing one or more buffer elements, or by changing the buffer size, or by changing the group to which the driven element belongs;
- and
- a buffer stage number adjusting unit inserting one or more buffer elements into the circuit so that each circuit path extending from the signal supplying source to all of the plurality of elements consists of the same number of cell stages.