Abstract:
This invention provides a method and system for designing the layout of a semiconductor device that appropriately arranges various types of auxiliary cells in vacant areas. The method of the present invention is devised for laying out a plurality of auxiliary cells between logic cells in a semiconductor device. The present invention further provides an apparatus comprising a processor configured to carry out the inventive method. The apparatus of the present invention may include a cell library in which the auxiliary cells are registered and dummy cells are utilized. The present invention additionally provides a computer readable storage medium, containing a program code instructed to perform the method of the present invention.

Description:
This application is a divisional of application Ser. No. 09/768,365, filed Jan. 25, 2001, now U.S. Pat. No. 6,553,553. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates to a method for designing the layout of a semiconductor device, and particularly, to a method for designing the layout of a standard cell semiconductor device. 
       FIG. 1  is a schematic diagram showing the layout of a prior art standard cell semiconductor device  1 . The semiconductor device  1  includes a plurality of cell rows  2 . To lay out logic cells A, which are provided with logic functions, the logic cells A are first arranged in each cell row  2 . Then, spacer cells B are arranged in vacant areas that are not occupied by the logic cells A (vacant areas) to connect the logic cells A to a power source (not shown). The spacer cells B each includes dimension data and power line data. The spacer cells B are arranged to correspond with the dimensions of the vacant areas to connect the power lines of the logic cells A. 
     In recent years the scale of semiconductor device  1  has been increasing. This has resulted in the arrangement having auxiliary functions on the semiconductor device  1 . Auxiliary cells may include, for example, a master slice basic cell for making logic changes or for adjusting timing with metal modification, an antenna effect diode cell for preventing characteristic deterioration during the fabrication process, and capacitance cells for preventing power supply noise. 
     The size of each vacant area is determined by the layout of the logic cells A. Each type of auxiliary cells has a different size. Thus, it is difficult to arrange auxiliary cells of different dimensions, and the designing of the semiconductor device  1  may be time consuming. 
     SUMMARY OF THE INVENTION 
     This invention provides a method and system for designing the layout of a semiconductor device that appropriately arranges various types of auxiliary cells in vacant areas. The method of the present invention is devised for laying out a plurality of auxiliary cells between logic cells in a semiconductor device, wherein the auxiliary cells include representative auxiliary cells and each of the auxiliary cells has a predetermined dimension. 
     The method of the present invention entails the following steps: 1) temporarily arranging the representative auxiliary cells in a plurality of vacant areas that are not occupied by the logic cells; 2) obtaining the number and the total area of the temporarily arranged representative auxiliary cells having the same dimension; and 3) arranging a plurality of the functional auxiliary cells in place of the temporarily arranged representative auxiliary cells, based on the number and total area of the representative auxiliary cells having the same dimension and the specification of the semiconductor device, wherein each of the functional auxiliary cell has a dimension and a function that are in accordance with the dimension and a selected function of its corresponding temporarily arranged representative auxiliary cell. 
     In the method of the present invention, the temporary arrangement of the representative auxiliary cells can be carried out by arranging the representative auxiliary cells largest to smallest in dimension. Moreover, the auxiliary cells can be registered in a cell library and include dummy cells used for the temporary arrangement, wherein each of the dummy cells has only dimension-related data. Further, the functional auxiliary cells can be arranged, for instance, after deleting the temporarily arranged representative auxiliary cells; or exchanged with the temporarily arranged representative auxiliary cells, wherein the exchanged auxiliary cells have the same dimensions. And the arranging step includes selecting a functional auxiliary cell for each of the temporary arranged representative auxiliary cells. 
     The present invention provides an apparatus includes a processor configured to carry out the above method. In the apparatus of the present invention, the auxiliary cells may be registered in a cell library and include dummy cells used for the temporary arrangement, wherein each of the dummy cells has only dimension-related data. 
     The present invention further provides a computer readable storage medium, containing a program code instructed to perform the method described above. 
     Other aspects and advantages of the present invention will become apparent from the following description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention, together with objects and advantages thereof, may best be understood by reference to the following description of the presently preferred embodiments together with the accompanying drawings in which: 
         FIG. 1  is a schematic diagram showing a prior art semiconductor device in which logic cells and spacer cells are arranged; 
         FIG. 2  is a flowchart illustrating an exemplary embodiment of a method for arranging cells in accordance with a preferred embodiment of the present invention; 
         FIG. 3  is a schematic block diagram of a computer system that executes the flowchart of  FIG. 2 ; 
         FIG. 4  is a table showing exemplary types and dimensions of auxiliary cells; 
         FIG. 5  is a schematic diagram showing an exemplary embodiment of a layout of logic cells and dummy cells in a semiconductor device according to the present invention; and 
         FIG. 6  is a schematic diagram of the semiconductor device of  FIG. 5  in which dummy cells are replaced by functional cells. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     A preferred embodiment according to the present invention will now be described with reference to  FIGS. 2 to 6 .  FIG. 3  is a schematic block diagram of a computer system  11  that executes a cell layout designing process according to a preferred embodiment of the present invention. The computer system  11  includes a processor  12 , an input device  13 , a display  14 , a first memory  15 , a second memory  16 , a third memory  17 , and a fourth memory  18 . In computer system  11 , the input device  13 , the display  14 , and the first to fourth memories  15 – 18  are all connected to the processor  12 . 
     The input device  13 , which is used to start programs and to input parameters and commands of an operator, can be a keyboard, or a mouse (neither shown). The display  14  is an output device, such as a Video Display Terminal (VDT), a monitor, or a printer, which is able to display the pattern of a semiconductor device, a layout processing result, and a parameter input display. 
     The first memory  15 , the second memory  16 , the third memory  17  and the fourth memory  18  can be selected from the group consisting of magnetic tape devices, magnetic disk devices, optical disk devices, and magneto-optical disks. The first memory  15 , and the second memory  16  respectively store program data  15   a  and a cell library  16   a . The third memory  17  stores layout data  17   a  and specification data  17   b . The forth memory  18  stores layout data  18   a . Each of the first to fourth memories  15 – 18  may store the associated data by dividing it into a plurality of fragmented data. 
     The program data  15   a  stored in the first memory  15  is used to design the layout of different types of auxiliary cells. Further, the program data  15   a  may be formed from a plurality of program modules or may be a Computer Assisted Design (CAD) program data used as a single module. 
     The program data  15   a  is stored in a storage medium  19  and provided to the first memory  15  from the storage medium  19 . The processor  12  operates a drive device (not shown) in storage medium  19  to load the program data  15   a  to the first memory  15  and to execute the program. The processor  12  may also directly receive the program data  15   a  from the storage medium  19 . 
     With reference to  FIG. 4 , first auxiliary-cell-group  21 , second auxiliary-cell-group  22 , third auxiliary-cell-group  23 , forth auxiliary-cell-group  24 , fifth auxiliary-cell-group  25  and sixth auxiliary-cell-group  26  are registered in the cell library  16   a  of the second memory  16  (see  FIG. 3 ). The first to fifth auxiliary-cell-groups  21 – 25  each include one or more cells (B, C 1 , C 2 , D 1 , D 2 , E 1 –E 4 , F 1 –F 4 ), each cell having a single function. The sixth auxiliary-cell-group  26  includes a plurality of dummy cells X 1 –X 5 , each of which may be used to fill in a dimension. Predetermined in accordance with its function, each of the cells in the first to fifth auxiliary-cell-groups  21 – 25  is characterized by dimension. 
     The cell library  16   a  (in  FIG. 3 ) also stores the dimension data of each cell (in  FIG. 4 ). The dimension of each dummy cell in the sixth auxiliary-cell-group  26  corresponds to the dimension of at least one cell in the first to fifth auxiliary-cell-groups  21 – 25 . 
     The first auxiliary-cell-group  21  has a spacer cell B having dimension data and power line data. 
     The second auxiliary-cell-group  22  includes a first master bulk cell C 1  and a second master bulk cell C 2 , each of which are used to improve wiring. Each of the master bulk cells C 1 , C 2  has a dimension corresponding to its inherent characteristic (transistor number). 
     The third auxiliary-cell-group  23  includes a first diode cell D 1  and a second diode cell D 2 , to counter antenna effects. Each of diode cells D 1 , D 2  has a dimension corresponding to its inherent characteristics. The dimension of the second diode cell D 2  is substantially the same as that of the first master bulk cell C 1 . 
     The fourth auxiliary-cell-group  24  includes a first capacitance cell E 1 , a second capacitance cell E 2 , a third capacitance cell E 3 , and a fourth capacitance cell E 4 , which are designed to reduce power drops. Each of the capacitance cells E 1 –E 4  has a dimension corresponding to its inherent characteristic (capacitance). 
     The fifth auxiliary-cell-group  25  includes a first filter cell F 1 , a second filter cell F 2 , a third filter cell F 3  and a fourth filter cell F 4 , for the purpose of eliminating high frequency components in power supply noises. Each of the filter cells F 1 –F 4  has a dimension corresponding to its inherent characteristic (capacitance and resistance). The first filter cell F 1 , the second filter cell F 2 , the third filter cell F 3  and the fourth filter cell F 4  have dimensions that are substantially the same as the respective dimensions of the first capacitance cell E 1 , the second capacitance cell E 2 , the third capacitance cell E 3 , and the fourth capacitance cell E 4 . 
     The sixth auxiliary cell group  26  includes a first dummy cell X 1 , a second dummy cell X 2 , a third dummy cell X 3 , a forth dummy cell X 4  and a fifth dummy cell X 5 . The first dummy cell X 1  has substantially the same dimension as that of the spacer cell B, and the second to fifth dummy cells X 2 –X 5  have substantially the same dimensions as the respective dimensions of the first to fourth filter cells F 1 –F 4 . The dummy cells XL–X 5  have reference dimensions and function as representative cells. 
     Now referring back to  FIG. 3 , the third memory  17  stores the layout data (processing subject data)  17   a , and specification data  17   b  of the semiconductor device in which logic cells A are arranged. The layout data  17   a  contains a layout of logic cells A arranged by the processor  12  in accordance with the specification data  17   b . The layout data  17   a  may also be generated by another CAD system. 
     The processor  12  arranges the auxiliary cells registered in the cell library  16   a  by using the specification data  17   b  and the layout data  17   a . Then, the processor  12  stores the layout data  17   a  (processed data) of the auxiliary cells in the fourth memory  18 . 
     The layout designing process of the auxiliary cells (the cells shown in  FIG. 4 ) will now be discussed with reference to the flowchart of  FIG. 2  and the schematic diagrams of  FIGS. 5 and 6 . 
     In  FIG. 2 , steps  31 ,  32 ,  33 ,  34  and  35  are performed after the logic cells A are laid out. The processor  12  (in  FIG. 3 ) uses layout data  17   a  and specification data  17   b  generated during laying out the logic cells A to arrange the auxiliary cells in accordance with the specification of the semiconductor device. 
     In step  31 , the auxiliary cells (shown in  FIG. 4 ) are laid out temporarily. Specifically, the processor  12  sequentially arranges the auxiliary representative cells in the vacant areas by cells largest to smallest in size. For example, the processor  12  arranges the fifth dummy cells X 5 , first largest in size, in the vacant areas. The forth dummy cells X 4 , second largest in size, are then arranged in the remaining vacant areas. If a dummy cell is too large to be laid out in a vacant area, the dummy cell is not laid out. 
     In  FIG. 5 , the vacant areas are smaller than the dummy cells X 5 . Thus, the dummy cells X 5  are not being laid out. In this manner, the auxiliary representative cells are laid out by cells largest to smallest in size in step  31 . Consequently, the designing of a semiconductor device layout  41 , where vacant areas are all occupied by auxiliary representative cells (the dummy cells X 1 , X 3 , X 4 ), is completed. Accordingly, auxiliary representative cells having different sizes are arranged effectively within a short period of time. 
     In step  32 , the number of the auxiliary representative cells is obtained. Specifically, the processor  12  obtains the number and total area of the temporarily laid out auxiliary representative cells for each size. In the embodiment of  FIG. 5 , the processor  12  obtains the number of the dummy cells X 1 , X 3 , X 4  (3, 10, 4) and the total area of the dummy cells X 1 , X 3 , X 4  (3, 20, 16, where the area of the spacer cell B corresponds to the value of “1”). 
     In  FIG. 2 , step  33 , the functional auxiliary cells for each dimension are selected. Specifically, the processor  12  (in  FIG. 3 ) selects a combination of functional auxiliary cells that satisfy the specification of the semiconductor device based on the number and the total area of the auxiliary representative cells obtained in step  32 , and the integrated characteristic (characteristic value×number of used cells). The area of each auxiliary cell is related to its characteristics. 
     There exists scenarios in relation with the type, number, and total area of the auxiliary cells, where the following can be confirmed. If the ratio of the logic cells A in the semiconductor device is low, the number and area of the relatively large auxiliary cells is large, and the area of the relatively small auxiliary cells is small. On the other hand, if the ratio of the logic cells A to a cells in the semiconductor device is high, the number and area of relatively large auxiliary cells is small, and the number and area of relatively small auxiliary cells is large. 
     Based on the above scenarios, the processor  12  selects the combination of the auxiliary cells. For example, if the number or area of the auxiliary cells decreases as their dimensions decrease (i.e., the number of the relatively large auxiliary cells being high), a combination of relatively large capacitance cells E 3 , E 4  and other relatively small auxiliary cells (e.g., master bulk cells C 1 ) is selected. On the other hand, if the number or area of the auxiliary cells increases as their dimensions decrease, a combination of relatively small capacitance cells E 1 , E 2  and other relatively large auxiliary cells (e.g., master bulk cells C 2 ) is selected. 
     Then, the processor  12  determines the number and area of the auxiliary cells to be laid out in the semiconductor device so that the specification of the semiconductor device is satisfied. For example, the number of master bulk cells C 1 , C 2  is determined in accordance with the logic circuit area of the semiconductor device. If the entire circuit area of the semiconductor device, or the area of newly added circuits is large, the number of master bulk cells C 1 , C 2 , which is required to make design corrections, is also large. The average line length determines the number of the diode cells D 1 , D 2 . Further, the circuit scale of the semiconductor device and the power line capacitance determine the respective numbers of the capacitance cells and the filter cells. 
     In step  34 , of  FIG. 2 , the auxiliary cells are laid out automatically. Specifically, for example, in  FIG. 5  the processor  12  deletes the temporarily laid out dummy cells X 1 , X 3 , X 4 . Then, the layout order of the auxiliary cells is determined in accordance with the type and dimension of the auxiliary cells. Each auxiliary cell selected in step  33  is laid out in accordance with its size. Step  34  is performed automatically in accordance with the layout program. 
     In step  35 , the auxiliary cells are exchanged. Specifically, ( FIG. 5 ) the processor  12  exchanges the temporarily laid out dummy cells X 1 , X 3 , X 4  with the auxiliary cells selected in step  33  of  FIG. 2  (e.g., the capacitance cells E 3 , E 4 ). The dummy cells X 1 , X 3 , X 4  are exchanged with auxiliary cells having the same size. For example, the dummy cells X 4  are exchanged with the capacitance cells E 3  in  FIG. 6 . Accordingly, after performing the cell exchange, as shown in  FIG. 6 , the layout  42  of a semiconductor device has the desirable combination and number of the auxiliary cells. 
     In accordance with the number and area of each type and size of auxiliary cell obtained in step  32  (i.e., the function of the logic cells A and vacant areas of the semiconductor device), the processor  12  determines which step,  34  or  35 , has a shorter processing time, or is less difficult to process. The processor  12  then performs the selected step,  34  or  35 . 
     The layout design method for the preferred embodiment has the following advantages: 
     (1) The processor  12  temporarily lays out the dummy cells X 1 –X 5  largest to smallest in the vacant areas, and obtains the number and area of each temporarily laid out dummy cell X 1 –X 5 . Then, the processor  12  selects the combination of auxiliary cells that satisfies the specification of the semiconductor device based on the number and area used for each size, and the integrated characteristic value of each auxiliary cell. The processor  12  then lays out the selected auxiliary cells. Accordingly, auxiliary cells satisfying specifications of the semiconductor device are laid out in the vacant areas. 
     (2) By performing the step  34  or  35 , auxiliary cells are appropriately laid out in the vacant areas. 
     It should be apparent to those skilled in the art that the present invention may be embodied in many other forms without departing from the principle or scope of the invention. Particularly, it should be understood that the present invention may be embodied in the following forms. 
     Instead of temporarily laying out dummy cells X 1 –X 5  as the representative cells, any one of the plurality of auxiliary cell groups (e.g., capacitance cells E 1 –E 4  or filter cells F 1 –F 4 ) may be used as the representative cells. 
     The number of the dummy cells X 1 –X 5 , which are included in the sixth auxiliary-cell-group  26 , does not have to be five. 
     A plurality of computers may be employed to perform steps  31 – 35 . Additional hardware can be used to perform steps  31 – 35 . 
     In cell library  16   a , instead of storing the spacer cells B, which only have one size, spacer cells having two or more different sizes may be stored in the cell library  16   a.    
     Instead of storing a program for processing of an embodiment storage medium  19  (e.g., a memory card, a floppy disk, an optical disk, a CD-ROM or a DVD-ROM, magneto-optical disks, an MO or an MD), a user may transfer program data via an information transfer apparatus, such as a network or a satellite. For example, a transmission media, such as a transmission wave, superimposing the computer program data of the present invention may be employed. 
     The present examples and embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalence of the appended claims.