(57)【要約】【課題】アナログ回路において最適な配線効率を実現するためのレイアウト設計を可能にする。【解決手段】機能ブロックを構成する素子をその種類毎にグループ化する。機能ブロック内の素子の配置を各素子の接続関係に基づいて決定する。この時、グループを構成する素子の分割数を考慮してもよい。機能ブロックの配置順序を面積又は幅が大きい順に配置されるように決定する。また、配置順序はユーザの指定により調整できることが好ましい。配置順序と回路全体の接続情報とに基づいて各機能ブロックの配置位置を決定する。【選択図】図１
2013061901.tif 000002
【特許請求の範囲】
【請求項１】
機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化手段と、
前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定手段と、
前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出手段と、
複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定手段と、
前記配置順序と、前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定手段と、
を備える半導体集積回路のレイアウト設計装置。
【請求項２】
前記内部接続情報は、前記グループを構成する前記素子の分割数を含む、
請求項１に記載の半導体集積回路のレイアウト設計装置。
【請求項３】
前記ブロック配置順序決定手段は、前記面積に応じて決定される優先度よりもユーザによる設定を優先して前記配置順序を決定する、
請求項１又は２に記載の半導体集積回路のレイアウト設計装置。
【請求項４】
前記ブロック面積算出手段は、前記面積に加え前記機能ブロックの幅を算出し、
前記ブロック配置順序決定手段は、前記幅が大きい程優先的に配置されるように前記配置順序を決定し、
前記ブロック配置位置決定手段は、前記面積に応じて決定される前記配置順序よりも前記幅に応じて決定される前記配置順序を優先的に採用する、
請求項１〜３のいずれか１項に記載の半導体集積回路のレイアウト設計装置。
【請求項５】
機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化ステップと、
前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定ステップと、
前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出ステップと、
複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定ステップと、
前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定ステップと、
を備える半導体集積回路のレイアウト設計方法。
【請求項６】
前記内部接続情報は、前記グループを構成する前記素子の分割数を含む、
請求項５に記載の半導体集積回路のレイアウト設計方法。
【請求項７】
前記ブロック配置順序決定ステップは、前記面積に応じて決定される優先度よりもユーザによる設定を優先して前記配置順序を決定する、
請求項５又は６に記載の半導体集積回路のレイアウト設計方法。
【請求項８】
前記ブロック面積算出ステップは、前記面積に加え前記機能ブロックの幅を算出し、
前記ブロック配置順序決定ステップは、前記幅が大きい程優先的に配置されるように前記配置順序を決定し、
前記ブロック配置位置決定ステップは、前記面積に応じて決定される前記配置順序よりも前記幅に応じて決定される前記配置順序を優先的に採用する、
請求項５〜７のいずれか１項に記載の半導体集積回路のレイアウト設計方法。
【請求項９】
コンピュータに、請求項５〜８のいずれか１項に記載の方法を実行させるための半導体集積回路のレイアウト設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計装置等に関し、特にアナログ回路のレイアウトを自動設計するための技術に関する。
【背景技術】
【０００２】
近年の半導体集積回路の微細化に伴い、コンピュータを用いた半導体集積回路のレイアウト設計の自動化が進められている。
【０００３】
特許文献１に開示されるレイアウト設計装置は、カレントミラー、差動回路等の特有の電気的特性を有する複数の素子で構成されるグループ、及び同一電極に接続される複数の素子で構成されるグループをペアグループとして指定し、素子同士を同一の島内に配置することで、ばらつきの抑制を図るものである。
【０００４】
また、同種の技術を開示するものとして、特許文献２〜４が挙げられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２８０４９３号公報
【特許文献２】特開平９−２４６３８８号公報
【特許文献３】特開２０００−２７６５１８号公報
【特許文献４】特開２００１−２６７４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アナログ回路においては、目的の電気的特性を確実に得るために、各機能ブロック、主基板の入出力端子、配線上の接続点等の位置関係が重要となる。各要素間の配線の寄生容量、電磁ノイズ等による悪影響を最小限にする必要があるからである。例えば、グループ化された複数のトランジスタが互いに接続する場合には、接続する両端子が近接していることが好ましい。抵抗、容量、ダイオード等の他の素子についても同様である。このようなレイアウト設計上の配慮は、機能ブロック内における素子間についてのみならず、複数の機能ブロック間についても要求される。
【０００７】
上記特許文献１に係る装置を用いてアナログ回路のレイアウト設計を行えば、ペアグループとして指定された素子同士が同一の島内に配置されるため、これらの素子の近接配置を実現することができる。しかしながら、当該装置においては、各素子、グループ等の接続関係、各素子の端子の位置等を配慮せずに設計が行われるため、たとえグループ化された素子が近接配置されたとしても、配線の迂回が必要になる等の問題が生ずる場合がある。このように、従来技術においては、アナログ回路のレイアウト設計において、配線効率を向上させるための技術について大きな改善の余地がある。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化部と、前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定部と、前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出部と、複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定部と、前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定部とを備える半導体集積回路のレイアウト設計装置である。
【０００９】
また、本発明の第２の態様は、機能ブロックを構成する候補となる素子に関する素子情報と、前記機能ブロックの電気的特性を実現するために必要な前記素子の種類を示す適合素子情報とに基づいて、前記機能ブロックに適合する前記素子を抽出し、当該抽出された素子をその種類毎にグループ化するグループ化ステップと、前記電気的特性を実現するために必要な前記素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように前記機能ブロック内における前記素子の配置を決定するブロック内部配置決定ステップと、前記素子の大きさを示す情報に基づいて、前記機能ブロックの面積を算出するブロック面積算出ステップと、複数の前記機能ブロックを基板上に配置する際の配置順序を決定するものであって、前記面積が大きい程優先的に配置されるように前記配置順序を決定するブロック配置順序決定ステップと、前記配置順序と前記基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適化されるように前記各機能ブロックの配置位置を決定するブロック配置位置決定ステップとを備える半導体集積回路のレイアウト設計方法である。
【００１０】
また、本発明の第３の態様は、コンピュータに、上記第２の態様に係る方法を実行させるための半導体集積回路のレイアウト設計プログラムである。
【００１１】
上記態様によれば、グループ化された素子間の接続関係、各機能ブロック間の接続関係、その他基板上の回路全体の接続関係、及び各機能ブロックの大きさに基づいて、配線効率が最適化されるように、レイアウト設計が行われる。
【発明の効果】
【００１２】
本発明によれば、グループ化された素子同士を単に近接配置させるだけでなく、各接続関係、各素子の形状的特徴等に基づく最適な配線効率を実現するためのレイアウトを設計することが可能となる。これにより、配線の寄生容量、電磁ノイズ等による悪影響を最小限に抑え、高品質な半導体集積回路を製造することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態に係る半導体集積回路のレイアウト設計装置の構成を示す図である。
【図２】実施の形態１に係るレイアウト設計装置が実現されるハードウェア構成を例示する図である。
【図３】実施の形態１に係るレイアウト設計装置の全体的な動作を示すフローチャートである。
【図４】図３のＭＯＳトランジスタ処理：グループ化Ｆ１＿Ｔ２０１の詳細な動作を示すフローチャートである。
【図５】電気的特性表２０を例示する表図である。
【図６】図４のフローチャートを説明するための回路例を示す図である。
【図７】図３のＭＯＳトランジスタ処理：グループ内配置決定処理Ｆ１＿Ｔ２０２の詳細な動作を示すフローチャートである。
【図８】図７のフローチャートを説明するためのＭＯＳトランジスタグループ内の配置を例示する図である。
【図９】図７のフローチャートを説明するためのＭＯＳトランジスタグループ内の配置を例示する図である。
【図１０】図７のフローチャートを説明するためのＭＯＳトランジスタグループ内の配置を例示する図である。
【図１１】図３の素子／グループの面積別配置順序決定処理Ｆ１＿Ｔ２１０の詳細な動作を示すフローチャートである。
【図１２】図３の配置位置決定処理Ｆ１＿Ｔ２１１の詳細な動作を示すフローチャートである。
【図１３】素子／グループの位置情報を例示する図である。
【図１４】本発明の実施の形態２に係るレイアウト設計装置における図３中のＭＯＳトランジスタ処理：グループ内配置順序決定処理Ｆ１＿２０２の詳細な動作を示すフローチャートである。
【図１５】グループを構成する素子が分割されている場合の回路例を示す図である。
【図１６】図１５に示す回路例の接続情報を示す表図である。
【図１７】配置パターン情報テーブルを例示する表図である。
【図１８】配置パターン情報テーブルに含まれる配置関係を例示する図である。
【図１９】本発明の実施の形態３に係るレイアウト設計装置における図３中の配置順序決定処理Ｆ１＿Ｔ２００の詳細な動作を示すフローチャートである。
【図２０】ＭＯＳトランジスタに外部から高優先度の配置順序を指定した場合のレイアウトを例示する図である。
【図２１】本発明の実施の形態４に係るレイアウト設計装置における図３中の素子及びグループの面積別配置順序決定処理Ｆ１＿Ｔ２１０の詳細な動作を示すフローチャートである。
【図２２】幅が大きい機能ブロックを優先的に配置した場合のレイアウトを例示する図である。
【発明を実施するための形態】
【００１４】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１に係るレイアウト設計装置１の構成を示している。レイアウト設計装置１は、グループ化部２、ブロック内部配置決定部３、ブロック面積算出部４、ブロック配置順序決定部５、及びブロック配置位置決定部６を有する。
【００１５】
グループ化部２は、特定の電気的特性を有する機能ブロックを構成する素子をグループ化するものである。グループ化部２は、機能ブロックを構成する候補となる素子に関する素子情報と、当該機能ブロックの電気的特性を実現するために必要な素子の種類を示す適合素子情報とに基づいて、適合する素子を抽出し、抽出された素子をその種類毎にグループ化する。
【００１６】
ブロック内部配置決定部３は、電気的特性を実現するために必要な素子の接続関係を示す内部接続情報に基づいて、配線効率が最適化されるように機能ブロック内における素子の配置を決定する。
【００１７】
ブロック面積算出部４は、素子の大きさを示す情報等に基づいて、機能ブロックの面積を算出する。
【００１８】
ブロック配置順序決定部５は、複数の機能ブロックを基板上に配置する際の配置順序を決定するものである。ブロック配置順序決定部５は、ブロック面積算出部４により算出された面積が大きい程優先的に配置されるように、上記配置順序を決定する。
【００１９】
ブロック配置位置決定部６は、ブロック配置順序決定部５により決定された配置順序と、基板上の回路全体の接続関係を示す全体接続情報とに基づいて、配線効率が最適されるように各機能ブロックの配置位置を決定する。
【００２０】
上記構成によれば、グループ化された素子間の接続関係、各素子の端子位置等の特徴、各機能ブロック間の接続関係、その他基板上の回路全体の接続関係、及び各機能ブロックの大きさに基づいて、配線効率が最適化されるように、レイアウト設計が行われる。これにより、グループ化された素子同士を単に近接配置させるだけでなく、各接続関係、各素子の特徴等に基づく最適な配線効率を実現するレイアウトを設計することが可能となる。
【００２１】
図２は、レイアウト設計装置１が実現されるハードウェア構成を例示している。当該ハードウェアは、コンピュータ１１であり、制御部１２、記憶部１３、入力部１４、出力部１５、及びバス１６を有する。
【００２２】
記憶部１３は、本発明に係るレイアウト設計方法を実行するためのプログラムを不揮発性メモリに格納している。当該プログラムは、バス１６を介して制御部１２にダウンロードされ、ローカルなハードディスク、メモリ等を介して、ＣＰＵ等から構成される制御部１２を制御する。
【００２３】
入力部１４は、キーボード、タッチパネル等であり、ユーザによる入力操作を受け付けるものである。出力部１５は、ディスプレイ、スピーカ等であり、制御部１２の動作により得られたレイアウトの結果、ユーザが入力した情報等をユーザに伝達するものである。
【００２４】
図３は、レイアウト設計装置１の全体的な動作を示している。データ処理Ｆ１＿Ｔ１００において、入力データＦ１＿Ｆ１０１及びＦ１＿Ｆ１０２から、構成要素となる素子（セル）の種類、端子の仕様等に関する情報、構成しようとする機能ブロックの電気的特性、当該電気的特性を実現するために必要な接続情報等が取得される。
【００２５】
配置決定処理Ｆ１＿Ｔ２００において、素子の種類毎にグループ化が行われ、各素子の配置が決定される。素子の種類としては、ＭＯＳトランジスタ、抵抗、容量、ダイオード、その他素子がある。
【００２６】
自動配置処理Ｆ１＿Ｔ３００において、配置決定処理Ｆ１＿Ｔ２００において決定した配置順序及び配置位置に従って、各機能ブロック（グループ化されていない単独の素子（セル）を含む）のレイアウトを決定する。
【００２７】
図４は、図３のＭＯＳトランジスタ処理：グループ化Ｆ１＿Ｔ２０１の詳細な動作を示している。Ｆ１＿Ｔ２０１＿Ｃ１０１は、ＭＯＳトランジスタが終わりかどうか（全てのＭＯＳトランジスタについて処理が終わったかどうか）を判断し、終わりの場合（ＹＥＳ）にはＦ１＿Ｔ２０１＿Ｔ１０３に進み、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２０１＿Ｃ１０２に進む。
【００２８】
Ｆ１＿Ｔ２０１＿Ｃ１０２は、Ｆ１＿Ｔ１００で認識した電気的特性の情報があるかどうか（全ての電気的特性について処理が終わったかどうか）を判断し、電気的特性情報がない場合（ＹＥＳ）にはＦ１＿Ｔ２０１＿Ｔ１０３に進み、電気的特性情報がある場合（ＮＯ）にはＦ１＿Ｔ２０１＿Ｔ１０１に進む。
【００２９】
Ｆ１＿Ｔ２０１＿Ｔ１０１は、電気的特性情報の１番目の電気的特性を構成するＭＯＳトランジスタをグループ化する。Ｆ１＿Ｔ２０１＿Ｔ１０２は、処理対象を電気的特性表の次の設定に移し、Ｆ１＿Ｔ２０１＿Ｃ１０１に進む。
【００３０】
Ｆ１＿Ｔ２０１＿Ｃ１０１においてＭＯＳトランジスタが終わりの場合（ＹＥＳ）には、Ｆ１＿Ｔ２０１＿Ｔ１０３が同一バックゲートのＰＭＯＳ／ＰＭＯＳで構成されるグループをグループ化し、Ｆ１＿Ｔ２０１＿Ｔ１０４が同一バックゲートのＮＭＯＳ／ＮＭＯＳで構成されるグループをグループ化する。
【００３１】
図５は、上記電気的特性を規定する電気的特性表２０を例示している。図６は、図４のフローチャートを説明するための回路例２１を示している。以下に、図４のフローチャートを当該電気的特性表２０及び回路例２１を用いて説明する
【００３２】
Ｆ１＿Ｔ２０１＿Ｃ１０１は、回路例２１におけるＭＯＳトランジスタについての処理が終わりかどうかを判断する。本例においては、まだ終了していないので、Ｆ１＿Ｔ２０１＿Ｃ１０２に進む。Ｆ１＿Ｔ２０１＿Ｃ１０２は、電気的特性表２０における電気的特性につての処理が終わりかどうかを判断する。本例においては、まだ終了していないので、Ｆ１＿Ｔ２０１＿Ｔ１０１に進む。
【００３３】
Ｆ１＿Ｔ２０１＿Ｔ１０１は、回路例２１内にあるＭＯＳトランジスタのうち電気的特性表２０のＮｏ．１の差動回路の条件に適合するものをグループ化する。図６中、２２で示す部分にある２つのＭＯＳトランジスタＮＭ０，ＮＭ１が当該条件に適合する。ＮＭ０のＳ端子とＮＭ１のＳ端子、及びＮＭ０のＢ端子とＮＭ１のＢ端子が、それぞれ同一ネットとなっており、他の条件についても適合している。これにより、ＮＭ０，ＮＭ１は、差動回路であると認識される。
【００３４】
Ｆ１＿Ｔ２０１＿Ｔ１０２は、処理対象を電気的特性表２０のＮｏ．２に移し、Ｆ１＿Ｔ２０１＿Ｃ１０２に進む。Ｆ１＿Ｔ２０１＿Ｃ１０２は、当該Ｎｏ．２の電気的特性情報があるかどうかを判断する。本例においては、Ｎｏ．２の電気的特性情報があるので、Ｆ１＿Ｔ２０１＿Ｔ１０１に進む。
【００３５】
Ｆ１＿Ｔ２０１＿Ｔ１０１は、回路例２１内にあるＭＯＳトランジスタのうち電気的特性表２０のＮｏ．２のカレントミラーの条件に適合するものをグループ化する。本例においては、適合するものがないため、グループ化はなされない。
【００３６】
その後、Ｆ１＿Ｔ２０１＿Ｔ１０２が処理対象を電気的特性表２０のＮｏ．３に移し、
Ｆ１＿Ｔ２０１＿Ｃ１０２に進む。Ｆ１＿Ｔ２０１＿Ｃ１０２は、当該Ｎｏ．３の電気的特性情報があるかどうかを判断する。本例においては、Ｎｏ．３の電気的特性情報はないので、Ｆ１＿Ｔ２０１＿Ｔ１０３に進む。
【００３７】
Ｆ１＿Ｔ２０１＿Ｔ１０３は、同一バックゲートのＰＭＯＳで構成されるグループを、より大きいグループとしてグループ化を行う。Ｆ１＿Ｔ２０１＿Ｔ１０４は、同一バックゲートのＮＭＯＳで構成されるグループを、より大きいグループとしてグループ化を行う。
【００３８】
上記処理により、素子の１つの種類であるＭＯＳトランジスタのグループ化処理が完了する。尚、本例では、電気的特性を示す情報として差動回路及びカレントミラーのみを示したが、本発明はこれに限定されるものではない。精度を確保する為に隣接を必要とする素子に関する情報、その他適宜の条件を追加しても良い。例えば、差動回路の条件のように回路の接続関係を条件としてもよいし、特定のＭＯＳトランジスタを直接条件として記載し、グループ化を行っても良い。
【００３９】
図７は、図３のＭＯＳトランジスタ処理：グループ内配置決定処理Ｆ１＿Ｔ２０２の詳細な動作を示している。Ｆ１＿Ｔ２０２＿Ｃ１０１は、ＭＯＳトランジスタのグループが終わりかどうか（上記Ｆ１＿Ｔ２０１によりグループ化されたＭＯＳトランジスタの全てのグループについて処理が終わったかどうか）を判断し、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２０２＿Ｔ１０１に進み、終わりの場合（ＹＥＳ）にはＦ１＿Ｔ２０２の処理を終了する。
【００４０】
Ｆ１＿Ｔ２０２＿Ｔ１０１は、同一のバックゲート電位を有する素子同士が隣接配置するようにグループ内での素子の配置を決定する。Ｆ１＿Ｔ２０２＿Ｔ１０２は、同電位端子を有する素子同士が隣接配置するようにグループ内での素子の配置を決定する。Ｆ１＿Ｔ２０２＿Ｔ１０３は、その他、良好な電気的特性が得られるようにするために必要な構造が構築されるようにグループ内の配置を決定する。
【００４１】
Ｆ１＿Ｔ２０２＿Ｔ１０４は、各素子の配置方向を決定する。即ち、上記共通の電位となる両端子が対向するように、その他の構造が構築されるように、各素子の向きが決定される。
【００４２】
図８〜図１０は、図７のフローチャートを説明するためのＭＯＳトランジスタグループ内の配置を例示している。以下に、図７のフローチャートを当該ＭＯＳトランジスタグループ内の配置例を用いて説明する。
【００４３】
Ｆ１＿Ｔ２０２＿Ｃ１０１は、ＭＯＳトランジスタのグループが終わりかどうかを判断し、本例においては、Ｆ１＿Ｔ２０２＿Ｔ１０１に進む。Ｆ１＿Ｔ２０２＿Ｔ１０１は、図８に示すグループのように、同一のバックゲート電位を有するＭＯＳトランジスタＮＭ０及びＮＭ１同士を隣接配置させる。当該配置の設定は、個々のトランジスタＮＭ０，ＮＭ１に対して配置順序及び位置を示す番号を連番で付与する等の一般的な方法でよい。
【００４４】
Ｆ１＿Ｔ２０２＿Ｔ１０２を、図９に示すグループのように、同電位端子を有するＭＯＳトランジスタＮＭ０及びＮＭ１同士を隣接配置させる。本例では、両ＭＯＳトランジスタＮＭ０，ＮＭ１のＳ端子の電位が同一であるため、Ｓ端子同士が向き合うようにそれらの配置方向が設定される。
【００４５】
Ｆ１＿Ｔ２０２＿Ｔ１０４は、図１０に示すグループのように、両ＭＯＳトランジスタＮＭ０，ＮＭ１の配置方向を揃える必要がある場合等に、そのように配置方向を設定する。
【００４６】
その後、Ｆ１＿Ｔ２０２＿Ｃ１０１は、ＭＯＳトランジスタのグループが終わりかどうかを判断し、全てのグループを終わった場合には、当該ルーチンは終了し、図３のＦ１＿Ｔ２０３が実行される。
【００４７】
図３の抵抗処理：グループ化Ｆ１＿Ｔ２０３、容量処理：グループ化Ｆ１＿Ｔ２０５、及びダイオード処理：グループ化Ｆ１＿Ｔ２０７は、上記ＭＯＳトランジスタ：グループ化Ｆ１＿Ｔ２０１と同様の処理により行われる。
【００４８】
図３の抵抗処理：グループ内配置処理Ｆ１＿Ｔ２０４、容量処理：グループ内配置処理Ｆ１＿Ｔ２０６、ダイオード処理：グループ内配置処理Ｆ１＿Ｔ２０８、及び他素子処理：グループ内配置処理Ｆ１＿Ｔ２０９は、ＭＯＳトランジスタ：グループ内配置処理Ｆ１＿Ｔ２０２と同様の処理により行われる。
【００４９】
図１１は、図３の素子／グループの面積別配置順序決定処理Ｆ１＿Ｔ２１０の詳細な動作を示している。Ｆ１＿Ｔ２１０は、各機能ブロックを基板上に配置していく際の配置順序を決定する。この機能ブロックには、上記のように素子の種類毎にグループ化されたグループ、及びグループ化されなかった単独の素子（セル）が含まれる。
【００５０】
Ｆ１＿Ｔ２１０＿Ｃ１０１は、グループが終わりかどうか（全てのグループについて処理が終わったかどうか）を判断し、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２１０＿Ｃ１０２に進み、終わりの場合（ＹＥＳ）にはＦ１＿Ｔ２１０＿Ｃ１０４に進む。
【００５１】
Ｆ１＿Ｔ２１０＿Ｃ１０２は、グループ内の素子及びグループが終わりかどうか（全てのグループ内の全ての素子及び全てのグループについて処理が終わったがどうか）を判断し、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２１０＿Ｃ１０３に進み、終わりの場合（ＹＥＳ）にはＦ１＿Ｔ２１０＿Ｔ１０４に進む。
【００５２】
Ｆ１＿Ｔ２１０＿Ｃ１０３は、処理対象がグループであるかどうかを判断し、グループである場合（ＹＥＳ）にはＦ１＿Ｔ２１０＿Ｔ１０１に進み、グループでない場合（ＮＯ）にはＦ１＿Ｔ２１０＿Ｔ１０３に進む。
【００５３】
Ｆ１＿Ｔ２１０＿Ｔ１０１は、グループ内の素子の面積情報を取得する。Ｆ１＿Ｔ２１０＿Ｔ１０２は、取得された素子の面積情報に基づいてグループの面積を算出し、Ｆ１＿Ｔ２１０＿Ｃ１０２に戻る。
【００５４】
Ｆ１＿Ｔ２１０＿Ｔ１０３は、グループ化されなかった素子の面積情報を取得し、Ｆ１＿Ｔ２１０＿Ｃ１０２に戻る。
【００５５】
Ｆ１＿Ｔ２１０＿Ｔ１０４は、全てのグループの面積情報を取得し、Ｆ１＿Ｔ２１０＿Ｃ１０１に戻る。
【００５６】
Ｆ１＿Ｔ２１０＿Ｃ１０４は、グループ化されていない素子が終わりかどうかを判断し、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２１０＿Ｔ１０５に進み、終わりの場合（ＹＥＳ）にはＦ１＿Ｔ２１０＿Ｔ１０６に進む。
【００５７】
Ｆ１＿Ｔ２１０＿Ｔ１０５は、全てのグループ化されていない素子の面積情報を取得する。Ｆ１＿Ｔ２１０＿Ｔ１０６は、全ての素子及び全てのグループの面積情報に基づいて、面積が大きい順に優先的に配置されるように配置順序情報を付加する。
【００５８】
図１２は、図３のフローチャートにおける配置位置決定処理Ｆ１＿Ｔ２１１の詳細な動作を示している。Ｆ１＿Ｔ２１１＿Ｃ１０１は、素子及びグループが終わりかどうか（全ての素子及びグループについての処理が終わったかどうか）を判断し、終わりでない場合（ＮＯ）にはＦ１＿Ｔ２１１＿Ｃ１０２に進み、終わりの場合（ＹＥＳ）には配置順序見直し処理を終了する。
【００５９】
Ｆ１＿Ｔ２１１＿Ｃ１０２は、処理対象の素子又はグループがＭＯＳトランジスタかどうかを判断し、ＭＯＳトランジスタである場合（ＹＥＳ）にはＦ１＿Ｔ２１１＿Ｔ１０１に進み、ＭＯＳトランジスタでない場合（ＮＯ）にはＦ１＿Ｔ２１１＿Ｃ１０３に進む。
【００６０】
Ｆ１＿Ｔ２１１＿Ｔ１０１は、ＰＭＯＳグループ同士が隣接配置するように位置情報を付加する。Ｆ１＿Ｔ２１１＿Ｔ１０２は、ＮＭＯＳグループ同士が隣接配置するように位置情報を付加する。
【００６１】
次に、Ｆ１＿Ｔ２１１＿Ｃ１０３は、処理対象の素子又はグループが入出力端子に接続しているかどうかを判断し、接続している場合（ＹＥＳ）にはＦ１＿Ｔ２１１＿Ｔ１０３に進み、接続していない場合（ＮＯ）にはＦ１＿Ｔ２１１＿Ｔ１０４に進む。
【００６２】
Ｆ１＿Ｔ２１１＿Ｔ１０３は、入出力端子に接続する素子又はグループが入出力端子の近くに配置されるように位置情報を付加する。Ｆ１＿Ｔ２１１＿Ｔ１０４は、同一ネットに接続している素子又はグループが互いに近接配置するように配置位置を決定する。
【００６３】
図１３は、上記素子／グループの位置情報を例示している。例えば、配置領域３０の左下のエリアに配置される素子又はグループに対しては、位置情報１−１が付加される。
【００６４】
図２に示す自動配置処理Ｆ１＿Ｔ３００は、上記図７のフローに従って決定されたグループ内の素子の配置情報と、図１１のフローに従って決定された素子及びグループの配置順序と、図１２のフローに従って決定された素子及びグループの配置位置とに基づいて、グループ内の素子の配置、グループ化されない素子及びグループの配置を行う。
【００６５】
上記レイアウト設計装置１によれば、素子種類毎に電気的特性に対応するグループ化が行われ、グループ内の素子の配置が決定される。機能ブロックの面積が算出され、当該面積が大きい程優先的に配置されるように、機能ブロックの配置順序が決定される。当該配置順序と、素子、グループ、機能ブロックを含む回路全体の接続関係とに基づいて、機能ブロックの配置位置が決定される。これにより、基板上の各要素の接続関係、形状的特徴等に応じて最適な配線効率を実現するレイアウトを設計することが可能となる。
【００６６】
実施の形態２
以下に、本発明の実施の形態２に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、グループを構成する素子が分割されている場合に好適なものである。ここでは、差動回路を構成する２つのＭＯＳトランジスタ：ＮＭ０，ＮＭ１が、各々分割数＝２で構成されている場合について説明する。
【００６７】
図１４は、実施の形態２に係るレイアウト設計装置における特徴的な動作を示すものであり、図３中のＭＯＳトランジスタ処理：グループ内配置順序決定処理Ｆ１＿２０２の詳細な動作を示している。
【００６８】
Ｆ２＿Ｔ２０２＿Ｃ１０１は、ＭＯＳトランジスタのグループが終わりかどうか（全てのＭＯＳトランジスタのグループについて処理が終わったかどうか）を判断し、終わりでない場合（ＮＯ）にはＦ２＿Ｔ２０２＿Ｃ１０２に進み、終わりの場合（ＹＥＳ）にはグループ内配置順序決定処理を終了する。
【００６９】
Ｆ２＿Ｔ２０２＿Ｃ１０２は、グループを構成するＭＯＳトランジスタが分割されているかどうかを判断し、分割されていない場合（ＮＯ）にはＦ２＿Ｔ２０２＿Ｔ１０１に進み、分割されている場合（ＹＥＳ）にはＦ２＿Ｔ２０２＿Ｔ１０４に進む。
【００７０】
Ｆ２＿Ｔ２０２＿Ｔ１０４は、配置パターン情報の読込みを行う。Ｆ２＿Ｔ２０２＿Ｔ１０５は、Ｆ２＿Ｔ２０２＿Ｔ１０４で読込んだ配置パターン情報の中から、グループを構成するＭＯＳトランジスタの素子数及び分割数と一致する配置パターン情報を抽出する。Ｆ２＿Ｔ２０２＿Ｔ１０６は、Ｆ２＿Ｔ２０２＿Ｔ１０５で抽出された配置パターン情報の中から最適な配置パターン情報を選択する。Ｆ２＿Ｔ２０２＿Ｔ１０７は、Ｆ２＿Ｔ２０２＿Ｔ１０６で選択した配置パターン情報に基づいてグループ内の配置を決定する。
【００７１】
図１５は、グループを構成する素子が分割されている場合の回路例を示している。図１６は、図１５に示す回路例の接続情報を示している。図１７は、配置パターン情報テーブル３６を例示している。図１８は、配置パターン情報テーブル３６に含まれる配置関係を例示している。図１５中、部分３５にあるＮＭ０，ＮＭ１は、上記実施の形態１と同様の処理により、グループ化されている。以下、図１４のフローチャートを、図１６〜図１８に示す例を用いて説明する。
【００７２】
Ｆ２＿Ｔ２０２＿Ｃ１０１は、ＭＯＳトランジスタのグループが終わりかどうかを判断し、本例においてはまだ終了していないので、Ｆ２＿Ｔ２０２＿Ｃ１０２に進む。
【００７３】
Ｆ１＿Ｔ２０２＿Ｃ１０２は、図１５に示すＭＯＳトランジスタのグループを構成するＭＯＳトランジスタが分割されているかどうかを判断する。ＭＯＳトランジスタの分割数は、図１６に示す接続情報から取得する。当該接続情報の分割数＝２との情報から、ＮＭ０及びＮＭ１は分割されていることがわかるので、Ｆ２＿Ｔ２０２＿Ｔ１０４が実行される。
【００７４】
Ｆ２＿Ｔ２０２＿Ｔ１０４は、図１７に示す配置パターン情報の読込みを行う。Ｆ２＿Ｔ２０２＿Ｔ１０５は、読み込まれた配置パターン情報から、部分３５にあるグループを構成するＭＯＳトランジスタに関する条件：素子数＝２、分割数＝２と一致するＮｏ．１〜６の情報を抽出する。
【００７５】
Ｆ２＿Ｔ２０２＿Ｔ１０６は、抽出されたＮｏ．１〜６の情報から、図３のＭＯＳトランジスタ処理：グループ化Ｆ１＿Ｔ２０１により得られた電気的特性情報と一致するものを最適なものとして選択する。本例においては、部分３５にあるグループは差動回路であり、図５に示す電気的特性表２０において差動回路を示す番号は「１」である。従って、図１７に示す配置パターン情報の中から、電気的特性の番号が「１」である情報が選択される。本例においては、最終的に配置パターン情報のＮｏ．６が選択されている。
【００７６】
Ｆ２＿Ｔ２０２＿Ｔ１０７は、選択された配置パターン情報Ｎｏ．６の配置関係に基づいて、ＮＭ０の分割する２つのトランジスタ及びＮＭ１の分割する２つのトランジスタのグループ内における配置を決定する。
【００７７】
ここで、図１７に示す配置パターン情報テーブル３６について説明する。配置パターン情報テーブル３６には、Ｎｏ．（パターンナンバー）、素子数、分割数、列数、行数、配置関係、及び電気的特性が含まれる。Ｎｏ．は、配置パターン１つにつき、１つの番号が割り振られるものである。素子数は、グループ内に存在する素子数を表す。分割数は、当該素子の分割数を表す。列数・行数は、配置パターンの列数・行数を表す。配置関係は、対応する列数・行数に従って素子を配置する際の配置順を表す。電気的特性の欄の数字は、図５の電気的特性表２０のＮｏ．に対応している。
【００７８】
図１８に示すように、４列１行の場合には、左から１，２，３，４となる。１列４行の場合には、下から１，２，３，４となる。２列２行の場合には、下段左から１，２、上段左から３，４となる。当該２列２号の例は、上記配置パターン情報Ｎｏ．６の場合に該当する。即ち、２つの素子Ａ，Ｂが、分割数＝２の場合、配置パターン情報Ｎｏ．６に従って配置すると、下段左からＡ，Ｂ、上段左から、Ｂ，Ａとなる。
【００７９】
上記実施の形態２に係るレイアウト設計装置によれば、分割素子に対する配置パターン情報が使用されるので、実施の形態１より更に配線効率の良いレイアウトを実現することが可能となる。
【００８０】
実施の形態３
以下に、本発明の実施の形態３に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、機能ブロック（グループ及びグループ化されていない素子）の配置順序をユーザの設定により調整可能にする機能を有するものである。
【００８１】
図１９は、実施の形態３に係るレイアウト設計装置における特徴的な動作を示すものであり、図３中の配置順序決定処理Ｆ１＿Ｔ２００の詳細な動作を示している。
【００８２】
Ｆ３＿Ｔ２０１は、外部から入力された優先度指定Ｆ３＿Ｉ２０１を認識する。優先度指定Ｆ３＿Ｉ２０１は、ユーザが入力部１４を介して行うものでも良いし、予め用意したデータを与えるものであっても良い。
【００８３】
Ｆ３＿Ｃ２０１は、優先度指定がＭＯＳトランジスタに対するものであるかどうかを判断し、ＭＯＳトランジスタに対するものである場合（ＹＥＳ）にはＦ３＿Ｔ２０２に進み、ＭＯＳトランジスタに対するものでない場合（ＮＯ）にはＦ３＿Ｔ２０３に進む。
【００８４】
Ｆ３＿Ｔ２０２は、全てのＭＯＳトランジスタに高優先度認識情報を付加する。尚、この例に限らず、特定の素子に対してのみ優先度指定を与えても良い。この場合、差動回路の条件のように、回路の接続関係について優先度を指定するものであっても良いし、特定のＭＯＳトランジスタを直接指定するものであっても良い。
【００８５】
上記図１９のフローにより、全ての素子及びグループの配置順序及び配置位置が決定された後に、自動レイアウトが行われる。当該自動レイアウトの際には、図１９のフローにより高優先度に指定された素子及びグループが優先的に配置される。
【００８６】
図２０は、ＭＯＳトランジスタに外部から高優先度の配置順序を指定した場合のレイアウトを例示している。本例においては、ＭＯＳトランジスタのグループ５１，５２が他のグループ５３，５４，５５より高い優先度が与えられ、優先的に配置されている。
【００８７】
上記実施の形態３に係るレイアウト設計装置によれば、外部指定優先度認識処理Ｆ３＿Ｔ２０１で認識した優先度に合致する全ての素子及びグループに対し、高優先度認識情報付加処理Ｆ３＿Ｔ２０２が行われるので、特定の素子及びグループを優先的に配置させることを外部からコントロールすることが可能となる。
【００８８】
実施の形態４
以下に、本発明の実施の形態４に係るレイアウト設計装置について説明する。当該レイアウト設計装置は、機能ブロックの配置順序を決定する際に、その面積よりも幅が大きいものを優先させる機能を有するものである。
【００８９】
図２１は、実施の形態４に係るレイアウト設計装置における特徴的な動作を示すものであり、図３中の素子及びグループの面積別配置順序決定処理Ｆ１＿Ｔ２１０の詳細な動作を示している。
【００９０】
Ｆ４＿Ｔ２１０＿Ｃ１０１は、グループが終わりかどうか（全てのグループについて処理が終わったかどうか）を判断し、終わりでない場合（ＮＯ）にはＦ４＿Ｔ２１０＿Ｃ１０２に進み、終わりの場合（ＹＥＳ）にはＦ４＿Ｔ２１０＿Ｃ１０４に進む。
【００９１】
Ｆ４＿Ｔ２１０＿Ｃ１０２は、グループ内の素子及びグループが終わりかどうかを判断し、終わりでない場合（ＮＯ）にはＦ４＿Ｔ２１０＿Ｃ１０３に進み、終わりの場合（ＹＥＳ）にはＦ４＿Ｔ２１０＿Ｔ１０４に進む。
【００９２】
Ｆ４＿Ｔ２１０＿Ｃ１０３は、処理対象がグループであるかどうかを判断し、グループの場合（ＹＥＳ）にはＦ４＿Ｔ２１０＿Ｔ１０１に進み、グループでない場合（ＮＯ）にはＦ４＿Ｔ２１０＿Ｔ１０３に進む。
【００９３】
Ｆ４＿Ｔ２１０＿Ｔ１０１は、グループ内の素子の面積及び幅（最大幅）情報を取得する。Ｆ４＿Ｔ２１０＿Ｔ１０２は、グループ全体の面積及び幅を算出し、Ｆ４＿Ｔ２１０＿Ｃ１０２に戻る。
【００９４】
Ｆ４＿Ｔ２１０＿Ｔ１０３は、素子の面積及び幅情報を取得し、Ｆ４＿Ｔ２１０＿Ｃ１０２に戻る。Ｆ４＿Ｔ２１０＿Ｔ１０４は、グループ全体の面積及び幅情報を算出し、Ｆ４＿Ｔ２１０＿Ｃ１０１に戻る。
【００９５】
Ｆ４＿Ｔ２１０＿Ｃ１０４は、グループ化されていない素子が終わりかどうかを判断し、終わりでない場合（ＮＯ）にはＦ４＿Ｔ２１０＿Ｔ１０５に進み、終わりの場合（ＹＥＳ）にはＦ４＿Ｔ２１０＿Ｔ１０６に進む。
【００９６】
Ｆ４＿Ｔ２１０＿Ｔ１０５は、素子の面積及び幅情報を取得する。Ｆ４＿Ｔ２１０＿Ｔ１０６は、素子及びグループの面積情報に基づいて面積が大きい程優先的に配置されるように配置順序情報を付加する。
【００９７】
Ｆ４＿Ｔ２１０＿Ｔ１０７は、幅が最も大きな素子又はグループに最も高い優先度認識情報を付加する。Ｆ４＿Ｔ２１０＿Ｔ１０８は、幅が最も大きな素子又はグループの幅を配置領域の幅の最大値に設定する。
【００９８】
図２２は、幅が大きい機能ブロック（グループ化されていない素子及びグループを含む）を優先的に配置した場合のレイアウトを例示している。以下に、図２１のフローを、図２２に示す例を用いて説明する。
【００９９】
Ｆ４＿Ｔ２１０＿Ｃ１０１は、グループが終わりかどうかを判断する。素子６０は、グループ化されていないため、Ｆ４＿Ｔ２１０＿Ｃ１０４に進む。
【０１００】
Ｆ４＿Ｔ２１０＿Ｃ１０４は、グループ化されていない素子が終わりかどうかを判断し、本例においては終わりではないので、Ｆ４＿Ｔ２１０＿Ｔ１０５に進む。
【０１０１】
Ｆ４＿Ｔ２１０＿Ｔ１０５は、素子の面積及び幅情報を取得し、Ｆ４＿Ｔ２１０＿Ｃ１０４に戻る。グループ化されていないセルが終わったら、Ｆ４＿Ｔ２１０＿Ｔ１０６に進む。
【０１０２】
Ｆ４＿Ｔ２１０＿Ｔ１０６は、面積が大きい順に配置順序情報を付加する。Ｆ４＿Ｔ２１０＿Ｔ１０７は、幅が最も大きな素子６０に、最も高い優先度認識情報を付加する。Ｆ４＿Ｔ２１０＿Ｔ１０８は、幅が最も大きい素子６０の幅を配置領域の幅の最大値に設定する。
【０１０３】
図２２において、素子６０は、他の素子又はグループであるＰＭ０，ＰＭ１，ＰＭ２，ＮＭ０，ＮＭ１，ＮＭ２，ＮＭ３，Ｄ０，Ｃ０よりも優先的に配置され、配置領域の幅が素子６０の幅となっている。
【０１０４】
上記実施の形態４に係るレイアウト設計装置によれば、機能ブロックの配置順序を決定するに際し、面積よりも幅が大きいものに対して高い優先度が付加される。また、最も大きい機能ブロックの幅が配置領域の幅の最大値に設定される。これにより、配置領域を必要最小限に抑えてレイアウト設計を行うことが可能となる。
【０１０５】
尚、本発明は上記実施の形態に限られるものではなく、趣旨を逸脱しない範囲で適宜変更することが可能なものである。
【符号の説明】
【０１０６】
１  レイアウト設計装置
２  グループ化部
３  ブロック内部配置決定部
４  ブロック面積算出部
５  ブロック配置順序決定部
６  ブロック配置位置決定部
１１  コンピュータ
２０  電気的特性表
３６  配置パターンテーブル
【図１】
2013061901.tif 000003
【図２】
2013061901.tif 000004
【図３】
2013061901.tif 000005
【図４】
2013061901.tif 000006
【図５】
2013061901.tif 000007
【図６】
2013061901.tif 000008
【図７】
2013061901.tif 000009
【図８】
2013061901.tif 000010
【図９】
2013061901.tif 000011
【図１０】
2013061901.tif 000012
【図１１】
2013061901.tif 000013
【図１２】
2013061901.tif 000014
【図１３】
2013061901.tif 000015
【図１４】
2013061901.tif 000016
【図１５】
2013061901.tif 000017
【図１６】
2013061901.tif 000018
【図１７】
2013061901.tif 000019
【図１８】
2013061901.tif 000020
【図１９】
2013061901.tif 000021
【図２０】
2013061901.tif 000022
【図２１】
2013061901.tif 000023
【図２２】
2013061901.tif 000024