(57)【特許請求の範囲】
【請求項１】
配置禁止領域決定部が、第１回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第１回路ブロックの周辺に第１配置禁止領域を決定する工程と、
配置部が、前記第１配置禁止領域に第２回路ブロックが配置されないように、前記第１回路ブロック及び前記第２回路ブロックを配置する工程と、を有し、
前記第１回路ブロックの前記平均動作回数が同じ場合に、前記使用電圧が低いほど前記第１配置禁止領域が広く設定される、
ことを特徴とする半導体集積回路の設計方法。
【請求項２】
前記配置禁止領域決定部は、前記第１回路ブロックの周囲を所定幅広げた前記第１配置禁止領域を設定することを特徴とする請求項１に記載の半導体集積回路の設計方法。
【請求項３】
前記第１回路ブロックを、前記第１配置禁止領域以上の広さの第３回路ブロックに置き換え、前記第２回路ブロックを、前記第２回路ブロックの前記平均動作回数または前記使用電圧をもとに決定される第２配置禁止領域以上の広さの第４回路ブロックに置き換え、前記第３回路ブロック及び前記第４回路ブロックを互いに重ならないように配置し、前記第３回路ブロック及び前記第４回路ブロックの配置後に、前記第３回路ブロックを前記第１回路ブロックに置き換え、前記第４回路ブロックを前記第２回路ブロックに置き換えることを特徴とする請求項１または２に記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の設計方法に関し、特に半導体集積回路で発生するノイズの影響を考慮した半導体集積回路の設計方法に関する。
【背景技術】
【０００２】
半導体集積回路（以下チップと呼ぶ）の微細化、高周波数化、低電圧化に伴い、チップのノイズ対策はますます重要になってきている。ノイズの種類はいくつか存在するが、ここでは電源ノイズとクロストークノイズをあげる。
【０００３】
電源ノイズとは電源配線の不足や、クロックバッファなどの同期セルが同時に動作することで発生するノイズ（ＶＤＤ（高電源電圧）側では電圧低下、ＶＳＳ（低電源電圧）側では電源上昇）のことで、このノイズが大きいと、信号反転、誤ラッチが発生する危険性がある。電源ノイズを低減させるには電源配線を増やす、同期セルの分散配置、電源間にデカップリング容量セルを配置するなどがあげられる。
【０００４】
一方、クロストークノイズとは、平行して走る信号線同士が影響しあうことで発生するノイズのことで、信号線が接近している、平行配線長が長い、動作周波数（信号の変化回数）が高い、使用電圧が高いものほどクロストークノイズは大きくなる。クロストークノイズを低減させるには配線間隔を広げる、平行配線を減らすなどがあげられる。
【０００５】
図２３は、従来の半導体装置の概略の設計フローを示す図である。
始めにチップの電源配線を行い（ステップＳ８０）、次に、回路ブロック（以下セルと呼ぶ）の配置を行う（ステップＳ８１）。その後、電源ノイズ対策にデカップリング容量を配置する（ステップＳ８２）。そして、必要なデカップリング容量値を満足しているかの検証を行う（ステップＳ８３）。ここで、エラーがある場合には、ステップＳ８１の処理に戻りセルの配置の修正やデカップリング容量値や配置の修正、検証を、エラーがなくなるまで繰り返す。次に、信号配線を行う（ステップＳ８４）。次にクロストークノイズ解析を行う（ステップＳ８５）。ここで、エラーがある場合には、ステップＳ８４（場合によってはステップＳ８１）に戻り、配線の修正（場合によってはセル配置の修正まで戻る）、クロストークノイズ解析を、エラーがなくなるまで繰り返していく。
【０００６】
ノイズを考慮した配置配線手法として、従来、動作回数の多いセルもしくはセル群同士をできるだけ分散して配置、配線を行う手法があった（たとえば、特許文献１，２参照）。
【特許文献１】特開平９−２６９９５８号公報
【特許文献２】特開平１０−９１６７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の技術では、事前に電源ノイズ及びクロストークノイズを十分考慮して配置、配線を実施していないため、必要なデカップリング容量の検証、クロストークノイズ解析で繰り返し回数が増加し、ＴＡＴ（Turn Around Time）が非常に長くなってしまう問題がある。
【０００８】
従来、事前に動作回数の多いセルやセル群同士を分散して配置、配線を行う手法はあったが、それ以外のセルについては考慮されていなかった。たとえば、使用する電圧値の異なるセルが混在しているチップの場合、ノイズの影響度は電圧値によって異なるが、そのような影響については考慮されていなかった。
【０００９】
上記の点を鑑みて、本発明者は、半導体集積回路のノイズが抑制可能で、設計期間が短縮可能な半導体集積回路の設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、以下のような工程を有する半導体集積回路の設計方法が提供される。この半導体集積回路の設計方法は、配置禁止領域決定部が、第１回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第１回路ブロックの周辺に第１配置禁止領域を決定する工程と、配置部が、前記第１配置禁止領域に第２回路ブロックが配置されないように、前記第１回路ブロック及び前記第２回路ブロックを配置する工程と、を有する。
【００１１】
また、以下のような半導体集積回路の設計方法が提供される。この半導体集積回路の設計方法は、最低配線間隔決定部が、複数の回路ブロック間を接続する第１配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第１配線と第２配線との間の最低配線間隔を決定し、配線配置部が前記最低配線間隔を満たすように、前記第１配線及び前記第２配線を配置する。
【発明の効果】
【００１２】
ノイズを抑制可能な半導体集積回路が設計できるとともに、ＴＡＴを短くでき、設計期間を短縮できる。
【発明を実施するための最良の形態】
【００１３】
以下、本実施の形態の半導体集積回路の設計方法及び半導体集積回路の設計装置を図面を参照して詳細に説明する。
図１は、ノイズを考慮したセル配置を行う本実施の形態の設計装置における主要部の機能ブロック図である。
【００１４】
設計装置１０は、回路情報記憶部１１、平均動作回数算出部１２、最低セル配置間隔決定部（配置禁止領域決定部）１３、セル配置部１４、ノイズ対策／検証部１５を有している。
【００１５】
回路情報記憶部１１は、ネットリストやセルの使用電圧や動作周波数などの回路情報を記憶している。
平均動作回数算出部１２は、回路情報記憶部１１に格納されたネットリストや、セルの単位時間当たりの動作変化確率（以下動作率）、動作周波数をもとに、個々のセルの単位時間当たりの平均動作回数を算出する。
【００１６】
最低セル配置間隔決定部１３は、個々のセルの平均動作回数と、使用電圧からセルごとに最低セル配置間隔を決定することで配置禁止領域を決定する。平均動作回数が多いほどノイズが増加しやすいため、最低セル配置間隔を広げる。また、使用電圧が低いほど、ノイズの影響を受けやすくなるため、最低セル配置間隔を広げる。たとえば、電圧が１．２Ｖのセルと電圧が１．０Ｖのセルが混在し、電源ノイズにより両方のセルに０．１Ｖの電圧降下が発生した場合、１．０Ｖのセルのほうが、より自身のセルと他のセルとを分散して配置する必要がある。
【００１７】
なお、最低セル配置間隔の決定の際には、平均動作回数、使用電圧及び最低セル配置間隔の関係を予め規定したテーブルデータを利用してもよいし、算出式を用いてもよい。
セル配置部１４は、決定された最低セル配置間隔を満たすように、セルを配置していく。
【００１８】
ノイズ対策／検証部１５は、全てのセル配置の完了後に、デカップリング容量を配置し、その容量値を検証する。
以下、図１の設計装置１０の動作を説明する。
【００１９】
セル配置を行う際に、平均動作回数算出部１２は、個々のセルの平均動作回数を算出する。
その後、最低セル配置間隔決定部１３は、配置しようとするセルの平均動作回数と使用電圧をもとに、最低セル配置間隔を決定する。
【００２０】
なお、平均動作回数や最低セル配置間隔は、セルごとに予め求めておき回路情報記憶部１１に記憶するようにしてもよい。
セル配置部１４は、前に配置したセルの最低セル配置間隔を満たすようにセルを配置していく。なお、セルの配置は、最低セル配置間隔が広いセルから優先的に配置する。後に配置するセルの最低セル配置間隔が、前に配置したセルのものよりも広いと、前に配置したセルが、後に配置したセルの最低セル配置間隔を満たさなくなる可能性があるからである。
【００２１】
図２は、セル配置の様子を示す図である。
最低セル配置間隔ｄ１のセル２０を配置した場合、他のセル２１，２２は、最低セル配置間隔ｄ１を満たすように配置される。なお、セル２１，２２のように、最低セル配置間隔ｄ２，ｄ３で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
【００２２】
セルの配置が全て終わると、ノイズ対策／検証部１５は、ノイズ除去のためのデカップリング容量を配置し、その容量値が適正か検証する。検証の結果、エラーがあればセル配置を修正するが、エラーがなければ、次に配線レイアウト処理に進む。
【００２３】
本実施の形態の設計装置１０では、全てのセルについて、ノイズの影響を考慮した配置が行われるので、デカップリング容量値の検証の際にエラーとなる可能性を少なくでき、ＴＡＴを短くできるので、設計期間を短縮することができる。
【００２４】
図３は、ノイズを考慮した配線を行う本実施の形態の設計装置における主要部の機能ブロック図である。
設計装置３０は、回路情報記憶部３１、平均変化回数算出部３２、ネット配線長算出部３３、最低配線間隔決定部３４、配線配置部３５、ノイズ検証部３６を有している。
【００２５】
回路情報記憶部３１は、ネットリストや、複数のセル間を接続する信号配線（クロック信号線、データ信号線、制御信号線、アドレス信号線など）であるネットの使用電圧などの回路情報を記憶している。
【００２６】
平均変化回数算出部３２は、回路情報記憶部３１に格納された回路情報を参照して、ネットに伝達される信号の周波数や、データ信号などの場合はデータの変化率などから単位時間当たりの信号の平均変化回数を算出する。
【００２７】
ネット配線長算出部３３は、ネットの配線長を算出する。ネットの配線長は、たとえば、ネットの始点と終点の座標から、マンハッタン長を算出して求めることができる。
最低配線間隔決定部３４は、個々のネットの平均変化回数、使用電圧及びネット配線長をもとに、ネットごとに最低配線間隔を決定する。平均変化回数が多く、使用電圧が高く、配線長が長いネットほどノイズが増加しやすいため、最低配線間隔を広げる。たとえば、クロストークノイズにおいて、相手との間隔、平行配線長が同じなど電圧以外の条件が同じなら、電圧が１．２Ｖのネットと電圧が１．０Ｖのネットでは、１．２Ｖのネットのほうがより大きなノイズ源となりうる。よって、１．０Ｖのネットより１．２Ｖのネットのほうが、より自身のネットと他のネットとの間隔を離す必要がある。
【００２８】
なお、最低配線間隔の決定の際には、平均変化回数、使用電圧及び最低配線間隔の関係を予め規定したテーブルデータを利用してもよいし、算出式を用いてもよい。
配線配置部３５は、決定された最低配線間隔を満たすように、ネットを配置していく。
【００２９】
ノイズ検証部３６は、全てのネットの配置後に、クロストークノイズを検証する。
以下、図３の設計装置３０の動作を説明する。
図示しない構成によって、セルの配置が終わると、平均変化回数算出部３２は、各セル間を接続するネットにおける単位時間当たりの信号の平均変化回数を算出する。そして、ネット配線長算出部３３は、ネットの配線長を算出する。その後、最低配線間隔決定部３４は、平均変化回数と、使用電圧、ネット配線長をもとに、ネットの最低配線間隔を決定する。
【００３０】
なお、平均変化回数、ネット配線長、最低配線間隔は予め求めておき、回路情報記憶部３１に記憶するようにしてもよい。
配線配置部３５は、前に配置したネットの最低配線間隔を満たすようにネットを配置していく。なお、ネットの配置は、最低配線間隔が広いネットから優先的に配置する。後に配置するネットの最低配線間隔が、前に配置したネットのものよりも広いと、前に配置したネットが、後に配置したネットの最低配線間隔を満たさなくなる可能性があるからである。
【００３１】
図４は、ネットの配置の様子を示す図である。
セル４０−１，４０−２，４０−３，４０−４を接続する最低配線間隔ｄ５のネット４１を配置し、セル４０−５，４０−６，４０−７を接続する他の最低配線間隔ｄ６のネット４２を、ネット４１の最低セル配置間隔ｄ５を満たすように配置した場合について示している。なお、最低配線間隔ｄ５，ｄ６で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
【００３２】
ネットの配置が全て終わると、ノイズ検証部３６は、クロストークノイズを検証する。ここでエラーがある場合には、配置を修正するか、場合によって、セル配置まで戻って修正する。
【００３３】
本実施の形態の設計装置３０では、全てのネットについて、ノイズの影響を考慮し配置が行われるので、クロストークノイズの検証の際にエラーとなる可能性が少なく、ＴＡＴを短くできるので、設計期間を短縮することができる。
【００３４】
次に、本実施の形態の半導体集積回路の設計装置及び設計方法の詳細を説明する。
図５は、半導体集積回路の設計装置のハードウェア構成例である。
設計装置５０は、ＣＰＵ（Central Processing Unit）５１、ＲＯＭ（Read Only Memory）５２、ＲＡＭ（Random Access Memory）５３、ＨＤＤ（Hard Disk Drive）５４、グラフィック処理部５５、入力Ｉ／Ｆ（Interface）５６などによって構成され、これらはバス５７を介して相互に接続されている。
【００３５】
ここで、ＣＰＵ５１は、ＲＯＭ５２や、ＨＤＤ５４に格納されているプログラムや、各種データに応じて各部を制御し、図１や図３に示した各部の機能を行う。
ＲＯＭ５２は、ＣＰＵ５１が実行する基本的なプログラムやデータを格納している。
【００３６】
ＲＡＭ５３は、ＣＰＵ５１が実行途中のプログラムや、演算途中のデータを格納している。
ＨＤＤ５４は、ＣＰＵ５１が実行するＯＳ（Operation System）や、半導体集積回路の設計のためのＣＡＤ（Computer-Aided Design）プログラムや、ノイズ検証プログラムなど各種アプリケーションプログラム、各種データを格納する。また、図１や図３の回路情報記憶部１１，３１として機能するようにしてもよい。
【００３７】
グラフィック処理部５５には、表示装置として、たとえば、ディスプレイ５５ａが接続されており、ＣＰＵ５１からの描画命令に従って、ディスプレイ５５ａ上に、ＣＡＤ画面などを表示する。
【００３８】
入力Ｉ／Ｆ５６には、マウス５６ａやキーボード５６ｂなどの入力装置が接続されており、回路設計者などのユーザにより入力された情報を受信し、バス５７を介してＣＰＵ５１に伝送する。
【００３９】
図６は、半導体集積回路の設計に用いる機能ブロック群を示す図である。
以下に示す機能ブロック群の各機能は、ＣＰＵ５１の制御のもと図５の各ハードウェア構成を用いて実行されるソフトウェア（論理合成ツール、自動レイアウトツール、検証ツールなど）により実現可能な機能である。
【００４０】
機能設計部６０は、たとえばＶＨＤＬ（Very high-speed integrated circuit Hard-ware Description Language）などのハードウェア記述言語により、製品に必要な機能の設計を行う。
【００４１】
論理自動設計部６１は、設計された機能を実現する論理回路（ネットリスト）を、論理合成ツールにより自動設計する。
フロアプラン設計部６２は、半導体集積回路の各機能ブロック（マクロ）やセルの大まかな配置を決定する。
【００４２】
電源配線部６３は、電源線の配線を行う。
マクロ配置部６４は、フロアプラン設計部６２で決定された位置にマクロを配置する。
ノイズ検証部６５は、図１のノイズ対策／検証部１５、図３のノイズ検証部３６と同様に、デカップリング容量の検証や、クロストークノイズの検証を行う。
【００４３】
セル配置部６６は、平均動作回数算出手段６６ａ、配置優先度決定手段６６ｂ、セル配置手段６６ｃ、配置禁止幅決定手段６６ｄ、配置禁止領域設定手段６６ｅ、セル拡張幅決定手段６６ｆ、セル入れ替え手段６６ｇを有している。
【００４４】
平均動作回数算出手段６６ａは、図１の平均動作回数算出部１２に対応しており、セルの平均動作回数を算出し、記憶する。
配置優先度決定手段６６ｂは、平均動作回数が多く、使用電圧が低いセルほど先に配置されるようにセルの配置優先度（配置順）を算出し、記憶する。
【００４５】
セル配置手段６６ｃは、フロアプラン情報と配置優先度をもとに、セルの配置を行う。
配置禁止幅決定手段６６ｄは、前述した最低セル配置間隔を、配置禁止幅として求め、記憶する。
【００４６】
配置禁止領域設定手段６６ｅは、セルの周囲を配置禁止幅分広げた配置禁止領域を設定する。
セル拡張幅決定手段６６ｆは、前述した最低セル配置間隔を、セル拡張幅として求め、記憶する。
【００４７】
セル入れ替え手段６６ｇは、元のセルを、セル拡張幅に応じた他のセルに入れ替えたり、他のセルを元のセルに戻したりする。
信号配線部６７は、平均変化回数算出手段６７ａ、ネット配線長算出手段６７ｂ、配線優先度決定手段６７ｃ、配線手段６７ｄ、配線禁止幅決定手段６７ｅ、配線禁止領域設定手段６７ｆを有している。
【００４８】
平均変化回数算出手段６７ａは、図３の平均変化回数算出部３２に対応しており、信号線を伝送する信号の単位時間当たりの平均変化回数を算出する。
ネット配線長算出手段６７ｂは、図３のネット配線長算出部３３に対応しており、ネットの配線長を算出し、記憶する。
【００４９】
配線優先度決定手段６７ｃは、平均変化回数、使用電圧及びネット配線長からネットの配線優先度を算出し、記憶する。
配線手段６７ｄは、配線優先度をもとに、ネットを配置する。
【００５０】
配線禁止幅決定手段６７ｅは、前述した最低配線間隔を、配線禁止幅として求め、記憶する。
配線禁止領域設定手段６７ｆは、ネットの周囲を配線禁止幅分広げた配線禁止領域を設定する。
【００５１】
以下、図５、図６で示したようなハードウェア及び機能を用いた設計方法をフローチャートで説明する。
図７及び図８は、本実施の形態の設計方法の流れを示すフローチャートである。
【００５２】
まず、フロアプラン情報をもとに配置されたマクロに対して電源配線を行う（ステップＳ１０）。次に、個々のセルの単位時間当たりの平均動作回数を算出する（ステップＳ１１）。そして、平均動作回数が多く、使用電圧が低いセルほど先に配置されるように、セルの配置優先度を決定する（ステップＳ１２）。
【００５３】
なお、配置優先度を決定するのに、平均動作回数と使用電圧のいずれを優先するかは適宜設定可能である。たとえば、平均動作回数はセルＡのほうが多いが、使用電圧はセルＢの方が低いといった場合、その度合いによって、いずれを優先するか予め設定情報として記憶しておく。この情報は、適宜変更するようにしてもよい。
【００５４】
その後、フロアプラン情報と配置優先度をもとに、セルの配置を行う（ステップＳ１３）。そして、１つのセルの配置を行うたびに、セルを囲むような配置禁止領域を設定する（ステップＳ１４）。
【００５５】
図９は、セルの周りに配置禁止領域を設定したレイアウトの例を示す図である。
ここで示すレイアウトでは、ＶＤＤ電源線７０とＶＳＳ電源線７１が縦方向に配置されており、それぞれにコンタクト７０ａ，７１ａによって、横方向に配置されたサブ電源線７２，７３が接続されている。セル７４−１は、このサブ電源線７２，７３のそれぞれに接続されている。セル７４−１の周囲には、セル７４−１を配置禁止幅だけ広げた大きさの配置禁止領域７５−１が設定されている。
【００５６】
配置禁止幅は、平均動作回数及び使用電圧をもとに決定される。
図１０は、配置禁止幅と、平均動作回数及び使用電圧との関係を示す図である。
図のように、配置禁止幅は、平均動作回数が多く、使用電圧が低いほど広くなるようにしている。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、たとえば、図９のようにセル７４−１が配置された際に読み出して、配置したセル７４−１の平均動作回数及び使用電圧に応じた配置禁止幅をテーブルデータまたは算出式から求め、配置禁止領域７５−１を設定する。
【００５７】
次に、全てのセル配置が完了したか否かを判定し（ステップＳ１５）、完了していなければ、ステップＳ１３の処理に戻り、配置優先度の高い順にセルの配置を続ける。
図１１は、２つのセルを配置したときのレイアウトの例を示す図である。
【００５８】
２番目に配置するセル７４−２は、前に配置したセル７４−１に設定された配置禁止領域７５−１内に入らないように配置される。ただし、図のように、セル７４−２に設定される配置禁止領域７５−２と、配置禁止領域７５−１とはオーバーラップさせてもよい。
【００５９】
優先度の高いセル７４−１（すなわち、配置禁止幅の広いセル）ほど先に配置されるので、後から配置するセル７４−２の配置禁止領域７５−２が、先に配置されたセル７４−１にかかることはない。
【００６０】
ステップＳ１５の処理で、全てのセル配置が完了したと判定された場合には、設定した配置禁止領域を削除し（ステップＳ１６）、デカップリング容量の配置を行う（ステップＳ１７）。
【００６１】
図１２は、デカップリング容量を配置したときのレイアウトの例を示す図である。
デカップリング容量７６は、電源ノイズを抑制するために、セル７４−１，…，７４−ｎ間のすきまに設けられる。
【００６２】
次に、必要なデカップリング容量値を満足しているか検証を行う（ステップＳ１８）。検証の結果、エラーがあればステップＳ１３の処理に戻ってセル配置を修正する。しかしながら、本実施の形態の設計方法では、全てのセルについて、ノイズの影響を考慮した配置が行われるので、デカップリング容量値の検証の際にエラーとなる可能性を少なくできる。
【００６３】
エラーがなければ、次に配線レイアウト処理に進む。
配線工程では、まず、ネットを伝送する信号の単位時間当たりの平均変化回数を算出する（ステップＳ１９）。
【００６４】
次に、ネットの配線長を算出する（ステップＳ２０）。ネットの配線長は、たとえば、ネットの始点と終点の座標から、マンハッタン長を算出して求めることができる。トータルな配線長で求めてもよい。
【００６５】
その後、平均変化回数が多く、使用電圧が高く、配線長の長いネットほど先に配置されるように配線優先度を決定する（ステップＳ２１）。
図１３は、セル間を接続するネットの例を示す図である。
【００６６】
図１２で示したデカップリング容量７６は図示を簡略化するため省いている。
また、それぞれ複数のセル間を接続するネット７７−１，７７−２，７７−３は、配置位置が確定していないことを示し、点線で示している。
【００６７】
ここで、たとえば、ネット７７−１が平均変化回数、使用電圧及び配線長がともにネット７７−２，７７−３よりも上回っている場合には、配線優先度が一番高く設定される。
なお、配線優先度を決定するのに、平均変化回数、使用電圧、ネット配線長のいずれを優先するのかは適宜設定可能である。たとえば、使用電圧が等しいネット７７−２，７７−３があった場合、平均変化回数はネット７７−２のほうが多いが、ネット配線長はネット７７−３のほうが長い場合、その度合いに応じて、いずれを優先するか予め設定情報として記憶しておく。この情報は、適宜変更するようにしてもよい。
【００６８】
配線優先度が決まると、配線優先度の高いネットから配置を行う（ステップＳ２２）。
図１４は、配置が確定したネットの例を示す図である。
また、図１５は、セルの回路とネットの接続例を示す図である。
【００６９】
図１４では、配置が確定したネット７７−１を実線で示している。ネット７７−１より配線優先度の低いネット７７−２，７７−３は配線が確定しておらず、点線で示してある。図１５では、ネット７７−１と、セル７４−ｉ，７４−ｊとの接続例を示している。セル７４−ｉはインバータ回路、セル７４−ｊはＮＡＮＤ回路の例を示している。
【００７０】
上記のように、ネットを配置すると、そのネットのまわりに配線禁止領域を設定する（ステップＳ２３）。
図１６は、ネットの周りに配線禁止領域を設定したレイアウトの例を示す図である。
【００７１】
たとえば、配置が確定したネット７７−１の周りに、配線禁止幅だけ広げた大きさの配線禁止領域７８−１が設定されている。
配線禁止幅は、ネット７７−１における信号の平均変化回数、使用電圧及びネット配線長をもとに決定される。
【００７２】
図１７は、配線禁止幅と、平均変化回数、使用電圧及びネット配線長との関係を示す図である。
図のように、配線禁止幅は、平均変化回数が多く、使用電圧が高く、ネット配線長が長いほど広くなるようにしている。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、たとえば、図１４のようにネット７７−１が配線された際に読み出して、配線したネット７７−１の平均変化回数、使用電圧及びネット配線長に応じた配線禁止幅を求め、配線禁止領域７８−１を設定する。
【００７３】
次に、全てのネットの配置が完了したか判定し（ステップＳ２４）、完了していなければ、ステップＳ２２の処理に戻り、配線優先度の高い順にネットの配置を続ける。
図１８は、２つのネットを配置したときのレイアウトの例を示す図である。
【００７４】
２番目に配置するネット７７−２は、前に配置したネット７７−１に設定された配線禁止領域７８−１内に入らないように配置される。ただし、ネット７７−２に設定される配線禁止領域７８−２と、配線禁止領域７８−１とは、オーバーラップさせてもよい。
【００７５】
優先度の高いネット７７−１（すなわち、配線禁止幅の広いネット）ほど先に配置されるので、後から配置するネット７７−２の配線禁止領域７８−２が、先に配置されたネット７７−１にかかることはない。
【００７６】
ステップＳ２４の処理で、全てのネットの配置が完了したと判定された場合には、設定した配線禁止領域を削除し（ステップＳ２５）、クロストークノイズの解析を行う（ステップＳ２６）。検証の結果、エラーがあればステップＳ２２の処理に戻ってネットの配置を修正する。また、場合によってはステップＳ１３まで戻り、セル配置を修正する。しかしながら、本実施の形態の設計方法では、全てのネットについて、ノイズの影響を考慮した配置が行われるので、クロストークノイズの解析の際にエラーとなる可能性を少なくできる。
【００７７】
このように、本実施の形態の設計方法では、ノイズの影響を考慮した配置配線が行われるので、ステップＳ１８のデカップリング容量値の検証や、ステップＳ２６のクロストークノイズの解析の際に、エラーとなる可能性が少なく、セル配置やネット配線を修正する回数が少なくなるのでＴＡＴを短くできる。これによって、設計期間を短縮することが可能になる。
【００７８】
ところで、上記の説明では、図６の配置禁止幅決定手段６６ｄ、配置禁止領域設定手段６６ｅを用いて、セル配置の際に、セルの周囲に、前述の最低セル配置間隔として配置禁止幅分だけ広げた配置禁止領域を設定した場合について説明したが、最低セル配置間隔を満たすようにセルを配置するために、図６のセル拡張幅決定手段６６ｆ、セル入れ替え手段６６ｇの機能を用いてもよい。以下、その場合の設計方法を説明する。
【００７９】
図１９は、本実施の形態の他の設計方法の流れを示すフローチャートである。
配線レイアウト処理は、図８と同様であるので図示を省略している。
ステップＳ３０〜Ｓ３２は、図７のステップＳ１０〜Ｓ１２の処理と同じである。ステップＳ３２の処理で、配置優先度が決定すると、前述のように配置禁止領域を設定するのではなく、元のセルをセル拡張幅分広げた面積以上の広さのセルに入れ替える（ステップＳ３３）。このセルは、既存のセルでもよいし、一時的に生成するようにしてもよい。セル拡張幅は、前述した配置禁止幅（すなわち最低セル配置間隔）と同じであり、図１０のようなグラフで表される。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、セルごとの平均動作回数及び使用電圧をもとにセル拡張幅を決定する。
【００８０】
図２０は、セルの入れ替えの様子を示す図である。
図２０（Ａ）では、１０個のセル８０−１〜８０−１０を示している。各セル８０−１〜８０−１０内に付された数字は、配置優先度を示している。“１”のセル８０−８が最も優先度が高く、“１０”のセル８０−１が最も優先度が低い。
【００８１】
図２０（Ｂ）では、セル拡張幅に応じて入れ替えたセル８０ｄ−１〜８０ｄ−１０を示している。図では配置優先度の高いセル順に並べてある。図２０（Ａ）のような一定の大きさのセル８０−１〜８０−１０の場合、配置優先度の高いセルほど、大きなセルに入れ替わる。
【００８２】
次に、入れ替えたセルの配置を行う（ステップＳ３４）。
図２１は、セル拡張幅に応じて入れ替えたセルを配置した例を示す図である。
なお、電源線などは図９などと同一符号としている。
【００８３】
セル８０ｄ−１〜８０ｄ−１０の配置は、たとえば、優先度の高いものから順に行う。このとき、セル同士が接するように配置してもよい。
セル配置が完了すると、置き換えたセルを元のセルに戻す（ステップＳ３５）。
【００８４】
図２２は、入れ替えたセルを元のセルに戻したときのレイアウトの様子を示す図である。
セル拡張幅＝最低セル配置間隔であるため、セル８０ｄ−１〜８０ｄ−１０を、元のセル８０−１〜８０−１０に戻すと、全てのセル８０−１〜８０−１０は、自動的に最低セル配置間隔を満たすことになる。
【００８５】
その後は、図７のステップＳ１７，Ｓ１８と同様に、デカップリング容量を配置し（ステップＳ３６）、デカップリング容量値が適正な値か検証する（ステップＳ３７）。エラーがあれば、ステップＳ３３の処理に戻り、入れ替えるセルの大きさを変更するなどの修正を行う。しかしながら、本実施の形態の設計方法では、セル拡張幅だけ大きいセルに入れ替えて配置したのちに、元のセルに戻すことで、各セルは、最低セル配置間隔を満たすことになるのでエラーとなる可能性を少なくできる。
【００８６】
このように、セルの周りに配置禁止領域を設ける代わりに、配置禁止幅に対応したセル拡張幅分、元のセルを大きくしたセルに入れ替えて配置しても、同様に、全てのセルに対してノイズ対策が行われるので、ＴＡＴを短くでき、設計期間を短縮できるという効果が得られる。
【００８７】
なお、上記では、入れ替えたセルを優先度順に配置すると説明したが、これに限定されない。セルを入れ替えて配置する手法を用いた場合、配置禁止領域を用いた場合のように、後に配置したセルの配置禁止領域が、前に配置したセルの配置禁止領域よりも広いことにより、前に配置したセルが後に配置したセルの配置禁止領域内にかかることはないので、配置の順番は適宜自由に行うことができる。
【００８８】
（付記１）  配置禁止領域決定部が、第１回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第１回路ブロックの周辺に第１配置禁止領域を決定する工程と、
配置部が、前記第１配置禁止領域に第２回路ブロックが配置されないように、前記第１回路ブロック及び前記第２回路ブロックを配置する工程と、
を有することを特徴とする半導体集積回路の設計方法。
【００８９】
（付記２）  前記第１回路ブロックの前記平均動作回数が多く、前記使用電圧が低いほど前記第１配置禁止領域が広く設定されることを特徴とする付記１記載の半導体集積回路の設計方法。
【００９０】
（付記３）  前記配置禁止領域決定部は、前記第１回路ブロックの周囲を所定幅広げた前記第１配置禁止領域を設定することを特徴とする付記１または２に記載の半導体集積回路の設計方法。
【００９１】
（付記４）  自身の単位時間当たりの平均動作回数または使用電圧をもとに決定される第２配置禁止領域が広い前記第２回路ブロックほど、先に配置することを特徴とする付記１乃至３の何れか一項に記載の半導体集積回路の設計方法。
【００９２】
（付記５）  前記第１回路ブロックの前記第１配置禁止領域以上の広さの第３回路ブロックを前記第１回路ブロックの代わりに配置し、前記第２回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに決定される第２配置禁止領域以上の広さの第４回路ブロックを、前記第２回路ブロックの代わりに配置し、前記第３回路ブロック及び前記第４回路ブロックの配置後に、前記第３回路ブロックを前記第１回路ブロックに、前記第４回路ブロックを前記第２回路ブロックに入れ替えて配置することを特徴とする付記１乃至４の何れか１項に記載の半導体集積回路の設計方法。
【００９３】
（付記６）  最低配線間隔決定部が、複数の回路ブロック間を接続する第１配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第１配線と第２配線との間の最低配線間隔を決定し、
配線配置部が前記最低配線間隔を満たすように、前記第１配線及び前記第２配線を配置することを特徴とする半導体集積回路の設計方法。
【００９４】
（付記７）  前記平均変化回数が多く、前記使用電圧が高く、前記配線長が長い第１配線ほど前記最低配線間隔を広げることを特徴とする付記６記載の半導体集積回路の設計方法。
【００９５】
（付記８）  自身の単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに決定される他の最低配線間隔が広い前記第２配線ほど先に配置することを特徴とする付記６または７に記載の半導体集積回路の設計方法。
【００９６】
（付記９）  第１回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第１回路ブロックの周辺に第１配置禁止領域を決定する配置禁止領域決定部と、
前記第１配置禁止領域に第２回路ブロックが配置されないように、前記第１回路ブロック及び前記第２回路ブロックを配置する配置部と、
を有することを特徴とする半導体集積回路の設計装置。
【００９７】
（付記１０）  複数の回路ブロック間を接続する第１配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第１配線と第２配線との間の最低配線間隔を決定する最低配線間隔決定部と、
前記最低配線間隔を満たすように、前記第１配線及び前記第２配線を配置する配線配置部と、
を有することを特徴とする半導体集積回路の設計装置。
【図面の簡単な説明】
【００９８】
【図１】ノイズを考慮したセル配置を行う本実施の形態の設計装置における主要部の機能ブロック図である。
【図２】セル配置の様子を示す図である。
【図３】ノイズを考慮した配線を行う本実施の形態の設計装置における主要部の機能ブロック図である。
【図４】ネットの配置の様子を示す図である。
【図５】半導体集積回路の設計装置のハードウェア構成例である。
【図６】半導体集積回路の設計に用いる機能ブロック群を示す図である。
【図７】本実施の形態の設計方法の流れを示すフローチャートである（その１）。
【図８】本実施の形態の設計方法の流れを示すフローチャートである（その２）。
【図９】セルの周りに配置禁止領域を設定したレイアウトの例を示す図である。
【図１０】配置禁止幅と、平均動作回数及び使用電圧との関係を示す図である。
【図１１】２つのセルを配置したときのレイアウトの例を示す図である。
【図１２】デカップリング容量を配置したときのレイアウトの例を示す図である。
【図１３】セル間を接続するネットの例を示す図である。
【図１４】配置が確定したネットの例を示す図である。
【図１５】セルの回路とネットの接続例を示す図である。
【図１６】ネットの周りに配線禁止領域を設定したレイアウトの例を示す図である。
【図１７】配線禁止幅と、平均変化回数、使用電圧及びネット配線長との関係を示す図である。
【図１８】２つのネットを配置したときのレイアウトの例を示す図である。
【図１９】本実施の形態の他の設計方法の流れを示すフローチャートである。
【図２０】セルの入れ替えの様子を示す図である。
【図２１】セル拡張幅に応じて入れ替えたセルを配置した例を示す図である。
【図２２】入れ替えたセルを元のセルに戻したときのレイアウトの様子を示す図である。
【図２３】従来の半導体装置の概略の設計フローを示す図である。
【符号の説明】
【００９９】
１０  設計装置
１１  回路情報記憶部
１２  平均動作回数算出部
１３  最低セル配置間隔決定部（配置禁止領域決定部）
１４  セル配置部
１５  ノイズ対策／検証部
【図１】
0005309538.tif 000002
【図２】
0005309538.tif 000003
【図３】
0005309538.tif 000004
【図４】
0005309538.tif 000005
【図５】
0005309538.tif 000006
【図６】
0005309538.tif 000007
【図７】
0005309538.tif 000008
【図８】
0005309538.tif 000009
【図９】
0005309538.tif 000010
【図１０】
0005309538.tif 000011
【図１１】
0005309538.tif 000012
【図１２】
0005309538.tif 000013
【図１３】
0005309538.tif 000014
【図１４】
0005309538.tif 000015
【図１５】
0005309538.tif 000016
【図１６】
0005309538.tif 000017
【図１７】
0005309538.tif 000018
【図１８】
0005309538.tif 000019
【図１９】
0005309538.tif 000020
【図２０】
0005309538.tif 000021
【図２１】
0005309538.tif 000022
【図２２】
0005309538.tif 000023
【図２３】
0005309538.tif 000024