This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2007-161576, filed on Jun. 19, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a technology of supporting design of semiconductor integrated circuits.
2. Description of the Related Art
Recently, along with the miniaturization of semiconductor integrated circuits, effects of variation of process, reduction in power source voltage, crosstalk, etc. are getting greater, and fluctuations of circuit delay are increasing. Although the fluctuations of circuit delay are additionally reserved as a margin in a delay analysis that estimates the circuit delay in semiconductor integrated circuits, the timing design is difficult since the margin increases.
One cause of the fluctuations of circuit delay is shape variation of a transfer pattern due to inability of appropriately transferring a minute pattern shape when transferring a pattern on a silicon wafer in an exposure operation at the time of manufacture. Especially, when transferring a pattern having a size equal to or smaller than an exposure wavelength, it is problematic that a transfer pattern is thinned and discontinued in the worst case due to the proximity effect of light.
Therefore, techniques are disclosed to correct a pattern to be transferred on a silicon wafer in consideration of the proximity effect of light. For example, the techniques include a “hammer head pattern” that preliminarily thickens a portion such as a contour portion of a pattern of which size is to be thinner than an actual size after the transfer, and a “bias” that corrects fluctuations of a line width of a pattern.
A technique is also disclosed to perform timing adjustment after layout design by changing the size of a particular element in a cell within a cell block where a timing error of an input signal occurs (see, e.g., Japanese Patent Application Laid-Open Publication No. 2000-332119). This enables short-TAT timing adjustment to be automatically performed when a timing error occurs without circuit redesign that affects the design TAT and without modifying the layout.
However, according to the above conventional techniques, in the layout design of a design target circuit, cells are characterized under the worst condition based on the assumption that adjacent cells are not present such that the external output is stabilized regardless of arrangement patterns of other cells with respect to each cell in a layout.
As a result, a delay margin becomes excessive, and pessimistic and inaccurate delay analysis is performed. Therefore, the circuit is frequently redesigned, thereby causing increase in a period of time for the verification and the design.
Since cells are also characterized for the leak current under the worst condition, a margin of power consumption is excessive. Therefore, power-source wiring resources and a power source are needlessly required, and the circuit design becomes very difficult, thereby causing increase in the period of time for the verification and the design.
It is an object of the present invention to at least solve the above problems in the conventional technologies.
A computer-readable recording medium according to one aspect of the present invention stores therein a design support program causing a computer to execute extracting a first cell from among plural cells in a target circuit; detecting a second cell arranged adjacent to the first cell; and setting a delay value of the first cell according to an arrangement pattern of the second cell.
A computer-readable recording medium according to another aspect of the present invention stores therein design data concerning a target circuit including a dummy transistor arranged in an available area adjacent to a cell including a transistor.
A semiconductor integrated circuit according to still another aspect of the present invention includes a dummy transistor arranged in an area adjacent to a cell including a transistor.
A design support apparatus according to still another aspect of the present invention includes an extracting unit that extracts a first cell from among plural cells in a target circuit; a detecting unit that detects a second cell arranged adjacent to the first cell; and a setting unit that sets a delay value of the first cell according to an arrangement pattern of the second cell.
A design support method according to still another aspect of the present invention includes extracting a first cell from among a plurality of cells in a target circuit; detecting a second cell arranged adjacent to the first cell; and setting a delay value of the first cell according to an arrangement pattern of the second cell.
The other objects, features, and advantages of the present invention are specifically set forth in or will become apparent from the following detailed description of the invention when read in conjunction with the accompanying drawings.
The worst condition represents a situation that another cell is not arranged adjacent to a certain cell according to a preferred rule. The preferred rule is a design rule that prescribes an interval between transistors. The best condition represents a situation that another cell is arranged adjacent to a certain cell according to a preferred rule.
Normally, at the time of arrangement/wiring on a layout of a design target circuit, a mask pattern (transfer pattern) can clearly (accurately) be transferred on a silicon wafer in the mask design by regularly arranging transistors according to the preferred rule.
This is because lights transmitted through a photo mask are enhanced through interference with each other by arranging the transistors at intervals defined in the preferred rule, and a minute shape (especially, contour portion) of the mask pattern can accurately be transferred on the silicon wafer. Therefore, shape variation of a mask pattern can be constrained to reduce unnecessary margins of delay and power consumption.
In this embodiment, the unnecessary margins of delay and power consumption are reduced by characterizing a cell according to arrangement patterns of other cells adjacent to the cell on the layout. The characterization under the best condition and more effective reduction of the margins are achieved by intentionally generating a better arrangement pattern according to the preferred rule.
The computer 210 includes a CPU, a memory, and an interface. The CPU controls the entire design support apparatus 200. The memory includes, for example, a read-only memory (ROM), a random access memory (RAM), a hard disk (HD), an optical disc 211, or a flash memory. The memory is used as a work area for the CPU.
Various programs are stored in the memory and loaded in response to a command from the CPU. The reading/writing of data from/into the HD and the optical disc 211 is controlled by a disk drive. The optical disc 211 and the flash memory are removable. The interface controls input from the input device 220, output to the output device 230, and transmission/reception with respect to the network 240.
As the input device 220, a keyboard 221, a mouse 222, and a scanner 223 are adopted. The keyboard 221 includes keys to input, for example, characters, numeric figures, and various kinds of instructions, and data is input through the keyboard 221. The keyboard 221 may be a touch panel type. The mouse 222 is used to move a cursor, select a range, move a window, or change a window size. The scanner 223 optically reads an image as image data, which is stored in the memory of the computer 210. The scanner 223 may have an optical character recognition (OCR) function.
As the output device 230, a display 231, a speaker 232, a printer 233, and others are adopted. The display 231 displays a cursor, an icon, or a tool box as well as data such as text, an image, and function information. The speaker 232 outputs sound such as a sound effect or a text-to-voice converted sound. The printer 233 prints image data or text data.
An arrangement pattern A is a pattern in which no cell is arranged in the right and the left available areas. An arrangement pattern B is a pattern in which another cell is arranged in the right available area according to the preferred rule. An arrangement pattern D is a pattern in which another cell is arranged in the left available area according to the preferred rule. An arrangement pattern E is a pattern in which other cells are arranged in both the right and the left available areas according to the preferred rule.
Thus, the arrangement patterns of other cells adjacent to a cell on a layout of the design target circuit are classified into four patterns of patterns A, B, D, and E.
The cell name is a name of a cell. The cell type is information representing performance characteristics of a cell and represents, for example, a function (type) such as an inverter, a flip-flop, and a buffer. The delay values [min, max] are values indicating delay time of each cell actually used in the delay analysis for estimating the circuit delay of the design target circuit.
Taking a cell Ci as an example, the cell type is a buffer, and the delay values are delay values [ai, Ai] corresponding to the arrangement pattern A, delay values [bi, Bi] corresponding to the arrangement pattern B, delay values [di, Di] corresponding to the arrangement pattern D, and delay values [ei, Ei] corresponding to the arrangement pattern E.
The delay values of each cell in the library 400 can be calculated, for example, with the statistical static timing analysis (SSTA) technique, which is a known technology, by using conditions corresponding to the arrangement patterns of other cells.
The functions 501 to 508 can be implemented by the CPU executing programs related to the functions stored in a storage area. The output data from the functions 501 to 508 are retained in a storage area. A destination function pointed out by an arrow shown in
The extracting unit 501 extracts an arbitrary cell from the layout of the design target circuit in which cells including transistors are arranged. Specifically, arrangement information of an arbitrary cell is extracted from the layout information of the design target circuit. The layout information is information (e.g., a net list) indicating connection relationships of transistors and cells in the design target circuit. More specifically, arrangement information indicating the arrangement relationships between a cell and other cells adjacent to the cell is included.
The layout information may directly be input to the design support apparatus 200, or may be acquired from an external computer apparatus through the network 240. This input or acquired layout information (arrangement information) is stored in the storage area such as the ROM and the RAM.
Specifically, the arrangement information 600-1 to 600-n includes an instance name, an arrangement pattern, an inserted flag, and information concerning preferred-rule violation. The instance name is a name of a cell arranged on the layout. The instance name can be used to identify a cell name and a cell type of a cell arranged on the layout.
The arrangement pattern indicates an arrangement situation of other cells adjacent to a cell. The inserted flag indicates an arrangement position (right: R, left: L) of a dummy transistor described hereinafter. The preferred-rule violation indicates an arrangement position (right: R, left: L) of a transistor violating the preferred rule.
Taking the arrangement information 600-1 as an example, it is indicated for a cell having an instance name “aaa1” that the arrangement pattern of other cells adjacent to the cell is the arrangement pattern A (see
Taking the arrangement information 600-4 as an example, it is indicated for a cell having an instance name “ccd4” that the arrangement pattern of other cells adjacent to the cell is the arrangement pattern D (see
Returning to
The setting unit 503 sets a delay value of a cell according to the arrangement pattern of other cells adjacent to the cell as a result of the detection by the detecting unit 502. Specifically, a delay value of an arbitrary cell is extracted from the cell library 400 (see
For example, if the arrangement pattern D is detected by referring to the arrangement information 600-4, a corresponding delay value is extracted from the cell library 400 using the cell name, the cell type, and the arrangement pattern D that are identified from the instance name “ccd4”, and the delay value is set as the delay value of the cell.
Thus, a delay value of an arbitrary cell arranged on the layout of the design target circuit can be set according to the arrangement patterns A, B, D, and E of other cells adjacent to the cell. As a result, characterization can be implemented for each cell under the condition corresponding to the arrangement patterns A, B, D, and E, thereby enabling reduction in the unnecessary margins of delay and power consumption.
The arranging unit 504 arranges, according to the design rule, a dummy transistor in an available area on the layout where another cell is not detected. Specifically, a dummy transistor is arranged in an available area adjacent to a cell according to the preferred rule prescribing the interval between transistors (see a second example described hereinafter).
Thus, with respect to an arbitrary cell arranged on the layout of the design target circuit, a dummy transistor can be arranged according to the preferred rule in an available area where another cell adjacent to the cell is not arranged. In other words, an arrangement pattern for implementing the characterization under better conditions can intentionally be generated by arranging the dummy transistor.
As a result of the detection by the detecting unit 502, the determining unit 505 determines whether a transistor in a cell and a transistor in another cell adjacent to the cell are arranged according to the design rule. In other words, under a situation that another cell is arranged adjacent to a cell, it is determined whether an interval between a transistor in the cell and a transistor in the adjacent cell complies with the preferred rule.
The changing unit 506 changes an arrangement position of the adjacent cell on the layout according to the design rule if the determining unit 505 determines that the design rule is violated. Specifically, if it is determined that an interval between a transistor in the cell and a transistor in the adjacent cell is narrower than is defined by the design rule, the cell and the adjacent cell may be spaced away (see a third example described hereinafter).
If it is determined that an interval between a transistor in the cell and a transistor in the adjacent cell is wider than is defined by the design rule, the cell and the adjacent cell may be spaced away, and a dummy transistor may be arranged between the cell and the adjacent cell (see a fourth example described hereinafter).
Thus, for an arbitrary cell arranged on the layout of the design target circuit, if a transistor in the cell and a transistor in another cell arranged adjacent to the cell are not arranged according to the preferred rule, the arrangement position of the adjacent cell can be changed according to the preferred rule.
The comparing unit 507 compares the increase in delay value caused by extension of a wiring length if the arrangement position of the adjacent cell is changed, and the decrease in delay value caused if a dummy transistor is arranged according to the design rule. Specifically, for example, the increase in delay value caused by extension of a wiring length is compared with the decrease in delay value caused if the cell and the adjacent cell are spaced away to arrange a dummy transistor therebetween.
In this comparison process, a delay analysis estimating the circuit delay may be performed before and after the change to compare the increase in delay value and the decrease in delay value using the respective analysis results. Alternatively, by focusing only on the changed portions, a delay value (increase) corresponding to an extended wiring length may be compared with a delay value (decrease) improved by changing the arrangement pattern.
The changing unit 506 may change the arrangement position of the adjacent cell if the decrease in delay value is greater than the increase in delay value as a result of the comparison by the comparing unit 507 (see a fifth example described hereinafter). In other words, whether the change process is executed by the changing unit 506 is determined in consideration of a trade-off between the increase and decrease in delay value before and after the change.
The judging unit 508 judges whether a wiring is present at the arrangement position of the dummy transistor. Specifically, for example, a position of a wiring on the layout is determined from a net list of the design target circuit to judge whether a wiring is present at the arrangement position of the dummy transistor (see a sixth example described hereinafter).
The arranging unit 504 may arrange a dummy transistor in an available area on the layout where an adjacent cell is not detected if the judging unit 508 judges that no wiring is present. The changing unit 506 may arrange a dummy transistor between a transistor in the cell and a transistor in the adjacent cell if the judging unit 508 judges that no wiring is present.
Thus, when a dummy transistor is arranged, if a wiring is present at the arrangement position of the dummy transistor, the wiring can be handled as the dummy transistor to prevent reduction of a wiring rate and to reduce processing required for arranging the unnecessary dummy transistor.
If the arrangement process of the arranging unit 504 and the changing process of the changing unit 506 are executed, the contents of the arrangement information concerning the cell (e.g., the arrangement information 600-1 to 600-n shown in
If a dummy transistor is arranged and the arrangement pattern of the adjacent cells is changed, the contents indicating the arrangement situation of the adjacent cells are updated. If a preferred-rule violation is resolved, the contents indicating the arrangement position corresponding to the preferred-rule violation is updated.
Taking the arrangement information 600-4 shown in
The arranging unit 504 arranges a dummy transistor in the boundary area of the layout. In other words, a dummy transistor is preliminarily arranged in the boundary area of the layout to ensure the preferred rule on the left or right of a cell arranged along the outer circumference of the layout (see a seventh example described hereinafter). As a result, the characterization under better conditions can be implemented for a cell adjacent to the boundary area of the layout.
The setting unit 503 sets a delay value of a cell according to the arrangement pattern of other cells adjacent to the cell as a result of the arranging unit 504 arranging the dummy transistor. Specifically, a delay value of an arbitrary cell is extracted from the cell library 400 (see
The setting unit 503 also sets a delay value of a cell according to the arrangement pattern of other cells adjacent to the cell as a result of the changing unit 506 arranging the dummy transistor. A delay value of an arbitrary cell is extracted from the cell library 400 (see
Thus, a delay value of an arbitrary cell arranged on the layout of the design target circuit can be set according to the arrangement patterns A, B, D, and E of other cells, which are changed along with the arrangement of the dummy transistor. As a result, the cell characterization under better conditions can be implemented to reduce the unnecessary margins of delay and power consumption.
The arranging unit 504 executes the arrangement process of arranging a dummy transistor in an available area on the layout where another cell is not detected (step S703). The changing unit 506 executes the change process of changing the arrangement position of the adjacent cell on the layout according to the design rule (step S704).
The setting unit 503 sets the delay value of the cell according to the arrangement pattern of the adjacent cell (step S705), and a series of processing ends. The processing at steps S703 and S704 may be executed in reverse order or may concurrently be executed.
According to the embodiments of the present invention described above, a delay value of an arbitrary cell arranged on the layout of the design target circuit can be set according to the arrangement patterns A, B, D, and E of other cells adjacent to the cell. As a result, the cell characterization can be implemented under the condition corresponding to the arrangement patterns A, B, D, and E to reduce the unnecessary margins of delay and power consumption.
For an arbitrary cell arranged on the layout of the design target circuit, a dummy transistor can be arranged according to the preferred rule in an available area where another cell is not arranged adjacent to the cell. If a transistor in the cell and a transistor in the adjacent cell are not arranged according to the preferred rule, the arrangement position of the adjacent cell can be changed according to the preferred rule.
Thus, the arrangement pattern implementing the cell characterization under better conditions can intentionally be generated by arranging the dummy transistor according to the preferred rule. The cell characterization under better conditions can also be implemented by setting the delay value of the cell according to the intentionally generated arrangement patterns A, B, D, and E to reduce the unnecessary margins of delay and power consumption.
The increase and decrease in delay value after the change in the arrangement pattern can be compared to determine whether the arrangement pattern is to be changed. Therefore, the cell characterization under better conditions can be implemented in consideration of a trade-off between the increase and decrease in delay value.
When a dummy transistor is arranged, if a wiring is present at the arrangement position of the dummy transistor, the wiring can be handled as the dummy transistor to prevent reduction of a wiring rate and to reduce processing required for arranging the unnecessary dummy transistor.
In the first example, when estimating the circuit delay of the design target circuit, a delay value of a cell used for the delay analysis are selectively used according to the arrangement patterns A, B, D, and E of other cells adjacent to the cell.
The setting unit 503 extracts the delay value of the cell from the cell library 400 according to the arrangement pattern of the adjacent cell as a result of the detection by the detecting unit 502, and sets the delay value as the delay value of the cell extracted at step S901 (step S903).
It is determined whether an unextracted cell is present among the cells in the layout 800 (step S904), and if an unextracted cell is present (step S904: YES), the process returns to step S901 to repeat a series of processing. On the other hand, if no unextracted cell is present (step S904: NO), a series of processing ends.
Specifically, for example, the arrangement information 600-1 to 600-n shown in
According to the first example, the delay value of the cell in the layout 800 can be set according to the arrangement patterns A, B, D, and E of the other cells adjacent to the cell. Therefore, when the circuit delay of the design target circuit is estimated, the delay analysis can be performed using appropriate delay values according to the conditions (such as the worst condition and the best condition) of the cells, and the unnecessary margin of delay can be reduced.
In the second example, the cell characterization under better conditions is implemented by arranging the dummy transistors in the available areas where other cells are not arranged adjacent to cells on the layout.
Dummy transistors DT are arranged on the layout 1000 according to the preferred rule in the available areas where other cells are not arranged adjacent to cells. As a result, for some cells in the layout 800 shown in
For example, in the case of a cell Cp, since the dummy transistor DT is arranged in the right available area, the arrangement pattern is changed from the arrangement pattern A to the arrangement pattern B. In the case of a cell Cq, since the dummy transistor DT is arranged in the left available area, the arrangement pattern is changed from the arrangement pattern B to the arrangement pattern E.
It is determined whether the adjacent cell is detected (step S1103), and if the adjacent cell is not detected (step S1103: NO), the arranging unit 504 arranges the dummy transistor DT in the available area on the layout where the adjacent cell is not detected (step S1104).
The arrangement information is updated based on the arrangement of the dummy transistor DT (step S1105), and the setting unit 503 extracts the delay value of the cell from the cell library 400 according to the arrangement pattern of another cell adjacent to the cell as a result of the arranging unit 504 arranging the dummy transistor DT, and sets the delay value as the delay value of the cell extracted at step S1101 (step S1106).
It is determined whether an unextracted cell is present among the cells of the layout 1000 (step S1107), and if an unextracted cell is present (step S1107: YES), the process returns to step S1101 to repeat a series of processing. On the other hand, if no unextracted cell is present (step S1107: NO), a series of processing ends. If the adjacent cell is detected at step S1103 (step S1103: YES), the process proceeds to step S1106.
According to the second example, the dummy transistor DT can be arranged in an available area on the layout where another cell is not arranged adjacent to the cell. Therefore, the cell characterization under better conditions is implemented, and the unnecessary margin of delay can be reduced when estimating the circuit delay of the design target circuit.
In the third example, if a transistor in a cell and a transistor in another cell arranged adjacent to the cell are not arranged according to the design rule, the arrangement position of the adjacent cell is changed to implement the cell characterization under better conditions.
It is then determined whether the adjacent cell is detected (step S1303), and if the adjacent cell is detected (step S1303: YES), the determining unit 505 determines whether a transistor in the cell and a transistor in the adjacent cell are arranged according to the preferred rule (step S1304).
If it is determined that an interval between the transistor in the cell and the transistor in the adjacent cell is narrower than the interval defined by the preferred rule (step S1304: NO), the cell and the adjacent cell is spaced away by the changing unit 506 according to the preferred rule to change the arrangement position of the adjacent cell on the layout (step S1305).
The arrangement information is updated based on the arrangement position of the adjacent cell (step S1306), and the setting unit 503 extracts the delay value of the cell from the cell library 400 according to the arrangement pattern of the adjacent cell as a result of the changing unit 506 changing the arrangement position of the adjacent cell, and sets the delay value as the delay value of the cell extracted at step S1301 (step S1307).
It is then determined whether an unextracted cell is present among the cells in the layout (step S1308), and if an unextracted cell is present (step S1308: YES), the process returns to step S1301 to repeat a series of processing. On the other hand, if no unextracted cell is present (step S1308: NO), a series of processing ends.
If the adjacent cell is not detected at step S1303 (step S1303: NO), the process returns to step S1308. If it is determined that the preferred rule is followed at step S1304 (step S1304: YES), the process proceeds to step S1307.
According to the third embodiment, even when another cell is arranged adjacent to a cell, if the preferred rule is violated (the interval between transistors is narrower), the cell and the adjacent cell can be spaced away. Therefore, since the interval between the transistors is corrected to the interval defined by the preferred rule, the cell characterization under better conditions is implemented, and the unnecessary margin of delay can be reduced when the circuit delay of the design target circuit is estimated.
In the fourth example, if a transistor in a cell and a transistor in another cell arranged adjacent to the cell are not arranged according to the preferred rule, the arrangement position of the adjacent cell is changed, and the dummy transistor DT is arranged between the cell and the adjacent cell to implement the cell characterization under better conditions.
Therefore, the cell Cx and the cell Cy are spaced away to form an available area between the cell Cx and the cell Cy. The dummy transistor DT is then arranged in the available area according to the preferred rule.
It is then determined whether the adjacent cell is detected (step S1503), and if the adjacent cell is detected (step S1503: YES), the determining unit 505 determines whether a transistor in the cell and a transistor in the adjacent cell are arranged according to the preferred rule (step S1504).
If it is determined that an interval between the transistor in the cell and the transistor in the adjacent cell is wider than is defined by the preferred rule (step S1504: NO), the cell and the adjacent cell are spaced away by the changing unit 506 according to the preferred rule to change the arrangement position of the adjacent cell on the layout (step S1505), and the dummy transistor DT is then arranged between the transistor in the cell and the transistor in the adjacent cell (step S1506).
The arrangement information is then updated based on the arrangement positions of the adjacent cell and the dummy transistor (step S1507), and the setting unit 503 extracts the delay value of the cell from the cell library 400 according to the arrangement pattern of the adjacent cell as a result of the changing unit 506 arranging the dummy transistor DT, and sets the delay value as the delay value of the cell extracted at step S1501 (step S1508).
It is then determined whether an unextracted cell is present among the cells in the layout (step S1509), and if an unextracted cell is present (step S1509: YES), the process returns to step S1501 to repeat a series of processing. On the other hand, if no unextracted cell is present (step S1509: NO), a series of processing ends.
If the adjacent cell is not detected at step S1503 (step S1503: NO), the process proceeds to step S1509. If it is determined at step S1504 that the transistors comply with the preferred rule (step S1504: YES), the process proceeds to step S1509.
According to the fourth example, even when another cell is arranged adjacent to a cell, if the preferred rule is violated (the interval between transistors is wider), the cell and the adjacent cell can be spaced away, and the dummy transistor DT can be arranged in the available area between the cell and the adjacent cell.
Therefore, since the interval between the transistors is corrected to the interval defined by the preferred rule, the cell characterization under better conditions is implemented, and the unnecessary margin of delay can be reduced when the circuit delay of the design target circuit is estimated.
In the fifth example, when the arrangement position of the adjacent cell shown in the third and fourth examples is changed, the cell characterization is implemented under better conditions in consideration of a trade-off between the increase in delay value caused by spacing away the cell and the adjacent cell, and the decrease in delay value caused by eliminating a design rule violation.
On the other hand, along with this change, the wiring length is extended by a distance L by which the adjacent cell Cy is spaced away. As a result, the delay dependent on the wiring length L is increased. Therefore, when the changing unit 506 executes the change process, a trade-off between the decrease in delay value dependent on the characterization and the increase in delay value caused by the extension of the wiring is considered.
Specifically, results of delay analysis for a path including the cell Cx and the adjacent cell Cy before and after the change by the changing unit 506 may be compared. Alternatively, the decrease in delay value dependent on the characterization of the cell Cx and the adjacent cell Cy may be compared with the delay value of the wiring of the wiring length L. Only when the decrease in delay value is greater as a result, the changing unit 506 executes the change process.
According to the fifth example, the changing unit 506 can execute the change process in consideration of the trade-off between the increase in delay value caused by the extension of the wiring length, and the decrease in delay value caused by eliminating the preferred-rule violation. Therefore, the cell characterization under better conditions is implemented in consideration of the trade-off between the increase and decrease in delay value, and the unnecessary margin of delay can be reduced when the circuit delay of the design target circuit is estimated.
In the sixth example, when the dummy transistor DT is arranged according to the preferred rule, if a wiring is present at the arrangement position thereof, the wiring is handled as the dummy transistor DT to prevent reduction of a wiring rate and to reduce processing required for arranging the unnecessary dummy transistor DT.
It is then judged whether a wiring pattern is present at the position where the dummy transistor DT has been arranged. If a wiring pattern is present, the dummy transistor DT is not arranged, and if no wiring pattern is present, the dummy transistor DT is arranged again.
Specifically, each of the dummy transistor information 1800-1 to 1800-n includes a dummy transistor ID that identifies the dummy transistor DT, and coordinates (x, y) indicating an arrangement position of the dummy transistor DT. The coordinates (x, y) indicates diagonal positions of vertices of the dummy transistor DT on a coordinate plane representing the layout.
For example, the dummy transistor information 1800-1 includes coordinates (x11, y11)-(x12, Y12) indicating the arrangement position of the dummy transistor DT identified by a dummy transistor ID “1”. The arrangement position table 1800 is stored in the storage area such as the ROM and the RAM.
The dummy transistors DT arranged on the layout are deleted (step S1902). Wiring patterns are then generated on the layout based on the net list of the design target circuit (step S1903). The judging unit 508 reads the arrangement position table 1800 from the storage area, and refers to the arrangement position table 1800 to judge whether a wiring pattern is present at the position where the dummy transistor DT has been arranged (step S1904).
If no wiring pattern is present (step S1904: NO), the dummy transistor DT is arranged at the arrangement position (step S1905), a series of processing ends. On the other hand, if a wiring pattern is present at step S1904 (step S1904: YES), a series of processing ends.
According to the sixth example, when the dummy transistor DT is arranged according to the preferred rule, the dummy transistor DT can be arranged depending on presence of a wiring at the arrangement position of the dummy transistor DT to prevent the reduction of the wiring rate and to reduce the processing required for arranging the unnecessary dummy transistor DT.
In the seventh example, the dummy transistors DT are arranged according to the preferred rule in the boundary area of the layout of the design target circuit to ensure the preferred rule on the left or right of cells arranged along the outer circumference of the layout and to implement the cell characterization under better conditions.
With regard to a cell Cr, the preferred rule is ensured on the right of the cell Cr, and the cell Cr can be characterized under better conditions. The dummy transistors DT may be arranged on the boundary areas before arrangement/wiring is performed on the layout or may be arranged after arrangement/wiring is performed on the layout.
When the dummy transistors DT are arranged after arrangement/wiring is performed on the layout, the dummy transistors DT may be arranged only in the boundary areas adjacent to the cells arranged along the outer circumference of the layout.
The detecting unit 502 detects another cell adjacent to the cell extracted by the extracting unit 501 (step S2103). The arranging unit 504 then arranges the dummy transistor DT in the available area on the layout where the adjacent cell is not detected (step S2104).
The setting unit 503 extracts the delay value of the cell from the cell library 400 according to the arrangement pattern of the adjacent cell (the arrangement pattern E in all cases), and sets the delay value as the delay value of the cell extracted at step S2102 (step S2105).
It is then determined whether an unextracted cell is present among the cells of the layout (step S2106), and if an unextracted cell is present (step S2106: YES), the process returns to step S2102 to repeat a series of processing. On the other hand, if no unextracted cell is present (step S2106: NO), a series of processing ends.
According to the seventh example, the dummy transistors DT can be arranged in the boundary areas of the layout to ensure the preferred rule on the left or right of the cells arranged along the outer circumference of the layout. The dummy transistors DT can be arranged in the available areas where an adjacent cell is not arranged.
As a result, the arrangement patterns of other cells adjacent to all the cells arranged on the layout can be changed to the arrangement pattern E shown in
Therefore, all the cells on the layout can be characterized under the best condition to reduce the unnecessary margin of delay when the circuit delay of the design target circuit is estimated. The unnecessary margin of delay can be reduced, and the yield can be improved by manufacturing semiconductor integrated circuits using the architecture with the dummy transistors preliminarily arranged in the boundary areas on the layout shown in
As explained above, according to the design support method and apparatus, and the computer product of the present invention, a delay value of an arbitrary cell arranged on a layout of a design target circuit can be set according to arrangement patterns of other cells adjacent to the cell.
Additionally, a dummy transistor can be arranged in an available area on the layout where the adjacent cell is not arranged.
Furthermore, a transistor in the arbitrary cell and a transistor in the adjacent cell can be arranged according to a design rule.
Moreover, an arrangement position of the adjacent cell can be changed in consideration of increase in delay value caused by extension of a wiring length and decrease in delay value caused by eliminating a design rule violation.
Additionally, among available areas where an adjacent cell is not arranged, a dummy transistor can be arranged only in an available area where a wiring is not present.
Furthermore, the design rule can be ensured for a cell adjacent to a layout boundary area.
Moreover, a delay value of the arbitrary cell can be set according to an arrangement pattern of the adjacent cell that is changed along with arrangement of a dummy transistor.
According to the computer product and the semiconductor integrated circuit of the present invention, a yield of the semiconductor integrated circuit can be improved.
Therefore, the optimization of timing design can effectively be achieved to reduce the burden of designers and the design period by reducing an unnecessary margin dependent on characterization of a cell.
With regard to design data concerning the design target circuit with the dummy transistors arranged according to the design rule in the available areas adjacent to cells including transistors described in the embodiments are recorded on a computer-readable recording medium, and read from the recording medium and used by a computer.
The design support apparatus 200 described in the embodiments can also be implemented by an integrated circuit (IC) for a specific use such as a standard cell or structured application specific integrated circuit (ASIC), and a programmable logic device (PLD) such as a field programmable gate array (FPGA). Specifically, for example, the above functional elements 501 to 508 of the design support apparatus 200 can be functionally defined by HDL description, and the HDL description can logically be synthesized and applied to the ASIC and the PLD to manufacture the design support apparatus 200.
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art which fairly fall within the basic teaching herein set forth.
Number | Date | Country | Kind |
---|---|---|---|
2007-161576 | Jun 2007 | JP | national |