(57)【特許請求の範囲】
【請求項１】
複数の論理セルおよび複数の容量セルのレイアウトデータが格納されたセルライブラリを備えた設計支援システムが該セルライブラリを用いて行う、それぞれが前記複数の論理セルを含む複数の回路モジュールからなる半導体集積回路の設計方法であって、
配置領域設定手段が、前記複数の回路モジュールのそれぞれに対応する、前記複数の論理セルおよび前記容量セルを配置する配置領域を設定する工程と、
前記複数の回路モジュールのそれぞれの、前記複数の論理セルおよび該複数の論理セルの端子間の接続の情報を記述するネットリストであって、該複数の論理セルに電源を供給する電源配線間に接続されるセルであり、該複数の論理セルのいずれとも独立で、かつ、該複数の論理セルの端子と接続される端子を持たない容量セルの記述が追加されたネットリストに基づいて、配置手段が、該複数の論理セルおよび容量セルを対応する前記配置領域内に配置する工程と
を備えることを特徴とする半導体集積回路の設計方法。
【請求項２】
前記配置手段が、前記複数の論理セルおよび容量セルの前記配置領域内への配置を、該複数の論理セルのうちの相互間のタイミング制約が厳しい論理セルを互いに近接して配置するとともに、他の論理セルおよび容量セルを均等に配置することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記ネットリストに追加される前記容量セルの種類もしくは個数は、前記複数の回路モジュールのそれぞれについて求められた、前記複数の論理セルの動作に必要な前記容量セルの容量値に応じて決定されていることを特徴とする請求項１または２記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれが複数の論理セルを含む複数の回路モジュールからなる半導体集積回路の設計方法に関するものであって、詳しくは、電源配線（高電位電源配線および低電位電源配線（接地配線）の両方を含めて単に電源配線という）間にデカップリング容量を挿入してチップ（半導体チップ）内部で発生する電源ノイズを削減するための技術に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration：大規模半導体集積回路）の消費電流の増大と低電圧化に伴い、チップ内部で発生する電源ノイズの問題が深刻となっている。この電源ノイズの対策として、電源配線間にデカップリング容量を接続する方法が知られている。チップ内にデカップリング容量を配置する場合には、容量のスタンダードセル（容量セル）を使用して論理セルと混載するのが一般的である。
【０００３】
以下、従来技術１として、図７のフローチャートを参照して、半導体集積回路のレイアウト工程における容量セルの配置手順を説明する。
【０００４】
まず、ステップＳ１０１において、ネットリスト（回路接続情報）に基づき、半導体集積回路のＩ／Ｏ（入出力領域）のフレームの生成や、回路モジュール（機能モジュール）のそれぞれに対応する、複数の論理セルおよび容量セルを配置する配置領域の決定、ならびに、チップ内のそれぞれの回路モジュールに電源を供給するための電源配線が生成されるフロアプランが実行される。
【０００５】
続いて、ステップＳ１０２において、回路情報（回路仕様）に基づき、必要となるデカップリング容量相当分の容量セルの容量値が算出される。例えば、ネットリストを用いて回路シミュレーションを行うことにより、クロック生成回路や、クロックが高速に動作する回路モジュールなど、高速に動作する回路モジュールやタイミング制約が厳しい回路を検出し、それぞれの回路モジュールに必要となる容量セルの容量値を算出する。
【０００６】
なお、ステップＳ１０２は、容量セルを配置する前に実施すればよいため、ステップＳ１０１とステップＳ１０２の順序が前後する場合もある。つまり、フロアプランの前でも後でも、回路シミュレーションを行ってデカップリング容量を算出することができる。
【０００７】
続いて、ステップＳ１０３において、電源配線の下に容量セルが配置される。電源配線下に配置可能な容量セルには限界があるため、電源配線下には、ステップＳ１０２で算出された全容量値分の容量セルではなく、ある一定容量値の容量セルのみが配置される。容量セルは、電源配線に直結したセルとして作成されているため、容量セルを配置することによって電源配線に接続される。
【０００８】
続いて、ステップＳ１０４において、論理セルの配置が行われる。論理セルの配置の後、ネットリストを用いた回路シミュレーションによって、所望の時間で動作を行う回路モジュールになっているか否かの検証が行われる。所望の時間で動作を行う回路モジュールになっていない場合には、必要に応じて、論理セルの位置の移動や変更および追加を行い、タイミングの調整が実施される（タイミングドリブンレイアウト）。
【０００９】
続いて、ステップＳ１０５において、ネットリストに基づいて配置された論理セル間の配線が行われる。
【００１０】
続いて、ステップＳ１０６において、ステップＳ１０２で算出された容量セルの容量値と、ステップＳ１０３で電源配線下に配置された容量セルの容量値との比較が行われ、配置された容量セルの容量値が、算出された容量セルの容量値を満たしているかどうか、つまり、必要となるデカップリング容量相当分の容量セルが配置されているかどうかが確認される。
【００１１】
そして、配置された容量セルの容量値が、算出された容量セルの容量値を満たしている場合（ステップＳ１０６でＹｅｓ）、レイアウト作業は終了する。一方、配置された容量セルの容量値が、算出された容量セルの容量値よりも小さい場合（ステップＳ１０６でＮｏ）、ステップＳ１０７において、不足相当分の容量セルが、論理セル配置後の空き領域に追加され、レイアウト作業は終了する。
【００１２】
従来技術１において、デカップリング容量の不足相当分は、容量セルを使って配置・配線後の空き領域、例えば、チップの外周部に配置される。そのため、論理セルの配置が密集する回路モジュールの配置領域内に容量セルを配置することが難しい。
【００１３】
論理セルの配置は、ＥＤＡ（Electronic Design Automation）ツールなどの設計支援システムで実施するのが一般的である。ＥＤＡツールは、論理回路が所望の時間で動作を行うことができるように、タイミングを調整した配置を実施する。そのため、タイミング制約が厳しい回路は、それを構成する論理セル同士ができるだけ近距離になるように配置（近接配置）される。
【００１４】
タイミング制約が厳しい回路は、高周波のクロックで動作する回路が多く、電源ノイズの発生源になる可能性がある。このため、デカップリング容量を追加する場合は、タイミング制約が厳しい回路の近くに配置する必要がある。しかしながら、従来技術１の方法では、容量セルが論理セルの密集する回路モジュールの配置領域内には配置されにくいため、容量セルを有効に活用することができないという問題があった。
【００１５】
これに対し、特許文献１により、図７のステップＳ１０４の配置工程の前に、クロックバッファ及び、クロックに同期して動作する回路に容量セルを付加した論理セルを生成し、配置する方法が提案されている。
【００１６】
以下、従来技術２として、図８のフローチャートを参照して、同文献に開示の容量セルの配置手順を説明する。
【００１７】
従来技術２のステップＳ２０１〜Ｓ２０３は、従来技術１のステップＳ１０１〜Ｓ１０３と同じであり、従来技術２のステップＳ２０６〜Ｓ２０８は、従来技術１のステップＳ１０５〜Ｓ１０７と同じである。つまり、従来技術２が従来技術１と異なる点は、ステップＳ２０４〜Ｓ２０５であるから、これ以外のステップについての詳細な説明を省略し、ステップＳ２０４〜Ｓ２０５について説明する。
【００１８】
従来技術２では、ステップＳ２０３で電源配線下に容量セルが配置された後、ステップＳ２０４において、論理回路（論理セル）の配置前に、容量セルを付加した論理セルが生成され、それらを含めた論理セルがステップＳ２０５にて配置される。付加する容量セルの容量値は、論理セルの挿入位置、挿入数およびセルの駆動能力などの情報に基づいて算出される。ステップＳ２０５においては、論理セルの配置と同時に容量セルも配置されることになる。
【００１９】
従来技術２であれば、タイミング制約が厳しい回路を構成する論理セルにも容量セルを追加できるため、前述の従来技術１で発生する問題を解決できる。
【００２０】
しかしながら、容量セルを付加した論理セルの生成や、それに伴う設計データの増大で、設計フローへの負荷が大きくなるという別の問題が発生する。従来技術２では、ステップＳ２０４で論理セルに付加する容量は、論理セルの挿入位置、挿入数およびセルの駆動能力などの情報に基づいて算出される。この場合、図９に示すように、同じ１つの論理セルに対して付加する容量セルを複数用意する必要がある。
【００２１】
図９に示すように、設計データ１６には、標準セル（標準で備えているスタンダードセル）として、バッファ等の論理セル１８や、容量セル２０が含まれる。これに対し、従来技術２では、例えば、バッファの論理セルに１〜３個の容量セルを付加した論理セル２６，２８，３０が作成され、これらの追加作成された論理セル２６，２８，３０のデータが設計データ１６に追加される。そのため、容量セルを付加した論理セル２６，２８，３０を作成するための時間が必要になるとともに、増大した設計データ１６を用いたＥＤＡツールの処理時間も増大する。
【００２２】
その対策として、１つの論理セルに対して、付加する容量セルの種類や個数を制限して設計データの増大を抑える方法が考えられる。しかし、容量セルの種類や個数が制限されると、容量値調整の柔軟性が失われ、以下の（１）および（２）の問題が発生する。
【００２３】
（１）回路モジュールに対してデカップリング容量が不足する。この場合、空き領域に容量セルを追加するが、不足している回路モジュールの近くに容量セルを追加可能な領域が無い可能性がある。
【００２４】
（２）回路モジュールに対してデカップリング容量が過剰になる。この場合、回路モジュールの面積が増大し、論理セル間の信号配線が長くなってタイミングに影響を及ぼす可能性がある。また、プロセスの微細化に伴い、容量セルのリーク電流が無視できなくなるため、過剰な容量セルの配置は無駄なリーク電流の増大につながる。
【００２５】
続いて、本発明に関連性のある特許文献２〜５について説明する。
【００２６】
特許文献２には、入力となるＨＤＬから、スペアセルが必要となる可能性の高い個所を特定してＨＤＬに応じたスペアセルファイルを決定し、ＨＤＬからゲートレベルネットリストを生成し、両者を統合してスペアセルを含むゲートレベルネットリストを生成し、挿入したスペアセルと関連のあるゲートをグループ化することにより、関連のあるスペアセルを近くに配置することが記載されている。
【００２７】
特許文献３には、ネットリストおよびタイミング情報に基づいて、始点から終点のフリップフロップまでに存在するゲートからなる閉じたタイミンググループを構成する単位をフロアプランモジュールとして定義し、フロアプランモジュールに基づいて再構成したネットリストに基づいて各ブロック領域の配置を行うことにより、各フロアプランモジュール内のゲートを近接して配置することが記載されている。
【００２８】
特許文献４には、論理セルに加えて、電源配線とグランド配線との間に１つまたは複数の容量セルを備えた基本セルを予め論理合成セルライブラリとして用意しておき、論理合成またはレイアウト設計段階で挿入することにより、電圧降下による電圧変動を低減することが記載されている。
【００２９】
特許文献５には、ネットリストの各セル数に対する、レイアウト修正が必要になった場合に論理修正用として使用するダミー素子の挿入割合を予め決めておくようにして、ダミー素子を分散配置することが記載されている。また、特許文献５の図１２には、ダミー素子を追加したネットの負荷がダミー素子のゲート容量等により増加するのを軽減するため、ダミー素子の入力端子を電源に接続し直すことが記載されている。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】特開２００８−５３６０６号公報
【特許文献２】特開２００３−９９４８９号公報
【特許文献３】特開２００８−７１０００号公報
【特許文献４】特開２００７−４１７７４号公報
【特許文献５】特開２００３−１３２１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００３１】
本発明の目的は、設計フローの負荷を増大させることなく、それぞれの回路モジュールに必要十分な容量セルを、それぞれの回路モジュールに近接配置することができる半導体集積回路の設計方法を提供することにある。
【課題を解決するための手段】
【００３２】
上記目的を達成するために、本発明は、複数の論理セルおよび複数の容量セルのレイアウトデータが格納されたセルライブラリを備えた設計支援システムが該セルライブラリを用いて行う、それぞれが前記複数の論理セルを含む複数の回路モジュールからなる半導体集積回路の設計方法であって、配置領域設定手段が、前記複数の回路モジュールのそれぞれに対応する、前記複数の論理セルおよび前記容量セルを配置する配置領域を設定する工程と、前記複数の回路モジュールのそれぞれの、前記複数の論理セルおよび該複数の論理セルの端子間の接続の情報を記述するネットリストであって、該複数の論理セルに電源を供給する電源配線間に接続されるセルであり、該複数の論理セルのいずれとも独立で、かつ、該複数の論理セルの端子と接続される端子を持たない容量セルの記述が追加されたネットリストに基づいて、配置手段が、該複数の論理セルおよび容量セルを対応する前記配置領域内に配置する工程とを備える。
【００３３】
ここで、前記複数の論理セルおよび容量セルの前記配置領域内への配置を、該複数の論理セルのうちの相互間のタイミング制約が厳しい論理セルを互いに近接して配置するとともに、他の論理セルおよび容量セルを均等に配置することが好ましい。
【００３４】
また、前記複数の回路モジュールのそれぞれについて、前記複数の論理セルの動作に必要な前記容量セルの容量値を算出し、該算出した容量値に応じて、前記追加する容量セルの種類もしくは個数を決定することが好ましい。
【発明の効果】
【００３５】
本発明によれば、それぞれの回路モジュールで必要とされるデカップリング容量相当分の容量セルをネットリストに記述し、論理セルと同時に容量セルを回路モジュールの配置領域内に配置することによって、設計データの増大を抑制することができる。そして、設計フローの負荷を増大させることなく、それぞれの回路モジュールに必要十分な容量値の容量セルを、それぞれの回路モジュール内の適切な位置に配置することができる。
【００３６】
また、本発明によれば、容量セルが回路モジュールの配置領域内に配置されるため、その回路モジュールで発生する電源ノイズの低減効果を高めることができる。また、デカップリング容量をネットリストの記述で調整できるため、デカップリング容量の過不足をなくして必要十分な容量セルを配置することができ、無駄なリーク電流の増大を防ぐことも可能になる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係る半導体集積回路のレイアウト工程における容量セルの配置手順を表すフローチャートである。
【図２】半導体チップにおける回路モジュールの配置を表す概念図である。
【図３】論理セルおよび容量セルの初期配置を表す概念図である。
【図４】配置調整後の論理セルおよび容量セルの配置を表す概念図である。
【図５】「Ａ」という回路モジュールを記述したネットリストの例である。
【図６】図５に示すネットリストで記述された回路モジュールＡに容量セルが付加されたネットリストである。
【図７】従来技術１の半導体集積回路のレイアウト工程における容量セルの配置手順を表すフローチャートである。
【図８】従来技術２の半導体集積回路のレイアウト工程における容量セルの配置手順を表すフローチャートである。
【図９】従来技術２において、容量セルを付加した論理セルを作成して設計データに追加する様子を表す概念図である。
【発明を実施するための形態】
【００３８】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の半導体集積回路の設計方法を詳細に説明する。
【００３９】
本発明は、それぞれが複数の論理セルを含む複数の回路モジュールからなる半導体集積回路の設計方法であって、ＥＤＡツールのように、複数の論理セルおよび複数の容量セルのレイアウトデータが格納されたセルライブラリを備え、このセルライブラリに格納された論理セルおよび容量セルを用いて、ネットリストに対応する半導体集積回路の設計を行うことを支援する設計支援システムを利用して実現される。
【００４０】
本発明では、チップ内のそれぞれの回路モジュールの配置領域に必要十分な容量値の容量セルの情報をネットリストに追加することにより、論理セルと同時に所望のデカップリング容量相当分の容量値の容量セルをそれぞれの回路モジュールの配置領域内に配置する。このように、チップ内のそれぞれの回路モジュールの配置領域に必要十分なデカップリング容量を配置することによって、電源ノイズの低減効果を高めることができる。
【００４１】
ここで、ネットリストは、チップ内のそれぞれの回路モジュールに含まれる複数の論理セルおよびこれら複数の論理セルの端子間の接続の情報を記述したデータである。電子回路の分野では、各論理セルの端子間を結んだ信号線や端子間のつながりを指して「ネット」、「ネットリスト」、「ネットデータ」などと呼んでいる。設計支援システムでは、ネットリストを使って効率的に電子回路データのやり取りが行われている。
【００４２】
なお、半導体集積回路の設計で使用するネットリストは１つに限定されるわけではなく、複数のネットリストを使用して半導体集積回路の設計が行われる場合もある。
【００４３】
また、容量セルは、複数の論理セルに電源を供給する電源配線間に接続されるセルであり、複数の論理セルのいずれとも独立で、かつ、複数の論理セルの端子と接続される端子を持たないセルである。
【００４４】
従来、半導体集積回路の設計において、容量セルように、信号の入力ピン、出力ピンの定義や、それに伴う論理（ファンクション）を持たないセルは、「フィジカルセル」と呼ばれ、ネットリストの中に反映されることはなかった。従来技術２の「容量セルを付加した論理セル」は、ネットリスト中に論理セルの情報しか入っておらず、付加する容量セル自身の情報はない。つまり、従来技術２では、論理セルを配置した時に初めて容量セルが付加される形となる。
【００４５】
これに対し、本発明では、前述のように、フィジカルセルである容量セルの記述をネットリストに追加することにより、論理セルと同時に容量セルを回路モジュールの配置領域に配置する。
【００４６】
論理セルと同時に容量セルを配置することによって、論理セルが密集し、従来技術１では容量セルを配置することが難しかった回路モジュールの配置領域にも、容量セルを配置することが可能になる。また、ネットリストを使って容量セルを配置することは、従来技術２に比べて、設計データの増大を抑制することができ、設計フローの負荷が増大しないという利点がある。
【００４７】
それに加え、デカップリング容量をネットリストの記述で調整できるため、従来技術２のようなデカップリング容量の過不足をなくし、必要十分な容量セルを配置できる。このため、無駄なリーク電流の増大を防ぐことも可能になる。
【００４８】
以下、図１に示すフローチャートを参照し、本発明に係る半導体集積回路のレイアウト工程における容量セルの配置手順を説明する。
【００４９】
ステップＳ４０１からＳ４０３は、以下に概略を説明するが、従来技術１のステップＳ１０１〜Ｓ１０３と同様の工程である。
【００５０】
まず、ステップＳ４０１において、ネットリストに基づき、半導体集積回路のＩ／Ｏフレームの生成、それぞれの回路モジュールに対応する配置領域の決定、ならびに、電源配線が生成されるフロアプランが実行される。これにより、図２に示すように、回路モジュールＡ，Ｂ，Ｃ，…は、チップ１０のＩ／Ｏフレーム１２によって囲まれたコア領域１４内に設定された、それぞれの配置領域に配置される。
【００５１】
続いて、ステップＳ４０２において、回路情報に基づき、必要なデカップリング容量の容量値、つまり、追加すべき容量セルの容量値が算出される。このとき、ネットリストを用いて回路シミュレーションを行うことにより、高速に動作する回路モジュールやタイミング制約が厳しい回路を検出し、それぞれの回路モジュールで必要となる容量セルの容量値を算出する。
【００５２】
続いて、ステップＳ４０３において、電源配線の下に容量セルが配置される。電源配線下には、ステップＳ４０２で算出された全容量値分の容量セルではなく、ある一定容量値の容量セルのみが配置される。
【００５３】
続いて、ステップＳ４０４において、各回路モジュールに必要とされるデカップリング容量相当分の容量セルの記述が、複数の回路モジュールのそれぞれのネットリストに追加される。ステップＳ４０４でネットリストに追加される容量セルの容量値は、ステップＳ４０２で算出された容量セルの容量値から、ステップＳ４０３で電源配線下に配置された容量セルの容量値を減算した値とする。
【００５４】
ここで、容量セルの記述をネットリストに追加する場合、ステップＳ４０２で算出した容量値に応じて、追加する容量セルの種類（例えば、容量値１ｎＦ，２ｎＦ，３ｎＦ，…の容量セル）もしくは個数（例えば、容量値１ｎＦの容量セルを２個）を決定する。容量値の大きい容量セルを少数配置するよりも、容量値の小さい容量セルを多数配置する方が、回路モジュールの配置領域内に容量セルを分散配置できるため望ましい。
【００５５】
続いて、ステップＳ４０５において、ネットリストに基づいて、それぞれの回路モジュールの配置領域内に、論理セルと同時に容量セルが配置される。この場合、図３に示すように、まず、初期配置として、全ての論理セルおよび容量セルが、タイミング制約や接続情報に係わらず回路モジュールの配置領域内に均等に配置される。その後、図４に示すように、配置調整後の配置として、タイミング制約が厳しい回路を構成する論理セル群が近距離に配置（近接配置）されるように、それぞれの論理セルおよび容量セルの位置が移動される。これにより、複数の論理セルのうちの相互間のタイミング制約が厳しい論理セルは互いに近接配置され、他の論理セルおよび容量セルは均等に配置される。配置後の回路のタイミング調整は、従来技術１の場合と同様に実施される。
【００５６】
最後に、ステップＳ４０６において、ネットリストに基づいて配置された論理セル間の配線が行われ、レイアウト作業は終了する。
【００５７】
次に、図５を参照して、ネットリストの記述例を説明する。
【００５８】
図５は、「Ａ」という回路モジュールを記述したネットリストの例である。回路モジュールＡの記述は、符号５０１で示すワード"module"で開始され、符号５０７で示すワード"endmodule"で終了する。符号５０２で示す"A"は、このネットリストに記述された回路モジュールＡの名前（回路モジュール名）である。回路モジュール名"A"は、ワード"module"に続いて記述される。
【００５９】
符号５０３で示す"IN0"〜"IN2"および"OUT0"〜"OUT2"は、回路モジュールＡの端子名であり、この回路モジュールの端子名を使用して、回路モジュール同士の接続が記述される。符号５０４で示す"input"および"output"は、回路モジュールの端子の属性（入力、出力など）を定義する。ワード"input"により"IN0"〜"IN2"が入力端子、ワード"output"により"OUT0"〜"OUT2"が出力端子であることが定義されている。
【００６０】
符号５０５で示す"INV X0 (.out(OUT0), .in(IN0))", "BUF X1 (.out(OUT1), .in(IN1))", "NAND2 X2 (.out(OUT2), .in1(IN1), .in2(IN2))"は、回路モジュールＡに含まれる論理セル（標準セル）およびその接続情報を定義する。ＩＮＶ  Ｘ０は、セル名がＸ０のインバータ、ＢＵＦ  Ｘ１は、セル名がＸ１のバッファ、ＮＡＮＤ２  Ｘ２は、セル名がＸ２の２入力ＮＡＮＤ回路である。
【００６１】
各論理セルの端子の接続情報は、符号５０６で示す部分に記述されている。"out"は、論理セルの出力端子、"in"は、論理セルの入力端子の接続情報を表す。例えば、"INV X0 (.out(OUT0), .in(IN0))"は、セル名Ｘ０のインバータの入力端子が回路モジュールＡの入力端子ＩＮ０に接続され、出力端子が回路モジュールＡの出力端子ＯＵＴ０に接続されることが定義されている。その他も同様である。
【００６２】
次に、容量セルの情報が追加されたネットリストについて説明する。
【００６３】
図６は、図５に示すネットリストで記述された回路モジュールＡに容量セルが付加されたネットリストである。図５のネットリストと図６のネットリストとの違いは、符号６０１で示す部分だけであるから、以下、この部分について説明する。
【００６４】
符号６０１は、容量セルの記述である。"DCAP1NF XA()"および"DCAP1NF XB()"は、それぞれ、セル名が"XA"および"XB"の容量値１ｎＦのデカップリング容量を表す。この例では、回路モジュールＡは、容量値１ｎＦのデカップリング容量を２個含む。容量セルは論理を持たないセルであるため、接続情報は記述されていない。従って、容量セルの記述は、回路モジュールＡの端子名や、構成する論理セルの接続情報にも影響しない。
【００６５】
ここで、回路モジュールＡのネットリストに付加された容量セルが、回路モジュールＡの実際のレイアウトで、各配置領域内のどの位置に配置されるのかは、設計支援システムの配置アルゴリズム次第である。
【００６６】
しかしながら、例えば、タイミング制約が厳しい複数の回路を含む１つの回路モジュールにおいて、タイミング制約が厳しい回路のそれぞれを構成するセルをまとめて異なる回路サブモジュールとし、複数の回路サブモジュールを含む回路モジュールのように、ネットリストを階層的に作成することがある。この場合には、各回路サブモジュールに容量セルを追加することにより、それぞれの回路サブモジュールの配置領域内において論理セルと容量セルとを近接配置することができる。
【００６７】
また、例えば、ネットリストとは別に、あるいは、ネットリストの一部として、配置指示ファイルを利用して、回路モジュールの配置領域内における容量セルの位置を指示することも可能である。配置指示ファイルは、例えば、セル名を指定することにより、回路モジュール内の特定の回路、例えば、タイミング制約が厳しい回路の近傍に容量セルを配置するように指示するファイルである。これにより、タイミング制約が厳しい回路に容量セルを近接配置することができる。
【００６８】
また、図６の例は、回路モジュールＡに容量セルが２個追加されたものとなっているが、所望の種類および個数の容量セルを任意に記述することができる。なお、ネットリストの記述には様々な形式があり、図５および図６の記述形式には限定されない。
【００６９】
本発明では、必要とされるデカップリング容量相当分の容量セルをネットリストに記述して配置するため、従来技術１のステップＳ１０７および従来技術２のステップＳ２０８のように、配線後に不足相当分の容量セルを追加する必要がない。本発明の場合、図４に示すように、回路モジュールの配置領域内で論理セル群が密集する場合であっても、その密集した論理セル群の周囲に容量セルが配置される。そのため、その回路モジュールで発生する電源ノイズの低減効果を高めることができる。
【００７０】
これに対し、従来技術１では、論理セルが密集する回路モジュールの配置領域内に容量セルを配置できない場合があった。回路モジュールの配置領域内は、論理セルのみを配置した状態でタイミング調整のための論理セルの位置の移動が行われるため、各回路モジュールの配置領域内の論理セルが密集する部分には、容量セルを追加する領域が存在しないことが多い。さらに、半導体集積回路全体のタイミング調整のために、各回路モジュールの配置領域の縮小や移動が行われる場合もある。この場合には、各回路モジュールの配置領域の外周部分にも容量セルを追加する領域が無く、チップの外周部にしか容量セルを追加する領域がなくなる。この場合、その回路モジュールで発生する電源ノイズを低減することが難しいという問題があった。
【００７１】
また、従来技術２のように、容量セルが付加された論理セルの生成や、設計データの増大に伴う設計支援システムの処理時間の増大が、本発明の方法では発生しない。
【００７２】
また、従来技術２のように、容量セルが付加された論理セルを生成すると、論理セル自体のサイズが大きくなるため、タイミング制約が厳しい回路を構成する論理セルを近接配置することができず、タイミング制約を満たすことが難しくなる。これに対し、本発明では、論理セルと容量セルとが別々に配置されるため、タイミング制約が厳しい回路を構成する論理セルを近接配置することができる。
【００７３】
以上のように、本発明によれば、論理セルの配置の疎密に関わらず、回路モジュール内に容量セルを配置し、各回路モジュールに必要十分な容量値の容量セルを、設計フローの負荷を増大させることなく、回路モジュール内の適切な位置に配置することができる。
【００７４】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【００７５】
１０  チップ
１２  Ｉ／Ｏフレーム
１４  コア領域
１６  設計データ
１８，２６，２８，３０  論理セル
２０  容量セル
【図１】
0005832759.tif 000002
【図２】
0005832759.tif 000003
【図５】
0005832759.tif 000004
【図６】
0005832759.tif 000005
【図７】
0005832759.tif 000006
【図８】
0005832759.tif 000007
【図９】
0005832759.tif 000008
【図３】
0005832759.tif 000009
【図４】
0005832759.tif 000010