The above and other objects and features of the invention will appear more fully hereinafter from a consideration of the following description taken in connection with the accompanying drawing wherein one example is illustrated by way of example, in which;
A preferred embodiment of the present invention will be described below with reference to accompanying drawings. In the embodiment, it is necessary to configure a layout system using a personal computer or the like so as to execute a computer program of an automatic wiring method of a semiconductor integrated circuit according to the present invention. With such a layout system, a specific description will be given of a case in which a storage medium for storing the computer program of the automatic wiring method of the present invention is read and executed.
In the example of
Next, in the layout data obtained in step S11, cells 10 each including the port 11 to be connected to the signal line is specified, and data for the ports 11 as the connection targets attached to the cells 10 is extracted (Step S12). In the embodiment, the optimum Y coordinate of the signal line is intended to be determined when connecting predetermined ports 11 to the signal line extending in the X direction. For example, in
Subsequently, among the data extracted in step S12, it is determined whether or not respective ports 11 are weighted (Step S13), and processing in accordance with the determination result is performed. As a consequence, when it is determined that the ports 11 are not weighted (Step S13: NO), the processing shifts to step S16 without executing steps S14 and S15 (first case). On the other hand, when it is determined that the one or more ports 11 are weighted (Step S13: YES), the processing shifts to step S14 (second case).
First, the first case in which the processing is shifted to step S16 without weighting the port 11 will be described.
It is possible to selectively define whether or not the weightings of the ports 11 are designated in the layout system. That is, a user of the layout system can select that the ports 11 are not weighted for the signal line of low importance. Further, the weightings of the ports 11 maybe defined for output ports connected to the signal line, while the weightings of the ports 11 as input ports may not be designated. Further, when designating the weightings in accordance with the transistor size, the weightings of the cells 10 having the same transistor size of the cells 10 can be the same, and consequently the respective ports 11 can have the same weighting.
Next, an average value of the Y coordinates of the respective ports 11 is calculated (Step S16). In the example of the first data table of
YA1=(100+30+90+100+0)/5=64
Subsequently, the optimum wiring position is determined on the basis of the calculation result in step S16 (Step S17). Specifically, the average value YA1 calculated in step S16 is set as the Y coordinate of the signal line extending in the X direction. Herein,
In
L=36+34+26+36+64=196
L′=50+20+40+50+50=210
As mentioned above, in the first case of the embodiment, as compared with the conventional method, the line length necessary for connecting the ports 11 which are distributed variously to the signal line S can be averagely reduced. Referring to
In
Next, the second case in which the processing is shifted to step S14 after the weightings of the ports 11 are designated will be described.
Meanwhile, as shown in the second data table, the weightings are designated for the ports 11, and the transistor sizes of the corresponding cells 10 are extracted for the respective weighted ports 11 (Step S14). In the example of
Further, as shown in the second data table, weighting scale factors corresponding to the transistor sizes extracted in step S14 is set for the ports 11 for which the weightings are determined (Step S15). In the example of
Next, an average value of the Y coordinates of the respective ports 11 is calculated on the basis of the setting of step S15 (Step S16). Specifically, it is assumed that there are the ports 11 the number of which corresponds to its weighting scale factor. In the second data table, although the original number of ports 11 is 5, it is assumed that there are two ports 11 attached to the cell 10 having the cell name BLK2 and there are ten ports 11 attached to the cell 10 having the cell name BLK5. As a consequence, the average value YA2 of the Y coordinates of the ports 11 can be obtained by the following calculation expression.
YA2=(100+30×2+90+100+0×10)/(3+2+10)=23.4
As mentioned above, in the second case of the embodiment, by weighting the ports 11 respectively, the signal line S is set to be close to the side of the port 11 attached to the cell 10 having a large transistor size. In
Next, the optimum wiring position is determined based on the calculation result of step S16 (Step S17). Similarly to the first case using the average value YA1, the average value YA2 calculated in step S16 is set as the Y coordinate of the signal line extending in the X direction. Herein,
In the second case, the description is given where the weighting scale factor is set corresponding to the transistor size of the cell 10. However, weighting information used for setting the weighting can be freely selected as well as the transistor size. For example, gate capacitance or ON-resistance of the transistor may be set as the weighting information. Incidentally, the gate capacitance or the ON-resistance of the transistor can be calculated from the gate width and the gate length of the transistor. Further, the gate capacitance can be calculated with high precision in consideration of a thickness of a gate oxide film of the transistor. Further, the capacitance value and the resistance value of each lead-in line D which is obtained from the gate capacitance and the ON-resistance of the transistor may be set as the weighting information. Incidentally, the weighting information can be designated by directly selecting a predetermined cell name and a predetermined signal name without using a parameter of the transistor.
Next, a description will be given of auxiliary processing for the wiring position determined in step S17. First, round-off processing of the Y coordinate of the wiring position determined in step S17 is performed (Step S18). That is, when a large number of the signal lines including the above-mentioned signal line S are arranged in the entire layout of the semiconductor integrated circuit, a predetermined wiring pitch is determined as a positional relationship between the signal lines. Thus, the round-off processing of the wiring position determined in step S17 is required to ensure the predetermined wiring pitch between the signal lines. For example, if this round-off processing is applied to Y=23.4 obtained in step S17, the resultant value is then slightly corrected in an increasing direction or in a decreasing direction.
Next, it is determined whether or not the signal line S based on the round-off processing in step S18 is overlapped at the same position as the other signal line, and processing for preventing the overlapping state is performed (Step S19). When there are a large number of signal lines extending in the X direction, the wiring positions thereof can be possibly overlapped at the same position as the result of step S17. However, in such a case, the overlapping state needs to be prevented in consideration of priorities of the signal lines. For example, in the above-mentioned second case, a total value of the weighting scale factors of the ports 11 to be connected is obtained for each of signal lines which are overlapped with each other, and by comparing the obtained values, the priorities of signal lines can be determined. By this, when the total value of the weighting scale factors is larger than the other, the optimum wiring position is maintained. On the other hand, when the total value of the weighting scale factors is smaller than the other, the wiring position is moved in accordance with the wiring pitch. Such a determination of priorities is repeated until the overlapping state of the signal lines is prevented.
As described above, the present invention is described according to the embodiment. However, the present invention is not limited to the embodiment and can variously be modified without departing the essentials of the present invention. For example, in the embodiment, the description is given of the case of determining the optimum position of the signal line extending in the X direction. However, the present invention can be widely applied to, e.g., the case of determining the optimum position of the signal line extending in an arbitrary direction in a layout as well as the X direction.
The present invention is not limited to the above described embodiments, and various variations and modifications may be possible without departing from the scope of the present invention.
This application is based on the Japanese Patent application No. 2006-161574 filed on Jun. 9, 2006, entire content of which is expressly incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2006-161574 | Jun 2006 | JP | national |