1) Field of the Invention
The present invention relates to an automatic floor-planning method for efficiently determining a floor plan for a circuit arrangement in a semiconductor (IC) unit.
2) Description of the Related Art
In recent years, with the advancement of technology of scaling-down to micro, there is a tendency to increase the number of cells that can be installed in one chip. With an increase in the number of cells, a layout design of a semiconductor IC unit, which is called as a floor plan, is getting more and more complicated and gaining importance. Therefore, it is desirable that the floor plan of the semiconductor IC unit is made easily in short time thereby shortening the period of time for designing the semiconductor IC unit.
In the designing of the semiconductor IC unit, floor planning is performed after finishing logic designing. In a conventional method of determining the floor plan, to start with, an area on a chip is determined for each logic level block and a method of level designing in which the logic level blocks are designed in respective areas, is adopted.
In such a method of level designing, a computer is allowed to read circuit-connection information and library data. The circuit-connection information includes information, in which information of logic level block and information of connection between cell terminals are defined. The information of logic level block is information of level blocks that include sets of cells. The library data includes information such as chip-substrate information and cell-structure information. The chip-substrate information includes information of silicon substrate on which the semiconductor IC unit is formed. The cell-structure information includes information of cell structure etc. about physical structure (size, shape) of the cell. After reading the library data, a designer selects a logic level block for which the floor planning is to be performed and determines an arrangement and wiring area (layout area) of the logic level block that is selected.
Arrangement of cells and wiring between the terminals of the cells are performed in the arrangement and wiring area of the logic level block. Further, simulation (testing of circuit operation) is carried out based on the final arrangement and wiring, and the floor planning is performed repeatedly to revise the arrangement and the wiring area, whenever there is a delay.
However, since the designer determines the arrangement and wiring area of the level block in such a method of determining the floor plan, depending on the simulation results, the floor plan has to be re-executed quite a few times and the designing takes longer time. To shorten the designing time, it is desirable that the re-execution of the arrangement and wiring area of the level block is reduced by making the floor plan easy.
In a method of determining the floor plan according to Japanese Patent Laid-open Publication No. H6-204437, first of all, grouping is carried out for each of those cells which realize the same function. Further, wiring between the groups is determined virtually and simulation of function is performed based on the wiring between the groups. Driving cells with insufficient driving capability are changed. Thus, the re-execution (frequency of arrangement and wiring) of the floor plan is reduced.
However, according the conventional technology, when the driving capability of the driving cells is insufficient, for changing the driving cells before the logic simulation, a large number of driving cells are required to be changed. Moreover, only changing the driving cells is not sufficient to reduce the frequency of re-execution of the floor plan.
It is an object of the present invention to solve at least the problems in the conventional technology.
The automatic floor-planning method according to one aspect of the present invention includes extracting a register and a logic operation cell in a semiconductor integrated-circuit unit to be designed, extracting a first register set that is assumed to input a signal to the logic operation cell directly or via other logic operation cell and a second register set that is assumed to receive a signal from the logic operation cell directly or via the other logic operation cell, creating a set of the logic operation cells as a cluster cell, based on a result of extracting the first register set and the second register set, determining a layout of the cluster cell and the register such that the logic operation cells in the cluster cell are arranged closely, selecting a logic level block, for which a floor plan is performed, from among arbitrary logic level blocks that are formed by a set of the register and the logic operation cells in the semiconductor integrated-circuit unit, and determining an arrangement and wiring area, based on a result of the selecting, such that the arrangement and wiring area of the logic level block selected includes as many cells as possible that belong to the logic level block.
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.
Exemplary embodiments of an automatic floor-planning method according to the present invention are described below in detail with reference to the accompanying drawings. However, the present invention is not limited only to the embodiments described below.
A personal computer (PC) that executes a floor plan reads circuit-connection information and library data. The circuit-connection information includes information, in which information of logic level block and information of connection between cell terminals are defined. The information of logic level block is information of level blocks that include sets of cells. The library data includes information such as chip-substrate information and cell-structure information. The chip-substrate information includes information of silicon substrate on which the semiconductor IC unit is formed. The cell-structure information includes information of cell structure etc. about a physical structure (size, shape) of the cell (step S100).
Logic operation cells that are included in a register and logic circuit which hold data temporarily are extracted from the circuit-connection information. Input and output cells that input and output signals of external and internal circuits of the semiconductor IC unit are considered as register cells and are extracted together with the register (step S200)
At step S100, the register and the logic operation cell shown in
The input and output cells are connected electrically to logic operation cells and registers which are arranged on the substrate. According to the first embodiment, the input and output cell P2 inputs a signal to the register F2 and the input and output cell P3 inputs a signal to the register F3. Further, the register F4 outputs a signal to the input and output cell P4, the register F5 outputs a signal to the input and output cell P5, and the register F6 outputs a signal to the input and output cell P6. The input and output cell P1 inputs a signal to the logic operation cell W3.
The registers F1 to F6 are connected electrically to the input and output cell P1 to P6, the logic operation cells W1 to W3, X1 to X3, Y1 to Y3, and Z1 to Z3.
A plurality of logic operation cells is arranged between the registers and output and output an input signal from one register to another register. The logic operation cells X1, X2, and X3 are disposed between the registers F1 and F4, and the logic operation cells W1, W2, and W3 are disposed between the registers F4 and F1; Further, the logic operation cells Y1, Y2, and Y3 are disposed between the registers F2 and F5, and the logic operation cells Z1, Z2, and Z3 are disposed between the registers F3 and F6. The logic operation cell Z1 inputs a signal to the logic operation cell Y2, and the logic operation cell Y2 inputs a signal to the logic operation cell X3.
Next, a set of registers (first register according to claims) (hereinafter, “signal-outputting register”), which can supply signals to one logic operation cell directly or via other logic operation cell, is extracted for each logic operation cell and a set of registers (second register according to claims) (hereinafter, “signal-inputting register) to which signals can be supplied directly or via other logic operation cell from the logic operation cell is extracted for each logic operation cell. The input and output cells may be allowed to be the signal-outputting registers and the signal-inputting registers or may be excluded from being any of the two. In the first embodiment, a case where the input and output cells as well are allowed to be the signal-outputting registers or the signal inputting-registers, is described below. Therefore, the input and output cells P1 to P6 as well are allowed to be the signal-outputting registers or the signal-inputting registers.
Since the register F1 may supply a signal to the logic operation cell X1, the register F1 is extracted as the signal-outputting register of the logic operation cell X1 and since the register F4 may be supplied with a signal from the logic operation cell X1, the register F4 is extracted as the signal-inputting register of the logic operation cell X1. Further, since the registers F1, F2, and F3 may supply signals to the logic operation cell 3, the registers F1, F2, and F3 are extracted as the signal-outputting registers of the logic operation cell X3 and since the register F4 may be supplied with a signal from the logic operation cell X3, the register F4 is extracted as the signal-inputting register of the logic operation cell X3. All the logic operation cells are extracted in this manner.
When both the signal-outputting register and the signal-inputting register are in common between one logic operation cell and other logic operation cell, these logic operation cells are created and extracted as one cluster (step S300). For example, the register F3 is a signal-inputting register in common for the logic operation cell Z2 and the logic operation cell Z3, the register F6 is a signal-inputting register in common. Therefore, the logic operation cells Z2 and Z3 are created and extracted as one cluster cell. Similarly, the logic operation cells X1 and X2 and the logic operation cells W1 and W2 are created and extracted as one cluster cell.
For the other logic operation cell, if there is no logic operation cell that is used commonly by both the signal-outputting register and the signal-inputting register, the logic operation cell is an independent cluster. For example, for the logic operation cell X3, since there is no logic operation cell used commonly by both the signal-outputting register and the signal-inputting register, the logic operation cell X3 is an independent cluster.
Next, the registers and the clusters created and extracted are arranged (step S400). Even if the cluster cell which is created and extracted at step S300 is created from a plurality of logic operation cells, it is treated as one cell. Therefore, the logic operation cells W1 and W2, X1 and X2, and Z2 and Z3 which are included in the cluster cell, are arranged closely.
From such an arrangement, any level block that is to be subjected to the floor plan is selected (step S500). In this case, the logic level block 20 that includes the logic operation cells W1 to W3, X1 to X3, and registers F1 and F4 and another logic level block 20 that includes the logic operation cells Y1 to Y3, Z1 to Z3, and registers F2, F3, F5, and F6 are selected. Generally, it is necessary that the arrangement and wiring area of the level block does not overlap with the arrangement and wiring area of the other block and is in a rectangular shape. Therefore, the arrangement and wiring area is determined such that it can accommodate cells in the respective level blocks (step S600).
Further, in the arrangement and wiring area, the arrangement and wiring, and circuit structure of the cells are optimized (step S700). The arrangement and wiring, and the circuit structure which are obtained, are tested by simulation (step S800), and if they are judged to be optimized, the floor plan is completed. If the arrangement and wiring, and the circuit structure are judged to be not optimized upon simulation, the process returns to any one of steps S400 to S700 and the steps from that particular step onward are repeated.
A relationship of the cluster cells that are created in the logic level block 20 in the circuit-connection information, can be stored in a computer that is used for making the floor plan and can be displayed in a graphic window. For example, the floor plan may be performed such that when the logic level block 20 is selected in the graphic window, the cluster cell is highlighted, and when the cluster cell is selected, the logic level block 20 is highlighted. Further, in the floor plan according to the first embodiment, the desired floor plan may be performed while the designer revises by a manual operation.
Thus, according to the first embodiment, for each logic operation cell, the cluster cell is created and extracted based on the signal-outputting register and the signal-inputting register and the cells are arranged such that the cluster cell is one unit. Therefore, the logic operation cells used commonly by both the signal-outputting register and the signal-inputting register are arranged closely. For this reason, a chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease.
A PC that executes a floor plan reads the circuit-connection information and the library data (step S100) and registers (input and output cells) and logic operation cells are extracted from the circuit-connection information.
Further, the signal-outputting register and the signal-inputting register for each logic operation cell are extracted (step S200). According to the second embodiment, a register and a logic operation cell same as for the semiconductor IC according to the first embodiment in
According to the second embodiment, a sum set of the signal-outputting register and the signal-inputting register for one logic operation cell is taken for each logic operation cell and a logic operation cell which are used commonly by the sum set are created and extracted as one cluster cell (step S310).
For example, the sum set of the signal-outputting register and the signal-inputting register of the logic operation cells W1 and W2 match together at {register F1 and register F4}. Similarly, the sum set of the signal-outputting register and the signal-inputting register of the logic operation cells X1 and X2 match together at {register F1 and register F4}. Therefore, the logic operation cells W1 and W2 form one cluster and the logic operation cells X1 and X2 form another cluster.
Further, the sum set of the signal-outputting register and the signal-inputting register of the logic operation cells Z2 and Z3 match together at {register F3 and register F6}. Therefore, the logic operation cells Z2 and Z3 form one cluster. Next, the floor planning is executed in the same order as in the method of automatic determination of the floor plan according to the first embodiment as shown in
Thus, according to the second embodiment, for each logic operation cell, the sum set of the signal-outputting register and the signal-inputting register is taken and the logic operation cells used commonly by this sum set are created and extracted as one cluster. Since the cells are arranged such that this cluster cell is one unit, the logic operation cells which are used commonly by sum set of both the signal-outputting register and the signal-inputting register, are arranged closely. For this reason, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period and time with ease. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease.
A PC that executes a floor plan reads the circuit-connection information and the library data (step S100) and registers, logic operation cells, and input and output cells are extracted from the circuit-connection information. In the third embodiment, unlike in the first embodiment, a case in which the input and output cells are not allowed to be the signal-outputting registers and the signal-inputting registers, is described. Further, the signal-inputting register and the signal-outputting register for each logic operation cell, are extracted (step S200). According to the third embodiment, a register and a logic operation cell same as those for the semiconductor IC according to the first embodiment in
According to the third embodiment, the sum set of the signal-outputting register and the signal-inputting register for one logic operation cell is taken for each logic operation cell and logic operation cells used commonly by the sum set are created and extracted as one cluster cell (step S310). Further, when this sum set is allowed to be a register set of the cluster cell, if a register set of a certain cluster cell becomes a proper subset of a register set of another cluster cell, these two cluster cells are merged to form one cluster cell (step S320).
For example, the logic operation cells W1 and W2 have the signal-outputting register in common at the register F1 and the signal-inputting register in common at the register F4, and the sum set of the signal-outputting register and the signal-inputting register is {register F1 and register F4}. Therefore, the register set of the cluster cells that include the logic operation cells W1 and W2 is {register F1 and register F4}.
The logic operation cell X1 and the logic operation cell X2 have the signal-outputting register in common at the register F4 and the signal-inputting register in common at the register F1, and the sum set of the signal-outputting register and the signal-inputting register is {register F1 and register F4}. Therefore, the register set of the cluster cells that include the logic operation cell X1 and X2, is {register F1 and register F4}.
On the other hand, the logic operation cell X3 has the registers F1, F2, F3 as the signal-outputting registers and the register F4 as the signal-inputting register. Further, the sum set of signal-outputting register and the signal-inputting register is {register F1, register F2, register F3, register F4} and the register of the cluster cells is {register F1, register F2, register F3, register F4} as well.
Thus, the register set of the clusters that include the logic operation cells W1 and W2 and the clusters that include the logic operation cells X1 and X2 is a proper subset of the register set of the clusters that include the logic operation cell X3. Therefore, the cluster cell that includes the logic operation cells W1 and W2 and the cluster cell that includes the logic operation cells X1 and X2, are merged with the cluster cell that includes the logic operation cell X3 to form one cluster cell that includes the logic operation cells W1, W2, and X1 to X3. Similarly, the logic operation cells Y1, Y2 form one cluster cell and the logic operation cells Z1, Z2, and Z3 form another cluster cell.
In this case, for example, the logic operation cells W1 to W3, X1, and X2 may be allowed to be one cluster cell and the logic operation cell X3 may be allowed to be another cluster cell. Next, the floor planning is executed in the same order as in the method of automatic determination of the floor plan according to the first embodiment as shown in
The logic operation cells W1, W2, and X1 to X3 form one cluster cell. Further, the logic operation cells Y1, Y2 form another cluster cell. The logic operation cells W3 and Y3 are independent cluster cells. Therefore, the logic operation cells W1, W2, and X1 to X3 which form one cluster cell are arranged closely. Similarly, the logic operation cells Y1 and Y2 which form another cluster cell and the logic operation cells Z1 to Z3 which form still another cluster cell are arranged closely. The cells may be merged by repeating step 5320. (step S330).
The register set of the cluster cells that include the logic operation cells W1, W2, and X1 to X3 is {register F1, register F2, register F3, register F4} and the register set of the cluster cells that include the logic operation cell W3 is {register 1 and register 4}. Therefore, the register set of the cluster cells that include the logic operation cell W3 is a subset of the register set of the cluster cells that include the logic operation cells W1, W2, and X1 to X3 and the logic operation cells W1 to W3 and X1 to X3 form one cluster cell. Similarly, the logic operation cells Y1 to Y3 form one cluster cell and the logic operation cells Z1 to Z3 form another cluster cell.
According to
Thus, according to the third embodiment, the sum set of the signal-outputting register and the signal-inputting register for one logic operation cell is taken and logic operation cells which are used commonly by the sum set are created and extracted as one cluster cell. Further, when the sum set is allowed to be a register set of the cluster cell, if a register set of a certain cluster cell becomes a proper subset of a register set of another cluster cell, these two cluster cells are merged to form one cluster cell. Therefore, since the logic operation cells that form one cluster cell are arranged closely, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease.
A PC that executes a floor plan reads the circuit-connection information and the library data (step S100) and registers, logic operation cells, and input and output cells are extracted from the circuit-connection information. In the third embodiment, similarly as in the first embodiment, a case in which the input and output cells are allowed to be the signal-outputting registers and the signal-inputting registers, is described. Further, the signal-outputting register and the signal-inputting register for each logic operation cell are extracted (step S200).
In the fourth embodiment, the register cells and the logic operation cells same as in the semiconductor IC unit according to the first embodiment shown in
For example, let a signal from the register F3 to register F6 be a false path. In this case, a signal connection in the false path is considered not to be connected, and excluded (step S305). Since the signal from the register F3 to register F6 is a false path, a signal from the logic operation cell Z1 to the logic operation cell Z2, a signal from the logic operation cell Z2 to the logic operation cell Z3, and a signal from the logic operation cell Z3 to the register F6 are treated as if they are not there.
In this case, signals that may be transmitted through the logic operation cell Z1 are a signal that is transmitted from the register F3 to the register F5 via the logic operation cells Z1, Y2, and Y3 and a signal that is transmitted from the register F3 to register F4 via the logic operation cells Z1, Y2, and X3. Therefore, the signal-outputting register for the logic operation cell Z1 becomes the register F3 and the signal-inputting register for the logic operation cell Z1 becomes the registers F4 and F5. Further, the sum set of the signal-inputting register and the signal-outputting register of the logic operation cell X3 is {register F3, register F4, register F5}.
In such a case, the cluster cells are created by the same procedure as in the third embodiment. The sum set of the signal-outputting register and the signal-inputting register is taken for each logic operation cell and logic operation cells which are used commonly by the sum set are created and extracted as one cluster cell (step S310). Further, when this sum set is allowed to be a register set of the cluster cell, if a register set of a certain cluster cell becomes a proper subset of a register set of another cluster cell, these two cluster cells are merged to form one cluster cell (step S320). Further, the cells are merged by repeating step S320 (step S330).
According to
Thus, according to the fourth embodiment, since the cluster cells are created by considering the signal connection in the false path as not to be connected, logic operation cells that are connected by a signal wire for which the timing is required be taken into consideration, form one cluster cell. Therefore, the cluster cells for which the timing is not required to be taken into consideration are arranged closely. Therefore, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time with ease.
A PC that executes a floor plan reads the circuit-connection information and the library data (step S100) and registers and logic operation cells are extracted from the circuit-connection information. Further, the signal-outputting register and signal-inputting register for each logic operation cell are extracted (step S200). In the fourth embodiment, the register cells and the logic operation cells same as those in the semiconductor IC unit according to the first embodiment in
According to the fifth embodiment, as described in the first embodiment, for other logic operation cell, logic cells which are used commonly by both the signal-outputting register and the signal-inputting register are created and extracted as one cluster cell (step S300).
Further, the cluster cells and the register which are created and extracted are arranged (step S400). While arranging, an upper limit on the total size of the logic operation cells that form the cluster cell is set (step S410) and logic operation cells in the cluster cell crossing the upper limit are divided (step S420). The division of the logic operation cells is determined depending on near which register the logic operation cells in the cluster cell are to be arranged.
For example, division of the cluster cell when the total size of the cluster cell that is formed by the logic cells W1 to W3 and X1 to X3 shown in
A method of extraction of the cluster cell according to the fifth embodiment is not limited to the method of creation and extraction of the cluster cell described in the first embodiment and the cluster cell may be created and extracted by the methods of creation and extraction of the cluster cell described in the second, third, and fourth embodiments. Next, the floor planning is executed in the same order as in the method of automatic determination of the floor plan according to the first embodiment as shown in
At step S400, a limit may be imposed such that the cluster cell of a size bigger than the predetermined size is not created. By doing so, there is not need to perform processes of division of the cluster cell and rearrangement after the division of the cluster cell.
Thus, according to the fifth embodiment, the upper limit is set on the total size of the logic operation cells that form the cluster cell that is created and extracted and the cluster cell of a size bigger than the predetermined size is divided based on a positional relationship with the register. Therefore, the size of the cluster cell that is created and extracted, is maintained to be an average size and the cluster cells and the registers can be arranged with ease. This enables to shorten the time for obtaining the floor plan and the time for designing of the semiconductor IC unit. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time and with ease.
Thus, according to the present invention, the logic operation cells which are used commonly by the signal-outputting register and the signal-inputting register are arranged closely to form one cluster cell. Therefore, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time and with ease. Further, since the number of cells to be arranged becomes small, the chip designing that enables high-speed operation in the arrangement and wiring process of the floor plan can be carried out in a short period of time and with ease.
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 |
---|---|---|---|
2003-130157 | May 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5999716 | Toyonaga | Dec 1999 | A |
6012155 | Beausang et al. | Jan 2000 | A |
6141790 | Beausang et al. | Oct 2000 | A |
6442743 | Sarrafzadeh et al. | Aug 2002 | B1 |
6704916 | Nishida et al. | Mar 2004 | B1 |
20010039641 | Chang et al. | Nov 2001 | A1 |
20020138816 | Sarrafzadeh et al. | Sep 2002 | A1 |
20040139413 | DeHon et al. | Jul 2004 | A1 |
Number | Date | Country |
---|---|---|
HEI 6-204437 | Jul 1994 | JP |
Number | Date | Country | |
---|---|---|---|
20040228167 A1 | Nov 2004 | US |