JP2011210189A - Method for designing of semiconductor device, program, and design support apparatus - Google Patents

Method for designing of semiconductor device, program, and design support apparatus Download PDF

Info

Publication number
JP2011210189A
JP2011210189A JP2010079724A JP2010079724A JP2011210189A JP 2011210189 A JP2011210189 A JP 2011210189A JP 2010079724 A JP2010079724 A JP 2010079724A JP 2010079724 A JP2010079724 A JP 2010079724A JP 2011210189 A JP2011210189 A JP 2011210189A
Authority
JP
Japan
Prior art keywords
bulk
design support
bulks
support apparatus
unit cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010079724A
Other languages
Japanese (ja)
Other versions
JP5531723B2 (en
Inventor
Makoto Sekido
誠 関戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010079724A priority Critical patent/JP5531723B2/en
Publication of JP2011210189A publication Critical patent/JP2011210189A/en
Application granted granted Critical
Publication of JP5531723B2 publication Critical patent/JP5531723B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a chip size, concerning a method for designing of a semiconductor device, program and design support apparatus.SOLUTION: The design support apparatus sets a column in which two or more types of bulks are arranged (bulk area) according to a formed unit cell (step S22a), and arranges the unit cell in the column (step S22b). The design support apparatus generates usage information of the bulks in the column for each type of bulks, and verifies the usage state of the bulks based on the usage information (step S22c). The design support device changes the arrangement of the unit cell when the arrangement of the bulks is not uniformed.

Description

半導体装置の設計方法、プログラム、及び設計支援装置に関する。   The present invention relates to a semiconductor device design method, a program, and a design support apparatus.

従来、短期間でユーザの要望に応じたチップを提供するために、ゲートアレイ等の半導体装置が用いられている。ゲートアレイは、複数の素子(例えばトランジスタ)を含むバルク(Bulk)を格子状に形成したマスタ基板に、配線を形成することによりチップとして提供される。   2. Description of the Related Art Conventionally, a semiconductor device such as a gate array has been used to provide a chip that meets a user's request in a short period of time. The gate array is provided as a chip by forming wiring on a master substrate in which a bulk including a plurality of elements (for example, transistors) is formed in a lattice shape.

回路を構成するセル(例えばAND回路)は、バルクの構成に応じて、1又は複数のバルクにより構成される。例えば、4個のトランジスタを含むバルクの場合、アンド回路は1個のバルクを用いて形成される。しかし、フリップフロップ回路等のように、構成するトランジスタの数が多いセルは、複数のバルクを用いて形成される。   A cell (for example, an AND circuit) constituting a circuit is configured by one or a plurality of bulks depending on the bulk configuration. For example, in the case of a bulk including four transistors, the AND circuit is formed using one bulk. However, a cell having a large number of transistors, such as a flip-flop circuit, is formed using a plurality of bulks.

このため、複数種類のバルクを基板上に形成することが提案されている。例えば、図20(a)に示すように、4個のトランジスタを含む第1のバルク(図中,「A」と表記)と、8個のトランジスタを含む第2のバルク(図中,「B」と表記)とを基板上に形成する。第2のバルクの面積は、2個の第1のバルクの面積よりも小さい。これは、第2のバルクについて、バルクに含まれるトランジスタ同士を分離する必要がないためである。つまり、図20(b)示すように、1種類のバルク(図では第1のバルクA)を用いたゲートアレイに比して、複数種類のバルクを用いたゲートアレイの方が、セルサイズを小さくすることができる。   For this reason, it has been proposed to form a plurality of types of bulk on a substrate. For example, as shown in FIG. 20A, a first bulk including four transistors (denoted as “A” in the figure) and a second bulk including eight transistors (in the figure, “B” On the substrate. The area of the second bulk is smaller than the area of the two first bulks. This is because it is not necessary to separate the transistors included in the second bulk. That is, as shown in FIG. 20B, the cell size of the gate array using a plurality of types of bulk is smaller than that of the gate array using one type of bulk (first bulk A in the figure). Can be small.

ゲートアレイに形成するためのセル(ゲートアレイセル)は、使用するバルクに応じて設計される。つまり、図20(a)に示すゲートアレイの場合、セルは、第1のバルクAと第2のバルクBとの少なくとも一方を用いて定義される。このため、セルの配置に自由度が少なくなる。例えば、第1のバルクAと第2のバルクBをそれぞれ1個使用するセルは、第1のバルクAと第2のバルクBとが隣接する場所にしか配置できない。   A cell (gate array cell) to be formed in the gate array is designed according to the bulk to be used. That is, in the case of the gate array shown in FIG. 20A, a cell is defined using at least one of the first bulk A and the second bulk B. For this reason, the degree of freedom in arranging the cells is reduced. For example, a cell using one each of the first bulk A and the second bulk B can be arranged only at a place where the first bulk A and the second bulk B are adjacent to each other.

このため、特定の列に対してセルが集中して配置されることになる。すると、セルに接続される配線も集中することになり、信号配線の収束性、即ち全ての信号配線を接続することができにくくなる場合がある。このように、チップサイズを縮小する妨げとなっていた。   For this reason, cells are concentrated on a specific column. Then, wirings connected to the cells are also concentrated, and there are cases where it is difficult to connect all the signal wirings, that is, the convergence of the signal wirings. Thus, it has been an obstacle to reducing the chip size.

本発明の一観点によれば、所定の機能を有するユニットセルに用いられるバルクの並び順に対する制約情報に従って複数種類のバルクを配置した列を生成する工程と、前記列に前記ユニットセルを配置する工程と、前記バルクの種類毎に使用情報を生成し、前記使用情報に基づいて、複数種類の前記バルクの配置の均等性を判定する工程と、を含む。   According to one aspect of the present invention, a step of generating a column in which a plurality of types of bulks are arranged according to constraint information on a bulk arrangement order used for unit cells having a predetermined function, and the unit cells are arranged in the columns. And a step of generating usage information for each type of the bulk and determining the uniformity of arrangement of the plurality of types of the bulk based on the usage information.

本発明の一観点によれば、チップサイズの縮小を図ることができる。   According to one aspect of the present invention, the chip size can be reduced.

設計支援装置の概略構成図である。It is a schematic block diagram of a design support apparatus. 設計処理の概略フローチャートである。It is a schematic flowchart of a design process. ユニットセル作成処理のフローチャートである。It is a flowchart of a unit cell creation process. チップレイアウト作成処理のフローチャートである。It is a flowchart of a chip layout creation process. チップレイアウト作成処理のフローチャートである。It is a flowchart of a chip layout creation process. (a)(b)は、バルク配置の説明図である。(A) (b) is explanatory drawing of a bulk arrangement | positioning. (a)(b)は、バルク配置の説明図である。(A) (b) is explanatory drawing of a bulk arrangement | positioning. (a)〜(c)は、バルク配置の説明図である。(A)-(c) is explanatory drawing of a bulk arrangement | positioning. (a)〜(c)は、バルク配置の説明図である。(A)-(c) is explanatory drawing of a bulk arrangement | positioning. (a)(b)は、バルク配置の説明図である。(A) (b) is explanatory drawing of a bulk arrangement | positioning. バルク配置の説明図である。It is explanatory drawing of a bulk arrangement | positioning. (a)(b)は、バルク配置の説明図である。(A) (b) is explanatory drawing of a bulk arrangement | positioning. (a)(b)は、バルクの説明図である。(A) and (b) are explanatory drawings of a bulk. (a)(b)は、バルクの説明図である。(A) and (b) are explanatory drawings of a bulk. ROW内バルク形状決定処理の説明図である。It is explanatory drawing of the bulk shape determination process in ROW. ROW内バルク形状決定処理の説明図である。It is explanatory drawing of the bulk shape determination process in ROW. (a)(b)は、バルク形状決定処理の説明図である。(A) (b) is explanatory drawing of a bulk shape determination process. ROW内バルク形状決定処理の説明図である。It is explanatory drawing of the bulk shape determination process in ROW. チップレイアウト作成処理のフローチャートである。It is a flowchart of a chip layout creation process. (a)(b)は、バルク配置の説明図である。(A) (b) is explanatory drawing of a bulk arrangement | positioning.

以下、一実施形態を図面に従って説明する。
図1に示すように、設計支援装置11は、例えば一般的な設計支援装置(CAD:Computer Aided Design )であり、中央処理装置(以下、CPUという)12、メモリ13、記憶装置14、表示装置15、入力装置16、及び、ドライブ装置17により構成され、それらはバス18を介して相互に接続されている。この設計支援装置11は、半導体装置に形成するユニットセルを作成するデータ作成装置として機能する。また、設計支援装置11は、ユニットセルを用いて半導体装置に形成するパターンを作成するデータ作成装置として機能する。
Hereinafter, an embodiment will be described with reference to the drawings.
As shown in FIG. 1, the design support apparatus 11 is, for example, a general design support apparatus (CAD: Computer Aided Design), and includes a central processing unit (hereinafter referred to as CPU) 12, a memory 13, a storage device 14, and a display device. 15, an input device 16 and a drive device 17, which are connected to each other via a bus 18. The design support apparatus 11 functions as a data creation apparatus that creates unit cells to be formed in a semiconductor device. The design support apparatus 11 functions as a data creation apparatus that creates a pattern to be formed on a semiconductor device using a unit cell.

CPU12は、メモリ13を利用してプログラムを実行し、半導体装置の設計等の必要な処理を実現する。メモリ13には、各種処理を提供するために必要なプログラムとデータが格納され、メモリ13としては、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。   The CPU 12 executes a program using the memory 13 and realizes necessary processing such as design of a semiconductor device. The memory 13 stores programs and data necessary for providing various processes. The memory 13 usually includes a cache memory, a system memory, and a display memory.

表示装置15は、パターン表示、パラメータ入力画面等の表示に用いられ、これにはCRT,LCD,PDP等が用いられる。入力装置16は、ユーザからの要求や指示,パターン,パラメータの入力に用いられ、これにはキーボードおよびマウス装置(図示せず)等が用いられる。設計支援装置11は、ライブラリに基づくユニットセルのパターン(図形)、バルクの配列状態、検証結果、等を表示装置15に表示させることもできる。   The display device 15 is used for displaying a pattern display, a parameter input screen, and the like, and for this, a CRT, LCD, PDP or the like is used. The input device 16 is used for inputting requests, instructions, patterns, and parameters from the user, and for this, a keyboard and a mouse device (not shown) are used. The design support apparatus 11 can also display the unit cell pattern (figure) based on the library, the arrangement state of the bulk, the verification result, and the like on the display device 15.

記憶装置14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置14には、半導体装置(半導体集積回路装置)を設計するためのプログラムデータを含むファイルが格納され、CPU12は、入力装置16による指示に応答しているプログラムをメモリ13へ転送し、それを実行する。   The storage device 14 usually includes a magnetic disk device, an optical disk device, and a magneto-optical disk device. The storage device 14 stores a file containing program data for designing a semiconductor device (semiconductor integrated circuit device). The CPU 12 transfers a program responding to an instruction from the input device 16 to the memory 13. Run it.

この設計支援装置11において、記憶装置14には図3〜5に示すファイルが格納される。これらのファイルには、半導体装置を製造するために用いられる各種データ、図3〜図5に示す各処理においてCPU12が作成する各種データが格納される。尚、各ファイルに格納されるデータについては後述する。設計支援装置11は、記憶装置14のファイルに格納されたデータを読み出し、そのデータに基づいて、半導体装置の設計データ(例えばレイアウトデータ)を作成する。そして、設計支援装置11は、作成したデータを含むファイルを記憶装置14に格納する。   In the design support apparatus 11, the storage device 14 stores the files shown in FIGS. These files store various data used for manufacturing the semiconductor device and various data created by the CPU 12 in each process shown in FIGS. The data stored in each file will be described later. The design support apparatus 11 reads data stored in the file of the storage device 14 and creates design data (for example, layout data) of the semiconductor device based on the data. Then, the design support apparatus 11 stores a file including the created data in the storage device 14.

CPU12が実行するプログラムデータは、記録媒体19にて提供される。ドライブ装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、ドライブ装置17を介して記録媒体19からプログラムデータを読み出し、それを記憶装置14にインストールする。   Program data executed by the CPU 12 is provided on the recording medium 19. The drive device 17 drives the recording medium 19 and accesses the stored contents. The CPU 12 reads program data from the recording medium 19 via the drive device 17 and installs it in the storage device 14.

記録媒体19としては、磁気テープ(MT)、メモリカード、フレキシブルディスク、光ディスク(CD-ROM,DVD-ROM,… )、光磁気ディスク(MO,MD,…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体19に、上述のプログラム,データを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。   As the recording medium 19, any computer-readable recording such as magnetic tape (MT), memory card, flexible disk, optical disk (CD-ROM, DVD-ROM,...), Magneto-optical disk (MO, MD,...) Media can be used. The program and data described above can be stored in this recording medium 19 and loaded into the memory 13 for use as required.

尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。   The recording medium 19 includes a medium and a disk device that record program data uploaded or downloaded via a communication medium. Furthermore, not only a recording medium that records a program that can be directly executed by a computer, but also a recording medium that records a program that can be executed once installed on another recording medium (such as a hard disk), or an encrypted program In addition, a recording medium on which a compressed program is recorded is also included.

次に、設計処理の概要を図2に従って説明する。
ステップ21(ユニットセル作成工程)において、設計支援装置11は、チップに搭載するユニットセルが使用するバルク及びその並びを決定し、ユニットセルのレイアウトデータを生成する。
Next, an outline of the design process will be described with reference to FIG.
In step 21 (unit cell creation step), the design support apparatus 11 determines the bulk used by the unit cells mounted on the chip and the arrangement thereof, and generates unit cell layout data.

ステップ22(チップレイアウト工程)において、設計支援装置11は、ユニットセルのバルクに応じて、チップ上の列、及び列を構成するバルクの並びを決定する。そして、設計支援装置11は、ユニットセルを配置し、チップのレイアウトデータを生成する。   In step 22 (chip layout process), the design support apparatus 11 determines the columns on the chip and the arrangement of the bulks constituting the columns according to the unit cell bulk. Then, the design support apparatus 11 arranges unit cells and generates chip layout data.

ステップ22は、ステップ22a〜22cのサブステップを含む。
ステップ22a(バルク領域設定)において、設計支援装置11は、バルク情報と半導体装置の論理情報に基づいて、列(バルク領域)を設定する。バルク情報は、ステップ21において設定したユニットセルが使用するバルク、バルクの並び順に対する制限情報を含む。論理情報は例えばチップに形成する回路のネットリストである。設計支援装置11は、バルク情報と論理情報とに基づいて、列に形成するバルクの種類、数、並び順を設定する。
Step 22 includes substeps of steps 22a to 22c.
In step 22a (bulk area setting), the design support apparatus 11 sets a column (bulk area) based on the bulk information and the logic information of the semiconductor device. The bulk information includes restriction information on the order of arrangement of bulk and bulk used by the unit cell set in step 21. The logical information is, for example, a net list of circuits formed on the chip. The design support apparatus 11 sets the type, number, and arrangement order of the bulks formed in the column based on the bulk information and the logical information.

ステップ22b(セル配置)において、設計支援装置11は、ステップ22aにおいて生成した列にユニットセルを配置する。次に、ステップ22c(バルク使用状況検証)において、設計支援装置11は、チップ上の列について、バルクの列使用率をバルクの種類毎に算出する。そして、設計支援装置11は、算出した列使用率に基づいて、バルクの使用状況が均等か不均等かを判定し、不均等の場合にステップ22bに戻ってセル配置を変更する。   In step 22b (cell arrangement), the design support apparatus 11 arranges unit cells in the column generated in step 22a. Next, in step 22c (bulk usage status verification), the design support apparatus 11 calculates a bulk column usage rate for each type of bulk for the columns on the chip. Then, the design support apparatus 11 determines whether the usage status of the bulk is equal or unequal based on the calculated column usage rate, and returns to step 22b to change the cell arrangement if it is unequal.

一方、設計支援装置11は、バルクの使用状況を均等と判定した場合、ステップ23に移行する。そして、ステップ23(配線工程)において、設計支援装置11は、配置したセルに対する信号配線の配置データを生成する。   On the other hand, when the design support apparatus 11 determines that the usage status of the bulk is equal, the design support apparatus 11 proceeds to step 23. In step 23 (wiring process), the design support apparatus 11 generates signal wiring placement data for the placed cells.

次に、ユニットセル作成処理を図3に従って説明する。
ステップ41(作成セル検討)において、設計支援装置11は、ファイル31から読み出したターゲットアプリケーションの情報と、ファイル32から読み出したプロセスルールに従って、作成するユニットセルの種類を検討する。ターゲットアプリケーション31には、ユーザが要求する半導体装置(チップ)の使用目的(アプリケーション)の情報が含まれる。アプリケーションは、例えば、デジタルスチルカメラ、プリンタ等の用途を示す情報である。作成するユニットセルは、例えば、論理積回路(AND回路),否定論理積回路(NAND回路),フリップフロップ回路(FF回路)、等の論理回路の種別、駆動能力(出力電流量)等の電気的特性が異なるバッファ回路やインバータ回路、等である。
Next, the unit cell creation process will be described with reference to FIG.
In step 41 (examination of creation cell), the design support apparatus 11 examines the type of unit cell to be created according to the target application information read from the file 31 and the process rule read from the file 32. The target application 31 includes information on the purpose of use (application) of the semiconductor device (chip) requested by the user. The application is information indicating the usage of, for example, a digital still camera or a printer. The unit cell to be created is, for example, an electric circuit such as a logical circuit type such as a logical product circuit (AND circuit), a negative logical product circuit (NAND circuit), or a flip-flop circuit (FF circuit), and a driving capability (output current amount) Such as buffer circuits and inverter circuits having different characteristics.

半導体装置の用途(アプリケーション)により、必要とするセルの種類(論理回路や電気的特性)が異なる。このため、設計支援装置11は、ターゲットアプリケーションの情報に基づいて、作成するセルの種類を検討する。   Depending on the application (application) of the semiconductor device, the required cell type (logic circuit and electrical characteristics) varies. Therefore, the design support apparatus 11 examines the type of cell to be created based on the target application information.

次に、ステップ42(レイアウト見積もり)において、設計支援装置11は、ステップ41の検討結果と、プロセスルール32に基づいて、バルクの形状を検討する。プロセスルール32には、チップを作成する製造工程における製造ルール(例えば、180nm,90nm等の線幅、配線間隔、等)が含まれる。設計支援装置11は、作成するユニットセルに対して、セルの面積を最も小さくするために、必要とするバルクの形状(バルクの構造)を見積る。   Next, in step 42 (layout estimation), the design support apparatus 11 examines the bulk shape based on the examination result of step 41 and the process rule 32. The process rule 32 includes manufacturing rules (for example, line widths such as 180 nm and 90 nm, wiring intervals, etc.) in a manufacturing process for producing a chip. The design support apparatus 11 estimates the required bulk shape (bulk structure) for the unit cell to be created in order to minimize the cell area.

例えば、設計支援装置11は、レイアウトが最も小さなバルク形状のセル(例えばスタンダードセル)のレイアウトを基準とする。そして、設計支援装置11は、作成するユニットセルに必要なバルクの種類及び数を洗い出す。   For example, the design support apparatus 11 is based on the layout of a bulk-shaped cell (for example, a standard cell) having the smallest layout. Then, the design support apparatus 11 identifies the type and number of bulks necessary for the unit cell to be created.

次に、ステップ43(バルク種類検討)において、設計支援装置11は、ステップ42において洗い出したバルクの情報に基づいて、作成するバルクの種類の数を設定する。
ユニットセルを配置する観点では、バルクの種類が少ないほど配置の自由度が高くなり、バルク配置の均等性を良くすることができる。一方、ユニットセルのサイズ(面積)の観点では、バルクの種類が少ないと、セルサイズが大きくなり、チップサイズの増大を招く。このため、設計支援装置11は、バルク種類の組合せが異なる組合せ例を複数記憶し、洗い出したバルクの種類から、組合せ例を選択する。その組合せ例を以下に示す。
Next, in step 43 (Bulk type examination), the design support apparatus 11 sets the number of types of bulks to be created based on the bulk information identified in step 42.
From the viewpoint of arranging unit cells, the fewer the types of bulk, the higher the degree of freedom of arrangement, and the uniformity of the bulk arrangement can be improved. On the other hand, from the viewpoint of unit cell size (area), if the number of types of bulk is small, the cell size increases and the chip size increases. For this reason, the design support apparatus 11 stores a plurality of combination examples with different combinations of bulk types, and selects a combination example from the identified bulk types. Examples of such combinations are shown below.

第1の案(A案)は、2種類のバルクを含む。これらのバルクは、図13(a)に示すように、4個のトランジスタを含むバルク(以下、4Trバルク)B1Aと、図13(b)に示す8個のトランジスタを含むバルク(以下、8Trバルク)B1Bである。第2の案(B案)は、2種類のバルクを含む。これらのバルクは、図14(a)に示す6個のトランジスタを含むバルク(以下、6Trバルク)B2Aと、8TrバルクB2Bである。   The first plan (plan A) includes two types of bulk. As shown in FIG. 13A, these bulks include a bulk including four transistors (hereinafter referred to as 4Tr bulk) B1A and a bulk including eight transistors illustrated in FIG. 13B (hereinafter referred to as 8Tr bulk). ) B1B. The second plan (B plan) includes two types of bulk. These bulks are a bulk (hereinafter referred to as a 6Tr bulk) B2A including six transistors shown in FIG. 14A and an 8Tr bulk B2B.

設計支援装置11は、ターゲットアプリケーションの情報に基づいて、セル使用頻度からバルクの種類を判定する。そして、設計支援装置11は、バルクの使用状況に基づいて、各案についてセルの面積を算出する。例えば、図15に示すように、ターゲットアプリケーションがデジタルスチルカメラの場合、上記第1の案(A案)ではセルエリアが3平方μmとなり、上記第2の案(B案)では3.5平方μmとなる。従って、設計支援装置11は、デジタルスチルカメラに使用する半導体装置について、第1の案(A案)を採用する。また、ターゲットアプリケーションがプリンタの場合、上記第1の案(A案)ではセルエリアが3.2平方μmとなり、上記第2の案(B案)では2.8平方μmとなる。従って、設計支援装置11は、プリンタに使用する半導体装置について、第2の案(B案)を採用する。   The design support apparatus 11 determines the type of bulk from the cell usage frequency based on the information of the target application. And the design support apparatus 11 calculates the area of a cell about each plan based on the usage condition of a bulk. For example, as shown in FIG. 15, when the target application is a digital still camera, the cell area is 3 μm in the first plan (plan A), and 3.5 square in the second plan (plan B). μm. Therefore, the design support apparatus 11 adopts the first plan (plan A) for the semiconductor device used for the digital still camera. When the target application is a printer, the cell area is 3.2 square μm in the first plan (plan A), and 2.8 square μm in the second plan (plan B). Therefore, the design support apparatus 11 employs the second plan (plan B) for the semiconductor device used for the printer.

次に、設計支援装置11は、採用したバルク種類の案に基づいて、バルクの使用状況を算出する。例えば、図16に示すように、デジタルスチルカメラの場合、4Trバルクと、8Trバルクの使用状況の割合は、50%:50%となる。また、プリンタの場合、6Trバルクと、8Trバルクの使用状況の割合は、40%:60%となる。   Next, the design support apparatus 11 calculates the usage status of the bulk based on the proposed bulk type. For example, as shown in FIG. 16, in the case of a digital still camera, the usage ratio of 4Tr bulk and 8Tr bulk is 50%: 50%. In the case of a printer, the ratio of the usage status of the 6Tr bulk and the 8Tr bulk is 40%: 60%.

次に、ステップ44(各セルのバルク割り振り)において、設計支援装置11は、作成する各ユニットセルに対して、利用するバルクを決定する。
例えば、1つのユニットセルがNAND回路の場合、このセルを4Trバルクのみを用いてレイアウトした方が良いか、8Trバルクのみを用いてレイアウトした方が良いかを、検討する。
Next, in step 44 (bulk allocation of each cell), the design support apparatus 11 determines a bulk to be used for each unit cell to be created.
For example, when one unit cell is a NAND circuit, it is examined whether it is better to lay out this cell using only 4Tr bulk or only 8Tr bulk.

ステップ45(チップサイズ見積り)において、設計支援装置11は、設定したバルクの種類、バルクを割り振るセルの種類及び数に基づいて、バルクを搭載するチップの概略サイズを見積る。例えば、設計支援装置11は、ネットリストから各ユニットセルの数を算出し、その算出結果から各バルクの使用数を算出する。そして、設計支援装置11は、バルクの数にバスクの面積を乗算し、各バルクの総面積の和に、チップにおいてバルク以外に必要とする要素(I/Oセルやパッド)の面積を加算した結果を、チップの概略サイズとする。   In step 45 (chip size estimation), the design support apparatus 11 estimates the approximate size of the chip on which the bulk is mounted based on the set type of bulk, the type and number of cells to which the bulk is allocated. For example, the design support apparatus 11 calculates the number of each unit cell from the net list, and calculates the number of use of each bulk from the calculation result. Then, the design support device 11 multiplies the number of bulk by the area of Basque, and adds the area of elements (I / O cells and pads) required other than the bulk in the chip to the sum of the total area of each bulk. The result is the approximate size of the chip.

ステップ46(チップサイズ検証)において、設計支援装置11は、ステップ45において見積もったチップのサイズが妥当か否かを判定する。設計支援装置11は、ターゲットとするチップのサイズと、ステップ45において見積もった概略サイズとを比較し、予定した数及び種類のバルクがチップに搭載可能であるか否かを判定する。そして、設計支援装置11は、搭載可能であると判定した場合には次のステップ47に移行する。一方、設計支援装置11は、搭載不可能であると判定した場合には、ステップ43又はステップ44に移行する。移行するステップは、例えば、サイズの比較結果に応じて設定される。例えば、ターゲットのサイズと見積もった概略サイズとの差が大きい場合にはステップ43へ移行し、差が小さい場合にはステップ44へ移行する。   In step 46 (chip size verification), the design support apparatus 11 determines whether or not the chip size estimated in step 45 is appropriate. The design support apparatus 11 compares the target chip size with the approximate size estimated in step 45, and determines whether or not a predetermined number and type of bulk can be mounted on the chip. If the design support apparatus 11 determines that it can be mounted, the process proceeds to the next step 47. On the other hand, when it is determined that the design support apparatus 11 cannot be mounted, the design support apparatus 11 proceeds to step 43 or step 44. The step of shifting is set in accordance with the size comparison result, for example. For example, if the difference between the target size and the estimated approximate size is large, the process proceeds to step 43, and if the difference is small, the process proceeds to step 44.

ステップ47(レイアウト)において、設計支援装置11は、設定した各バルクを用いてユニットセルのレイアウトデータを作成し、その作成したレイアウトデータをユニットセルライブラリ(Unit Cell ライブラリと表記)33に格納する。ユニットセルのレイアウトデータは、ユニットセルを形成するために必要とするバルクの種類及び個数を含む。また、ユニットセルのレイアウトデータは、バルク内にあってゲート間を接続する配線のデータ、複数のバルクを用いて形成されたユニットセルにおいてバルク間を接続する配線のデータを含む。   In step 47 (layout), the design support apparatus 11 creates unit cell layout data using each set bulk and stores the created layout data in a unit cell library (denoted as Unit Cell library) 33. The unit cell layout data includes the type and number of bulks required to form the unit cell. The unit cell layout data includes data of wirings connecting between the gates in the bulk, and data of wirings connecting the bulks in unit cells formed using a plurality of bulks.

また、設計支援装置11は、作成したユニットセルのレイアウトに基づいて、バルクの並び順制約の情報を作成し、その情報をファイル34に格納する。並び順制約は、使用するバルクの種類、及び使用するバルクの並び順の定義情報である。例えば、1つのセルをチップ上に形成するためには、1つのバルクBと、2つのバルクAを必要とし、それらのバルクは「BAA」の順番で並べられていなければセルを形成することができない。また、別のセルをチップ上に形成するためには、それぞれ1つのバルクA,Bを必要とし、それらのバルクは「AB」の順番で並べられていなければセルを形成することができない。これらの場合、設計支援装置11は、各セルのバルクの並びを並び順制約として抽出し、それらの情報をファイル34に格納する。   In addition, the design support apparatus 11 creates bulk arrangement order constraint information based on the created unit cell layout, and stores the information in the file 34. The sort order constraint is definition information on the type of bulk to be used and the sort order of the bulk to be used. For example, in order to form one cell on a chip, one bulk B and two bulk A are required, and if these bulks are not arranged in the order of “BAA”, a cell may be formed. Can not. Further, in order to form another cell on the chip, one bulk A and B are required, and the cell cannot be formed unless these bulks are arranged in the order of “AB”. In these cases, the design support apparatus 11 extracts the arrangement of the bulk of each cell as an arrangement restriction, and stores the information in the file 34.

次に、チップレイアウト作成処理を図4,図5に従って説明する。
図4に示すステップ61(セル種類解析)において、設計支援装置11は、タイミング制約51、ネットリスト52、ユニットセル(Unit Cell )ライブラリ33を読み込む。タイミング制約51は、タイミングを考慮した配置処理時に参照されるデータであり、回路のクロック情報、マルチパス、フォールトパス等が記述されている。ネットリスト52は、端子やユニットセル等の回路要素の接続関係を示すデータである。設計支援装置11は、読み込んだデータに基づいて、半導体装置(チップ)に搭載するユニットセルの種類を解析する。
Next, the chip layout creation process will be described with reference to FIGS.
In step 61 (cell type analysis) shown in FIG. 4, the design support apparatus 11 reads the timing constraint 51, the net list 52, and the unit cell library 33. The timing constraint 51 is data that is referred to at the time of placement processing in consideration of timing, and describes circuit clock information, multipath, fault path, and the like. The net list 52 is data indicating the connection relationship of circuit elements such as terminals and unit cells. The design support apparatus 11 analyzes the type of unit cell mounted on the semiconductor device (chip) based on the read data.

次に、ステップ62(バルク種毎の個数算出)において、設計支援装置11は、ステップ61において解析したセル種類に基づいて、チップ上にユニットセルを形成するために必要なバルクの個数を算出する。更に、設計支援装置11は、算出したバルクの個数に基づいて、列(ROW)に配列するバルクの個数を算出する。   Next, in step 62 (calculation of the number of each bulk type), the design support apparatus 11 calculates the number of bulks necessary for forming the unit cell on the chip based on the cell type analyzed in step 61. . Furthermore, the design support apparatus 11 calculates the number of bulks arranged in a row (ROW) based on the calculated number of bulks.

ネットリストには、ネットリストに含まれるユニットセルに対して、配線により伝達される信号のタイミングを調整するために必要なセル(クロックバッファ、バッファ、インバータ、等)は含まれていない。また、上記のタイミングの調整や、半導体装置の特性(例えば消費電力)などを調整するために、ユニットセルを同じ論理構成であって電気的特性が異なるユニットセルに交換する場合がある。このような場合を想定し、列に含まれるバルクの数に対して、ネットリストに従って使用するバルクの数の比率(ロウ使用率)が設定される。設計支援装置11は、このロウ使用率に従って、ロウを構成するバルクの数を、バルクの種類毎に算出する。   The net list does not include cells (clock buffer, buffer, inverter, etc.) necessary for adjusting the timing of signals transmitted by wiring with respect to the unit cells included in the net list. In some cases, the unit cell is replaced with a unit cell having the same logical configuration and different electrical characteristics in order to adjust the timing and the characteristics (for example, power consumption) of the semiconductor device. Assuming such a case, the ratio (row usage rate) of the number of bulks used according to the netlist is set with respect to the number of bulks included in the column. The design support apparatus 11 calculates the number of bulks constituting a row for each type of bulk according to the row usage rate.

次に、ステップ63(ROW生成)において、設計支援装置11は、ユニットセルバルク並び順制約34に基づいて、列に対するバルクの配列を決定する。設計支援装置11は、制約34に応じた数のバルクを、その制約に従って配置する。例えば、2種類のバルク(バルクAとバルクB)を同数配置する場合、図17(a)に示すように、各種類のバルクをまとめて配置することが考えられる。しかし、このように配置すると、バルクAを使用するセル、バルクBを使用するセルが隣接して配置されることになる、つまり、同様な特性のセルが集中して配置されることとなる。このため、設計支援装置11は、並び順制約34に従って、図17(b)に示すように、バルクAとバルクBを交互に配置する。このように配置することで、セルが集中配置されるのを防ぐことができる。   Next, in step 63 (ROW generation), the design support apparatus 11 determines the arrangement of the bulk for the column based on the unit cell bulk arrangement order constraint 34. The design support apparatus 11 arranges the number of bulks according to the constraints 34 according to the constraints. For example, when the same number of two types of bulk (bulk A and bulk B) are arranged, as shown in FIG. 17A, it is conceivable to arrange each type of bulk together. However, with this arrangement, cells using bulk A and cells using bulk B are arranged adjacent to each other, that is, cells having similar characteristics are arranged in a concentrated manner. For this reason, the design support apparatus 11 arranges the bulk A and the bulk B alternately as shown in FIG. Arranging in this way can prevent cells from being concentrated.

そして、設計支援装置11は、並び順制約34を満足し、バルクが残った場合、つまり制約34を満足するバルクの個数が、ステップ62において算出したバルクの個数よりも少ない場合、その差の数のバルクを均等に配置する。設計支援装置11は、例えば図18に示すように、制約に従って、バルクBとバルクAを「BAA」の並びで配置した後、それぞれ同数のバルクBとバルクAを配置する。   Then, the design support apparatus 11 satisfies the arrangement order constraint 34, and if the bulk remains, that is, if the number of bulks that satisfy the constraint 34 is smaller than the number of bulks calculated in step 62, the number of differences. Evenly distribute the bulk. For example, as shown in FIG. 18, the design support apparatus 11 arranges the same number of bulk B and bulk A after arranging the bulk B and bulk A in the order of “BAA” according to the restriction.

なお、チップ上にメモリ(RAM:Random Access Memory)を形成することもできる。この場合、ユニットセルの種類としてRAMセルを用意する。そして、設計支援装置11は、図3にステップ42においてバルク形状のレイアウトを見積もり、ラムバルク並び順制約(G/A RAM Bulk並び順制約と表記)53に基づいてバルクを配置する。   A memory (RAM: Random Access Memory) can be formed on the chip. In this case, a RAM cell is prepared as a unit cell type. Then, the design support apparatus 11 estimates the layout of the bulk shape in step 42 in FIG. 3 and arranges the bulk based on the ram bulk arrangement order restriction (noted as G / A RAM Bulk arrangement order restriction) 53.

次に、ステップ64(バルク数判定)において、設計支援装置11は、ステップ63において生成した列(ROW)について、列に含まれるバルクの個数をバルクの種類毎に検証する。なお、後の工程においてセルが追加される可能性がある。追加されるセルの個数は、過去の半導体装置の設計において追加されたセルの個数を元に設定される。このため、設計支援装置11は、追加されるセルの個数を考慮したロウ使用率を設定、若しくはアプリケーションに応じた値をテーブルから読み出し、その比率に基づいて検証を行う。なお、ロウ使用率をユーザが設定し、その比率ベースで検証するようにしてもよい。設計支援装置11は、バルク数が足りているか否かを判定し、足りている(OK)場合には次のステップに移行し、足りていない(NG)場合にはステップ63に戻ってロウの再作成を行う。   Next, in step 64 (bulk number determination), the design support apparatus 11 verifies the number of bulks included in the column for each type of the bulk (ROW) generated in step 63. Note that a cell may be added in a later process. The number of cells added is set based on the number of cells added in the past semiconductor device design. Therefore, the design support apparatus 11 sets a row usage rate in consideration of the number of added cells, or reads a value corresponding to an application from the table, and performs verification based on the ratio. Note that the row usage rate may be set by the user and verified based on the ratio. The design support apparatus 11 determines whether the number of bulks is sufficient. If the number is sufficient (OK), the design support apparatus 11 proceeds to the next step. If not enough (NG), the design support apparatus 11 returns to step 63 and returns to the low level. Recreate it.

ステップ65(並び順制約判定)において、設計支援装置11は、ステップ63において生成した列(ROW)について、列に含まれるバルクの配列が、全てのユニットセルを配置可能な配列か否かを検証する。そして、設計支援装置11は、配置可能(OK)と判定した場合には次のステップに移行し、配置不可能(NG)と判定した場合にはステップ63に戻ってロウの再作成を行う。   In step 65 (arrangement order constraint determination), the design support apparatus 11 verifies whether the arrangement of the bulk included in the column is an arrangement in which all unit cells can be arranged for the column (ROW) generated in step 63. To do. The design support apparatus 11 proceeds to the next step when it is determined that placement is possible (OK), and returns to step 63 to recreate a row when it is determined that placement is not possible (NG).

次に、ステップ66(セル配置)において、設計支援装置11は、生成した列に対してユニットセルを配置する。
次に、ステップ67(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。制御値54は、検証サイズ、均等値を含む。検証サイズは、1回の検証処理において、検証の対象とするバルクが含まれる範囲(検証エリア)を示す値である。均等値は、検証サイズに含まれる各種のバルクの使用率の差に対する許容値である。
Next, in step 66 (cell arrangement), the design support apparatus 11 arranges unit cells for the generated columns.
Next, in step 67 (bulk usage status verification), the design support apparatus 11 determines whether or not the arrangement of the bulks is equal based on the control value 54. The control value 54 includes a verification size and an equal value. The verification size is a value indicating a range (verification area) including a bulk to be verified in one verification process. The equal value is an allowable value for the difference in the usage rate of various bulks included in the verification size.

設計支援装置11は、検証エリアに含まれるバルクの個数(総数)と、検証エリア内において使用されたバルクの個数(使用数)を、各バルクの種類毎にカウントする。設計支援装置11は、使用率、すなわち総数に対する使用数の比率を、バルクの種類毎に算出する。そして、設計支援装置11は、各種のバルクの使用率の差を算出し、その差の値と均等値とを比較する。設計支援装置11は、使用率の差が均等値以下の場合に、配置が均等である(OK)と判定し、次のステップに移行する。一方、使用率の差が均等値より大きい場合、設計支援装置11は、配置が均等ではない(NG)と判定し、ステップ66に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ66の処理を繰り返し実行する。   The design support apparatus 11 counts the number of bulks (total number) included in the verification area and the number of bulks used (number of uses) in the verification area for each type of bulk. The design support apparatus 11 calculates the usage rate, that is, the ratio of the usage number to the total number for each type of bulk. And the design support apparatus 11 calculates the difference of the usage rate of various bulks, and compares the value of the difference with an equal value. The design support apparatus 11 determines that the arrangement is equal (OK) when the difference in usage rate is equal to or less than the equal value, and proceeds to the next step. On the other hand, if the difference in usage rate is greater than the equal value, the design support apparatus 11 determines that the arrangement is not equal (NG), and proceeds to step 66. That is, the design support apparatus 11 repeatedly executes the processing of step 66 until it is determined that the bulk arrangement is uniform (OK).

図5に示すステップ68(クロックツリー生成:CTS:Clock Tree Synthesis)において、設計支援装置11は、ネットリスト52に基づいて、クロックツリー、すなわちユニットセルにクロック信号を供給する経路(パス)を形成する。クロックツリーは、パス中に含まれるクロックバッファと、セル間を接続する配線を含む。設計支援装置11は、クロックバッファの配置情報(座標値)と、配線の配置情報(配線層、配線位置)を生成する。   In step 68 (clock tree generation: CTS) shown in FIG. 5, the design support apparatus 11 forms a path (path) for supplying a clock signal to the clock tree, that is, the unit cell, based on the netlist 52. To do. The clock tree includes a clock buffer included in the path and a wiring connecting the cells. The design support apparatus 11 generates clock buffer arrangement information (coordinate values) and wiring arrangement information (wiring layer, wiring position).

次に、ステップ69(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等ではない(NG)と判定したばあいにステップ70に移行し、配置が均等である(OK)と判定した場合にステップ71に移行する。   Next, in step 69 (bulk usage status verification), the design support apparatus 11 determines whether or not the arrangement of the bulks is equal based on the control value 54. The design support apparatus 11 proceeds to step 70 when determining that the arrangement is not uniform (NG), and proceeds to step 71 when determining that the arrangement is equal (OK).

ステップ70(均等配置)において、設計支援装置11は、バルクの配置が均等となるように、セルの配置位置を変更する。例えば、設計支援装置11は、バルクの使用率が高いエリアのユニットセルを、バルクの使用率が低いエリアに移動させる。   In step 70 (equal layout), the design support apparatus 11 changes the cell layout position so that the bulk layout is uniform. For example, the design support apparatus 11 moves a unit cell in an area where the bulk usage rate is high to an area where the bulk usage rate is low.

使用するバルクが異なるユニットセルは、ユニットセルのサイズや、配線を接続するためにセルに形成される端子の数が異なる。バルクの使用率を均一化することは、そのブロック(エリア)に含まれるユニットセルの密度や、端子の数の均一化につながる。ユニットセルの密度が低くなると、その分、チップサイズの縮小を図ることや、セル間等を接続する配線を形成し易くする。また、端子の数を均一化することにより、配線の集中を防止して、未結線配線の発生を抑制し、設計時間の短縮を図ることができる。   Unit cells having different bulks to be used differ in the size of the unit cell and the number of terminals formed in the cell for connecting wiring. Making the bulk usage rate uniform leads to uniform density of unit cells and the number of terminals included in the block (area). When the density of the unit cells is reduced, the chip size is reduced correspondingly, and the wiring connecting the cells is easily formed. Further, by making the number of terminals uniform, concentration of wiring can be prevented, generation of unconnected wiring can be suppressed, and design time can be shortened.

ステップ71(電源電圧検証:IR−DROP検証)において、設計支援装置11は、配置したセルの情報に基づいて、電源配線におけるチップ内部の電位降下を検証する。例えば、設計支援装置11は、シミュレーション(電源配線による抵抗網解析)により、チップ内部の電圧降下を算出する。そして、設計支援装置11は、算出した電圧降下により、各セルに供給される電源電圧値を算出する。そして、設計支援装置11は、算出した電源電圧値が動作保証範囲内か否かを判定する。設計支援装置11は、電源電圧値が動作保証範囲内であるときに検証OK(適合)と判定し、電源電圧値が範囲外であるときに検証NG(不適合)と判定する。   In step 71 (power supply voltage verification: IR-DROP verification), the design support apparatus 11 verifies the potential drop inside the chip in the power supply wiring based on the information of the arranged cells. For example, the design support apparatus 11 calculates the voltage drop inside the chip by simulation (resistance network analysis using power supply wiring). And the design support apparatus 11 calculates the power supply voltage value supplied to each cell by the calculated voltage drop. Then, the design support apparatus 11 determines whether or not the calculated power supply voltage value is within the operation guarantee range. The design support apparatus 11 determines verification OK (conformity) when the power supply voltage value is within the operation guarantee range, and determines verification NG (nonconformity) when the power supply voltage value is out of the range.

次に、ステップ72(検証判定)において、設計支援装置11は、ステップ71における検証結果がOKかNGかを判定する。そして、設計支援装置11は、検証結果がOKであるときにはステップ75に移行し、検証結果がNGであるときにはステップ73に移行する。   Next, in step 72 (verification determination), the design support apparatus 11 determines whether the verification result in step 71 is OK or NG. The design support apparatus 11 proceeds to step 75 when the verification result is OK, and proceeds to step 73 when the verification result is NG.

ステップ73(セル再配置)において、設計支援装置11は、セルの再配置を行う。
次に、ステップ74(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等である(OK)と判定した場合にステップ75に移行し、配置が均等ではない(NG)と判定したばあいにステップ73に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ73の処理を繰り返し実行する。
In step 73 (cell rearrangement), the design support apparatus 11 rearranges cells.
Next, in step 74 (bulk usage status verification), the design support apparatus 11 determines whether the arrangement of the bulks is equal based on the control value 54. The design support apparatus 11 proceeds to step 75 when it is determined that the arrangement is equal (OK), and proceeds to step 73 when it is determined that the arrangement is not equal (NG). That is, the design support apparatus 11 repeatedly executes the process of step 73 until it is determined that the bulk arrangement is equal (OK).

なお、クロックツリーに含まれるクロックバッファは、入力信号(クロック信号)に応答して出力信号を変更するため、他の論理回路を構成するセルに比べて動作が多く、消費電力が高い。設計支援装置11は、バルクの配置が均等となる、未使用又は使用したバルクの数が、各検証エリア、バルクの種類に対して、均等となるように、ユニットセルを配置する。従って、クロックバッファも分散して配置されるため、チップにおいて、消費電力の分布が集中しにくくなる。   Note that the clock buffer included in the clock tree changes an output signal in response to an input signal (clock signal), and thus operates more than a cell constituting another logic circuit and consumes high power. The design support apparatus 11 arranges the unit cells so that the arrangement of the bulks is uniform, and the number of unused or used bulks is uniform for each verification area and type of bulk. Therefore, since the clock buffers are also distributed, it is difficult for the power consumption distribution to be concentrated on the chip.

消費電力が高いセルが集中して配置されると、その配置された領域における電源電圧降下が、他の領域におけるそれよりも大きくなるため、ステップ72の検証において、電圧降下が規定よりも大きくなる場合がある。しかし、設計支援装置11はクロックバッファ等を均等配置するため、電圧降下が大きいセルが集中して配置されなくなり、NGと判定されにくくなる。このことは、設計時間を短縮させる要因となり、設計期間の短縮、コスト低減に寄与する。   When cells with high power consumption are arranged in a concentrated manner, the power supply voltage drop in the arranged region becomes larger than that in other regions, and therefore the voltage drop becomes larger than specified in the verification in step 72. There is a case. However, since the design support apparatus 11 arranges the clock buffers and the like evenly, cells with a large voltage drop are not arranged in a concentrated manner, so that it is difficult to determine NG. This becomes a factor of shortening the design time, and contributes to shortening of the design period and cost.

次に、ステップ75(信号配線)において、設計支援装置11は、ネットリスト52に基づいて、回路要素を接続する信号配線の情報を生成する。そして、設計支援装置11は、ユニットセルや配線を含むチップのレイアウトデータ(図示略)を記憶装置14に記憶する。   Next, in step 75 (signal wiring), the design support apparatus 11 generates information about the signal wiring that connects the circuit elements based on the net list 52. The design support apparatus 11 stores chip layout data (not shown) including unit cells and wirings in the storage device 14.

次に、ステップ76(タイミング検証)において、設計支援装置11は、チップに形成する配線について、タイミング検証を行う。設計支援装置11は、ユニットセルや配線の電気的特性、配線長などに基づいてタイミング解析(例えば、静的タイミング解析)を行い、その解析結果に基づいて、タイミングエラーの原因(クロック・スキュー、グリッチ、等)の有無を検証する。   Next, in step 76 (timing verification), the design support apparatus 11 performs timing verification on the wiring formed on the chip. The design support apparatus 11 performs timing analysis (for example, static timing analysis) based on the electrical characteristics of the unit cell and wiring, wiring length, and the like, and based on the analysis result, causes of timing errors (clock skew, Verify the presence or absence of glitches.

次に、ステップ77(検証判定)において、設計支援装置11は、検証結果に基づいて、タイミングエラーの原因が存在しない(OK)の場合に処理を終了する。一方、検証結果に基づいて、タイミングエラーの原因が存在する(NG)の場合、設計支援装置11はステップ78に移行する。   Next, in step 77 (verification determination), the design support apparatus 11 ends the process when the cause of the timing error does not exist (OK) based on the verification result. On the other hand, if the cause of the timing error exists (NG) based on the verification result, the design support apparatus 11 proceeds to step 78.

ステップ78(セル挿入)において、設計支援装置11は、タイミングエラーを解消するように、挿入するユニットセル(例えばバッファ)の選択と、ユニットセルを挿入する箇所(ネット)を設定する。そして、ステップ79(セル再配置)において、設計支援装置11は、ステップ78において設定したユニットセルを、該当する列に挿入する。そして、設計支援装置11は、ユニットセルや配線を含むチップのレイアウトデータ(図示略)を記憶装置14に記憶する。   In step 78 (cell insertion), the design support apparatus 11 selects a unit cell (for example, a buffer) to be inserted and sets a location (net) where the unit cell is to be inserted so as to eliminate the timing error. In step 79 (cell rearrangement), the design support apparatus 11 inserts the unit cell set in step 78 into the corresponding column. The design support apparatus 11 stores chip layout data (not shown) including unit cells and wirings in the storage device 14.

次に、ステップ80(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等である(OK)と判定した場合に処理を終了する。一方、配置が均等ではない(NG)と判定した場合、設計支援装置11は、ステップ79に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ79の処理を繰り返し実行する。   Next, in step 80 (bulk usage status verification), the design support apparatus 11 determines whether or not the arrangement of the bulks is equal based on the control value 54. And the design support apparatus 11 complete | finishes a process, when it determines with arrangement | positioning being equal (OK). On the other hand, if it is determined that the arrangement is not uniform (NG), the design support apparatus 11 proceeds to step 79. That is, the design support apparatus 11 repeatedly executes the process of step 79 until it is determined that the bulk arrangement is uniform (OK).

次に、バルクのレイアウト例を用いて上記の処理を説明する。
図6(a)には、単一のバルク(図中「A」と表記)を用いたチップレイアウトの一部が示されている。このチップの場合、ROW(列)は、1種類のバルクAにより構成される。このようにバルクが形成されたチップには、バルクAを用いたユニットセルが配置される。
Next, the above processing will be described using a bulk layout example.
FIG. 6A shows a part of a chip layout using a single bulk (indicated as “A” in the figure). In the case of this chip, the ROW (column) is composed of one type of bulk A. A unit cell using the bulk A is arranged on the chip in which the bulk is formed in this way.

図6(b)には、2つのバルク(図中「A」「B」と表記)を用いたチップレイアウトの一部が示されている。このチップの場合、ROW(列)は、1個のバルクBと2個のバルクAの割合で構成されている。このように、バルクが形成されたチップには、バルクAを用いたユニットセル、バルクBを用いたユニットセル、バルクA及びバルクBを用いたユニットセルが配置される。   FIG. 6B shows a part of a chip layout using two bulks (indicated as “A” and “B” in the figure). In the case of this chip, ROW (column) is composed of a ratio of one bulk B and two bulk A. Thus, on the chip in which the bulk is formed, a unit cell using the bulk A, a unit cell using the bulk B, and a unit cell using the bulk A and the bulk B are arranged.

図1に示す設計支援装置11は、チップに形成するバルクに従ってユニットセルを配置する。そして、設計支援装置11は、列に含まれるバルクに対して配置したセルが使用するバルクの比率をロウ使用率として、各バルクの種類毎に算出する。   The design support apparatus 11 shown in FIG. 1 arranges unit cells according to a bulk formed on a chip. Then, the design support apparatus 11 calculates the ratio of the bulk used by the cells arranged with respect to the bulk included in the column as the row usage rate for each type of bulk.

例えば、図7(a)に示すように、チップに形成される各列R1は、バルクAとバルクBを含む。尚、図7(a)は、検証エリアK1に含まれる列R1及びバルクA,Bを示している。   For example, as shown in FIG. 7A, each row R1 formed in the chip includes a bulk A and a bulk B. FIG. 7A shows the row R1 and the bulks A and B included in the verification area K1.

設計支援装置11は、図7(a)に示す列に対して、図7(b)に示すように、セルを配置する。なお、図7(b)において、ハッチングによりユニットセルを配置したバルクを示している。   The design support apparatus 11 arranges cells as shown in FIG. 7B with respect to the column shown in FIG. FIG. 7B shows a bulk in which unit cells are arranged by hatching.

そして、設計支援装置11は、各バルクにおける列使用率を算出する。図7(b)において、検証エリアK1内には、16個のバルクAが含まれ、5個のバルクAに対してユニットセルが配置されている。従って、バルクAに対する列使用率は、31.25%(=5/16×100)となる。一方、検証エリアK1内には、8個のバルクBが含まれ、3個のバルクBに対してユニットセルが配置されている。従って、バルクBに対する列使用率は、37.5%(=3/8×100)となる。   Then, the design support apparatus 11 calculates the column usage rate in each bulk. In FIG. 7B, the verification area K1 includes 16 bulk A, and unit cells are arranged for the 5 bulk A. Therefore, the column usage rate for bulk A is 31.25% (= 5/16 × 100). On the other hand, the verification area K1 includes eight bulk B, and unit cells are arranged for the three bulk B. Therefore, the column usage rate for the bulk B is 37.5% (= 3/8 × 100).

次に、設計支援装置11は、バルクAの列使用率と、バルクBの列使用率とを比較する。そして、設計支援装置11は、その比較結果に基づいて、ユニットセルを変更する。設計支援装置11は、ユニットセルの変更として、ユニットセルの配置位置を変更する。例えば、設計支援装置11は、各バルクの列使用率の相対的な差(絶対値)と所定のしきい値とを比較し、列使用率の差がしきい値よりも大きいときに、ユニットセルを変更し、列使用率の差がしきい値以下のときにはユニットセルを変更しない。しきい値は、例えば、列に含まれるバルクの種類、各バルクの個数に応じて設定される。   Next, the design support apparatus 11 compares the column usage rate of the bulk A with the column usage rate of the bulk B. And the design support apparatus 11 changes a unit cell based on the comparison result. The design support apparatus 11 changes the arrangement position of the unit cell as the change of the unit cell. For example, the design support apparatus 11 compares the relative difference (absolute value) of the column usage rate of each bulk with a predetermined threshold value, and when the column usage rate difference is larger than the threshold value, When the cell is changed and the difference in column usage is less than or equal to the threshold value, the unit cell is not changed. The threshold is set according to, for example, the type of bulk included in the column and the number of each bulk.

例えば、しきい値を5%とすると、図7(b)において、バルクAの列使用率とバルクBの列使用率の差が6.25%であるため、設計支援装置11は、ユニットセルを変更する。例えば、バルクAを使用するユニットセルのうちの1つと、バルクBを使用するユニットセルのうちの1つを、この検証エリアK1から他の場所へ移動させる。これにより、バルクAの列使用率と、バルクBの列使用率との均一化を図る。   For example, if the threshold is 5%, in FIG. 7B, the difference between the column usage rate of bulk A and the column usage rate of bulk B is 6.25%. To change. For example, one of the unit cells using the bulk A and one of the unit cells using the bulk B are moved from the verification area K1 to another location. Thereby, the column usage rate of the bulk A and the column usage rate of the bulk B are made uniform.

尚、列使用率の上限値を設定し、各バルクの列使用率が上限値を超えるときに、列使用率の均一化を図るようにしてもよい。各バルクの使用率が上限値よりも小さい場合、検証エリア内には使用可能な多くのバルクが含まれている。従って、各バルクの列使用率を均一化しなくても、各バルクを使用するユニットセルを自由に配置することができるからである。   Note that an upper limit value of the column usage rate may be set, and the column usage rate may be made uniform when the column usage rate of each bulk exceeds the upper limit value. When the usage rate of each bulk is smaller than the upper limit value, a lot of usable bulks are included in the verification area. Therefore, the unit cells using each bulk can be freely arranged without making the column usage rate of each bulk uniform.

次に、ユニットセルの調整について説明する。
今、一例として、図8(a)に示すように、バルクAとバルクBを使用してユニットセルが配置されている。図において、使用されたバルクAを右下がりのハッチングにて示し、使用されたバルクBを左下がりのハッチングにて示す。ハッチングが無いバルクは未使用である。この場合、バルクAの列使用率とバルクBの列使用率は、それぞれ56.25%,50%である。
Next, adjustment of the unit cell will be described.
As an example, unit cells are arranged using bulk A and bulk B as shown in FIG. In the figure, the used bulk A is indicated by a right-down hatching, and the used bulk B is indicated by a left-down hatching. Bulk without hatching is unused. In this case, the column usage rate for bulk A and the column usage rate for bulk B are 56.25% and 50%, respectively.

上記のエリア内に、例えば、4個のバッファセルを挿入する。1個のバッファセルは、4個のトランジスタにより構成される。上記したように、バルクAは4個のトランジスタを含み、バルクBは8個のトランジスタを含む。従って、図8(c)に示すように、バルクAのみを使用して4個のバッファセル91を挿入することが可能である。しかし、このようにバッファセルを挿入すると、バルクAの列使用率が81.25%となり、バルクAの列使用率が局所的に増加することになる。   For example, four buffer cells are inserted into the above area. One buffer cell is composed of four transistors. As described above, bulk A includes four transistors and bulk B includes eight transistors. Therefore, as shown in FIG. 8C, it is possible to insert four buffer cells 91 using only the bulk A. However, when a buffer cell is inserted in this way, the column usage rate of bulk A becomes 81.25%, and the column usage rate of bulk A increases locally.

このため、設計支援装置11は、バルクが異なるユニットセルを選択する。例えば、設計支援装置11は、挿入する4個のバッファセルのうち、図8(b)に示すように、バルクAを使用する2個のバッファセル91を選択するとともに、バルクBを使用する2個のバッファセル92を選択する。すると、バルクAの列使用率とバルクBの列使用率は、それぞれ68.75%,75%となる。このように、図8(c)に示すレイアウトに比して、図8(b)に示すレイアウトは、バルクの列使用率が均一化されている。   For this reason, the design support apparatus 11 selects unit cells having different bulks. For example, the design support apparatus 11 selects two buffer cells 91 that use bulk A and uses bulk B as shown in FIG. 8B among the four buffer cells to be inserted. The buffer cells 92 are selected. Then, the column usage rate of bulk A and the column usage rate of bulk B are 68.75% and 75%, respectively. As described above, compared to the layout shown in FIG. 8C, the layout shown in FIG. 8B has a uniform bulk column usage rate.

なお、バルクBを使用するバッファセルは、バルクAを使用するバッファセルの駆動能力の1.5倍の駆動能力を持つ。つまり、設計支援装置11は、挿入するユニットセルの電気的特性の変更を許容することにより、バルクの列使用率を均一化することができる。   Note that the buffer cell using the bulk B has a driving capability 1.5 times that of the buffer cell using the bulk A. That is, the design support apparatus 11 can uniformize the bulk column usage rate by allowing the change in the electrical characteristics of the unit cell to be inserted.

また、別の例として、図9(a)に示すように、バルクAとバルクBを使用してユニットセルが配置されている。この場合、バルクAの列使用率とバルクBの列使用率は、それぞれ43.75%,50%である。   As another example, unit cells are arranged using bulk A and bulk B as shown in FIG. In this case, the column usage rate for bulk A and the column usage rate for bulk B are 43.75% and 50%, respectively.

上記のエリア内に、例えば、3個のバッファセルを挿入する。1個のバッファセルは、隣接する2つのバルクAを使用するように定義されている。この場合、図9(c)に示すように、2個のバッファセル93しか挿入することができない。   For example, three buffer cells are inserted into the above area. One buffer cell is defined to use two adjacent bulk As. In this case, as shown in FIG. 9C, only two buffer cells 93 can be inserted.

これに対し、ユニットセルライブラリ33(図3参照)には、2個のバルクAを使用するバッファセルと同じ電気的特性を有し、1個のバルクBを使用するバッファセルが定義されている。このため、設計支援装置11は、挿入するユニットセルの種類を変更する。つまり、図9(b)に示すように、バルクBを使用するバッファセル(ユニットセル)94を配置する。すると、バルクAの列使用率とバルクBの列使用率は、それぞれ68.75%,62.5%となる。このように、同じ電気的特性を有し、使用するバルクが互いに異なる2種類のバッファセル93,94を作成してユニットセルライブラリ33に登録しておくことにより、挿入するすべてのバッファセル93,94をエリア内に配置することができる。また、定義された2種類のバッファセルを用いることにより、バルクの列使用率を均一化することができる。   On the other hand, in the unit cell library 33 (see FIG. 3), a buffer cell having the same electrical characteristics as a buffer cell using two bulk A and using one bulk B is defined. . For this reason, the design support apparatus 11 changes the type of the unit cell to be inserted. That is, as shown in FIG. 9B, the buffer cell (unit cell) 94 using the bulk B is arranged. Then, the column usage rate of the bulk A and the column usage rate of the bulk B are 68.75% and 62.5%, respectively. Thus, by creating two types of buffer cells 93 and 94 having the same electrical characteristics and different bulks to be used and registering them in the unit cell library 33, all the buffer cells 93, 94 can be placed in the area. Further, by using the two types of defined buffer cells, the bulk column usage rate can be made uniform.

次に、単一のバルクで構成したチップにおけるセル配置と、複数種類のバルクで構成したチップにおけるセル配置について説明する。
複数種類のバルクにより構成されるユニットセルは、使用するバルクの配列に応じて、配置位置に制約を受ける。例えば、図10(a)に示すように、バルクBとバルクAをそれぞれ1つ使用するユニットセル101の場合、図中に黒丸で示す点を基準点として列R2に配置される。
Next, cell arrangement in a chip constituted by a single bulk and cell arrangement in a chip constituted by a plurality of types of bulk will be described.
A unit cell composed of a plurality of types of bulks is restricted in arrangement position depending on the arrangement of bulks to be used. For example, as shown in FIG. 10A, in the case of the unit cell 101 using one each of the bulk B and the bulk A, the point indicated by the black circle in the drawing is arranged in the row R2.

一方、図10(b)に示すように、1種類のバルクにより構成されるユニットセル102は、図中に黒丸で示す点を基準点として列R3に配列される、つまり、バルクの配列ピッチで配置の基準点を設定することができるため、配置の自由度が複数種類のバルクを用いた場合に比して高い。   On the other hand, as shown in FIG. 10B, the unit cells 102 constituted by one type of bulk are arranged in the column R3 with the point indicated by the black circle in the figure as a reference point, that is, at the arrangement pitch of the bulk. Since the reference point of arrangement can be set, the degree of freedom of arrangement is higher than when a plurality of types of bulks are used.

しかし、複数種類のバルクにより構成されたユニットセルは、単一種類のバルクにより構成されたユニットセルよりも、セル面積が小さくなる。従って、単位面積あたりのセル数が、単一種類のバルクを形成したチップよりも多くなる、すなわち集積度が高くなる。そして、複数種類のバルクにより構成されるユニットは、単一種類のバルクにより構成されるユニットセルのレイアウトを利用して作成することが可能である。従って、ユニットセルをいちから作成する場合に比して、設計にかかる時間が短い、すなわち開発コストをかけることなくユニットセルを作成することができる。また、チップ上のバルクは、制約にしたがって規則的に配列(レイアウト)される。このため、ユニットセルの電気的特性のばらつきを抑えることができる。   However, a unit cell constituted by a plurality of types of bulk has a smaller cell area than a unit cell constituted by a single type of bulk. Therefore, the number of cells per unit area is larger than that of a chip on which a single type of bulk is formed, that is, the degree of integration is increased. A unit composed of a plurality of types of bulks can be created using a unit cell layout composed of a single type of bulk. Therefore, compared with the case where the unit cell is created from the beginning, the time required for the design is short, that is, the unit cell can be created without incurring development costs. Further, the bulk on the chip is regularly arranged (laid out) according to the constraints. For this reason, the dispersion | variation in the electrical property of a unit cell can be suppressed.

複数種類のバルクを用いた場合、バルクの種類に応じて回路を分けることができる。ユニットセルは、例えば、AND回路やNAND回路等の組合回路と、フリップフロップ回路やラッチ回路等の順序回路とに分けられる。一般的に、組合回路と順序回路は、図11に示すように、セル面積については組合せ回路が順序回路よりも小さく、端子密度については組合せ回路が順序回路よりも高い。そして、組合せ回路をバルクAを用いて構成し、順序回路をバルクBを用いて形成される。端子密度が高い回路は、その端子に接続される配線の数が多いため、その回路の周辺に配線の混雑を招く。   When multiple types of bulk are used, the circuit can be divided according to the type of bulk. The unit cell is divided into, for example, a combinational circuit such as an AND circuit or a NAND circuit and a sequential circuit such as a flip-flop circuit or a latch circuit. In general, in the combinational circuit and the sequential circuit, as shown in FIG. 11, the combinational circuit is smaller than the sequential circuit in terms of cell area, and the combinational circuit is higher than the sequential circuit in terms of terminal density. The combinational circuit is configured using the bulk A, and the sequential circuit is formed using the bulk B. Since a circuit with a high terminal density has a large number of wirings connected to the terminals, the wiring is congested around the circuit.

しかし、設計支援装置11は、制約にしたがうものの、複数種類のバルクを均等的に配置する。したがって、端子密度が高いセルが集中されにくくなるため、配線の混雑を低減することが可能となる。また、クロックバッファのように、消費電力が大きいユニットセルは、分散して配置されることになるため、エリア毎の消費電力のバラツキが抑えられることになる。この結果、特定箇所での電圧降下が発生しにくくなる。   However, the design support apparatus 11 arranges a plurality of types of bulks evenly according to restrictions. Therefore, cells with a high terminal density are less likely to be concentrated, thereby reducing wiring congestion. In addition, since unit cells with large power consumption, such as clock buffers, are arranged in a distributed manner, variations in power consumption between areas can be suppressed. As a result, a voltage drop at a specific location is less likely to occur.

次に、ユニットセルとチップの列について説明する。
設計支援装置11は、図3に示すフローチャートに従って、ユニットセルと並び順制約を生成する。そして、設計支援装置11は、並び順制約に従ってチップの列にバルクを配置し、ユニットセルを配置する。
Next, a column of unit cells and chips will be described.
The design support apparatus 11 generates unit cell and arrangement order constraints according to the flowchart shown in FIG. And the design support apparatus 11 arrange | positions a bulk to the row | line | column of a chip according to arrangement | sequence order restrictions, and arrange | positions a unit cell.

チップに形成するユニットセルは、チップを使用する目的(アプリケーション)や、チップに形成する回路(ネットリスト)に応じて設定される。上記したように、アプリケーションに応じて回路が設計され、ネットリストが生成される従って、アプリケーションの情報や、ネットリストにより、使用するバルク、各種類のバルクの個数の割合を判断することができる。これにより、チップの列に形成するバルクの割合を設定することができる。そして、ユニットセルのレイアウト、つまりバルクの並び順により、列におけるバルクの並び順序を設定することができる。   The unit cell formed on the chip is set according to the purpose (application) of using the chip and the circuit (net list) formed on the chip. As described above, a circuit is designed according to an application, and a net list is generated. Therefore, the bulk to be used and the ratio of the number of each type of bulk can be determined from the application information and the net list. Thereby, the ratio of the bulk formed in the chip row can be set. Then, the arrangement order of the bulk in the column can be set by the layout of the unit cells, that is, the arrangement order of the bulk.

従って、図12(a)に示すように、バルクAの個数がバルクBの個数よりも多く設定された列や、図12(b)に示すように、バルクAの個数がバルクBの個数よりも少なく設定された列等が形成される。そして、バルクAとバルクBの並び順序が設定される。例えば、バルクBとバルクAをそれぞれ1個含むユニットセルの場合、このユニットセルを図12(a)に示す列では3個配置することができる。しかし、図12(b)に示す列では2個、図17(a)に示す列では1個しか配置することができない。   Accordingly, as shown in FIG. 12A, a column in which the number of bulk A is set larger than the number of bulk B, or the number of bulk A is larger than the number of bulk B as shown in FIG. A row or the like set with a minimum number is formed. Then, the arrangement order of bulk A and bulk B is set. For example, in the case of unit cells each including one bulk B and one bulk A, three unit cells can be arranged in the column shown in FIG. However, only two in the column shown in FIG. 12B and one in the column shown in FIG. 17A can be arranged.

このように、ユニットセルを構成するバルクの種類及び配列と、チップ上の列を構成するバルクの比率及び配列とを対応させることにより、ユニットセルを確実に配置すること、使用するバルクを均一化すること、ユニットセルの面積を縮小してチップのサイズを縮小することができる。   In this way, by associating the types and arrangement of the bulks that make up the unit cells with the proportions and arrangements of the bulks that make up the columns on the chip, the unit cells can be reliably arranged and the bulk used can be made uniform. In addition, the size of the chip can be reduced by reducing the area of the unit cell.

以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)設計支援装置11は、作成したユニットセルに応じて、複数種類のバルクを配置した列(バルク領域)を設定し(ステップ22a)し、列にユニットセルを配置する(ステップ22b)。設計支援装置11は、列におけるバルクの使用情報をバルクの周類毎に生成し、その使用情報に基づいてバルクの使用状況を検証する(ステップ22c)。そして、設計支援装置11は、バルクの配置が均等ではない場合にユニットセルの配置を変更するようにした。
As described above, according to the present embodiment, the following effects can be obtained.
(1) The design support apparatus 11 sets a column (bulk region) in which a plurality of types of bulks are arranged according to the created unit cell (step 22a), and arranges the unit cells in the column (step 22b). The design support apparatus 11 generates bulk usage information in the column for each class of bulk and verifies the bulk usage status based on the usage information (step 22c). And the design support apparatus 11 changed the arrangement of the unit cells when the arrangement of the bulk is not uniform.

ユニットセルを複数種類のバルクにより構成することで、ユニットセルのサイズを、単一のバルクを用いたユニットセルに比して小さくすることができる。また、ユニットセルが使用するバルクに応じて列を生成することにより、ユニットセルを効率よく列に配置することができる。この結果、ユニットセルの集積度が上がるため、チップサイズの縮小を図ることができる。   By configuring the unit cell with a plurality of types of bulk, the size of the unit cell can be made smaller than that of a unit cell using a single bulk. Further, by generating a column according to the bulk used by the unit cell, the unit cell can be efficiently arranged in the column. As a result, the integration density of the unit cells is increased, so that the chip size can be reduced.

(2)設計支援装置11は、列におけるバルクの列使用率をバルクの種類毎に算出し、各種類のバルクの列使用率が均一となるように、ユニットセルの配置位置を変更するようにした。その結果、クロックツリーの生成やタイミング検証結果に応じて追加するユニットセルを配置することが可能となる。このため、チップサイズを増大させる必要がなく、見積もったサイズのチップにより形成する、つまりチップサイズの縮小を図ることができる。また、ユニットセルが配置できずにチップ全体の配置をやり直す等の手戻りの発生が無くなるため、設計期間の短縮を図ることができる。   (2) The design support apparatus 11 calculates the bulk column usage rate in the column for each bulk type, and changes the arrangement position of the unit cells so that the bulk column usage rate of each type becomes uniform. did. As a result, it is possible to arrange unit cells to be added according to the generation of the clock tree and the timing verification result. For this reason, it is not necessary to increase the chip size, and the chip size can be reduced, that is, the chip size can be reduced. Further, since the unit cell cannot be arranged and rework such as re-arranging the entire chip is eliminated, the design period can be shortened.

(3)設計支援装置11は、ターゲットアプリケーション31に基づいて、ユニットセルのレイアウトデータを生成し、レイアウトデータを含むユニットセルライブラリ33と、ユニットセルに使用されるバルクに対する並び順制約34とを生成する。このように、ターゲットとするアプリケーションに応じたユニットセルを作成することにより、ターゲットアプリケーションに対応してチップのサイズを縮小することが可能となる。   (3) The design support apparatus 11 generates unit cell layout data based on the target application 31, and generates a unit cell library 33 including the layout data and an arrangement order constraint 34 for the bulk used for the unit cell. To do. Thus, by creating a unit cell corresponding to a target application, it is possible to reduce the size of the chip corresponding to the target application.

尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態において、ユニットセルを変更して使用するバルクの均等化を図るようにしてもよい。その場合の処理を図19に示す。
In addition, you may implement the said embodiment in the following aspects.
-In the said embodiment, you may make it aim at equalization of the bulk used by changing a unit cell. The process in that case is shown in FIG.

設計支援装置11は、ステップ111において、ユニットセルを概略配置する。概略配置は、ユニットセルが含まれるブロック(例えば検証エリア)を決定する処理である。
次に、ステップ112において、設計支援装置11は、制御値54に従ってバルクの配置が均等か否かを判定する。これにより、設計支援装置11は、ブロックにおける配置混雑度を確認する。そして、設計支援装置11は、配置が均等ではない(図中NG)の場合にステップ113に移行し、配置が均等である(図中OK)場合にステップ114に移行する。
In step 111, the design support apparatus 11 roughly arranges unit cells. The schematic arrangement is a process for determining a block (for example, a verification area) including a unit cell.
Next, in step 112, the design support apparatus 11 determines whether or not the bulk arrangement is equal according to the control value 54. Thereby, the design support apparatus 11 confirms the arrangement congestion degree in the block. The design support apparatus 11 proceeds to step 113 when the arrangement is not uniform (NG in the figure), and proceeds to step 114 when the arrangement is equal (OK in the figure).

ステップ113において、設計支援装置11は、セルを変更する。設計支援装置11は、列使用率の大きいバルクを使用するユニットセルを、列使用率が小さいバルクを使用するユニットセルに変更する。このとき、設計支援装置11は、以下の何れかの方法により、セルを変更する。   In step 113, the design support apparatus 11 changes a cell. The design support apparatus 11 changes a unit cell that uses a bulk with a high column usage rate to a unit cell that uses a bulk with a low column usage rate. At this time, the design support apparatus 11 changes the cell by any of the following methods.

1.駆動能力及び使用するバルクが異なるユニットセルに変更する。
2.駆動能力が同じで使用するバルクが異なるユニットセルに変更する。
例えば、バルクAを使用するバッファ回路を、同じ電気的特性を有しバルクBを使用するバッファ回路に変更する。また、バルクAを使用するインバータ回路を、バルクBを使用し入力端子の1つを除いてHレベルに固定された入力端子を有するナンド回路に変更する。そして、設計支援装置11は、ステップ111に移行する。
1. Change to a unit cell with different driving capacity and bulk to be used.
2. Change to a unit cell with the same drive capability but different bulk.
For example, a buffer circuit that uses bulk A is changed to a buffer circuit that has the same electrical characteristics and uses bulk B. Further, the inverter circuit that uses the bulk A is changed to a NAND circuit that uses the bulk B and has an input terminal fixed at the H level except for one of the input terminals. Then, the design support apparatus 11 proceeds to step 111.

このように、設計支援装置11は、バルクの配置を均等にするまで、ステップ111〜113の処理を繰り返す。そして、バルクの配置が均等になると、設計支援装置11はステップ114に移行する。   As described above, the design support apparatus 11 repeats the processes of steps 111 to 113 until the arrangement of the bulks is equalized. When the bulk arrangement becomes uniform, the design support apparatus 11 proceeds to step 114.

ステップ114において、設計支援装置11は、セルの詳細配置を行う。詳細配置は、ブロックに含まれるユニットセルの配置位置を決定する処理である。設計支援装置11は、各ユニットセルの配置位置を決定する。   In step 114, the design support apparatus 11 performs detailed arrangement of cells. The detailed arrangement is a process for determining the arrangement position of the unit cells included in the block. The design support apparatus 11 determines the arrangement position of each unit cell.

・上記実施形態において、設計支援装置11がユニットセルを配置する際に、バルクの列使用率を考慮しながら配置することで、バルク使用状況検証のステップを省略することが可能となる。   In the above-described embodiment, when the design support apparatus 11 arranges the unit cell, it is possible to omit the step of verifying the bulk usage situation by arranging the unit cell in consideration of the bulk column usage rate.

11 設計支援装置
31 ターゲットアプリケーション
32 プロセスルール
33 ユニットセルライブラリ
34 バルク並び順制約
51 タイミング制約
52 ネットリスト
54 制御値(検証サイズ、均等値)
A,B バルク
11 Design Support Device 31 Target Application 32 Process Rule 33 Unit Cell Library 34 Bulk Arrangement Constraint 51 Timing Constraint 52 Netlist 54 Control Value (Verification Size, Equal Value)
A, B bulk

Claims (8)

所定の機能を有するユニットセルに用いられるバルクの並び順に対する制約情報に従って複数種類のバルクを配置した列を生成する工程と、
前記列に前記ユニットセルを配置する工程と、
前記バルクの種類毎に使用情報を生成し、前記使用情報に基づいて、複数種類の前記バルクの配置の均等性を判定する工程と、
を含むことを特徴とする半導体装置の設計方法。
Generating a column in which a plurality of types of bulks are arranged according to constraint information on the order of bulks used for unit cells having a predetermined function;
Arranging the unit cells in the row;
Generating usage information for each type of the bulk, and determining the uniformity of the arrangement of the plurality of types of the bulk based on the usage information;
A method for designing a semiconductor device, comprising:
ターゲットアプリケーションに基づいて、レイアウトデータを生成し、前記レイアウトデータを含むライブラリと、前記ユニットセルに使用されるバルクに対する並び順制約とを生成する、ことを特徴とする請求項1記載の半導体装置の設計方法。   2. The semiconductor device according to claim 1, wherein layout data is generated based on a target application, and a library including the layout data and an arrangement order constraint for a bulk used for the unit cell are generated. Design method. 付記
ターゲットアプリケーションに基づいて作成するユニットセルを検討する工程と、
前記ユニットセルの検討結果に基づきレイアウト見積もりを行う工程と、
前記作成するユニットセルに使用するバルクの種類と数を、前記ユニットセルのサイズが小さくなるように設定する工程と、
前記ユニットセルにバルクを割り振る工程と、
前記バルクの種類と数に基づいて半導体装置のチップサイズを見積る工程と、
前記ユニットセルのレイアウトデータを生成し、前記レイアウトデータを含むライブラリと、前記ユニットセルに使用されるバルクに対する並び順制約とを生成する工程と、
を含むことを特徴とする請求項1又は2記載の半導体装置の設計方法。
Additional steps to consider the unit cell to be created based on the target application,
A step of performing layout estimation based on the result of examination of the unit cell;
Setting the type and number of bulk used for the unit cell to be created so that the size of the unit cell is reduced;
Allocating bulk to the unit cells;
Estimating the chip size of the semiconductor device based on the type and number of the bulk; and
Generating layout data of the unit cell, generating a library including the layout data, and an arrangement order constraint for a bulk used for the unit cell;
The method of designing a semiconductor device according to claim 1, wherein:
半導体装置のネットリストに基づいて必要なユニットセルの種類を設定する工程と、
前記ユニットセルの種類に基づいて、必要なバルクの個数をバルクの種類毎に算出する工程と、
前記並び順制約と、算出した前記バルクの個数に従って、複数種類のバルクを配置した列を生成する工程と、
を含むことを特徴とする請求項1〜3のうちの何れか一項に記載の半導体装置の設計方法。
A step of setting a necessary unit cell type based on a net list of a semiconductor device;
Based on the type of unit cell, calculating the required number of bulk for each type of bulk,
Generating a row in which a plurality of types of bulks are arranged according to the arrangement order constraint and the calculated number of bulks;
The method for designing a semiconductor device according to any one of claims 1 to 3, further comprising:
検証エリアに含まれるバルクの数と、前記ユニットセルが配置されたバルクの数とを前記バルクの種類毎に算出し、前記検証エリアに含まれるバルクの数に対する前記ユニットセルが配置されたバルクの数の比率をそのバルクの列使用率として算出し、各種類の列使用率を比較して前記バルクの配置の均等性を判定する、
ことを特徴とする請求項1〜4のうちの何れか一項に記載の半導体装置の設計方法。
The number of bulks included in the verification area and the number of bulks where the unit cells are arranged are calculated for each type of the bulk, and the number of bulks where the unit cells are arranged relative to the number of bulks included in the verification area Calculating the ratio of the number as the column usage of the bulk and comparing the column usage of each type to determine the uniformity of the arrangement of the bulk,
The method for designing a semiconductor device according to claim 1, wherein:
付記
前記ユニットセルを配置する工程は、
前記ユニットセルの概略配置を行う工程と、
前記バルクの均等性を判定する工程と、
前記判定結果に応じて、前記バルクが均等に配置されていない場合に、ユニットセルを変更する工程と、
前記判定結果に応じて、前記バルクが均等に配置されている場合に、前記ユニットセルの詳細配置を行う工程と、
を含むことを特徴とする請求項1〜5のうちの何れか一項に記載の半導体装置の設計方法。
Appendix The step of arranging the unit cell includes:
Performing a schematic arrangement of the unit cells;
Determining the bulk uniformity;
According to the determination result, when the bulk is not evenly arranged, changing the unit cell;
According to the determination result, when the bulk is arranged uniformly, the step of performing the detailed arrangement of the unit cells;
The method for designing a semiconductor device according to claim 1, comprising:
半導体装置のレイアウトデータを生成する設計支援装置により実行されるプログラムであって、
所定の機能を有するユニットセルに用いられるバルクの並び順に対する制約情報に従って複数種類のバルクを配置した列を生成する工程と、
前記列に前記ユニットセルを配置する工程と、
前記バルクの種類毎に使用情報を生成し、前記使用情報に基づいて、複数種類の前記バルクの配置の均等性を判定する工程と、
を含むことを特徴とするプログラム。
A program executed by a design support device for generating layout data of a semiconductor device,
Generating a column in which a plurality of types of bulks are arranged according to constraint information on the order of bulks used for unit cells having a predetermined function;
Arranging the unit cells in the row;
Generating usage information for each type of the bulk, and determining the uniformity of the arrangement of the plurality of types of the bulk based on the usage information;
The program characterized by including.
半導体装置のレイアウトデータを生成する設計支援装置であって、
所定の機能を有するユニットセルに用いられるバルクの並び順に対する制約情報に従って複数種類のバルクを配置した列を生成する工程と、
前記列に前記ユニットセルを配置する工程と、
前記バルクの種類毎に使用情報を生成し、前記使用情報に基づいて、複数種類の前記バルクの配置の均等性を判定する工程と、
を実行することを特徴とする設計支援装置。
A design support apparatus for generating layout data of a semiconductor device,
Generating a column in which a plurality of types of bulks are arranged according to constraint information on the order of bulks used for unit cells having a predetermined function;
Arranging the unit cells in the row;
Generating usage information for each type of the bulk, and determining the uniformity of the arrangement of the plurality of types of the bulk based on the usage information;
A design support apparatus characterized by executing
JP2010079724A 2010-03-30 2010-03-30 Semiconductor device design method and program Expired - Fee Related JP5531723B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010079724A JP5531723B2 (en) 2010-03-30 2010-03-30 Semiconductor device design method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010079724A JP5531723B2 (en) 2010-03-30 2010-03-30 Semiconductor device design method and program

Publications (2)

Publication Number Publication Date
JP2011210189A true JP2011210189A (en) 2011-10-20
JP5531723B2 JP5531723B2 (en) 2014-06-25

Family

ID=44941138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010079724A Expired - Fee Related JP5531723B2 (en) 2010-03-30 2010-03-30 Semiconductor device design method and program

Country Status (1)

Country Link
JP (1) JP5531723B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239069A (en) * 2012-05-16 2013-11-28 Denso Corp Method of designing semiconductor integrated circuit and design device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015070112A (en) * 2013-09-30 2015-04-13 光俊 菅原 Design method of da converter to be incorporated in lsi

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325953A (en) * 1989-06-23 1991-02-04 Toshiba Corp Automatic floor plan arithmetic unit
JPH03211875A (en) * 1990-01-17 1991-09-17 Fujitsu Ltd Automatically disposing method for semiconductor integrated circuit
JPH05267624A (en) * 1992-03-17 1993-10-15 Nec Ic Microcomput Syst Ltd Semiconductor integrated circuit device
JPH06177750A (en) * 1992-12-01 1994-06-24 Kawasaki Steel Corp Logic synthesizer for gate array
JPH09185641A (en) * 1995-12-27 1997-07-15 Yamaha Corp Arrangement design method for standard cell
JPH10116970A (en) * 1996-10-15 1998-05-06 Matsushita Electron Corp Method for automatically designing layout of master slice
JP2006156929A (en) * 2004-04-19 2006-06-15 Fujitsu Ltd Semiconductor integrated circuit and designing method therefor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325953A (en) * 1989-06-23 1991-02-04 Toshiba Corp Automatic floor plan arithmetic unit
JPH03211875A (en) * 1990-01-17 1991-09-17 Fujitsu Ltd Automatically disposing method for semiconductor integrated circuit
JPH05267624A (en) * 1992-03-17 1993-10-15 Nec Ic Microcomput Syst Ltd Semiconductor integrated circuit device
JPH06177750A (en) * 1992-12-01 1994-06-24 Kawasaki Steel Corp Logic synthesizer for gate array
JPH09185641A (en) * 1995-12-27 1997-07-15 Yamaha Corp Arrangement design method for standard cell
JPH10116970A (en) * 1996-10-15 1998-05-06 Matsushita Electron Corp Method for automatically designing layout of master slice
JP2006156929A (en) * 2004-04-19 2006-06-15 Fujitsu Ltd Semiconductor integrated circuit and designing method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239069A (en) * 2012-05-16 2013-11-28 Denso Corp Method of designing semiconductor integrated circuit and design device

Also Published As

Publication number Publication date
JP5531723B2 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
US8694934B2 (en) Method and apparatus for multi-die thermal analysis
US8015534B2 (en) Method and apparatus for estimating core size in designing semiconductor integrated circuit
US9767240B2 (en) Temperature-aware integrated circuit design methods and systems
US9740815B2 (en) Electromigration-aware integrated circuit design methods and systems
US11030383B2 (en) Integrated device and method of forming the same
CN104981805A (en) Automatic clock tree routing rule generation
Kahng et al. PROBE: A placement, routing, back-end-of-line measurement utility
CN107403024A (en) The analysis method and computer-readable recording medium of IC voltage drop and electromigration
CN112100971A (en) Method for constructing hierarchical clock tree for integrated circuit
US10860761B1 (en) Systems and methods for enhanced clock tree power estimation at register transfer level
US20130290914A1 (en) Methods and Apparatus for Floorplanning and Routing Co-Design
JP5531723B2 (en) Semiconductor device design method and program
Lin et al. F-FM: Fixed-outline floorplanning methodology for mixed-size modules considering voltage-island constraint
Lu et al. Clock mesh synthesis with gated local trees and activity driven register clustering
TW202129529A (en) Integrated circuit layout
Kabir et al. Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design
US9177090B1 (en) In-hierarchy circuit analysis and modification for circuit instances
US11816407B1 (en) Automatic channel identification of high-bandwidth memory channels for auto-routing
JP2004178501A (en) Design method of and design device for semiconductor integrated circuit device
Stringfellow et al. Decoupling capacitance estimation, implementation, and verification: A practical approach for deep submicron SoCs
JP4824785B2 (en) Core size estimation method, chip size estimation method and design apparatus
EP4152201A1 (en) Systems and methods for circuit design dependent programmable maximum junction temperatures
US11934760B1 (en) Voltage impacts on delays for timing simulation
US9026475B2 (en) Area trim service business method
Kim et al. AMD, USA

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5531723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees