(57)【要約】【課題】配線が混雑する領域であっても最適な配線をすることができる半導体集積回路の設計方法を提供することである。【解決手段】本発明にかかる半導体集積回路の設計方法は、所定の単位領域に配置されたレイアウトセルの端子数を調査し、単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、端子存在トラックが所定数以上連続する箇所における端子の位置を移動する。【選択図】図１
2012048384.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計方法であって、
所定の単位領域に配置されたレイアウトセルの端子数を調査し、
前記単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、
前記端子存在トラックが所定数以上連続する箇所における端子の位置を移動する、
半導体集積回路の設計方法。
【請求項２】
前記単位領域は、前記半導体集積回路をｍ×ｎ（ｍ、ｎは任意の自然数）の領域に区分することで形成される、請求項１に記載の半導体集積回路の設計方法。
【請求項３】
前記端子存在トラックが所定数以上連続する箇所における端子の位置を前記空トラック上に移動する、請求項１または２に記載の半導体集積回路の設計方法。
【請求項４】
前記連続する端子存在トラックの前記所定の数は、前記レイアウトセルの実配線の概略配線に対する配線遅延に基づいて決定される、請求項１乃至３のいずれか一項に記載の半導体集積回路の設計方法。
【請求項５】
前記移動対象の端子の移動前の位置に対応する配線トラックを当該端子の移動後に空トラックとし、当該端子が移動した先の配線トラックを端子存在トラックとする、請求項１乃至４のいずれか一項に記載の半導体集積回路の設計方法。
【請求項６】
前記移動対象の端子の移動前の位置に対応する配線トラックを当該端子の移動後に空トラックとし、当該空トラックを通過するように実配線を配置する、請求項１乃至５のいずれか一項に記載の半導体集積回路の設計方法。
【請求項７】
前記移動対象の端子は、当該端子の移動先のスペース、実配線の概略配線に対する配線遅延、当該端子の密度の少なくとも一つを考慮して決定される、請求項１乃至６のいずれか一項に記載の半導体集積回路の設計方法。
【請求項８】
前記レイアウトセルの端子数が前記所定の値以下である単位領域について概略配線を実施する、請求項１乃至７のいずれか一項に記載の半導体集積回路の設計方法。
【請求項９】
半導体集積回路を設計する処理をコンピュータに実行させるプログラムであって、
所定の単位領域に配置されたレイアウトセルの端子数を調査し、
前記単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、
前記端子存在トラックが所定数以上連続する箇所における端子の位置を移動する、処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の設計方法および半導体集積回路の設計プログラムに関し、特に半導体集積回路における配線の設計方法およびその設計プログラムに関する。
【背景技術】
【０００２】
半導体集積回路では、半導体プロセスの微細化が進むと共に回路規模が大規模化しているため、レイアウトセルの実寸サイズが縮小している。これにより、レイアウトセル自身が持つ端子間隔も縮小している。このため、単位面積あたりの端子密度が高い領域では、他の端子と他の配線の接続が既に存在するために、対象とする端子と対象とする配線とを接続することができない場合（未配線）がある。また、対象とする端子と対象とする配線とを接続するために、迂回して配線する必要が生じるため、最短距離ではない配線となる場合がある。
【０００３】
このため、遅延時間の見積のための概略配線（つまり、最短距離を結ぶ配線）と実際の配線である実配線との間に差が生じ、タイミング収束に悪影響を及ぼす。よって、未配線となることがなく、かつマンハッタン長に近い最適な配線となるように回路を設計する必要がある。
【０００４】
特許文献１には、半導体集積回路のチップサイズの大型化を抑制し、配線の収束性を高めると共に歩留まりを高めることが可能な自動配置配線方法に関する技術が開示されている。特許文献１にかかる技術では、半導体集積回路の設計において機能セルの自動配置配線を行う際に、所定領域設定部により機能セルの有する端子が集中しそうな部分に所定領域を設定し、端子密度設定部によりこの所定領域における端子密度を設定している。そして、この所定領域内の端子密度が、設定された端子密度以下となるように、機能セルの配置を行なっている。
【０００５】
図１１は、特許文献１にかかる自動配置配線方法を説明するためのフローチャートである。特許文献１にかかる自動配置配線方法では、まず機能セルライブラリとデザインルール格納部から、必要となる機能セルやデザインルールを読み込む（ステップＳ４０１）。例えば、この機能セルライブラリやデザインルールは自動配置配線装置の本体部内に予め格納されている。
【０００６】
次に、ネットリストを読み込み、このネットリストに基づきタイミング制約を読み込む。さらに、領域設定部により設定された所定領域と、端子密度設定部により設定された端子密度を読み込む（ステップＳ４０２）。
【０００７】
次に、ステップＳ４０１、Ｓ４０２において読み込まれた各種条件に基づき、機能セルライブラリに格納された機能セルを用いて概略的な配置処理であるフロアプランを実施する（ステップＳ４０３）。そして、半導体集積回路のチップサイズ、入出力端子の配置位置、機能セルの配置位置を決定する。次に、本処理において設計される半導体集積回路の許容範囲内の電圧降下値を設定し、読み込んだネットリストを解析して電源配線を決定する（ステップＳ４０４）。
【０００８】
電源配線が決定されると、ステップＳ４０２において読み込んだ所定領域と端子密度とに基づく機能セルの配置を実施する（ステップＳ４０５）。すなわち、所定領域内の端子密度を検出し、検出した端子密度と設定された端子密度とを比較する。そして、検出された端子密度が設定された端子密度よりも高かった場合には、所定領域内における端子密度が設定された端子密度以下となるように機能セルの配置をしなおす。
【０００９】
次に、ＣＴＳ（Clock Tree Synthesis）処理、タイミング最適化処理を実施する（ステップＳ４０６）。そして、各機能セル間の信号配線を実施して自動配置配線処理を完了する（ステップＳ４０７）。
【００１０】
図１２は、特許文献１にかかる自動配置配線方法における配線未収束を回避する方法を説明するための図である。図１２に示す方法では、端子の集中により端子密度があがり配線が混雑する場合に、隣接する二つの機能セルの間に間隔を空けている。
【００１１】
また、図１３は、特許文献１にかかる自動配置配線方法における配線未収束を回避する他の方法を説明するための図である。図１３に示す方法では、配線混雑が発生した場合に、隣接する二つの機能セルのうちの一方を、Ｙ軸を対称軸として反転（ミラーリング）させている。
【００１２】
このように、特許文献１にかかる自動配置配線方法を用いることで、端子の位置を考慮して機能セルを配置することができるため、配線混雑を解消することができ配線の収束性を高めることができる。またこれらの方法では、個々の機能セルに対して配線のための配線専用領域を設ける必要がなく、必要最小限の配線領域で配線を収束させることができる。
【００１３】
また、特許文献２には端子又はリザーバを有する半導体装置の配線の可接続性を維持する技術について開示されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−９０４５６号公報
【特許文献２】特開２００３−３３２４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
特許文献１にかかる技術では、端子密度を考慮した配置工程（ステップＳ４０５）において、隣接する二つの機能セルの間に間隔を空けることで、また、隣接する二つの機能セルのうちの一方を、Ｙ軸を対称軸として反転（ミラーリング）させることで、端子密度が高くなることを抑制している。
【００１６】
ここで、隣接する二つの機能セルの間に間隔を空ける場合は、間隔を空けるためのスペースを予め設ける必要がある。しかしながら、例えば機能セルが密集している場合は、間隔を空けるためのスペースを予め設けることができないため、隣接する二つの機能セルの間に間隔を空けることができない。
【００１７】
また、隣接する二つの機能セルのうちの一方を、Ｙ軸を対称軸として反転（ミラーリング）させる場合は、機能セルを反転させることにより、機能セルの反対側の端子密度が高くなる可能性がある。
【課題を解決するための手段】
【００１８】
本発明にかかる半導体集積回路の設計方法は、半導体集積回路の設計方法であって、所定の単位領域に配置されたレイアウトセルの端子数を調査し、前記単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、前記端子存在トラックが所定数以上連続する箇所における端子の位置を移動する。
【００１９】
本発明にかかる半導体集積回路の設計方法では、レイアウトセルを移動するのではなく、レイアウトセルの端子の分布状態を調査し実配線の経路を予測し、レイアウトセルの端子を移動している。これにより、レイアウトセルの配置を修正することなく、配線が混雑する領域において適切に配線経路を決定することができる。また、配線が混雑する領域において実配線の長さを短縮することができ、概略配線に対する実配線の配線遅延を小さくすることができる。
【００２０】
本発明にかかる半導体集積回路を設計する処理をコンピュータに実行させるプログラムは、所定の単位領域に配置されたレイアウトセルの端子数を調査し、前記単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、前記端子存在トラックが所定数以上連続する箇所における端子の位置を移動する処理をコンピュータに実行させるためのプログラムである。
【００２１】
本発明にかかる半導体集積回路を設計する処理をコンピュータに実行させるプログラムを用いることで、レイアウトセルを移動するのではなく、レイアウトセルの端子の分布状態を調査し実配線の経路を予測し、レイアウトセルの端子を移動することができる。これにより、レイアウトセルの配置を修正することなく、配線が混雑する領域において適切に配線経路を決定することができる。また、配線が混雑する領域において実配線の長さを短縮することができ、概略配線に対する実配線の配線遅延を小さくすることができる。
【発明の効果】
【００２２】
本発明により、配線が混雑する領域であっても最適な配線をすることができる半導体集積回路の設計方法および半導体集積回路の設計プログラムを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態にかかる半導体集積回路の設計方法を説明するためのフローチャートである。
【図２】実施の形態にかかる半導体集積回路の設計方法を実施するためのシステム構成を示す図である。
【図３】実施の形態にかかる半導体集積回路（ＩＣチップ）をｘ×ｙ個（ｍ、ｎは自然数）の単位領域に区分けした場合を示す図である。
【図４】図３の座標（ｘ１、ｙ１）の単位領域の具体例を示す図である。
【図５】端子存在トラックと空トラックを説明するための図である。
【図６】レイアウトセルの実配線の一例を示す図である。
【図７】レイアウトセルの概略配線を示す図である。
【図８】図３に示した座標（ｘ３、ｙ５）の単位領域を詳細に示した図である。
【図９】（ａ）はレイアウトセルの端子を移動する前の状態を示す図であり、（ｂ）はレイアウトセルの端子を移動した後の状態を示す図である。
【図１０】端子を移動した後に実配線を配置した状態を示す図である。
【図１１】特許文献１にかかる自動配置配線方法を説明するためのフローチャートである。
【図１２】特許文献１にかかる自動配置配線方法における配線未収束を回避する方法を説明するための図である。
【図１３】特許文献１にかかる自動配置配線方法における配線未収束を回避する他の方法を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施の形態について説明する。
図２は、本実施の形態にかかる半導体集積回路の設計方法を実施するためのシステム構成を示す図である。図２に示すシステムは、エンジニアリングワークステーション等のコンピュータ装置３と、実行プログラムおよびモデル式とモデルパラメータを提供するサーバ４と、各コンピュータ装置３とサーバ４とを接続するネットワーク６とで構成される。
【００２５】
サーバ４は記録媒体５を備え、この記録媒体５には回路図エディタやレイアウトエディタ等のＣＡＤ設計ツールが格納されている。これらのＣＡＤ設計ツールはサーバ４からネットワーク６を介して各コンピュータ装置３にダウンロードされる。ダウンロードされたＣＡＤ設計ツール（つまり、半導体集積回路の設計プログラム）はコンピュータ装置３のローカルハードディスクまたはメモリ等に格納される。本実施の形態にかかる半導体集積回路の設計方法はこのような構成を備えるシステムを用いて実施される。しかし、これらのシステム構成は一例であり、以下で示す本実施の形態にかかる半導体集積回路の設計方法を実施することができるシステム構成であれば、どのようなシステムであってもよい。
【００２６】
次に、本実施の形態にかかる半導体集積回路の設計方法について説明する。図１は、本実施の形態にかかる半導体集積回路の設計方法を説明するためのフローチャートである。まず、回路接続情報１とレイアウトセルライブラリ２とを用いてレイアウトセルの自動配置を実施する（ステップＳ１）。ここで、回路接続情報１とレイアウトセルライブラリ２は、図２に示すシステムのＣＡＤ設計ツールに含まれており、各コンピュータ装置３にダウンロードされている。
【００２７】
なお、ステップＳ１のレイアウトセルの自動配置は、例えば図１１に示す背景技術にかかる自動配置配線方法のステップＳ４０１からＳ４０４に対応する。すなわち、まずレイアウトセルライブラリ（機能セルライブラリに対応）とデザインルールから、必要となるレイアウトセルライブラリやデザインルールを読み込む（ステップＳ４０１）。次に、ネットリストを読み込み、このネットリストに基づきタイミング制約を読み込む（ステップＳ４０２）。次に、ステップＳ４０１、Ｓ４０２において読み込まれた各種条件に基づき、レイアウトセルライブラリに格納されたレイアウトセルを用いて概略的な配置処理であるフロアプランを実施する（ステップＳ４０３）。そして、半導体集積回路のチップサイズ、入出力端子の配置位置、レイアウトセルの配置位置を決定する。次に、本処理において設計される半導体集積回路の許容範囲内の電圧降下値を設定し、読み込んだネットリストを解析して電源配線を決定する（ステップＳ４０４）。
【００２８】
ここで、本実施の形態にかかる半導体集積回路の設計方法は、ネットリストからフロアプランを立案し、電源配線、レイアウトセル配線を行ない、配置配線後のレイアウトデータを作成した後における、レイアウトセルの概略配線見積やその後のレイアウトセル配線の工程に特徴がある。よって、上記ステップＳ１に対応する上記ステップＳ４０１からＳ４０４は一例であり、任意の方法を用いてレイアウトセルの自動配置を実施することができる。
【００２９】
次に、ステップＳ１で実施したレイアウトセルの配置結果から、単位領域におけるレイアウトセルの端子分布を調査する（ステップＳ２）。図３は、ＩＣチップ（半導体集積回路）８をｍ×ｎ個（ｍ、ｎは自然数）の単位領域に区分けした場合を示す図である。図３に示す各単位領域の数字はその単位領域内に存在するレイアウトセルの端子数を示している。この単位領域の大きさ（つまり、区分の数であるｍとｎの値に対応する）は、任意に設定することができる。
【００３０】
図４は、図３の座標（ｘ１、ｙ１）の単位領域７の具体例を示す図である。図４に示す単位領域７にはレイアウトセル９が５個配置されており、各レイアウトセル９には端子１０が配置されている。このとき、図４に示す各レイアウトセル９の端子１０の合計は１２個であり、この値は図３の座標（ｘ１、ｙ１）の単位領域７の値である「１２」に対応する。
【００３１】
このように、ステップＳ２により、ステップＳ１で実施したレイアウトセルの配置結果から各単位領域におけるレイアウトセルの端子分布、すなわちＩＣチップ８におけるレイアウトセルの端子分布を調査することができる。これにより、ＩＣチップ８において、レイアウトセルの端子が多い箇所を特定することができる。
【００３２】
次に、ステップＳ２で調査した各単位領域におけるレイアウトセルの端子数と任意に設けた制限値とを比較し、各単位領域におけるレイアウトセルの端子数が制限値以下であるか否かを判断する（ステップＳ３）。単位領域内のレイアウトセルの端子数が制限値以下である単位領域については、ステップＳ４において概略配線を実施する。一方、単位領域内のレイアウトセルの端子数が制限値よりも大きい単位領域については、ステップＳ５乃至Ｓ８の工程へと進む。
【００３３】
例えば、制限値を２５とした場合、図３に示す単位領域のうち、レイアウトセルの端子数が３４である座標（ｘ３、ｙ３）、レイアウトセルの端子数が３６である座標（ｘ３、ｙ４）、レイアウトセルの端子数が２６である座標（ｘ３、ｙ５）、レイアウトセルの端子数が３８である座標（ｘ４、ｙ３）、レイアウトセルの端子数が２７である座標（ｘ５、ｙ５）の５個の単位領域が、レイアウトセルの端子数が制限値よりも大きい単位領域となる。なお、本実施の形態では端子数の制限値を２５としたが、この制限値は任意に設定することができ、設計する半導体集積回路の特性に応じて決定することができる。
【００３４】
次に、ステップＳ３においてレイアウトセルの端子数が制限値よりも大きいと判断された単位領域について、レイアウトセルの端子が存在する端子存在トラック数に基づいて迂回トラックを決定する（ステップＳ５）。
【００３５】
図５は、端子存在トラックと空トラックを説明するための図である。図５に示すように、レイアウトセル３１の配線トラックのうち、端子４１が存在する配線トラックが端子存在トラック（実線で示す）５１であり、端子４１が存在しない配線トラックが空トラック（点線で示す）６１である。
【００３６】
また、図６はレイアウトセル３２の実配線の一例を示す図である。ここで、実配線とはレイアウトセルにおける実際の配線である。レイアウトセル３２では、端子４２が存在する端子存在トラック５２上に実配線１５を配置することができない。このため、実配線１５は空トラック６２に配置される。一方、図７はレイアウトセル３２の概略配線を示す図である。ここで概略配線とは、遅延時間見積のために配置される配線である。概略配線１６は、端子４２の存在の有無に関係なく端子存在トラック５２上に直線状に配置されている。
【００３７】
図６に示した実配線１５と図７に示した概略配線１６とを比較すると、図６に示した実配線１５は概略配線１６よりも４トラック分Ｘ軸方向（紙面左側）に配置されている。この様に実配線１５は迂回して配置されているので、概略配線１６と比べて配線遅延が生じる。
【００３８】
換言すると、このステップＳ５では、単位領域のうちレイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類し、当該端子存在トラックが所定数以上連続する箇所を迂回トラックとしている。上述したように、この迂回トラックは、概略配線と比べて配線遅延の影響が大きい箇所であるといえる。
【００３９】
図８を用いて迂回トラックの決定方法について具体的に説明する。図８は、図３に示した単位領域のうちレイアウトセルの端子数が２６個である座標（ｘ３、ｙ５）の単位領域２７を詳細に示した図である。図８に示すように、単位領域２７は複数のレイアウトセル３３、２６個の端子４３、複数の端子存在トラック（実線で示す）５３、空トラック（点線で示す）６３を有する。ここで、例えば端子存在トラックが４本以上連続する箇所を迂回トラックとする場合、図８に示す単位領域では、端子存在トラック５４、５５、５６、５７が４本連続しているので、端子存在トラック５４、５５、５６、５７が迂回トラック２０となる。よって、レイアウトセル３４とレイアウトセル３５にそれぞれ迂回トラック２０が存在することとなる。
【００４０】
なお、本実施の形態では端子存在トラックが４本以上連続する箇所を迂回トラックとしたが、迂回トラックを決定するための連続する端子存在トラックの本数は任意に設定することができる。例えば、連続する端子存在トラックの本数は実配線の概略配線に対する配線遅延に基づいて決定することができる。
【００４１】
次に、ステップＳ６において迂回トラックを含むか否か判断される。迂回トラックを含まない場合はステップＳ４において概略配線を実施する。迂回トラックを含む場合はステップＳ７へ進む。
【００４２】
ステップＳ７では、迂回トラック２０を含むレイアウトセルの端子位置を移動することができるか否か判断する。端子位置を移動することができると判断した場合、ステップＳ８へと進む。
【００４３】
図９（ａ）、（ｂ）を用いてレイアウトセル３４の端子位置を移動する場合（ステップＳ８）について説明する。図９（ａ）はレイアウトセル３４の端子を移動する前の状態を示す図であり、図９（ｂ）はレイアウトセル３４の端子を移動した後の状態を示す図である。図９（ａ）に示すように、レイアウトセル３４では、端子存在トラック５４、５５、５６、５７が４本連続しているので、端子存在トラック５４、５５、５６、５７が迂回トラック２０となっている。この場合、例えば端子存在トラック５４に対応する端子４４を、空トラック６４上に移動することができる。
【００４４】
図９（ｂ）に示すように、端子４４を端子４５の位置に移動すると（移動後の端子を端子４５とする）、端子４５に対応する位置の配線トラックは端子存在トラック５８となる。一方、端子４４を移動した後の配線トラックは、空トラック６５となる。このように、端子４４を端子４５の位置に移動することで、４本連続していた端子存在トラック５４、５５、５６、５７を、３本連続している端子存在トラック５５、５６、５７とすることができる。これにより、図９（ａ）に示した迂回トラック２０は迂回トラックではなくなる。
【００４５】
図１０は、端子４４を端子４５の位置に移動した後（図９（ｂ）参照）に実配線を配置した場合を示す図である。図１０に示すように、実配線２３はレイアウトセル３４の空トラック６５を通るように配置される。ここで、符号２４、２５は端子移動後の実配線線分を示している。このように、図６に示す配置では４トラック分Ｘ軸方向（紙面左側）へ実配線１５を移動していたのに対して、図１０に示す配置では３トラック分Ｘ軸方向（紙面左側）へ実配線２３を移動しているので、概略配線に対する実配線の配線遅延を小さくすることができる。
【００４６】
また、ステップＳ７において迂回トラックに存在する端子を移動することができないと判断した場合は、ステップＳ４において概略配線を実施する。この場合は、迂回トラックにおける配線経路を変更することができないので、概略配線見積以外の工程で対応することとなる。なお、迂回トラックに存在する端子を移動することができない場合とは、迂回トラックに存在する端子を移動するスペースを確保できない場合などである。
【００４７】
また、本実施の形態では図９（ｂ）において端子４４を端子４５へ移動したが、移動する端子は端子４４に限定されることはなく、これ以外の端子を移動してもよい。この場合、端子の移動先のスペース、実配線の概略配線に対する配線遅延、端子の密度等を考慮して移動する端子を決定することができる。
【００４８】
ステップＳ８において迂回トラックの端子を移動した後、ステップＳ４において概略配線を実施する。本実施の形態にかかる半導体集積回路の設計方法を用いることで、実配線を概略配線に近い状態で配置することができる。
【００４９】
特許文献１にかかる技術では、端子密度を考慮した配置工程（図１１のステップＳ４０５参照）において、隣接する二つの機能セルの間に間隔を空けることで、また、隣接する二つの機能セルのうちの一方を、Ｙ軸を対称軸として反転（ミラーリング）させることで、端子密度が高くなることを抑制していた。ここで、隣接する二つの機能セルの間に間隔を空ける場合は、間隔を空けるためのスペースを予め設ける必要があった。しかしながら、例えば機能セルが密集している場合は、間隔を空けるためのスペースを予め設けることができないため、隣接する二つの機能セルの間に間隔を空けることができなかった。また、隣接する二つの機能セルのうちの一方を、Ｙ軸を対称軸として反転（ミラーリング）させる場合は、機能セルを反転させることにより、機能セルの反対側の端子密度が高くなる可能性があった。
【００５０】
これに対して、本実施の形態にかかる半導体集積回路の設計方法では、（１）所定の単位領域に配置されたレイアウトセルの端子数を調査し、（２）単位領域のうちレイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、（３）端子存在トラックが所定数以上連続する箇所における端子の位置を移動している。
【００５１】
つまり、レイアウトセルを移動するのではなく、レイアウトセルの端子の分布状態を調査し実配線の経路を予測し、レイアウトセルの端子を移動している。これにより、レイアウトセルの配置を修正することなく、配線が混雑する領域において適切に配線経路を決定することができる。また、配線が混雑する領域において実配線の長さを短縮することができ、概略配線に対する実配線の配線遅延を小さくすることができる。
【００５２】
よって、本実施の形態にかかる発明により、配線が混雑する領域であっても最適な配線をすることができる半導体集積回路の設計方法を提供することができる。
【００５３】
なお、本実施の形態にかかる半導体集積回路の設計方法は、以上で説明した処理をコンピュータに実行させることができるプログラムを用いて実施することができる。すなわち、本実施の形態にかかる半導体集積回路を設計する処理をコンピュータに実行させるプログラムは、所定の単位領域に配置されたレイアウトセルの端子数を調査し、前記単位領域のうち前記レイアウトセルの端子数が所定の値よりも大きい単位領域において、端子が存在する配線トラックである端子存在トラックと端子が存在しない配線トラックである空トラックとに分類すると共に、当該端子存在トラックが所定数以上連続する箇所を調査し、  前記端子存在トラックが所定数以上連続する箇所における端子の位置を移動する処理をコンピュータに実行させるためのプログラムである。このようなプログラムは、コンピュータのＣＰＵを用いて処理することができる。
【００５４】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００５５】
１  回路接続情報
２  レイアウトセルライブラリ
３  コンピュータ装置
４  サーバ
５  記録媒体
６  ネットワーク
７  単位領域
８  ＩＣチップ
９  レイアウトセル
１０  端子
１５、２３  実配線
１６  概略配線
２０  迂回トラック
２７  単位領域
３１、３２、３３、３４、３５  レイアウトセル
４１、４２、４３  端子
４４  移動前の端子
４５  移動後の端子
５１、５２、５３、５４、５５、５６、５７、５８  端子存在トラック
６１、６２、６３、６４、６５  空トラック
【図１】
2012048384.tif 000003
【図２】
2012048384.tif 000004
【図３】
2012048384.tif 000005
【図４】
2012048384.tif 000006
【図５】
2012048384.tif 000007
【図６】
2012048384.tif 000008
【図７】
2012048384.tif 000009
【図８】
2012048384.tif 000010
【図９】
2012048384.tif 000011
【図１０】
2012048384.tif 000012
【図１１】
2012048384.tif 000013
【図１２】
2012048384.tif 000014
【図１３】
2012048384.tif 000015