説明

半導体集積回路のレイアウト設計装置、方法、及びプログラム

【課題】アナログ回路において最適な配線効率を実現するためのレイアウト設計を可能にする。
【解決手段】機能ブロックを構成する素子をその種類毎にグループ化する。機能ブロック内の素子の配置を各素子の接続関係に基づいて決定する。この時、グループを構成する素子の分割数を考慮してもよい。機能ブロックの配置順序を面積又は幅が大きい順に配置されるように決定する。また、配置順序はユーザの指定により調整できることが好ましい。配置順序と回路全体の接続情報とに基づいて各機能ブロックの配置位置を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路のレイアウト設計装置等に関し、特にアナログ回路のレイアウトを自動設計するための技術に関する。
【背景技術】
【0002】
近年の半導体集積回路の微細化に伴い、コンピュータを用いた半導体集積回路のレイアウト設計の自動化が進められている。
【0003】
特許文献1に開示されるレイアウト設計装置は、カレントミラー、差動回路等の特有の電気的特性を有する複数の素子で構成されるグループ、及び同一電極に接続される複数の素子で構成されるグループをペアグループとして指定し、素子同士を同一の島内に配置することで、ばらつきの抑制を図るものである。
【0004】
また、同種の技術を開示するものとして、特許文献2〜4が挙げられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−280493号公報
【特許文献2】特開平9−246388号公報
【特許文献3】特開2000−276518号公報
【特許文献4】特開2001−267430号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
アナログ回路においては、目的の電気的特性を確実に得るために、各機能ブロック、主基板の入出力端子、配線上の接続点等の位置関係が重要となる。各要素間の配線の寄生容量、電磁ノイズ等による悪影響を最小限にする必要があるからである。例えば、グループ化された複数のトランジスタが互いに接続する場合には、接続する両端子が近接していることが好ましい。抵抗、容量、ダイオード等の他の素子についても同様である。このようなレイアウト設計上の配慮は、機能ブロック内における素子間についてのみならず、複数の機能ブロック間についても要求される。
【0007】
上記特許文献1に係る装置を用いてアナログ回路のレイアウト設計を行えば、ペアグループとして指定された素子同士が同一の島内に配置されるため、これらの素子の近接配置を実現することができる。しかしながら、当該装置においては、各素子、グループ等の接続関係、各素子の端子の位置等を配慮せずに設計が行われるため、たとえグループ化された素子が近接配置されたとしても、配線の迂回が必要になる等の問題が生ずる場合がある。このように、従来技術においては、アナログ回路のレイアウト設計において、配線効率を向上させるための技術について大きな改善の余地がある。
【課題を解決するための手段】
【0008】
本発明の第1の態様は、機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化部と、前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定部と、前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出部と、複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定部と、前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定部とを備える半導体集積回路のレイアウト設計装置である。
【0009】
また、本発明の第2の態様は、機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化ステップと、前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定ステップと、前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出ステップと、複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定ステップと、前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定ステップとを備える半導体集積回路のレイアウト設計方法である。
【0010】
また、本発明の第3の態様は、コンピュータに、上記第2の態様に係る方法を実行させるための半導体集積回路のレイアウト設計プログラムである。
【0011】
上記態様によれば、グループ化された素子間の接続関係、各機能ブロック間の接続関係、その他基板上の回路全体の接続関係、及び各機能ブロックの大きさに基づいて、配線効率が最適化されるように、レイアウト設計が行われる。
【発明の効果】
【0012】
本発明によれば、グループ化された素子同士を単に近接配置させるだけでなく、各接続関係、各素子の形状的特徴等に基づく最適な配線効率を実現するためのレイアウトを設計することが可能となる。これにより、配線の寄生容量、電磁ノイズ等による悪影響を最小限に抑え、高品質な半導体集積回路を製造することが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施の形態に係る半導体集積回路のレイアウト設計装置の構成を示す図である。
【図2】実施の形態1に係るレイアウト設計装置が実現されるハードウェア構成を例示する図である。
【図3】実施の形態1に係るレイアウト設計装置の全体的な動作を示すフローチャートである。
【図4】図3のMOSトランジスタ処理:グループ化F1_T201の詳細な動作を示すフローチャートである。
【図5】電気的特性表20を例示する表図である。
【図6】図4のフローチャートを説明するための回路例を示す図である。
【図7】図3のMOSトランジスタ処理:グループ内配置決定処理F1_T202の詳細な動作を示すフローチャートである。
【図8】図7のフローチャートを説明するためのMOSトランジスタグループ内の配置を例示する図である。
【図9】図7のフローチャートを説明するためのMOSトランジスタグループ内の配置を例示する図である。
【図10】図7のフローチャートを説明するためのMOSトランジスタグループ内の配置を例示する図である。
【図11】図3の素子/グループの面積別配置順序決定処理F1_T210の詳細な動作を示すフローチャートである。
【図12】図3の配置位置決定処理F1_T211の詳細な動作を示すフローチャートである。
【図13】素子/グループの位置情報を例示する図である。
【図14】本発明の実施の形態2に係るレイアウト設計装置における図3中のMOSトランジスタ処理:グループ内配置順序決定処理F1_202の詳細な動作を示すフローチャートである。
【図15】グループを構成する素子が分割されている場合の回路例を示す図である。
【図16】図15に示す回路例の接続情報を示す表図である。
【図17】配置パターン情報テーブルを例示する表図である。
【図18】配置パターン情報テーブルに含まれる配置関係を例示する図である。
【図19】本発明の実施の形態3に係るレイアウト設計装置における図3中の配置順序決定処理F1_T200の詳細な動作を示すフローチャートである。
【図20】MOSトランジスタに外部から高優先度の配置順序を指定した場合のレイアウトを例示する図である。
【図21】本発明の実施の形態4に係るレイアウト設計装置における図3中の素子及びグループの面積別配置順序決定処理F1_T210の詳細な動作を示すフローチャートである。
【図22】幅が大きい機能ブロックを優先的に配置した場合のレイアウトを例示する図である。
【発明を実施するための形態】
【0014】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態1に係るレイアウト設計装置1の構成を示している。レイアウト設計装置1は、グループ化部2、ブロック内部配置決定部3、ブロック面積算出部4、ブロック配置順序決定部5、及びブロック配置位置決定部6を有する。
【0015】
グループ化部2は、特定の電気的特性を有する機能ブロックを構成する素子をグループ化するものである。グループ化部2は、機能ブロックを構成する候補となる素子に関する素子情報と、当該機能ブロックの電気的特性を実現するために必要な素子の種類を示す適合素子情報とに基づいて、適合する素子を抽出し、抽出された素子をその種類毎にグループ化する。
【0016】
ブロック内部配置決定部3は、電気的特性を実現するために必要な素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように機能ブロック内における素子の配置を決定する。
【0017】
ブロック面積算出部4は、素子の大きさを示す情報等に基づいて、機能ブロックの面積を算出する。
【0018】
ブロック配置順序決定部5は、複数の機能ブロックを基板上に配置する際の配置順序を決定するものである。ブロック配置順序決定部5は、ブロック面積算出部4により算出された面積が大きい程優先的に配置されるように、上記配置順序を決定する。
【0019】
ブロック配置位置決定部6は、ブロック配置順序決定部5により決定された配置順序と、基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適されるように各機能ブロックの配置位置を決定する。
【0020】
上記構成によれば、グループ化された素子間の接続関係、各素子の端子位置等の特徴、各機能ブロック間の接続関係、その他基板上の回路全体の接続関係、及び各機能ブロックの大きさに基づいて、配線効率が最適化されるように、レイアウト設計が行われる。これにより、グループ化された素子同士を単に近接配置させるだけでなく、各接続関係、各素子の特徴等に基づく最適な配線効率を実現するレイアウトを設計することが可能となる。
【0021】
図2は、レイアウト設計装置1が実現されるハードウェア構成を例示している。当該ハードウェアは、コンピュータ11であり、制御部12、記憶部13、入力部14、出力部15、及びバス16を有する。
【0022】
記憶部13は、本発明に係るレイアウト設計方法を実行するためのプログラムを不揮発性メモリに格納している。当該プログラムは、バス16を介して制御部12にダウンロードされ、ローカルなハードディスク、メモリ等を介して、CPU等から構成される制御部12を制御する。
【0023】
入力部14は、キーボード、タッチパネル等であり、ユーザによる入力操作を受け付けるものである。出力部15は、ディスプレイ、スピーカ等であり、制御部12の動作により得られたレイアウトの結果、ユーザが入力した情報等をユーザに伝達するものである。
【0024】
図3は、レイアウト設計装置1の全体的な動作を示している。データ処理F1_T100において、入力データF1_F101及びF1_F102から、構成要素となる素子(セル)の種類、端子の仕様等に関する情報、構成しようとする機能ブロックの電気的特性、当該電気的特性を実現するために必要な接続情報等が取得される。
【0025】
配置決定処理F1_T200において、素子の種類毎にグループ化が行われ、各素子の配置が決定される。素子の種類としては、MOSトランジスタ、抵抗、容量、ダイオード、その他素子がある。
【0026】
自動配置処理F1_T300において、配置決定処理F1_T200において決定した配置順序及び配置位置に従って、各機能ブロック(グループ化されていない単独の素子(セル)を含む)のレイアウトを決定する。
【0027】
図4は、図3のMOSトランジスタ処理:グループ化F1_T201の詳細な動作を示している。F1_T201_C101は、MOSトランジスタが終わりかどうか(全てのMOSトランジスタについて処理が終わったかどうか)を判断し、終わりの場合(YES)にはF1_T201_T103に進み、終わりでない場合(NO)にはF1_T201_C102に進む。
【0028】
F1_T201_C102は、F1_T100で認識した電気的特性の情報があるかどうか(全ての電気的特性について処理が終わったかどうか)を判断し、電気的特性情報がない場合(YES)にはF1_T201_T103に進み、電気的特性情報がある場合(NO)にはF1_T201_T101に進む。
【0029】
F1_T201_T101は、電気的特性情報の1番目の電気的特性を構成するMOSトランジスタをグループ化する。F1_T201_T102は、処理対象を電気的特性表の次の設定に移し、F1_T201_C101に進む。
【0030】
F1_T201_C101においてMOSトランジスタが終わりの場合(YES)には、F1_T201_T103が同一バックゲートのPMOS/PMOSで構成されるグループをグループ化し、F1_T201_T104が同一バックゲートのNMOS/NMOSで構成されるグループをグループ化する。
【0031】
図5は、上記電気的特性を規定する電気的特性表20を例示している。図6は、図4のフローチャートを説明するための回路例21を示している。以下に、図4のフローチャートを当該電気的特性表20及び回路例21を用いて説明する
【0032】
F1_T201_C101は、回路例21におけるMOSトランジスタについての処理が終わりかどうかを判断する。本例においては、まだ終了していないので、F1_T201_C102に進む。F1_T201_C102は、電気的特性表20における電気的特性につての処理が終わりかどうかを判断する。本例においては、まだ終了していないので、F1_T201_T101に進む。
【0033】
F1_T201_T101は、回路例21内にあるMOSトランジスタのうち電気的特性表20のNo.1の差動回路の条件に適合するものをグループ化する。図6中、22で示す部分にある2つのMOSトランジスタNM0,NM1が当該条件に適合する。NM0のS端子とNM1のS端子、及びNM0のB端子とNM1のB端子が、それぞれ同一ネットとなっており、他の条件についても適合している。これにより、NM0,NM1は、差動回路であると認識される。
【0034】
F1_T201_T102は、処理対象を電気的特性表20のNo.2に移し、F1_T201_C102に進む。F1_T201_C102は、当該No.2の電気的特性情報があるかどうかを判断する。本例においては、No.2の電気的特性情報があるので、F1_T201_T101に進む。
【0035】
F1_T201_T101は、回路例21内にあるMOSトランジスタのうち電気的特性表20のNo.2のカレントミラーの条件に適合するものをグループ化する。本例においては、適合するものがないため、グループ化はなされない。
【0036】
その後、F1_T201_T102が処理対象を電気的特性表20のNo.3に移し、
F1_T201_C102に進む。F1_T201_C102は、当該No.3の電気的特性情報があるかどうかを判断する。本例においては、No.3の電気的特性情報はないので、F1_T201_T103に進む。
【0037】
F1_T201_T103は、同一バックゲートのPMOSで構成されるグループを、より大きいグループとしてグループ化を行う。F1_T201_T104は、同一バックゲートのNMOSで構成されるグループを、より大きいグループとしてグループ化を行う。
【0038】
上記処理により、素子の1つの種類であるMOSトランジスタのグループ化処理が完了する。尚、本例では、電気的特性を示す情報として差動回路及びカレントミラーのみを示したが、本発明はこれに限定されるものではない。精度を確保する為に隣接を必要とする素子に関する情報、その他適宜の条件を追加しても良い。例えば、差動回路の条件のように回路の接続関係を条件としてもよいし、特定のMOSトランジスタを直接条件として記載し、グループ化を行っても良い。
【0039】
図7は、図3のMOSトランジスタ処理:グループ内配置決定処理F1_T202の詳細な動作を示している。F1_T202_C101は、MOSトランジスタのグループが終わりかどうか(上記F1_T201によりグループ化されたMOSトランジスタの全てのグループについて処理が終わったかどうか)を判断し、終わりでない場合(NO)にはF1_T202_T101に進み、終わりの場合(YES)にはF1_T202の処理を終了する。
【0040】
F1_T202_T101は、同一のバックゲート電位を有する素子同士が隣接配置するようにグループ内での素子の配置を決定する。F1_T202_T102は、同電位端子を有する素子同士が隣接配置するようにグループ内での素子の配置を決定する。F1_T202_T103は、その他、良好な電気的特性が得られるようにするために必要な構造が構築されるようにグループ内の配置を決定する。
【0041】
F1_T202_T104は、各素子の配置方向を決定する。即ち、上記共通の電位となる両端子が対向するように、その他の構造が構築されるように、各素子の向きが決定される。
【0042】
図8〜図10は、図7のフローチャートを説明するためのMOSトランジスタグループ内の配置を例示している。以下に、図7のフローチャートを当該MOSトランジスタグループ内の配置例を用いて説明する。
【0043】
F1_T202_C101は、MOSトランジスタのグループが終わりかどうかを判断し、本例においては、F1_T202_T101に進む。F1_T202_T101は、図8に示すグループのように、同一のバックゲート電位を有するMOSトランジスタNM0及びNM1同士を隣接配置させる。当該配置の設定は、個々のトランジスタNM0,NM1に対して配置順序及び位置を示す番号を連番で付与する等の一般的な方法でよい。
【0044】
F1_T202_T102を、図9に示すグループのように、同電位端子を有するMOSトランジスタNM0及びNM1同士を隣接配置させる。本例では、両MOSトランジスタNM0,NM1のS端子の電位が同一であるため、S端子同士が向き合うようにそれらの配置方向が設定される。
【0045】
F1_T202_T104は、図10に示すグループのように、両MOSトランジスタNM0,NM1の配置方向を揃える必要がある場合等に、そのように配置方向を設定する。
【0046】
その後、F1_T202_C101は、MOSトランジスタのグループが終わりかどうかを判断し、全てのグループを終わった場合には、当該ルーチンは終了し、図3のF1_T203が実行される。
【0047】
図3の抵抗処理:グループ化F1_T203、容量処理:グループ化F1_T205、及びダイオード処理:グループ化F1_T207は、上記MOSトランジスタ:グループ化F1_T201と同様の処理により行われる。
【0048】
図3の抵抗処理:グループ内配置処理F1_T204、容量処理:グループ内配置処理F1_T206、ダイオード処理:グループ内配置処理F1_T208、及び他素子処理:グループ内配置処理F1_T209は、MOSトランジスタ:グループ内配置処理F1_T202と同様の処理により行われる。
【0049】
図11は、図3の素子/グループの面積別配置順序決定処理F1_T210の詳細な動作を示している。F1_T210は、各機能ブロックを基板上に配置していく際の配置順序を決定する。この機能ブロックには、上記のように素子の種類毎にグループ化されたグループ、及びグループ化されなかった単独の素子(セル)が含まれる。
【0050】
F1_T210_C101は、グループが終わりかどうか(全てのグループについて処理が終わったかどうか)を判断し、終わりでない場合(NO)にはF1_T210_C102に進み、終わりの場合(YES)にはF1_T210_C104に進む。
【0051】
F1_T210_C102は、グループ内の素子及びグループが終わりかどうか(全てのグループ内の全ての素子及び全てのグループについて処理が終わったがどうか)を判断し、終わりでない場合(NO)にはF1_T210_C103に進み、終わりの場合(YES)にはF1_T210_T104に進む。
【0052】
F1_T210_C103は、処理対象がグループであるかどうかを判断し、グループである場合(YES)にはF1_T210_T101に進み、グループでない場合(NO)にはF1_T210_T103に進む。
【0053】
F1_T210_T101は、グループ内の素子の面積情報を取得する。F1_T210_T102は、取得された素子の面積情報に基づいてグループの面積を算出し、F1_T210_C102に戻る。
【0054】
F1_T210_T103は、グループ化されなかった素子の面積情報を取得し、F1_T210_C102に戻る。
【0055】
F1_T210_T104は、全てのグループの面積情報を取得し、F1_T210_C101に戻る。
【0056】
F1_T210_C104は、グループ化されていない素子が終わりかどうかを判断し、終わりでない場合(NO)にはF1_T210_T105に進み、終わりの場合(YES)にはF1_T210_T106に進む。
【0057】
F1_T210_T105は、全てのグループ化されていない素子の面積情報を取得する。F1_T210_T106は、全ての素子及び全てのグループの面積情報に基づいて、面積が大きい順に優先的に配置されるように配置順序情報を付加する。
【0058】
図12は、図3のフローチャートにおける配置位置決定処理F1_T211の詳細な動作を示している。F1_T211_C101は、素子及びグループが終わりかどうか(全ての素子及びグループについての処理が終わったかどうか)を判断し、終わりでない場合(NO)にはF1_T211_C102に進み、終わりの場合(YES)には配置順序見直し処理を終了する。
【0059】
F1_T211_C102は、処理対象の素子又はグループがMOSトランジスタかどうかを判断し、MOSトランジスタである場合(YES)にはF1_T211_T101に進み、MOSトランジスタでない場合(NO)にはF1_T211_C103に進む。
【0060】
F1_T211_T101は、PMOSグループ同士が隣接配置するように位置情報を付加する。F1_T211_T102は、NMOSグループ同士が隣接配置するように位置情報を付加する。
【0061】
次に、F1_T211_C103は、処理対象の素子又はグループが入出力端子に接続しているかどうかを判断し、接続している場合(YES)にはF1_T211_T103に進み、接続していない場合(NO)にはF1_T211_T104に進む。
【0062】
F1_T211_T103は、入出力端子に接続する素子又はグループが入出力端子の近くに配置されるように位置情報を付加する。F1_T211_T104は、同一ネットに接続している素子又はグループが互いに近接配置するように配置位置を決定する。
【0063】
図13は、上記素子/グループの位置情報を例示している。例えば、配置領域30の左下のエリアに配置される素子又はグループに対しては、位置情報1−1が付加される。
【0064】
図2に示す自動配置処理F1_T300は、上記図7のフローに従って決定されたグループ内の素子の配置情報と、図11のフローに従って決定された素子及びグループの配置順序と、図12のフローに従って決定された素子及びグループの配置位置とに基づいて、グループ内の素子の配置、グループ化されない素子及びグループの配置を行う。
【0065】
上記レイアウト設計装置1によれば、素子種類毎に電気的特性に対応するグループ化が行われ、グループ内の素子の配置が決定される。機能ブロックの面積が算出され、当該面積が大きい程優先的に配置されるように、機能ブロックの配置順序が決定される。当該配置順序と、素子、グループ、機能ブロックを含む回路全体の接続関係とに基づいて、機能ブロックの配置位置が決定される。これにより、基板上の各要素の接続関係、形状的特徴等に応じて最適な配線効率を実現するレイアウトを設計することが可能となる。
【0066】
実施の形態2
以下に、本発明の実施の形態2に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、グループを構成する素子が分割されている場合に好適なものである。ここでは、差動回路を構成する2つのMOSトランジスタ:NM0,NM1が、各々分割数=2で構成されている場合について説明する。
【0067】
図14は、実施の形態2に係るレイアウト設計装置における特徴的な動作を示すものであり、図3中のMOSトランジスタ処理:グループ内配置順序決定処理F1_202の詳細な動作を示している。
【0068】
F2_T202_C101は、MOSトランジスタのグループが終わりかどうか(全てのMOSトランジスタのグループについて処理が終わったかどうか)を判断し、終わりでない場合(NO)にはF2_T202_C102に進み、終わりの場合(YES)にはグループ内配置順序決定処理を終了する。
【0069】
F2_T202_C102は、グループを構成するMOSトランジスタが分割されているかどうかを判断し、分割されていない場合(NO)にはF2_T202_T101に進み、分割されている場合(YES)にはF2_T202_T104に進む。
【0070】
F2_T202_T104は、配置パターン情報の読込みを行う。F2_T202_T105は、F2_T202_T104で読込んだ配置パターン情報の中から、グループを構成するMOSトランジスタの素子数及び分割数と一致する配置パターン情報を抽出する。F2_T202_T106は、F2_T202_T105で抽出された配置パターン情報の中から最適な配置パターン情報を選択する。F2_T202_T107は、F2_T202_T106で選択した配置パターン情報に基づいてグループ内の配置を決定する。
【0071】
図15は、グループを構成する素子が分割されている場合の回路例を示している。図16は、図15に示す回路例の接続情報を示している。図17は、配置パターン情報テーブル36を例示している。図18は、配置パターン情報テーブル36に含まれる配置関係を例示している。図15中、部分35にあるNM0,NM1は、上記実施の形態1と同様の処理により、グループ化されている。以下、図14のフローチャートを、図16〜図18に示す例を用いて説明する。
【0072】
F2_T202_C101は、MOSトランジスタのグループが終わりかどうかを判断し、本例においてはまだ終了していないので、F2_T202_C102に進む。
【0073】
F1_T202_C102は、図15に示すMOSトランジスタのグループを構成するMOSトランジスタが分割されているかどうかを判断する。MOSトランジスタの分割数は、図16に示す接続情報から取得する。当該接続情報の分割数=2との情報から、NM0及びNM1は分割されていることがわかるので、F2_T202_T104が実行される。
【0074】
F2_T202_T104は、図17に示す配置パターン情報の読込みを行う。F2_T202_T105は、読み込まれた配置パターン情報から、部分35にあるグループを構成するMOSトランジスタに関する条件:素子数=2、分割数=2と一致するNo.1〜6の情報を抽出する。
【0075】
F2_T202_T106は、抽出されたNo.1〜6の情報から、図3のMOSトランジスタ処理:グループ化F1_T201により得られた電気的特性情報と一致するものを最適なものとして選択する。本例においては、部分35にあるグループは差動回路であり、図5に示す電気的特性表20において差動回路を示す番号は「1」である。従って、図17に示す配置パターン情報の中から、電気的特性の番号が「1」である情報が選択される。本例においては、最終的に配置パターン情報のNo.6が選択されている。
【0076】
F2_T202_T107は、選択された配置パターン情報No.6の配置関係に基づいて、NM0の分割する2つのトランジスタ及びNM1の分割する2つのトランジスタのグループ内における配置を決定する。
【0077】
ここで、図17に示す配置パターン情報テーブル36について説明する。配置パターン情報テーブル36には、No.(パターンナンバー)、素子数、分割数、列数、行数、配置関係、及び電気的特性が含まれる。No.は、配置パターン1つにつき、1つの番号が割り振られるものである。素子数は、グループ内に存在する素子数を表す。分割数は、当該素子の分割数を表す。列数・行数は、配置パターンの列数・行数を表す。配置関係は、対応する列数・行数に従って素子を配置する際の配置順を表す。電気的特性の欄の数字は、図5の電気的特性表20のNo.に対応している。
【0078】
図18に示すように、4列1行の場合には、左から1,2,3,4となる。1列4行の場合には、下から1,2,3,4となる。2列2行の場合には、下段左から1,2、上段左から3,4となる。当該2列2号の例は、上記配置パターン情報No.6の場合に該当する。即ち、2つの素子A,Bが、分割数=2の場合、配置パターン情報No.6に従って配置すると、下段左からA,B、上段左から、B,Aとなる。
【0079】
上記実施の形態2に係るレイアウト設計装置によれば、分割素子に対する配置パターン情報が使用されるので、実施の形態1より更に配線効率の良いレイアウトを実現することが可能となる。
【0080】
実施の形態3
以下に、本発明の実施の形態3に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、機能ブロック(グループ及びグループ化されていない素子)の配置順序をユーザの設定により調整可能にする機能を有するものである。
【0081】
図19は、実施の形態3に係るレイアウト設計装置における特徴的な動作を示すものであり、図3中の配置順序決定処理F1_T200の詳細な動作を示している。
【0082】
F3_T201は、外部から入力された優先度指定F3_I201を認識する。優先度指定F3_I201は、ユーザが入力部14を介して行うものでも良いし、予め用意したデータを与えるものであっても良い。
【0083】
F3_C201は、優先度指定がMOSトランジスタに対するものであるかどうかを判断し、MOSトランジスタに対するものである場合(YES)にはF3_T202に進み、MOSトランジスタに対するものでない場合(NO)にはF3_T203に進む。
【0084】
F3_T202は、全てのMOSトランジスタに高優先度認識情報を付加する。尚、この例に限らず、特定の素子に対してのみ優先度指定を与えても良い。この場合、差動回路の条件のように、回路の接続関係について優先度を指定するものであっても良いし、特定のMOSトランジスタを直接指定するものであっても良い。
【0085】
上記図19のフローにより、全ての素子及びグループの配置順序及び配置位置が決定された後に、自動レイアウトが行われる。当該自動レイアウトの際には、図19のフローにより高優先度に指定された素子及びグループが優先的に配置される。
【0086】
図20は、MOSトランジスタに外部から高優先度の配置順序を指定した場合のレイアウトを例示している。本例においては、MOSトランジスタのグループ51,52が他のグループ53,54,55より高い優先度が与えられ、優先的に配置されている。
【0087】
上記実施の形態3に係るレイアウト設計装置によれば、外部指定優先度認識処理F3_T201で認識した優先度に合致する全ての素子及びグループに対し、高優先度認識情報付加処理F3_T202が行われるので、特定の素子及びグループを優先的に配置させることを外部からコントロールすることが可能となる。
【0088】
実施の形態4
以下に、本発明の実施の形態4に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、機能ブロックの配置順序を決定する際に、その面積よりも幅が大きいものを優先させる機能を有するものである。
【0089】
図21は、実施の形態4に係るレイアウト設計装置における特徴的な動作を示すものであり、図3中の素子及びグループの面積別配置順序決定処理F1_T210の詳細な動作を示している。
【0090】
F4_T210_C101は、グループが終わりかどうか(全てのグループについて処理が終わったかどうか)を判断し、終わりでない場合(NO)にはF4_T210_C102に進み、終わりの場合(YES)にはF4_T210_C104に進む。
【0091】
F4_T210_C102は、グループ内の素子及びグループが終わりかどうかを判断し、終わりでない場合(NO)にはF4_T210_C103に進み、終わりの場合(YES)にはF4_T210_T104に進む。
【0092】
F4_T210_C103は、処理対象がグループであるかどうかを判断し、グループの場合(YES)にはF4_T210_T101に進み、グループでない場合(NO)にはF4_T210_T103に進む。
【0093】
F4_T210_T101は、グループ内の素子の面積及び幅(最大幅)情報を取得する。F4_T210_T102は、グループ全体の面積及び幅を算出し、F4_T210_C102に戻る。
【0094】
F4_T210_T103は、素子の面積及び幅情報を取得し、F4_T210_C102に戻る。F4_T210_T104は、グループ全体の面積及び幅情報を算出し、F4_T210_C101に戻る。
【0095】
F4_T210_C104は、グループ化されていない素子が終わりかどうかを判断し、終わりでない場合(NO)にはF4_T210_T105に進み、終わりの場合(YES)にはF4_T210_T106に進む。
【0096】
F4_T210_T105は、素子の面積及び幅情報を取得する。F4_T210_T106は、素子及びグループの面積情報に基づいて面積が大きい程優先的に配置されるように配置順序情報を付加する。
【0097】
F4_T210_T107は、幅が最も大きな素子又はグループに最も高い優先度認識情報を付加する。F4_T210_T108は、幅が最も大きな素子又はグループの幅を配置領域の幅の最大値に設定する。
【0098】
図22は、幅が大きい機能ブロック(グループ化されていない素子及びグループを含む)を優先的に配置した場合のレイアウトを例示している。以下に、図21のフローを、図22に示す例を用いて説明する。
【0099】
F4_T210_C101は、グループが終わりかどうかを判断する。素子60は、グループ化されていないため、F4_T210_C104に進む。
【0100】
F4_T210_C104は、グループ化されていない素子が終わりかどうかを判断し、本例においては終わりではないので、F4_T210_T105に進む。
【0101】
F4_T210_T105は、素子の面積及び幅情報を取得し、F4_T210_C104に戻る。グループ化されていないセルが終わったら、F4_T210_T106に進む。
【0102】
F4_T210_T106は、面積が大きい順に配置順序情報を付加する。F4_T210_T107は、幅が最も大きな素子60に、最も高い優先度認識情報を付加する。F4_T210_T108は、幅が最も大きい素子60の幅を配置領域の幅の最大値に設定する。
【0103】
図22において、素子60は、他の素子又はグループであるPM0,PM1,PM2,NM0,NM1,NM2,NM3,D0,C0よりも優先的に配置され、配置領域の幅が素子60の幅となっている。
【0104】
上記実施の形態4に係るレイアウト設計装置によれば、機能ブロックの配置順序を決定するに際し、面積よりも幅が大きいものに対して高い優先度が付加される。また、最も大きい機能ブロックの幅が配置領域の幅の最大値に設定される。これにより、配置領域を必要最小限に抑えてレイアウト設計を行うことが可能となる。
【0105】
尚、本発明は上記実施の形態に限られるものではなく、趣旨を逸脱しない範囲で適宜変更することが可能なものである。
【符号の説明】
【0106】
1 レイアウト設計装置
2 グループ化部
3 ブロック内部配置決定部
4 ブロック面積算出部
5 ブロック配置順序決定部
6 ブロック配置位置決定部
11 コンピュータ
20 電気的特性表
36 配置パターンテーブル

【特許請求の範囲】
【請求項1】
機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化手段と、
前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定手段と、
前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出手段と、
複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定手段と、
前記配置順序と、前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定手段と、
を備える半導体集積回路のレイアウト設計装置。
【請求項2】
前記内部接続情報は、前記グループを構成する前記素子の分割数を含む、
請求項1に記載の半導体集積回路のレイアウト設計装置。
【請求項3】
前記ブロック配置順序決定手段は、前記面積に応じて決定される優先度よりもユーザによる設定を優先して前記配置順序を決定する、
請求項1又は2に記載の半導体集積回路のレイアウト設計装置。
【請求項4】
前記ブロック面積算出手段は、前記面積に加え前記機能ブロックの幅を算出し、
前記ブロック配置順序決定手段は、前記幅が大きい程優先的に配置されるように前記配置順序を決定し、
前記ブロック配置位置決定手段は、前記面積に応じて決定される前記配置順序よりも前記幅に応じて決定される前記配置順序を優先的に採用する、
請求項1〜3のいずれか1項に記載の半導体集積回路のレイアウト設計装置。
【請求項5】
機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化ステップと、
前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定ステップと、
前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出ステップと、
複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定ステップと、
前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定ステップと、
を備える半導体集積回路のレイアウト設計方法。
【請求項6】
前記内部接続情報は、前記グループを構成する前記素子の分割数を含む、
請求項5に記載の半導体集積回路のレイアウト設計方法。
【請求項7】
前記ブロック配置順序決定ステップは、前記面積に応じて決定される優先度よりもユーザによる設定を優先して前記配置順序を決定する、
請求項5又は6に記載の半導体集積回路のレイアウト設計方法。
【請求項8】
前記ブロック面積算出ステップは、前記面積に加え前記機能ブロックの幅を算出し、
前記ブロック配置順序決定ステップは、前記幅が大きい程優先的に配置されるように前記配置順序を決定し、
前記ブロック配置位置決定ステップは、前記面積に応じて決定される前記配置順序よりも前記幅に応じて決定される前記配置順序を優先的に採用する、
請求項5〜7のいずれか1項に記載の半導体集積回路のレイアウト設計方法。
【請求項9】
コンピュータに、請求項5〜8のいずれか1項に記載の方法を実行させるための半導体集積回路のレイアウト設計プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−61901(P2013−61901A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−201405(P2011−201405)
【出願日】平成23年9月15日(2011.9.15)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】