(57)【要約】【課題】アナログレイアウト設計の自動化による設計工期の短縮を図ることが可能なレイアウト設計装置を提供すること。【解決手段】レイアウト設計装置２１は、回路データ２４の中から特性を一致させる必要があるトランジスタ、抵抗、容量素子群を抽出し、トランジスタ、抵抗、容量素子群の接続関係に基づいてトランジスタ、抵抗、容量素子群に含まれる複数のトランジスタ、抵抗、容量素子によって構成される所定の機能を有する回路、たとえば差動回路、差動負荷回路およびミラー回路を特定する。そして、特定された回路の種別に応じてレイアウト制約３０を生成し、レイアウト制約３０に基づいて配置配線を行なう。したがって、アナログ回路のレイアウト制約３０を自動的に付加することができ、アナログレイアウト設計の自動化による設計工期の短縮を図ることが可能となる。【選択図】図２
2012155594.tif 000002
【特許請求の範囲】
【請求項１】
アナログ回路を含んだ半導体集積回路のレイアウト設計を行なうレイアウト設計装置であって、
前記アナログ回路の中から特性を一致させる必要があるトランジスタ、抵抗、容量素子群を抽出し、該トランジスタ素子群の接続関係に基づいて該トランジスタ素子群に含まれる複数のトランジスタ、抵抗、容量素子によって構成される所定の機能を有する回路を特定する特定手段と、
前記特定手段によって特定された回路の種別に応じてレイアウト制約を生成する生成手段と、
前記生成手段によって生成されたレイアウト制約に基づいて配置配線を行なう配置配線手段とを含む、レイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトパターンを自動生成する技術に関し、特に、所望のアナログ特性を有するアナログ回路のレイアウトパターンを自動的に設計するレイアウト設計装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路の大規模化、高集積化が進んでおり、アナログ・デジタル混載の半導体集積回路（以下、ＬＳＩ（Large Scale Integrated circuit）と呼ぶ。）の設計において、アナログ回路のレイアウトパターン設計（以下、アナログレイアウト設計と呼ぶ。）に必要な工数が、デジタル回路のレイアウト設計と比較して大きな割合を占めるようになってきている。
【０００３】
その理由の１つとして、デジタル回路のレイアウト設計においては設計自動化ツールの利用が一般化してきているのに対して、アナログ回路のレイアウト設計においては自動化が進んでいないことを挙げることができる。
【０００４】
アナログ回路の動作は、信号の連続した電圧値（以下、線形性と呼ぶ。）が重要であるため、アナログレイアウト設計においては、回路シミュレーションなどで期待される回路特性および線形性を極力忠実に再現可能なレイアウトパターンを作成することが必要とされている。
【０００５】
このようなアナログ回路のレイアウトパターンを作成するためには、回路特性を再現する上で重要となる素子群、たとえば差動対構成素子のように特性を一致させる必要がある素子群（以下、ペア素子群と呼ぶ。）を極力近接するように配置する。さらに、複数のペア素子群間の相対的な位置関係についても、高電位電源から低電位電源に至る経路（以下、電流パスと呼ぶ。）を極力短くするといったアナログレイアウト設計における制約（以下、レイアウト制約と呼ぶ。）を満たすようにする。これによって、ＬＳＩ製造時のバラツキによる影響、たとえばペア素子群における特性の相対差、配線寄生効果による信号遅延などを極力回避することができる。
【０００６】
しかしながら、これらのレイアウト制約は、アナログ回路の機能によっても異なるが、比較的小規模である１００素子程度からなる回路であっても３０〜５０箇所程度のレイアウト制約の検討が必要となり、これらの設定が必須であることがアナログレイアウト設計の自動化ツールの利用が進まない原因の１つでもある。これらに関連する技術として、下記の特許文献１〜３に開示された発明がある。
【０００７】
特許文献１は、半導体集積回路の開発方法および半導体集積回路の開発支援プログラムに関し、アナログ回路の回路設計支援処理と、アナログ回路のレイアウト設計支援処理とを含む。回路設計支援処理は、アナログ回路を構成する複数種類の回路素子に対し、回路素子毎にレイアウト属性を一括指定するための属性一括指定処理を含む。レイアウト設計支援処理は、属性一括指定処理で指定されたレイアウト属性を入力し、回路素子のレイアウトに際して当該回路素子に関するレイアウト属性を反映させる。レイアウト属性の一括指定処理により、同種の回路素子に対して別々に同じレイアウト制約を付与する手間を省くことができる。レイアウト制約を回路設計段階で行なうから、必要な回路特定との関係を考慮しながらレイアウト制約を決めることができる。
【０００８】
特許文献２は、所要のアナログ特性を得るためのレイアウトトポロジを容易に得ることを可能にするアナログ回路のレイアウト方法を提供することを目的とする。アナログ回路の回路図データを入力し、操作指示に基づいてアナログ回路のレイアウト領域を複数に分割し、分割された複数の領域（ルーム）にアナログ回路の回路素子を割り当て、分割された領域の相対位置をレイアウトの相対位置とし、分割された領域の隣接境界をレイアウト境界とする第1のグループレイアウト制約を生成する処理を有する。また、操作指示に基づいて分割された領域の一部を部分領域（下位ルーム）として切り出し、切り出した部分領域に含まれる回路素子の相対位置をレイアウトの相対位置とし、隣接する部分領域の相対配置を電流が流れる上流と下流の順序を決める相対位置とする第２のグループレイアウト制約を生成する処理を有する。そして、第１及び第２のグループレイアウト制約を満足させてアナログ回路のレイアウトパターンを生成する。
【０００９】
特許文献３は、部品の近接性や相対位置に関する制約を生成し、それらの制約を満たすことにより回路図に近く、狭領域に配置されるレイアウト作成装置を提供することを目的とする。回路図データから、当該回路図データに含まれる各部品のブロックをレイアウト平面上に配置するレイアウト作成装置において、シーケンス・ペアの生成を行うシーケンス・ペア生成手段と、シーケンス・ペアにより指定された位置関係を満たすように、すべてのブロックをレイアウト平面上に配置することで、レイアウト・データを生成するブロック配置手段とを備える。シーケンス・ペア生成手段は、回路図平面上の各部品の座標点の位置関係に基づいて各部品に対応するブロックのシーケンス・ペアの生成を行う。
【００１０】
なお、同一のペア素子群を構成する素子のレイアウトパターンを極力近くに、かつ、同じ向きに配置し、製造時における周辺の素子やパターンによる影響をペア素子群構成要素に均等に作用させ、個々の素子の特性のばらつき差を抑え、それによってペア素子群における相対的精度が高い素子を得ることを、ペア配置と呼ぶ。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２００４／０４２６２２号パンフレット
【特許文献２】国際公開第２００７／１０５２６３号パンフレット
【特許文献３】特開２００６−１４６３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述の特許文献１〜３に開示された発明は、いずれもペア素子を特定し、レイアウト制約を効率的に付加した後に自動配置配線を実施することで、所望のレイアウトパターンを効率的に得ることを目的としている。しかしながら、実際のアナログレイアウト設計においては、ペア素子群であっても、その回路上で果たす機能によって遵守すべきレイアウト制約が異なる。
【００１３】
たとえば、差動対を構成するペア素子群に対しては、配置角度、整列、素子間距離、対称配置といったレイアウト制約が必要であるが、カレントミラーを構成するペア素子群に対しては、配置角度、整列、素子間距離のみのレイアウト制約でよい。
【００１４】
このことは、アナログレイアウト設計においては、同じペア素子群であっても、その回路上で果たす機能によって満たすべきレイアウト制約が異なることを意味している。したがって、レイアウト制約の自動付加という観点からは、画一的にレイアウト制約を付加してゆくといった特許文献１〜３に開示された手法では、所望のレイアウトパターンを得ることは難しい。
【００１５】
また、人手によってレイアウト制約を付加することで上記問題を回避することも可能であるが、その結果、多くのレイアウト制約を入力する必要が生じてしまい、アナログレイアウト設計の自動化による設計工期の短縮、または一般化といった本来の目的を達成することができない。
【００１６】
また、特許文献３は、回路図平面座標情報を用いたレイアウト制約の生成手法を開示するが、その回路図がレイアウト制約を表現していることを前提としているため、人手で作成される回路図においては、そのような前提を満たしている保証はないといった問題点がある。
【００１７】
本発明は、上記問題点を解決するためになされたものであり、その目的は、アナログレイアウト設計の自動化による設計工期の短縮を図ることが可能なレイアウト設計装置を提供することである。
【課題を解決するための手段】
【００１８】
本発明の一実施例によれば、アナログ回路を含んだ半導体集積回路のレイアウト設計を行なうレイアウト設計装置が提供される。レイアウト設計装置は、アナログ回路の中から特性を一致させる必要があるトランジスタ、抵抗、容量素子群を抽出し、トランジスタ、抵抗、容量素子群の接続関係に基づいてトランジスタ、抵抗、容量素子群に含まれる複数のトランジスタ素子によって構成される所定の機能を有する回路を特定する。そして、特定された回路の種別に応じてレイアウト制約を生成し、レイアウト制約に基づいて配置配線を行なう。
【発明の効果】
【００１９】
本発明の一実施例によれば、特定された回路の種別に応じてレイアウト制約を生成し、レイアウト制約に基づいて配置配線を行なうようにしたので、アナログ回路のレイアウト制約を自動的に付加することができ、アナログレイアウト設計の自動化による設計工期の短縮を図ることが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態におけるレイアウト設計装置のハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施の形態におけるレイアウト設計装置の機能的構成を示すブロック図である。
【図３】レイアウト設計装置２１によって実行される全体処理を説明するためのフローチャートである。
【図４】回路データ２４の一例を示す図である。
【図５】図３に示す回路要素抽出（Ｓ２）の処理手順を説明するためのフローチャートである。
【図６】図５に示す差動・差動負荷回路抽出処理（Ｓ１３）の処理手順を説明するためのフローチャートである。
【図７】回路制約２８の一例を示す図である。
【図８】図５に示すミラー回路抽出処理（Ｓ１７）の処理手順を説明するためのフローチャートである。
【図９】回路制約２８の一例を示す図である。
【図１０】レイアウト制約生成ルール２９およびレイアウト制約３０の一例を示す図である。
【図１１】本発明の第２の実施の形態におけるレイアウト設計装置２１の処理手順を説明するためのフローチャートである。
【図１２】図１１に示す配置トポロジ制約生成（Ｓ５２）の処理手順を説明するためのフローチャートである。
【図１３】電流パス抽出、初期メッシュ作成、メッシュ結合および回路要素アサインの一例を示す図である。
【発明を実施するための形態】
【００２１】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるレイアウト設計装置のハードウェア構成の一例を示す図である。このレイアウト設計装置は、コンピュータ本体１、ディスプレイ装置２、ＦＤ（Flexible Disk）４が装着されるＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）８が装着されるＣＤ−ＲＯＭ装置７、およびネットワーク通信装置９を含む。アナログ回路のレイアウト設計を行なうためのプログラム（以下、レイアウト設計プログラムと呼ぶ。）は、ＦＤ４またはＣＤ−ＲＯＭ８等の記録媒体によって供給される。レイアウト設計プログラムがコンピュータ本体１によって実行されることによって、後述のレイアウト制約の付加、自動配置配線などが行なわれる。また、レイアウト設計プログラムは他のコンピュータより通信回線を経由し、コンピュータ本体１に供給されてもよい。
【００２２】
また、コンピュータ本体１は、ＣＰＵ１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２およびハードディスク１３を含む。ＣＰＵ１０は、ディスプレイ装置２、ＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ装置７、ネットワーク通信装置９、ＲＯＭ１１、ＲＡＭ１２またはハードディスク１３との間でデータを入出力しながら処理を行なう。ＦＤ４またはＣＤ−ＲＯＭ８に記録されたレイアウト設計プログラムは、ＣＰＵ１０によりＦＤドライブ３またはＣＤ−ＲＯＭ装置７を介してハードディスク１３に格納される。ＣＰＵ１０は、ハードディスク１３から適宜レイアウト設計プログラムをＲＡＭ１２にロードして実行することによって、後述のレイアウト制約の付加、自動配置配線などが行なわれる。
【００２３】
図２は、本発明の第１の実施の形態におけるレイアウト設計装置の機能的構成を示すブロック図である。レイアウト設計装置２１は、アナログ集積回路またはアナログ・デジタル混載集積回路を構成するアナログ回路のレイアウト設計を支援する装置であって、ディスプレイ２２と、入力部２３とに接続されている。また、レイアウト設計装置２１は、回路データ２４、レイアウトパターン２５、素子レイアウトデータ２６、レイアウトルール２７、回路制約２８、レイアウト制約生成ルール２９、レイアウト制約３０などの情報にアクセスしながら、回路要素とその構成素子群との指定、回路要素に応じたレイアウト制約の生成、自動レイアウトなどの処理を行なう。
【００２４】
ディスプレイ２２は、図１に示すディスプレイ装置２に対応している。また、入力部２３は、図１に示すキーボード５、マウス６などに対応している。
【００２５】
回路データ２４、レイアウトパターン２５、素子レイアウトデータ２６、レイアウトルール２７、回路制約２８、レイアウト制約生成ルール２９、レイアウト制約３０などの情報は、ＲＡＭ１２、ハードディスク１３などに記憶される。なお、これらの情報の詳細は後述する。
【００２６】
図３は、レイアウト設計装置２１によって実行される全体処理を説明するためのフローチャートである。まず、レイアウト設計装置２１は、回路データ２４を入力し（Ｓ１）、回路データ２４から回路要素の抽出を行なう（Ｓ２）。
【００２７】
次に、レイアウト設計装置２１は、抽出した回路要素およびレイアウト制約生成ルール２９などを用いてレイアウト制約３０を生成する（Ｓ３）。そして、レイアウト設計装置２１は、回路データ２４、素子レイアウトデータ２６、レイアウトルール２７、レイアウト制約３０などの情報を用いて自動配置配線を行なう（Ｓ４）。
【００２８】
図４は、回路データ２４の一例を示す図である。図４（ａ）に示す回路データ２４は、Ｐ型ＭＯＳトランジスタＭＰ１〜ＭＰ５と、Ｎ型ＭＯＳトランジスタＭＮ１〜ＭＮ５と、容量Ｃ１と、抵抗Ｒ１とを含む。
【００２９】
図４（ｂ）は、図４（ａ）に示す各ＭＯＳトランジスタの特性を決定するパラメータを示している。レイアウト設計装置の利用者は、回路入力時に、各ＭＯＳトランジスタに対応したパラメータである、Ｌ（ゲート長）、Ｗ（ゲート幅）、Ｆ（ゲート本数）、Ｂ（基盤電位）を指定することが可能である。
【００３０】
本実施の形態においては、回路要素として、“差動回路”、“差動負荷回路”、“カレントミラー回路”を定義し、これらの回路要素と、その構成素子とを抽出する場合について説明する。
【００３１】
図５は、図３に示す回路要素抽出（Ｓ２）の処理手順を説明するためのフローチャートである。まず、レイアウト設計装置２１は、ステップＳ１において入力された回路データ２４を参照して、特性が完全等価である素子の集合（以下、完全等価素子集合と呼ぶ。）を抽出する（Ｓ１１）。
【００３２】
ここで、特性が完全等価であるとは、回路データ２４において同一の素子種別で、かつ、素子の特性を決定するパラメータの値がすべて同一であることを指すものとする。なお、素子の特性を決定する要素が、回路データ２４の接続情報から取得できる場合は、接続情報から取得するようにしてもよい。
【００３３】
図４に示す回路データ２４の一例においては、完全等価素子集合（ＭＰ４，ＭＰ５）および完全等価素子集合（ＭＮ３，ＭＮ４）が抽出される。
【００３４】
次に、完全等価素子集合があるか否かが判定される（Ｓ１２）。完全等価素子集合がない場合には（Ｓ１２，Ｎｏ）、ステップＳ１５に処理が進む。また、完全等価素子集合がある場合（Ｓ１２，Ｙｅｓ）、レイアウト設計装置２１は、抽出した完全等価素子集合を対象に、各集合内素子の任意の組み合わせにおいて、差動回路を構成し得るか否かを判定する。そして、差動回路を構成する場合には、差動回路と、その差動回路に従属する差動負荷回路とを抽出する（Ｓ１３）。
【００３５】
図６は、図５に示す差動・差動負荷回路抽出処理（Ｓ１３）の処理手順を説明するためのフローチャートである。まず、レイアウト設計装置２１は、完全等価素子集合毎にトランジスタ、抵抗、容量素子（以下、単に素子と呼ぶ。）の任意の組み合わせを生成する（Ｓ２１）。そして、その内、トランジスタ素子の組み合わせ毎に、それぞれの素子のゲート端子に接続されるネットが一致するか否かを判定する（Ｓ２２）。
【００３６】
接続ネットが一致する場合には（Ｓ２２，一致）、ステップＳ３２に処理が進む。また、接続ネットが一致しない場合には（Ｓ２２，不一致）、それぞれの素子のソース端子に接続されるネットが一致するか否かを判定する（Ｓ２３）。
【００３７】
それぞれのネットが電源またはグラウンドに接続される場合には（Ｓ２３，電源又はグラウンド）、ステップＳ３２に処理が進む。それぞれの接続ネットが一致する場合には（Ｓ２３，一致）、それぞれの素子のドレイン端子に接続されるネットが一致するか否かを判定する（Ｓ２４）。
【００３８】
接続ネットが一致する場合には（Ｓ２４，一致）、ステップＳ３２に処理が進む。また、接続ネットが一致しない場合には（Ｓ２４，不一致）、それぞれの要素のドレイン端子に接続される素子が、完全等価素子集合に属し、かつ、接続先の端子が同一か否かを判定する（Ｓ２５）。
【００３９】
完全等価素子集合に属さないか、または、接続先の端子が同一でない場合には（Ｓ２５，Ｎｏ）、ステップＳ３２に処理が進む。また、完全等価素子集合に属し、かつ、接続先の端子が同一の場合には（Ｓ２５，Ｙｅｓ）、ステップＳ２９に処理が進む。
【００４０】
また、それぞれの要素のソース端子に接続されるネットが一致しない場合には（Ｓ２３，不一致）、それぞれの要素のソース端子に接続される素子が、完全等価素子集合に属し、かつ、接続先の端子が同一か否かを判定する（Ｓ２６）。
【００４１】
完全等価素子集合に属さないか、または、接続先の端子が同一でない場合には（Ｓ２６，Ｎｏ）、ステップＳ３２に処理が進む。また、完全等価素子集合に属し、かつ、接続先の端子が同一の場合には（Ｓ２６，Ｙｅｓ）、それぞれの要素のドレイン端子に接続されるネットが一致するか否かを判定する（Ｓ２７）。
【００４２】
それぞれのネットが電源またはグラウンドに接続される場合には（Ｓ２７，電源又はグラウンド）、ステップＳ３２に処理が進む。接続ネットが一致する場合には（Ｓ２７，一致）、ステップＳ２９に処理が進む。また、接続ネットが一致しない場合には（Ｓ２７，不一致）、それぞれの素子のドレイン端子に接続される素子が、完全等価素子集合に属し、かつ、接続先の端子が同一か否かを判定する（Ｓ２８）。
【００４３】
完全等価素子集合に属さないか、または、接続先の端子が同一でない場合には（Ｓ２８，Ｎｏ）、ステップＳ３２に処理が進む。また、完全等価素子集合に属し、かつ、接続先の端子が同一の場合には（Ｓ２８，Ｙｅｓ）、ステップＳ２９に処理が進む。
【００４４】
ステップＳ２９において、レイアウト設計装置２１は、着目する素子の組み合わせを差動回路として記憶する。そして、その差動回路のドレイン端子側あるいはソース端子側、またはその双方に接続される素子を、その差動回路に従属する差動負荷回路として記憶する（Ｓ３０）。
【００４５】
そして、差動負荷回路に着目し、差動回路と接続していない端子の接続先素子を確認し、接続先素子が完全等価素子集合に属していれば、差動負荷回路に従属する差動負荷回路として記憶する。この処理を、着目する素子の着目端子が電源ネットまたはグラウンドネットに達するまで繰り返し（Ｓ３１）、ステップＳ３２に処理が進む。
【００４６】
ステップＳ３２において、着目した素子および差動回路、差動負荷回路として抽出された素子を完全等価素子集合から除外する。そして、全ての完全等価素子集合について確認が完了したか否かを判定する（Ｓ３３）。確認していない素子がある場合には（Ｓ３３，Ｎｏ）、ステップＳ２１に戻って以降の処理を繰り返す。また、確認していない素子がない場合には（Ｓ３３，Ｙｅｓ）、処理を終了する。
【００４７】
図４に示す回路データ２４に対して、図６に示す処理を行なうことにより、集合（ＭＰ４，ＭＰ５）が差動回路として抽出され、集合（ＭＮ３，ＭＮ４）が差動負荷回路として抽出される。
【００４８】
再び、図５に示すフローチャートの説明に戻る。ステップＳ１３に示す差動・差動負荷回路抽出処理によって抽出された差動回路および差動負荷回路を、その構成素子と、従属情報と共に回路制約２８として登録する（Ｓ１４）。
【００４９】
図７は、回路制約２８の一例を示す図である。図７（ａ）は、回路制約フォーマットの一例を示しており、回路要素種別、制約名称、構成Ｉｎｓｔａｎｃｅ名、および従属制約名称を含む。
【００５０】
図７（ｂ）は、図４に示す回路データ２４から抽出された差動回路および差動負荷回路の回路制約を示している。図７（ｂ）に示すように、回路要素種別として“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒ（差動回路）”が、制約名称として“ＤＰ１”が、構成Ｉｎｓｔａｎｃｅ名としてＭＰ４およびＭＰ５が記憶される。また、回路要素種別として“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒＬｏａｄ（差動負荷回路）”が、制約名称として“ＤＰＬ１”が、構成Ｉｎｓｔａｎｃｅ名としてＭＮ３およびＭＮ４が、従属制約名称として“ＤＰ１”が記憶される。
【００５１】
なお、図７（ｃ）に示すように、図４に示す回路データ２４の中で、素子ＭＰ４およびＭＰ５によって差動回路ＤＰ１が構成され、素子ＭＮ３およびＭＮ４によって差動負荷回路ＤＰＬ１が構成される。
【００５２】
再び、図５に示すフローチャートの説明に戻る。次に、レイアウト設計装置２１は、ステップＳ１において入力された回路データ２４中のトランジスタ素子を参照して、特性が等価である素子の集合（以下、等価素子集合と呼ぶ。）を抽出する（Ｓ１５）。
【００５３】
ここで、特性が等価であるとは、回路データ２４において同一の素子種別で、かつ、素子の特性を決定するパラメータのうちゲート長、基盤電位、ゲート１本当たりのゲート幅が同一であることを指すものとする。
【００５４】
図４に示す回路データ２４の一例においては、（ＭＰ１，ＭＰ２，ＭＰ３）、（ＭＰ４，ＭＰ５）、（ＭＮ１，ＭＮ２）および（ＭＮ３，ＭＮ４，ＭＮ５）の４つの等価素子集合が抽出される。
【００５５】
次に、等価素子集合があるか否かが判定される（Ｓ１６）。等価素子集合がない場合には（Ｓ１６，Ｎｏ）、処理を終了する。また、等価素子集合がある場合（Ｓ１６，Ｙｅｓ）、レイアウト設計装置２１は、抽出した等価素子集合を対象に、各集合内素子の任意の組み合わせにおいて、ミラー回路を構成し得るか否かを判定する。そして、ミラー回路を構成する場合には、ミラー回路と、そのミラー回路に従属するミラー回路とを抽出する（Ｓ１７）。
【００５６】
図８は、図５に示すミラー回路抽出処理（Ｓ１７）の処理手順を説明するためのフローチャートである。まず、レイアウト設計装置２１は、等価素子集合毎にゲート端子の接続ネットが同一の素子同士の集合を生成する（Ｓ４１）。
【００５７】
次に、レイアウト設計装置２１は、生成した集合内の素子の任意の組み合わせを生成する（Ｓ４２）。そして、それぞれの素子のソース端子に接続されるネットが一致するか否かを判定する（Ｓ４３）。
【００５８】
それぞれの素子のソース端子に接続されるネットが一致しない場合には（Ｓ４３，不一致）、ステップＳ４８に処理が進む。また、それぞれの接続ネットが一致する場合には（Ｓ４３，一致）、その接続ネットが電源またはグラウンドであるか否かを判定する（Ｓ４４）。
【００５９】
接続ネットが電源ではなく、グラウンドでもなければ（Ｓ４４，Ｎｏ）、ステップＳ４８に処理が進む。また、接続ネットが電源またはグラウンドであれば（Ｓ４４，Ｙｅｓ）、着目する素子の組み合わせをミラー回路として記憶する（Ｓ４５）。そして、そのミラー回路のドレイン端子に接続される素子のゲートネットが、ミラー回路と同一であり、かつ、同一の等価素子集合に属するか否かを判定する（Ｓ４６）。
【００６０】
ミラー回路と同一でないか、同一の等価素子集合に属さない場合には（Ｓ４６，Ｎｏ）、ステップＳ４８に処理が進む。また、ミラー回路と同一であり、同一の等価素子集合に属する場合には（Ｓ４６，Ｙｅｓ）、その素子の組み合わせをミラー回路として記憶し（Ｓ４７）、ステップＳ４８に処理が進む。
【００６１】
ステップＳ４８において、全ての等価素子集合について確認が完了したか否かを判定する。確認していない素子がある場合には（Ｓ４８，Ｎｏ）、ステップＳ４２に戻って以降の処理を繰り返す。また、確認していない素子がない場合には（Ｓ４８，Ｙｅｓ）、処理を終了する。
【００６２】
再び、図５に示すフローチャートの説明に戻る。ステップＳ１７に示すミラー回路抽出処理によって抽出されたミラー回路を、その構成素子と、従属情報と共に回路制約２８として登録し（Ｓ１８）、処理を終了する。
【００６３】
図９は、回路制約２８の一例を示す図である。図９（ａ）は、図４の回路データ２４から抽出されたミラー回路の回路制約を図７（ｂ）の回路制約に追加したところを示している。図９（ａ）に示すように、回路要素種別として“ＣｕｒｒｅｎｔＭｉｒｒｏｒ（ミラー回路）”が記憶される。そして、制約名称として“ＣＭ１”が、構成Ｉｎｓｔａｎｃｅ名としてＭＰ１、ＭＰ２およびＭＰ３が記憶される。同様にして、制約名称として“ＣＭ２”が、構成Ｉｎｓｔａｎｃｅ名としてＭＮ１およびＭＮ２が記憶され、さらに、制約名称として“ＣＭ３”が、構成Ｉｎｓｔａｎｃｅ名としてＭＮ３、ＭＮ４およびＭＮ５が記憶される。
【００６４】
図９（ｂ）に示すように、図４に示す回路データ２４の中で、素子ＭＰ１、ＭＰ２およびＭＰ３によってミラー回路ＣＭ１が構成され、素子ＭＮ１およびＭＮ２によってミラー回路ＣＭ２が構成され、要素ＭＮ３、ＭＮ４およびＭＮ５によってミラー回路ＣＭ３が構成される。
【００６５】
レイアウト設計装置２１は、以上のようにして生成された回路制約２８と、レイアウト制約生成ルール２９とを参照して、回路データ２４のレイアウト設計で必要なレイアウト制約３０を生成する。
【００６６】
図１０は、レイアウト制約生成ルール２９およびレイアウト制約３０の一例を示す図である。図１０（ａ）は、レイアウト制約生成ルール２９の一例を示しており、ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒ（差動回路）およびＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒＬｏａｄ（差動負荷回路）に対して、“近接配置制約”、“整列制約”、“同一配置角制約”、“対称制約”、“クラスタ制約”が生成されることを示している。
【００６７】
また、ＣｕｒｒｅｎｔＭｉｒｒｏｒ（ミラー回路）に対して、“近接配置制約”、“整列制約”、“同一配置角制約”、“クラスタ制約”が生成されることを示している。
【００６８】
図１０（ｂ）は、レイアウト制約フォーマットの一例を示しており、回路要素種別、レイアウト制約、制約名称、構成Ｉｎｓｔａｎｃｅ名またはクラスタ制約名、および制約パラメータを含む。
【００６９】
図１０（ｃ）は、図４に示す回路データ２４から抽出された差動回路、差動負荷回路およびミラー回路のレイアウト制約を示している。図１０（ｃ）に示すように、回路要素種別として“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒ（差動回路）”が、レイアウト制約として“近接配置制約”が、制約名称として“ＤＰ１＿Ｄ”が、構成Ｉｎｓｔａｎｃｅ名としてＭＰ４およびＭＰ５が記憶される。“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒ（差動回路）”の“整列制約”、“同一配置角制約”、“対称制約”、“クラスタ制約”についても同様に記憶される。
【００７０】
また、回路要素種別として“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒＬｏａｄ（差動負荷回路）”が、レイアウト制約として“近接配置制約”が、制約名称として“ＤＰＬ１＿Ｄ”が、構成Ｉｎｓｔａｎｃｅ名としてＭＮ３およびＭＮ４が記憶される。“ＤｉｆｆｅｒｅｎｔｉａｌＰａｉｒＬｏａｄ（差動負荷回路）”の“整列制約”、“同一配置角制約”、“対称制約”、“クラスタ制約”についても同様に記憶される。
【００７１】
また、ＣｕｒｒｅｎｔＭｉｒｒｏｒ（ミラー回路）についてはＣＭ１〜ＣＭ３の３つが抽出されているため、それぞれのミラー回路について“近接配置制約”、“整列制約”、“同一配置角制約”、“クラスタ制約”が記憶される。
【００７２】
このように、従来から画一的に付加されていたペア配置制約、すなわち“近接配置制約”、“整列配置制約”、“同一配置角制約”だけでなく、その回路要素に応じた“対称配置制約”および回路要素間の関連性を示す“クラスタ制約”も生成することができる。
【００７３】
レイアウト設計装置２１は、回路データ２４、素子レイアウトデータ２６、レイアウトルール２７および生成されたレイアウト制約３０を入力して自動配置配線処理を行ない、レイアウトパターンデータ２５を出力する。
【００７４】
以上説明したように、本実施の形態におけるレイアウト設計装置によれば、回路データ２４から差動回路、差動負荷回路およびミラー回路を抽出し、それぞれの回路要素の種別に応じてレイアウト制約を付加するようにしたので、アナログ回路のレイアウト制約を自動的に付加することができ、アナログレイアウト設計の自動化による設計工期の短縮を図ることが可能となった。
【００７５】
（第２の実施の形態）
本発明の第１の実施の形態においては、回路要素の種別に応じてレイアウト制約を生成するものであったが、第２の実施の形態においては、レイアウト制約の生成に加えて、対象回路のレイアウトにおける配置トポロジを指示する制約を生成するものである。
【００７６】
本発明の第２の実施の形態におけるレイアウト設計装置のハードウェア構成および機能的構成は、図１および図２に示す第１の実施の形態におけるレイアウト設計装置のハードウェア構成および機能的構成と同様である。
【００７７】
図１１は、本発明の第２の実施の形態におけるレイアウト設計装置２１の処理手順を説明するためのフローチャートである。まず、第１の実施の形態におけるレイアウト設計装置と同様に、回路要素抽出処理によって作成された回路制約２８に基づいてレイアウト制約３０を生成する（Ｓ５１）。そして、配置トポロジ制約を生成して記憶し（Ｓ５２）、処理を終了する。
【００７８】
図１２は、図１１に示す配置トポロジ制約生成（Ｓ５２）の処理手順を説明するためのフローチャートである。まず、レイアウト設計装置２１は、カレントミラー回路を起点とする高電位から低電位方向の電流パスを抽出する（Ｓ６１）。
【００７９】
次に、レイアウト設計装置２１は、抽出した電流パスおよびパスの段数から初期配置メッシュを生成する（Ｓ６２）。そして、カレントミラー回路のクラスタを考慮してメッシュ結合を行ない（Ｓ６３）、配置メッシュ内に回路要素をアサインして（Ｓ６４）、処理を終了する。
【００８０】
図１３は、電流パス抽出、初期メッシュ作成、メッシュ結合および回路要素アサインの一例を示す図である。
【００８１】
図１３（ａ）は、図４に示す回路データ２４に基づく電流パス抽出および初期メッシュ作成の一例を示している。図１３（ａ）に示すように、電源〜ＭＰ１〜ＭＮ２〜グラウンド、電源〜ＭＰ２〜ＭＰ４（ＭＰ５）〜ＭＮ３（ＭＮ４）〜グラウンド、電源〜ＭＰ３〜ＭＮ５〜グラウンドの３つの電流パスが抽出される。また、電源〜ＭＰ２〜ＭＰ４（ＭＰ５）〜ＭＮ３（ＭＮ４）〜グラウンドのパスが３段によって構成されるため、初期メッシュとして９つのメッシュが作成される。
【００８２】
図１３（ｂ）は、カレントミラー回路のクラスタを考慮して、図１３（ａ）に示す初期メッシュを結合したところを示す図である。ＭＰ１、ＭＰ２およびＭＰ３が１つのミラー回路を構成するため、図１３（ｂ）に示すように３つのメッシュが結合されて１つのメッシュとされる。同様にして、ＭＮ３、ＭＮ４およびＭＮ５が１つのミラー回路を構成するため、２つのメッシュが結合されて１つのメッシュとされる。
【００８３】
図１３（ｃ）は、図１３（ｂ）に示すメッシュに回路要素をアサインしたところを示す図である。上段のメッシュにミラー回路ＣＭ１がアサインされ、中段のメッシュに差動回路ＤＰ１がアサインされ、下段のメッシュにミラー回路ＣＭ２およびＣＭ３がアサインされる。なお、ミラー回路ＣＭ３は、差動負荷回路ＤＰＬ１とトランジスタ素子ＭＮ５との集合でもある。
【００８４】
このように、対象セル全体の配置トポロジ生成ではなく、アナログ回路の特性に影響を与える回路要素群に着目した部分的な配置トポロジの生成を行なう。なお、配置トポロジとは、任意のレイアウト構成素子の関係を“上下関係”または“左右関係”のどちらかの位置関係（位相関係）によって表現することを意味しており、レイアウトの位置関係を物理的に表現するのではなく、トポロジによって表現することである。この表現方法として、たとえばＢＳＧ（Bounded Slice-line Grid）法、シーケンスペア（Sequence-Pair）法、オーツリー（O-Tree）法、ビーツリー（B-Tree）法、ＴＣＧ−Ｓなどの既知の方法のいずれかで表現する。
【００８５】
以上説明したように、本実施の形態におけるレイアウト設計装置によれば、カレントミラー回路を起点とする電流パスを抽出して初期メッシュを作成し、カレントミラー回路のクラスタを考慮してメッシュを結合して回路要素をアサインするようにした。したがって、従来では人手による指定または回路データにおける座標値によって生成していた配置トポロジ制約を、アナログ回路の特性上重視すべき回路要素に着目して自動的に生成できるようになり、より精度よく配置トポロジ制約を生成することが可能となった。
【００８６】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８７】
１  コンピュータ本体、２  ディスプレイ装置、３  ＦＤドライブ、４  ＦＤ、５  キーボード、６  マウス、７  ＣＤ−ＲＯＭ装置、８  ＣＤ−ＲＯＭ、９  ネットワーク通信装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ハードディスク、２１  レイアウト設計装置、２２  ディスプレイ、２３  入力部、２４  回路データ、２５  レイアウトパターン、２６  素子レイアウトデータ、２７  レイアウトルール、２８  回路制約、２９  レイアウト制約生成ルール、３０  レイアウト制約。
【図１】
2012155594.tif 000003
【図２】
2012155594.tif 000004
【図３】
2012155594.tif 000005
【図４】
2012155594.tif 000006
【図５】
2012155594.tif 000007
【図６】
2012155594.tif 000008
【図７】
2012155594.tif 000009
【図８】
2012155594.tif 000010
【図９】
2012155594.tif 000011
【図１０】
2012155594.tif 000012
【図１１】
2012155594.tif 000013
【図１２】
2012155594.tif 000014
【図１３】
2012155594.tif 000015