JP5531723B2 - 半導体装置の設計方法及びプログラム - Google Patents

半導体装置の設計方法及びプログラム Download PDF

Info

Publication number
JP5531723B2
JP5531723B2 JP2010079724A JP2010079724A JP5531723B2 JP 5531723 B2 JP5531723 B2 JP 5531723B2 JP 2010079724 A JP2010079724 A JP 2010079724A JP 2010079724 A JP2010079724 A JP 2010079724A JP 5531723 B2 JP5531723 B2 JP 5531723B2
Authority
JP
Japan
Prior art keywords
bulk
type
design support
usage rate
support apparatus
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.)
Expired - Fee Related
Application number
JP2010079724A
Other languages
English (en)
Other versions
JP2011210189A (ja
Inventor
誠 関戸
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/ja
Publication of JP2011210189A publication Critical patent/JP2011210189A/ja
Application granted granted Critical
Publication of JP5531723B2 publication Critical patent/JP5531723B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

半導体装置の設計方法及びプログラムに関する。
従来、短期間でユーザの要望に応じたチップを提供するために、ゲートアレイ等の半導体装置が用いられている。ゲートアレイは、複数の素子(例えばトランジスタ)を含むバルク(Bulk)を格子状に形成したマスタ基板に、配線を形成することによりチップとして提供される。
回路を構成するセル(例えばAND回路)は、バルクの構成に応じて、1又は複数のバルクにより構成される。例えば、4個のトランジスタを含むバルクの場合、アンド回路は1個のバルクを用いて形成される。しかし、フリップフロップ回路等のように、構成するトランジスタの数が多いセルは、複数のバルクを用いて形成される。
このため、複数種類のバルクを基板上に形成することが提案されている。例えば、図20(a)に示すように、4個のトランジスタを含む第1のバルク(図中,「A」と表記)と、8個のトランジスタを含む第2のバルク(図中,「B」と表記)とを基板上に形成する。第2のバルクの面積は、2個の第1のバルクの面積よりも小さい。これは、第2のバルクについて、バルクに含まれるトランジスタ同士を分離する必要がないためである。つまり、図20(b)示すように、1種類のバルク(図では第1のバルクA)を用いたゲートアレイに比して、複数種類のバルクを用いたゲートアレイの方が、セルサイズを小さくすることができる。
ゲートアレイに形成するためのセル(ゲートアレイセル)は、使用するバルクに応じて設計される。つまり、図20(a)に示すゲートアレイの場合、セルは、第1のバルクAと第2のバルクBとの少なくとも一方を用いて定義される。このため、セルの配置に自由度が少なくなる。例えば、第1のバルクAと第2のバルクBをそれぞれ1個使用するセルは、第1のバルクAと第2のバルクBとが隣接する場所にしか配置できない。
このため、特定の列に対してセルが集中して配置されることになる。すると、セルに接続される配線も集中することになり、信号配線の収束性、即ち全ての信号配線を接続することができにくくなる場合がある。このように、チップサイズを縮小する妨げとなっていた。
本発明の一観点によれば、設計支援装置が、ネットリストと、複数種類のユニットセルのレイアウト情報とに基づいて、半導体装置に搭載する前記ユニットセルの種類を解析し、前記解析されたユニットセルの種類に基づいて前記半導体装置に搭載する少なくとも第1及び第2の種類を含む複数種類のバルクの個数を算出し、前記複数種類のバルクの並び順に対する制約情報に基づいて前記半導体装置に含まれる複数の列領域に前記複数種類のバルクを配置し、前記配置された前記複数種類のバルクを含む前記ユニットセルを前記複数の列領域に配置し、前記複数の列領域のそれぞれに配置された前記ユニットセルのそれぞれに含まれる前記複数種類のバルクの数に基づいて、前記各列領域における前記バルクの種類毎の使用率を求め、前記各列領域における第1の種類のバルクの使用率と第2の種類のバルクの使用率の差が閾値よりも大きい場合に、前記各列領域に配置された前記ユニットセルの配置位置を変更する
本発明の一観点によれば、チップサイズの縮小を図ることができる。
設計支援装置の概略構成図である。 設計処理の概略フローチャートである。 ユニットセル作成処理のフローチャートである。 チップレイアウト作成処理のフローチャートである。 チップレイアウト作成処理のフローチャートである。 (a)(b)は、バルク配置の説明図である。 (a)(b)は、バルク配置の説明図である。 (a)〜(c)は、バルク配置の説明図である。 (a)〜(c)は、バルク配置の説明図である。 (a)(b)は、バルク配置の説明図である。 バルク配置の説明図である。 (a)(b)は、バルク配置の説明図である。 (a)(b)は、バルクの説明図である。 (a)(b)は、バルクの説明図である。 ROW内バルク形状決定処理の説明図である。 ROW内バルク形状決定処理の説明図である。 (a)(b)は、バルク形状決定処理の説明図である。 ROW内バルク形状決定処理の説明図である。 チップレイアウト作成処理のフローチャートである。 (a)(b)は、バルク配置の説明図である。
以下、一実施形態を図面に従って説明する。
図1に示すように、設計支援装置11は、例えば一般的な設計支援装置(CAD:Computer Aided Design )であり、中央処理装置(以下、CPUという)12、メモリ13、記憶装置14、表示装置15、入力装置16、及び、ドライブ装置17により構成され、それらはバス18を介して相互に接続されている。この設計支援装置11は、半導体装置に形成するユニットセルを作成するデータ作成装置として機能する。また、設計支援装置11は、ユニットセルを用いて半導体装置に形成するパターンを作成するデータ作成装置として機能する。
CPU12は、メモリ13を利用してプログラムを実行し、半導体装置の設計等の必要な処理を実現する。メモリ13には、各種処理を提供するために必要なプログラムとデータが格納され、メモリ13としては、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。
表示装置15は、パターン表示、パラメータ入力画面等の表示に用いられ、これにはCRT,LCD,PDP等が用いられる。入力装置16は、ユーザからの要求や指示,パターン,パラメータの入力に用いられ、これにはキーボードおよびマウス装置(図示せず)等が用いられる。設計支援装置11は、ライブラリに基づくユニットセルのパターン(図形)、バルクの配列状態、検証結果、等を表示装置15に表示させることもできる。
記憶装置14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置14には、半導体装置(半導体集積回路装置)を設計するためのプログラムデータを含むファイルが格納され、CPU12は、入力装置16による指示に応答しているプログラムをメモリ13へ転送し、それを実行する。
この設計支援装置11において、記憶装置14には図3〜5に示すファイルが格納される。これらのファイルには、半導体装置を製造するために用いられる各種データ、図3〜図5に示す各処理においてCPU12が作成する各種データが格納される。尚、各ファイルに格納されるデータについては後述する。設計支援装置11は、記憶装置14のファイルに格納されたデータを読み出し、そのデータに基づいて、半導体装置の設計データ(例えばレイアウトデータ)を作成する。そして、設計支援装置11は、作成したデータを含むファイルを記憶装置14に格納する。
CPU12が実行するプログラムデータは、記録媒体19にて提供される。ドライブ装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、ドライブ装置17を介して記録媒体19からプログラムデータを読み出し、それを記憶装置14にインストールする。
記録媒体19としては、磁気テープ(MT)、メモリカード、フレキシブルディスク、光ディスク(CD-ROM,DVD-ROM,… )、光磁気ディスク(MO,MD,…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体19に、上述のプログラム,データを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。
尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
次に、設計処理の概要を図2に従って説明する。
ステップ21(ユニットセル作成工程)において、設計支援装置11は、チップに搭載するユニットセルが使用するバルク及びその並びを決定し、ユニットセルのレイアウトデータを生成する。
ステップ22(チップレイアウト工程)において、設計支援装置11は、ユニットセルのバルクに応じて、チップ上の列、及び列を構成するバルクの並びを決定する。そして、設計支援装置11は、ユニットセルを配置し、チップのレイアウトデータを生成する。
ステップ22は、ステップ22a〜22cのサブステップを含む。
ステップ22a(バルク領域設定)において、設計支援装置11は、バルク情報と半導体装置の論理情報に基づいて、列(バルク領域)を設定する。バルク情報は、ステップ21において設定したユニットセルが使用するバルク、バルクの並び順に対する制限情報を含む。論理情報は例えばチップに形成する回路のネットリストである。設計支援装置11は、バルク情報と論理情報とに基づいて、列に形成するバルクの種類、数、並び順を設定する。
ステップ22b(セル配置)において、設計支援装置11は、ステップ22aにおいて生成した列にユニットセルを配置する。次に、ステップ22c(バルク使用状況検証)において、設計支援装置11は、チップ上の列について、バルクの列使用率をバルクの種類毎に算出する。そして、設計支援装置11は、算出した列使用率に基づいて、バルクの使用状況が均等か不均等かを判定し、不均等の場合にステップ22bに戻ってセル配置を変更する。
一方、設計支援装置11は、バルクの使用状況を均等と判定した場合、ステップ23に移行する。そして、ステップ23(配線工程)において、設計支援装置11は、配置したセルに対する信号配線の配置データを生成する。
次に、ユニットセル作成処理を図3に従って説明する。
ステップ41(作成セル検討)において、設計支援装置11は、ファイル31から読み出したターゲットアプリケーションの情報と、ファイル32から読み出したプロセスルールに従って、作成するユニットセルの種類を検討する。ターゲットアプリケーション31には、ユーザが要求する半導体装置(チップ)の使用目的(アプリケーション)の情報が含まれる。アプリケーションは、例えば、デジタルスチルカメラ、プリンタ等の用途を示す情報である。作成するユニットセルは、例えば、論理積回路(AND回路),否定論理積回路(NAND回路),フリップフロップ回路(FF回路)、等の論理回路の種別、駆動能力(出力電流量)等の電気的特性が異なるバッファ回路やインバータ回路、等である。
半導体装置の用途(アプリケーション)により、必要とするセルの種類(論理回路や電気的特性)が異なる。このため、設計支援装置11は、ターゲットアプリケーションの情報に基づいて、作成するセルの種類を検討する。
次に、ステップ42(レイアウト見積もり)において、設計支援装置11は、ステップ41の検討結果と、プロセスルール32に基づいて、バルクの形状を検討する。プロセスルール32には、チップを作成する製造工程における製造ルール(例えば、180nm,90nm等の線幅、配線間隔、等)が含まれる。設計支援装置11は、作成するユニットセルに対して、セルの面積を最も小さくするために、必要とするバルクの形状(バルクの構造)を見積る。
例えば、設計支援装置11は、レイアウトが最も小さなバルク形状のセル(例えばスタンダードセル)のレイアウトを基準とする。そして、設計支援装置11は、作成するユニットセルに必要なバルクの種類及び数を洗い出す。
次に、ステップ43(バルク種類検討)において、設計支援装置11は、ステップ42において洗い出したバルクの情報に基づいて、作成するバルクの種類の数を設定する。
ユニットセルを配置する観点では、バルクの種類が少ないほど配置の自由度が高くなり、バルク配置の均等性を良くすることができる。一方、ユニットセルのサイズ(面積)の観点では、バルクの種類が少ないと、セルサイズが大きくなり、チップサイズの増大を招く。このため、設計支援装置11は、バルク種類の組合せが異なる組合せ例を複数記憶し、洗い出したバルクの種類から、組合せ例を選択する。その組合せ例を以下に示す。
第1の案(A案)は、2種類のバルクを含む。これらのバルクは、図13(a)に示すように、4個のトランジスタを含むバルク(以下、4Trバルク)B1Aと、図13(b)に示す8個のトランジスタを含むバルク(以下、8Trバルク)B1Bである。第2の案(B案)は、2種類のバルクを含む。これらのバルクは、図14(a)に示す6個のトランジスタを含むバルク(以下、6Trバルク)B2Aと、8Trバルク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案)を採用する。
次に、設計支援装置11は、採用したバルク種類の案に基づいて、バルクの使用状況を算出する。例えば、図16に示すように、デジタルスチルカメラの場合、4Trバルクと、8Trバルクの使用状況の割合は、50%:50%となる。また、プリンタの場合、6Trバルクと、8Trバルクの使用状況の割合は、40%:60%となる。
次に、ステップ44(各セルのバルク割り振り)において、設計支援装置11は、作成する各ユニットセルに対して、利用するバルクを決定する。
例えば、1つのユニットセルがNAND回路の場合、このセルを4Trバルクのみを用いてレイアウトした方が良いか、8Trバルクのみを用いてレイアウトした方が良いかを、検討する。
ステップ45(チップサイズ見積り)において、設計支援装置11は、設定したバルクの種類、バルクを割り振るセルの種類及び数に基づいて、バルクを搭載するチップの概略サイズを見積る。例えば、設計支援装置11は、ネットリストから各ユニットセルの数を算出し、その算出結果から各バルクの使用数を算出する。そして、設計支援装置11は、バルクの数にバスクの面積を乗算し、各バルクの総面積の和に、チップにおいてバルク以外に必要とする要素(I/Oセルやパッド)の面積を加算した結果を、チップの概略サイズとする。
ステップ46(チップサイズ検証)において、設計支援装置11は、ステップ45において見積もったチップのサイズが妥当か否かを判定する。設計支援装置11は、ターゲットとするチップのサイズと、ステップ45において見積もった概略サイズとを比較し、予定した数及び種類のバルクがチップに搭載可能であるか否かを判定する。そして、設計支援装置11は、搭載可能であると判定した場合には次のステップ47に移行する。一方、設計支援装置11は、搭載不可能であると判定した場合には、ステップ43又はステップ44に移行する。移行するステップは、例えば、サイズの比較結果に応じて設定される。例えば、ターゲットのサイズと見積もった概略サイズとの差が大きい場合にはステップ43へ移行し、差が小さい場合にはステップ44へ移行する。
ステップ47(レイアウト)において、設計支援装置11は、設定した各バルクを用いてユニットセルのレイアウトデータを作成し、その作成したレイアウトデータをユニットセルライブラリ(Unit Cell ライブラリと表記)33に格納する。ユニットセルのレイアウトデータは、ユニットセルを形成するために必要とするバルクの種類及び個数を含む。また、ユニットセルのレイアウトデータは、バルク内にあってゲート間を接続する配線のデータ、複数のバルクを用いて形成されたユニットセルにおいてバルク間を接続する配線のデータを含む。
また、設計支援装置11は、作成したユニットセルのレイアウトに基づいて、バルクの並び順制約の情報を作成し、その情報をファイル34に格納する。並び順制約は、使用するバルクの種類、及び使用するバルクの並び順の定義情報である。例えば、1つのセルをチップ上に形成するためには、1つのバルクBと、2つのバルクAを必要とし、それらのバルクは「BAA」の順番で並べられていなければセルを形成することができない。また、別のセルをチップ上に形成するためには、それぞれ1つのバルクA,Bを必要とし、それらのバルクは「AB」の順番で並べられていなければセルを形成することができない。これらの場合、設計支援装置11は、各セルのバルクの並びを並び順制約として抽出し、それらの情報をファイル34に格納する。
次に、チップレイアウト作成処理を図4,図5に従って説明する。
図4に示すステップ61(セル種類解析)において、設計支援装置11は、タイミング制約51、ネットリスト52、ユニットセル(Unit Cell )ライブラリ33を読み込む。タイミング制約51は、タイミングを考慮した配置処理時に参照されるデータであり、回路のクロック情報、マルチパス、フォールトパス等が記述されている。ネットリスト52は、端子やユニットセル等の回路要素の接続関係を示すデータである。設計支援装置11は、読み込んだデータに基づいて、半導体装置(チップ)に搭載するユニットセルの種類を解析する。
次に、ステップ62(バルク種毎の個数算出)において、設計支援装置11は、ステップ61において解析したセル種類に基づいて、チップ上にユニットセルを形成するために必要なバルクの個数を算出する。更に、設計支援装置11は、算出したバルクの個数に基づいて、列(ROW)に配列するバルクの個数を算出する。
ネットリストには、ネットリストに含まれるユニットセルに対して、配線により伝達される信号のタイミングを調整するために必要なセル(クロックバッファ、バッファ、インバータ、等)は含まれていない。また、上記のタイミングの調整や、半導体装置の特性(例えば消費電力)などを調整するために、ユニットセルを同じ論理構成であって電気的特性が異なるユニットセルに交換する場合がある。このような場合を想定し、列に含まれるバルクの数に対して、ネットリストに従って使用するバルクの数の比率(ロウ使用率)が設定される。設計支援装置11は、このロウ使用率に従って、ロウを構成するバルクの数を、バルクの種類毎に算出する。
次に、ステップ63(ROW生成)において、設計支援装置11は、ユニットセルバルク並び順制約34に基づいて、列に対するバルクの配列を決定する。設計支援装置11は、制約34に応じた数のバルクを、その制約に従って配置する。例えば、2種類のバルク(バルクAとバルクB)を同数配置する場合、図17(a)に示すように、各種類のバルクをまとめて配置することが考えられる。しかし、このように配置すると、バルクAを使用するセル、バルクBを使用するセルが隣接して配置されることになる、つまり、同様な特性のセルが集中して配置されることとなる。このため、設計支援装置11は、並び順制約34に従って、図17(b)に示すように、バルクAとバルクBを交互に配置する。このように配置することで、セルが集中配置されるのを防ぐことができる。
そして、設計支援装置11は、並び順制約34を満足し、バルクが残った場合、つまり制約34を満足するバルクの個数が、ステップ62において算出したバルクの個数よりも少ない場合、その差の数のバルクを均等に配置する。設計支援装置11は、例えば図18に示すように、制約に従って、バルクBとバルクAを「BAA」の並びで配置した後、それぞれ同数のバルクBとバルクAを配置する。
なお、チップ上にメモリ(RAM:Random Access Memory)を形成することもできる。この場合、ユニットセルの種類としてRAMセルを用意する。そして、設計支援装置11は、図3にステップ42においてバルク形状のレイアウトを見積もり、ラムバルク並び順制約(G/A RAM Bulk並び順制約と表記)53に基づいてバルクを配置する。
次に、ステップ64(バルク数判定)において、設計支援装置11は、ステップ63において生成した列(ROW)について、列に含まれるバルクの個数をバルクの種類毎に検証する。なお、後の工程においてセルが追加される可能性がある。追加されるセルの個数は、過去の半導体装置の設計において追加されたセルの個数を元に設定される。このため、設計支援装置11は、追加されるセルの個数を考慮したロウ使用率を設定、若しくはアプリケーションに応じた値をテーブルから読み出し、その比率に基づいて検証を行う。なお、ロウ使用率をユーザが設定し、その比率ベースで検証するようにしてもよい。設計支援装置11は、バルク数が足りているか否かを判定し、足りている(OK)場合には次のステップに移行し、足りていない(NG)場合にはステップ63に戻ってロウの再作成を行う。
ステップ65(並び順制約判定)において、設計支援装置11は、ステップ63において生成した列(ROW)について、列に含まれるバルクの配列が、全てのユニットセルを配置可能な配列か否かを検証する。そして、設計支援装置11は、配置可能(OK)と判定した場合には次のステップに移行し、配置不可能(NG)と判定した場合にはステップ63に戻ってロウの再作成を行う。
次に、ステップ66(セル配置)において、設計支援装置11は、生成した列に対してユニットセルを配置する。
次に、ステップ67(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。制御値54は、検証サイズ、均等値を含む。検証サイズは、1回の検証処理において、検証の対象とするバルクが含まれる範囲(検証エリア)を示す値である。均等値は、検証サイズに含まれる各種のバルクの使用率の差に対する許容値である。
設計支援装置11は、検証エリアに含まれるバルクの個数(総数)と、検証エリア内において使用されたバルクの個数(使用数)を、各バルクの種類毎にカウントする。設計支援装置11は、使用率、すなわち総数に対する使用数の比率を、バルクの種類毎に算出する。そして、設計支援装置11は、各種のバルクの使用率の差を算出し、その差の値と均等値とを比較する。設計支援装置11は、使用率の差が均等値以下の場合に、配置が均等である(OK)と判定し、次のステップに移行する。一方、使用率の差が均等値より大きい場合、設計支援装置11は、配置が均等ではない(NG)と判定し、ステップ66に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ66の処理を繰り返し実行する。
図5に示すステップ68(クロックツリー生成:CTS:Clock Tree Synthesis)において、設計支援装置11は、ネットリスト52に基づいて、クロックツリー、すなわちユニットセルにクロック信号を供給する経路(パス)を形成する。クロックツリーは、パス中に含まれるクロックバッファと、セル間を接続する配線を含む。設計支援装置11は、クロックバッファの配置情報(座標値)と、配線の配置情報(配線層、配線位置)を生成する。
次に、ステップ69(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等ではない(NG)と判定したばあいにステップ70に移行し、配置が均等である(OK)と判定した場合にステップ71に移行する。
ステップ70(均等配置)において、設計支援装置11は、バルクの配置が均等となるように、セルの配置位置を変更する。例えば、設計支援装置11は、バルクの使用率が高いエリアのユニットセルを、バルクの使用率が低いエリアに移動させる。
使用するバルクが異なるユニットセルは、ユニットセルのサイズや、配線を接続するためにセルに形成される端子の数が異なる。バルクの使用率を均一化することは、そのブロック(エリア)に含まれるユニットセルの密度や、端子の数の均一化につながる。ユニットセルの密度が低くなると、その分、チップサイズの縮小を図ることや、セル間等を接続する配線を形成し易くする。また、端子の数を均一化することにより、配線の集中を防止して、未結線配線の発生を抑制し、設計時間の短縮を図ることができる。
ステップ71(電源電圧検証:IR−DROP検証)において、設計支援装置11は、配置したセルの情報に基づいて、電源配線におけるチップ内部の電位降下を検証する。例えば、設計支援装置11は、シミュレーション(電源配線による抵抗網解析)により、チップ内部の電圧降下を算出する。そして、設計支援装置11は、算出した電圧降下により、各セルに供給される電源電圧値を算出する。そして、設計支援装置11は、算出した電源電圧値が動作保証範囲内か否かを判定する。設計支援装置11は、電源電圧値が動作保証範囲内であるときに検証OK(適合)と判定し、電源電圧値が範囲外であるときに検証NG(不適合)と判定する。
次に、ステップ72(検証判定)において、設計支援装置11は、ステップ71における検証結果がOKかNGかを判定する。そして、設計支援装置11は、検証結果がOKであるときにはステップ75に移行し、検証結果がNGであるときにはステップ73に移行する。
ステップ73(セル再配置)において、設計支援装置11は、セルの再配置を行う。
次に、ステップ74(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等である(OK)と判定した場合にステップ75に移行し、配置が均等ではない(NG)と判定したばあいにステップ73に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ73の処理を繰り返し実行する。
なお、クロックツリーに含まれるクロックバッファは、入力信号(クロック信号)に応答して出力信号を変更するため、他の論理回路を構成するセルに比べて動作が多く、消費電力が高い。設計支援装置11は、バルクの配置が均等となる、未使用又は使用したバルクの数が、各検証エリア、バルクの種類に対して、均等となるように、ユニットセルを配置する。従って、クロックバッファも分散して配置されるため、チップにおいて、消費電力の分布が集中しにくくなる。
消費電力が高いセルが集中して配置されると、その配置された領域における電源電圧降下が、他の領域におけるそれよりも大きくなるため、ステップ72の検証において、電圧降下が規定よりも大きくなる場合がある。しかし、設計支援装置11はクロックバッファ等を均等配置するため、電圧降下が大きいセルが集中して配置されなくなり、NGと判定されにくくなる。このことは、設計時間を短縮させる要因となり、設計期間の短縮、コスト低減に寄与する。
次に、ステップ75(信号配線)において、設計支援装置11は、ネットリスト52に基づいて、回路要素を接続する信号配線の情報を生成する。そして、設計支援装置11は、ユニットセルや配線を含むチップのレイアウトデータ(図示略)を記憶装置14に記憶する。
次に、ステップ76(タイミング検証)において、設計支援装置11は、チップに形成する配線について、タイミング検証を行う。設計支援装置11は、ユニットセルや配線の電気的特性、配線長などに基づいてタイミング解析(例えば、静的タイミング解析)を行い、その解析結果に基づいて、タイミングエラーの原因(クロック・スキュー、グリッチ、等)の有無を検証する。
次に、ステップ77(検証判定)において、設計支援装置11は、検証結果に基づいて、タイミングエラーの原因が存在しない(OK)の場合に処理を終了する。一方、検証結果に基づいて、タイミングエラーの原因が存在する(NG)の場合、設計支援装置11はステップ78に移行する。
ステップ78(セル挿入)において、設計支援装置11は、タイミングエラーを解消するように、挿入するユニットセル(例えばバッファ)の選択と、ユニットセルを挿入する箇所(ネット)を設定する。そして、ステップ79(セル再配置)において、設計支援装置11は、ステップ78において設定したユニットセルを、該当する列に挿入する。そして、設計支援装置11は、ユニットセルや配線を含むチップのレイアウトデータ(図示略)を記憶装置14に記憶する。
次に、ステップ80(バルク使用状況検証)において、設計支援装置11は、制御値54に基づいて、バルクの配置が均等か否かを判定する。そして、設計支援装置11は、配置が均等である(OK)と判定した場合に処理を終了する。一方、配置が均等ではない(NG)と判定した場合、設計支援装置11は、ステップ79に移行する。つまり、設計支援装置11は、バルクの配置が均等である(OK)と判定するまでステップ79の処理を繰り返し実行する。
次に、バルクのレイアウト例を用いて上記の処理を説明する。
図6(a)には、単一のバルク(図中「A」と表記)を用いたチップレイアウトの一部が示されている。このチップの場合、ROW(列)は、1種類のバルクAにより構成される。このようにバルクが形成されたチップには、バルクAを用いたユニットセルが配置される。
図6(b)には、2つのバルク(図中「A」「B」と表記)を用いたチップレイアウトの一部が示されている。このチップの場合、ROW(列)は、1個のバルクBと2個のバルクAの割合で構成されている。このように、バルクが形成されたチップには、バルクAを用いたユニットセル、バルクBを用いたユニットセル、バルクA及びバルクBを用いたユニットセルが配置される。
図1に示す設計支援装置11は、チップに形成するバルクに従ってユニットセルを配置する。そして、設計支援装置11は、列に含まれるバルクに対して配置したセルが使用するバルクの比率をロウ使用率として、各バルクの種類毎に算出する。
例えば、図7(a)に示すように、チップに形成される各列R1は、バルクAとバルクBを含む。尚、図7(a)は、検証エリアK1に含まれる列R1及びバルクA,Bを示している。
設計支援装置11は、図7(a)に示す列に対して、図7(b)に示すように、セルを配置する。なお、図7(b)において、ハッチングによりユニットセルを配置したバルクを示している。
そして、設計支援装置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)となる。
次に、設計支援装置11は、バルクAの列使用率と、バルクBの列使用率とを比較する。そして、設計支援装置11は、その比較結果に基づいて、ユニットセルを変更する。設計支援装置11は、ユニットセルの変更として、ユニットセルの配置位置を変更する。例えば、設計支援装置11は、各バルクの列使用率の相対的な差(絶対値)と所定のしきい値とを比較し、列使用率の差がしきい値よりも大きいときに、ユニットセルを変更し、列使用率の差がしきい値以下のときにはユニットセルを変更しない。しきい値は、例えば、列に含まれるバルクの種類、各バルクの個数に応じて設定される。
例えば、しきい値を5%とすると、図7(b)において、バルクAの列使用率とバルクBの列使用率の差が6.25%であるため、設計支援装置11は、ユニットセルを変更する。例えば、バルクAを使用するユニットセルのうちの1つと、バルクBを使用するユニットセルのうちの1つを、この検証エリアK1から他の場所へ移動させる。これにより、バルクAの列使用率と、バルクBの列使用率との均一化を図る。
尚、列使用率の上限値を設定し、各バルクの列使用率が上限値を超えるときに、列使用率の均一化を図るようにしてもよい。各バルクの使用率が上限値よりも小さい場合、検証エリア内には使用可能な多くのバルクが含まれている。従って、各バルクの列使用率を均一化しなくても、各バルクを使用するユニットセルを自由に配置することができるからである。
次に、ユニットセルの調整について説明する。
今、一例として、図8(a)に示すように、バルクAとバルクBを使用してユニットセルが配置されている。図において、使用されたバルクAを右下がりのハッチングにて示し、使用されたバルクBを左下がりのハッチングにて示す。ハッチングが無いバルクは未使用である。この場合、バルクAの列使用率とバルクBの列使用率は、それぞれ56.25%,50%である。
上記のエリア内に、例えば、4個のバッファセルを挿入する。1個のバッファセルは、4個のトランジスタにより構成される。上記したように、バルクAは4個のトランジスタを含み、バルクBは8個のトランジスタを含む。従って、図8(c)に示すように、バルクAのみを使用して4個のバッファセル91を挿入することが可能である。しかし、このようにバッファセルを挿入すると、バルクAの列使用率が81.25%となり、バルクAの列使用率が局所的に増加することになる。
このため、設計支援装置11は、バルクが異なるユニットセルを選択する。例えば、設計支援装置11は、挿入する4個のバッファセルのうち、図8(b)に示すように、バルクAを使用する2個のバッファセル91を選択するとともに、バルクBを使用する2個のバッファセル92を選択する。すると、バルクAの列使用率とバルクBの列使用率は、それぞれ68.75%,75%となる。このように、図8(c)に示すレイアウトに比して、図8(b)に示すレイアウトは、バルクの列使用率が均一化されている。
なお、バルクBを使用するバッファセルは、バルクAを使用するバッファセルの駆動能力の1.5倍の駆動能力を持つ。つまり、設計支援装置11は、挿入するユニットセルの電気的特性の変更を許容することにより、バルクの列使用率を均一化することができる。
また、別の例として、図9(a)に示すように、バルクAとバルクBを使用してユニットセルが配置されている。この場合、バルクAの列使用率とバルクBの列使用率は、それぞれ43.75%,50%である。
上記のエリア内に、例えば、3個のバッファセルを挿入する。1個のバッファセルは、隣接する2つのバルクAを使用するように定義されている。この場合、図9(c)に示すように、2個のバッファセル93しか挿入することができない。
これに対し、ユニットセルライブラリ33(図3参照)には、2個のバルクAを使用するバッファセルと同じ電気的特性を有し、1個のバルクBを使用するバッファセルが定義されている。このため、設計支援装置11は、挿入するユニットセルの種類を変更する。つまり、図9(b)に示すように、バルクBを使用するバッファセル(ユニットセル)94を配置する。すると、バルクAの列使用率とバルクBの列使用率は、それぞれ68.75%,62.5%となる。このように、同じ電気的特性を有し、使用するバルクが互いに異なる2種類のバッファセル93,94を作成してユニットセルライブラリ33に登録しておくことにより、挿入するすべてのバッファセル93,94をエリア内に配置することができる。また、定義された2種類のバッファセルを用いることにより、バルクの列使用率を均一化することができる。
次に、単一のバルクで構成したチップにおけるセル配置と、複数種類のバルクで構成したチップにおけるセル配置について説明する。
複数種類のバルクにより構成されるユニットセルは、使用するバルクの配列に応じて、配置位置に制約を受ける。例えば、図10(a)に示すように、バルクBとバルクAをそれぞれ1つ使用するユニットセル101の場合、図中に黒丸で示す点を基準点として列R2に配置される。
一方、図10(b)に示すように、1種類のバルクにより構成されるユニットセル102は、図中に黒丸で示す点を基準点として列R3に配列される、つまり、バルクの配列ピッチで配置の基準点を設定することができるため、配置の自由度が複数種類のバルクを用いた場合に比して高い。
しかし、複数種類のバルクにより構成されたユニットセルは、単一種類のバルクにより構成されたユニットセルよりも、セル面積が小さくなる。従って、単位面積あたりのセル数が、単一種類のバルクを形成したチップよりも多くなる、すなわち集積度が高くなる。そして、複数種類のバルクにより構成されるユニットは、単一種類のバルクにより構成されるユニットセルのレイアウトを利用して作成することが可能である。従って、ユニットセルをいちから作成する場合に比して、設計にかかる時間が短い、すなわち開発コストをかけることなくユニットセルを作成することができる。また、チップ上のバルクは、制約にしたがって規則的に配列(レイアウト)される。このため、ユニットセルの電気的特性のばらつきを抑えることができる。
複数種類のバルクを用いた場合、バルクの種類に応じて回路を分けることができる。ユニットセルは、例えば、AND回路やNAND回路等の組合回路と、フリップフロップ回路やラッチ回路等の順序回路とに分けられる。一般的に、組合回路と順序回路は、図11に示すように、セル面積については組合せ回路が順序回路よりも小さく、端子密度については組合せ回路が順序回路よりも高い。そして、組合せ回路をバルクAを用いて構成し、順序回路をバルクBを用いて形成される。端子密度が高い回路は、その端子に接続される配線の数が多いため、その回路の周辺に配線の混雑を招く。
しかし、設計支援装置11は、制約にしたがうものの、複数種類のバルクを均等的に配置する。したがって、端子密度が高いセルが集中されにくくなるため、配線の混雑を低減することが可能となる。また、クロックバッファのように、消費電力が大きいユニットセルは、分散して配置されることになるため、エリア毎の消費電力のバラツキが抑えられることになる。この結果、特定箇所での電圧降下が発生しにくくなる。
次に、ユニットセルとチップの列について説明する。
設計支援装置11は、図3に示すフローチャートに従って、ユニットセルと並び順制約を生成する。そして、設計支援装置11は、並び順制約に従ってチップの列にバルクを配置し、ユニットセルを配置する。
チップに形成するユニットセルは、チップを使用する目的(アプリケーション)や、チップに形成する回路(ネットリスト)に応じて設定される。上記したように、アプリケーションに応じて回路が設計され、ネットリストが生成される従って、アプリケーションの情報や、ネットリストにより、使用するバルク、各種類のバルクの個数の割合を判断することができる。これにより、チップの列に形成するバルクの割合を設定することができる。そして、ユニットセルのレイアウト、つまりバルクの並び順により、列におけるバルクの並び順序を設定することができる。
従って、図12(a)に示すように、バルクAの個数がバルクBの個数よりも多く設定された列や、図12(b)に示すように、バルクAの個数がバルクBの個数よりも少なく設定された列等が形成される。そして、バルクAとバルクBの並び順序が設定される。例えば、バルクBとバルクAをそれぞれ1個含むユニットセルの場合、このユニットセルを図12(a)に示す列では3個配置することができる。しかし、図12(b)に示す列では2個、図17(a)に示す列では1個しか配置することができない。
このように、ユニットセルを構成するバルクの種類及び配列と、チップ上の列を構成するバルクの比率及び配列とを対応させることにより、ユニットセルを確実に配置すること、使用するバルクを均一化すること、ユニットセルの面積を縮小してチップのサイズを縮小することができる。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)設計支援装置11は、作成したユニットセルに応じて、複数種類のバルクを配置した列(バルク領域)を設定し(ステップ22a)し、列にユニットセルを配置する(ステップ22b)。設計支援装置11は、列におけるバルクの使用情報をバルクの周類毎に生成し、その使用情報に基づいてバルクの使用状況を検証する(ステップ22c)。そして、設計支援装置11は、バルクの配置が均等ではない場合にユニットセルの配置を変更するようにした。
ユニットセルを複数種類のバルクにより構成することで、ユニットセルのサイズを、単一のバルクを用いたユニットセルに比して小さくすることができる。また、ユニットセルが使用するバルクに応じて列を生成することにより、ユニットセルを効率よく列に配置することができる。この結果、ユニットセルの集積度が上がるため、チップサイズの縮小を図ることができる。
(2)設計支援装置11は、列におけるバルクの列使用率をバルクの種類毎に算出し、各種類のバルクの列使用率が均一となるように、ユニットセルの配置位置を変更するようにした。その結果、クロックツリーの生成やタイミング検証結果に応じて追加するユニットセルを配置することが可能となる。このため、チップサイズを増大させる必要がなく、見積もったサイズのチップにより形成する、つまりチップサイズの縮小を図ることができる。また、ユニットセルが配置できずにチップ全体の配置をやり直す等の手戻りの発生が無くなるため、設計期間の短縮を図ることができる。
(3)設計支援装置11は、ターゲットアプリケーション31に基づいて、ユニットセルのレイアウトデータを生成し、レイアウトデータを含むユニットセルライブラリ33と、ユニットセルに使用されるバルクに対する並び順制約34とを生成する。このように、ターゲットとするアプリケーションに応じたユニットセルを作成することにより、ターゲットアプリケーションに対応してチップのサイズを縮小することが可能となる。
尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態において、ユニットセルを変更して使用するバルクの均等化を図るようにしてもよい。その場合の処理を図19に示す。
設計支援装置11は、ステップ111において、ユニットセルを概略配置する。概略配置は、ユニットセルが含まれるブロック(例えば検証エリア)を決定する処理である。
次に、ステップ112において、設計支援装置11は、制御値54に従ってバルクの配置が均等か否かを判定する。これにより、設計支援装置11は、ブロックにおける配置混雑度を確認する。そして、設計支援装置11は、配置が均等ではない(図中NG)の場合にステップ113に移行し、配置が均等である(図中OK)場合にステップ114に移行する。
ステップ113において、設計支援装置11は、セルを変更する。設計支援装置11は、列使用率の大きいバルクを使用するユニットセルを、列使用率が小さいバルクを使用するユニットセルに変更する。このとき、設計支援装置11は、以下の何れかの方法により、セルを変更する。
1.駆動能力及び使用するバルクが異なるユニットセルに変更する。
2.駆動能力が同じで使用するバルクが異なるユニットセルに変更する。
例えば、バルクAを使用するバッファ回路を、同じ電気的特性を有しバルクBを使用するバッファ回路に変更する。また、バルクAを使用するインバータ回路を、バルクBを使用し入力端子の1つを除いてHレベルに固定された入力端子を有するナンド回路に変更する。そして、設計支援装置11は、ステップ111に移行する。
このように、設計支援装置11は、バルクの配置を均等にするまで、ステップ111〜113の処理を繰り返す。そして、バルクの配置が均等になると、設計支援装置11はステップ114に移行する。
ステップ114において、設計支援装置11は、セルの詳細配置を行う。詳細配置は、ブロックに含まれるユニットセルの配置位置を決定する処理である。設計支援装置11は、各ユニットセルの配置位置を決定する。
・上記実施形態において、設計支援装置11がユニットセルを配置する際に、バルクの列使用率を考慮しながら配置することで、バルク使用状況検証のステップを省略することが可能となる。
11 設計支援装置
31 ターゲットアプリケーション
32 プロセスルール
33 ユニットセルライブラリ
34 バルク並び順制約
51 タイミング制約
52 ネットリスト
54 制御値(検証サイズ、均等値)
A,B バルク

Claims (8)

  1. 設計支援装置が、
    ネットリストと、複数種類のユニットセルのレイアウト情報とに基づいて、半導体装置に搭載する前記ユニットセルの種類を解析し、
    前記解析されたユニットセルの種類に基づいて前記半導体装置に搭載する少なくとも第1及び第2の種類を含む複数種類のバルクの個数を算出し、
    前記複数種類のバルクの並び順に対する制約情報に基づいて前記半導体装置に含まれる複数の列領域に前記複数種類のバルクを配置し、
    前記配置された前記複数種類のバルクを含む前記ユニットセルを前記複数の列領域に配置し、
    前記複数の列領域のそれぞれに配置された前記ユニットセルのそれぞれに含まれる前記複数種類のバルクの数に基づいて、前記各列領域における前記バルクの種類毎の使用率を求め、
    前記各列領域における第1の種類のバルクの使用率と第2の種類のバルクの使用率の差が閾値よりも大きい場合に、前記各列領域に配置された前記ユニットセルの配置位置を変更する
    ことを特徴とする半導体装置の設計方法。
  2. 前記各列領域に配置されたユニットセルの配置位置の変更は、前記各列領域における前記第1の種類のバルクの使用率と前記第2の種類のバルクの使用率の差が、前記閾値よりも小さくなるように行なわれる
    ことを特徴とする請求項1記載の半導体装置の設計方法。
  3. 前記設計支援装置が、
    前記ネットリストに基づいて、前記半導体装置に信号配線の情報を生成し、
    前記信号配線についてタイミング解析を行い、前記タイミング解析の結果に基づいてタイミング調整用のユニットセルを配置する
    ことを特徴とする請求項2に記載の半導体装置の設計方法。
  4. 前記設計支援装置が、
    前記タイミング調整用のユニットセルの配置後、前記各列領域における前記バルクの種類毎の使用率を求め、前記各列領域における前記第1の種類のバルクの使用率と前記第2の種類のバルクの使用率の差が閾値よりも大きい場合に、前記各列領域に配置されたユニットセルの配置位置を変更する
    ことを特徴とする請求項3に記載の半導体装置の設計方法。
  5. 設計支援装置に、
    ネットリストと、複数種類のユニットセルのレイアウト情報とに基づいて、半導体装置に搭載する前記ユニットセルの種類を解析する工程と、
    前記解析されたユニットセルの種類に基づいて前記半導体装置に搭載する少なくとも第1及び第2の種類を含む複数種類のバルクの個数を算出する工程と、
    前記複数種類のバルクの並び順に対する制約情報に基づいて前記半導体装置に含まれる複数の列領域に前記複数種類のバルクを配置する工程と、
    前記配置された前記複数種類のバルクを含む前記ユニットセルを前記複数の列領域に配置する工程と、
    前記複数の列領域のそれぞれに配置された前記ユニットセルのそれぞれに含まれる前記複数種類のバルクの数に基づいて、前記各列領域における前記バルクの種類毎の使用率を求める工程と、
    前記各列領域における第1の種類のバルクの使用率と第2の種類のバルクの使用率の差が閾値よりも大きい場合に、前記各列領域に配置された前記ユニットセルの配置位置を変更する工程と
    を実行させることを特徴とするプログラム。
  6. 前記各列領域に配置された前記ユニットセルの配置位置を変更する工程においては、前記各列領域における前記第1の種類のバルクの使用率と前記第2の種類のバルクの使用率の差が、前記閾値よりも小さくなるように行なわれる
    ことを特徴とする請求項5に記載のプログラム。
  7. 前記設計支援装置に、
    前記ネットリストに基づいて、前記半導体装置に信号配線の情報を生成する工程と、
    前記信号配線についてタイミング解析を行い、前記タイミング解析の結果に基づいてタイミング調整用のユニットセルを配置する工程と
    を実行させることを特徴とする請求項6に記載のプログラム。
  8. 前記設計支援装置に、
    前記タイミング調整用のユニットセルの配置後、前記各列領域における前記バルクの種類毎の使用率を求め、前記各列領域における前記第1の種類のバルクの使用率と前記第2の種類のバルクの使用率の差が閾値よりも大きい場合に、前記各列領域に配置されたユニットセルの配置位置を変更する工程
    を実行させることを特徴とする請求項7に記載のプログラム。
JP2010079724A 2010-03-30 2010-03-30 半導体装置の設計方法及びプログラム Expired - Fee Related JP5531723B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010079724A JP5531723B2 (ja) 2010-03-30 2010-03-30 半導体装置の設計方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010079724A JP5531723B2 (ja) 2010-03-30 2010-03-30 半導体装置の設計方法及びプログラム

Publications (2)

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

Family

ID=44941138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010079724A Expired - Fee Related JP5531723B2 (ja) 2010-03-30 2010-03-30 半導体装置の設計方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5531723B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015070112A (ja) * 2013-09-30 2015-04-13 光俊 菅原 Lsiに内蔵するda変換器の設計方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239069A (ja) * 2012-05-16 2013-11-28 Denso Corp 半導体集積回路の設計方法および設計装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831703B2 (ja) * 1989-06-23 1998-12-02 株式会社東芝 自動フロアプラン演算装置
JPH03211875A (ja) * 1990-01-17 1991-09-17 Fujitsu Ltd 半導体集積回路における自動配置方法
JPH05267624A (ja) * 1992-03-17 1993-10-15 Nec Ic Microcomput Syst Ltd 半導体集積回路装置
JPH06177750A (ja) * 1992-12-01 1994-06-24 Kawasaki Steel Corp ゲートアレイ用論理合成装置
JPH09185641A (ja) * 1995-12-27 1997-07-15 Yamaha Corp 標準セルの配置設計法
JP3243421B2 (ja) * 1996-10-15 2002-01-07 松下電器産業株式会社 マスタスライスの自動レイアウト設計方法
JP2006156929A (ja) * 2004-04-19 2006-06-15 Fujitsu Ltd 半導体集積回路及びその設計方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015070112A (ja) * 2013-09-30 2015-04-13 光俊 菅原 Lsiに内蔵するda変換器の設計方法

Also Published As

Publication number Publication date
JP2011210189A (ja) 2011-10-20

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
CN107066681A (zh) 集成电路和制造集成电路的计算机实现方法
US11030383B2 (en) Integrated device and method of forming the same
US9213793B1 (en) Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks
JP2006277668A (ja) レイアウト設計方法及びレイアウト設計装置
CN107403024A (zh) Ic的电压降和电迁移的分析方法及计算机可读存储介质
Kahng et al. PROBE: A placement, routing, back-end-of-line measurement utility
US8863062B2 (en) Methods and apparatus for floorplanning and routing co-design
US9639647B2 (en) Method of making semiconductor device and system for performing the same
JP5531723B2 (ja) 半導体装置の設計方法及びプログラム
Kabir et al. Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design
TW202129529A (zh) 積體電路佈局
US11829698B2 (en) Guided power grid augmentation system and method
JP4053767B2 (ja) 電源配線設計方法、電源配線設計装置、記録媒体、及びプログラム
US11816407B1 (en) Automatic channel identification of high-bandwidth memory channels for auto-routing
Milojevic et al. Pathfinding: A design methodology for fast exploration and optimisation of 3D-stacked integrated circuits
JP4824785B2 (ja) コアサイズ見積もり方法、チップサイズ見積もり方法及び設計装置
EP4152201A1 (en) Systems and methods for circuit design dependent programmable maximum junction temperatures
JP2003308351A (ja) 半導体集積回路のレイアウト設計方法
Kim et al. AMD, USA
Kabir Design, Extraction, and Optimization Tool Flows and Methodologies for Homogeneous and Heterogeneous Multi-Chip 2.5 D Systems
Chakravarthi et al. SoC Physical Design Flow and Algorithms

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