(57)【要約】【課題】  １回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付ける自動配置配線装置を提供する。【解決手段】  各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する決定部１２と、自動配置を実行する配置処理部１３と、配置結果に基づいて見積もり配線長を求める配線長見積もり部１４と、配線長がユーザ指定の配線長以上の配線経路のタイミング制約値に基づいて見積もった遅延時間と見積もり配線長から必要な転送レートを算出する転送レート計算部１６と、転送レート計算部１６が算出した転送レートを超えない範囲で最も遅い転送レートを有する配線層を割り付ける配線層割付部１７と、割り付られた配線層にリピータを配置するリピータ挿入部１８と、自動配線を実行する配線処理部１９を備える。【選択図】        図３
2006065669.tif 000002
【特許請求の範囲】
【請求項１】
各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート／リピータ間距離算出部と、
ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、
上記配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、
上記配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、
配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、
最速となる転送レートを有する時定数別の配線層のうち、上記転送レート計算部が算出した上記転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、
最速となる転送レートとリピータ間距離との関係を用いて、上記配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上の上記リピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、
上記配線層割付部により割り付けられた配線層及び上記配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部と
を備えた自動配置配線装置。
【請求項２】
配線処理部は、転送レートが遅い配線層から順に自動配線を実行することを特徴とする請求項１記載の自動配置配線装置。
【請求項３】
転送レート／リピータ間距離算出部は、転送レートが最速となるリピータ間距離で規定されるリピータ位置からの配置マージンとなるずれ量を受け付け、
リピータ挿入部は、上記ずれ量を付加した位置にリピータを配置することを特徴とする請求項１記載の自動配置配線装置。
【請求項４】
転送レート／リピータ間距離算出部は、類似する転送レートを与える配線層についてはいずれか一方の配線層についてのみ時定数別に最速となる転送レートを求めることを特徴とする請求項１記載の自動配置配線装置。
【請求項５】
リピータ挿入部は、配線長判定部により閾値未満の配線長であると判定された配線経路についても、転送レート／リピータ間距離算出部が求めた最速の転送レートを与えるリピータ間距離ごとにリピータを配置することを特徴とする請求項１記載の自動配置配線装置。
【請求項６】
配線層割付部は、転送レートを優先した配線層の割り付けが完了したあとに、配線の混雑度に応じて転送レートが速いものから順に配線層を割り付けることにより配線層の割り付けを修正することを特徴とする請求項１記載の自動配置配線装置。
【請求項７】
各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート／リピータ間距離算出部、
ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部、
上記配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部、
上記配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部、
配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部、
最速となる転送レートを有する時定数別の配線層のうち、上記転送レート計算部が算出した上記転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部、
最速となる転送レートとリピータ間距離との関係を用いて、上記配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上の上記リピータ間距離で規定される位置にリピータを配置するリピータ挿入部、
上記配線層割付部により割り付けられた配線層及び上記配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路のレイアウトを行う自動配置配線装置及びこの機能をコンピュータに実行させるプログラムに関するものである。
【背景技術】
【０００２】
従来から一般的に行われている半導体集積回路のレイアウト処理では、自動配置配線が完了したレイアウトに対してタイミング検証プログラムを実行し、タイミングエラー箇所があれば、タイミングエラーパスに基づいて長距離配線でタイミングエラーが生じた機能ブロック又はマクロセルを特定し、該当配線に対して太幅配線（低時定数配線）を指定して再度配置配線する。このため、試行錯誤による配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返す必要があり、レイアウト設計に多くの時間を費やさざるを得なかった。
【０００３】
これに対して、例えば特許文献１に開示される従来の技術では、自動配置の後、概略配線を施した後にタイミング検証プログラムを実行し、概略配線で決定した配線経路を用いてネットを実現可能な配線層あるいは配線層の組ごとにネット遅延値を検査する。この検査結果に応じて詳細配線に用いる配線層の組を割り付けることにより、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、自動配置後に効率よくタイミングを考慮した配線層の割り付けを実行することができる。
【０００４】
【特許文献１】特開平７−３２５８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示される従来の技術は、配線層のネット遅延値の検査結果に基づいて配線遅延を考慮した配線層の割り付けを実施するものであるが、配線層の時定数や配線リソースを考慮して転送レートが最速となる位置にリピータを挿入配置して配線層をさらに効率よく割り付けるものではない。
【０００６】
この発明は、上記のような課題を解決するためになされたもので、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、１回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付ける自動配置配線装置及びこの機能をコンピュータに実行させるプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る自動配置配線装置は、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート／リピータ間距離算出部と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、最速となる転送レートとリピータ間距離との関係を用いて配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、配線層割付部により割り付けられた配線層及び配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部とを備えるものである。
【発明の効果】
【０００８】
この発明によれば、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート／リピータ間距離算出部と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、最速となる転送レートとリピータ間距離との関係を用いて配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、配線層割付部により割り付けられた配線層及び配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部とを備えるので、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、１回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付けることができるという効果がある。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明による自動配置配線装置を具現化するコンピュータ装置の外観例を示す図であり、図２は、図１中のコンピュータ装置の構成を示す図である。また、図３は、この発明の実施の形態１による自動配置配線装置の構成を示すブロック図である。本発明の自動配置配線装置を具現化するコンピュータ装置には、図１の例に示すように、コンピュータ本体１、グラフィックディスプレイ装置２、ＣＤ−ＲＯＭ（Compact Disk - Read Only Memory）３、ＣＤ−ＲＯＭドライブ装置４、キーボード５、マウス６及び通信モデム７が装備される。
【００１０】
本発明の趣旨に従う半導体集積回路のレイアウト処理プログラムは、ＣＤ−ＲＯＭ３などの記憶媒体あるいは通信モデム７を使ったネット配信などを介して上記コンピュータ装置に搭載される。この半導体集積回路のレイアウト処理プログラムは、コンピュータ本体１により実行される。ユーザは、グラフィックディスプレイ装置２に表示される自動配置配線プログラムの実行結果を見ながら、キーボード５やマウス６などの入力装置を操作して必要なパラメータ値などを入力し、所望の半導体集積回路のレイアウトを実行する。
【００１１】
また、コンピュータ本体１は、図２の例に示すように、ＣＰＵ８、ＲＯＭ（Read Only Memory）９、ＲＡＭ（Random Accesss Memory)１０及びハードディスク装置１１を含んで構成される。ＣＰＵ８は、グラフィックディスプレイ装置２、ＣＤ−ＲＯＭドライブ装置４、キーボード５、マウス６、通信モデム７、ＲＯＭ９、ＲＡＭ１０又はハードディスク装置１１との間でデータをやり取りしながら演算処理を実行する。
【００１２】
ＣＤ−ＲＯＭ３などの記憶媒体に記録された半導体集積回路のレイアウト処理プログラムは、ＣＰＵ８によりＣＤ−ＲＯＭドライブ装置４からハードディスク装置１１に格納される。ＣＰＵ８は、ハードディスク装置１１から適宜ロードした本発明のレイアウト処理プログラムを実行し、その結果を必要に応じてグラフィックディスプレイ装置２に表示する。
【００１３】
本発明の実施の形態１による自動配置配線装置は、転送レート・リピータ間距離決定部（転送レート／リピータ間距離算出部）１２、配置処理部１３、配線長見積もり部１４、配線長判定部１５、転送レート計算部１６、配線層割付部１７、リピータ挿入部１８、配線処理部１９、タイミング検証部２０及び描画部２１を含んで構成される。これら構成部１２〜２１は、本発明による半導体集積回路のレイアウト処理プログラムにおける機能モジュールとして実現することができる。
【００１４】
つまり、転送レート・リピータ間距離決定部１２、配置処理部１３、配線長見積もり部１４、配線長判定部１５、転送レート計算部１６、配線層割付部１７、リピータ挿入部１８、配線処理部１９、タイミング検証部２０及び描画部２１は、例えば図１に示すような汎用コンピュータ等を用いて本発明による半導体集積回路のレイアウト処理プログラムを実行させることで具現化できる。
【００１５】
もう少し詳細に説明すると、本発明による半導体集積回路のレイアウト処理プログラムを、コンピュータに読み込ませて、その動作を制御することにより、コンピュータ上に図３に示す転送レート・リピータ間距離決定部１２、配置処理部１３、配線長見積もり部１４、配線長判定部１５、転送レート計算部１６、配線層割付部１７、リピータ挿入部１８、配線処理部１９、タイミング検証部２０及び描画部２１を実現することができる。
【００１６】
転送レート・リピータ間距離決定部１２は、予め用意した各配線層についてのリピータ間距離と遅延時間の関係に基づいて、各配線層のリピータ間距離と転送レートの関係を求め、各配線層の時定数別に最速となる転送レートを算出する。なお、転送レートとは、リピータ間をつなぐ配線層の単位距離あたりの信号の転送時間である。また、本発明において、転送レートが速いとは、このリピータ間をつなぐ配線層の単位距離あたりの信号の転送時間が短いことを示しており、転送レートが遅いとは上記転送時間が長いことを示している。
【００１７】
遅延時間は、リピータ間の配線層における信号の伝搬時間である。また、リピータ間距離は、リピータ間の配線層の配線長である。本実施の形態では、リピータ自身の遅延を無視し、遅延時間をリピータ間距離で除算したものを当該リピータ間距離における転送レートとして求める。
【００１８】
例えば、図４に示すように、リピータとなる２つのバッファをある時定数の配線層ａで直列につなぎ、バッファ（リピータ）間距離を５００μｍとする。このとき、リピータ自身の遅延は無視するので、ＩＮより入力した信号がＯＵＴに伝わるまでに要する時間が、その時定数の配線層ａにおけるリピータ間距離５００μｍの遅延時間となる。
【００１９】
また、配線層ごとのリピータ間距離と遅延時間の関係は、各配線層の時定数別にリピータ間距離を様々な値に変更して遅延時間を逐次求める。この関係に関する情報は、電子化されたテーブルデータとしてハードディスク装置１１に予め格納される。
【００２０】
なお、遅延の計測は、遅延計算エンジンとして転送レート・リピータ間距離決定部１２を機能させて本発明による自動配置配線装置が自動的に実行するように構成しても良いが、予め回路シミュレーションを実行して遅延時間を求めておくか、遅延時間の実測値を用いるようにしても良い。
【００２１】
配置処理部１３は、レイアウト内のブロックやマクロセルの配置を実行する。配線長見積もり部１４は、配置処理部１３による配置結果に基づいて各配線長を予測する。配線長判定部１５は、ユーザが指定した配線長と各配線を比較し、ユーザ指定の配線長以上であるか否かを判定する。転送レート計算部１６は、ユーザ指定の各配線長におけるタイミング値により必要な遅延時間を見積もって転送レートを算出する。
【００２２】
配線層割付部１７は、転送レート計算部１６が算出した転送レートと、転送レート・リピータ間距離決定部１２が求めた各配線層の時定数別の最速となる転送レートとを比較し、転送レート計算部１６が算出した転送レートを超えない範囲で抽出した配線層のうち、最も遅い転送レートの配線層を割り付ける。リピータ挿入部１８は、割り付けられた配線層の転送レートと見積もり配線長に基づいて、当該配線層の配線パターにおけるリピータの挿入が必要な箇所を特定してリピータの配置処理を実行する。配線処理部１９は、配線層割付部１７により割り付けられた配線層などについての配線処理を実行する。
【００２３】
タイミング検証部２０は、配置処理部１３及び配線処理部１９によって自動配置配線されたレイアウト結果がユーザが所望するタイミングを満たしているか否かを検証する。なお、タイミング検証部２０については、他のコンピュータで具現化し、本発明の自動配置配線装置と連動して処理を行うように構成しても良い。
【００２４】
描画部２１は、配置処理部１３や配線処理部１９による配置配線結果をグラフィックディスプレイ装置２の表示画面上に表示する。また、描画部２１は、キーボード５やマウス６などの入力装置を用いて、ユーザから配線長や各配線のタイミング情報などの自動配置配線に必要なパラメータの入力を受け付ける入力欄などをグラフィックディスプレイ装置２の表示画面上に適宜表示するＧＵＩ（Graphical User Interface）を提供する。
【００２５】
次に動作について説明する。
図５は、実施の形態１による自動配置配線装置の動作を示すフローチャートであり、この図に沿って説明する。
先ず、配置配線の実行前に、転送レート・リピータ間距離決定部１２は、ハードディスク装置１１に予め格納していた配線層ごとのリピータ間距離と遅延時間の関係を示す電子データをＲＡＭ１０に読み出して、この電子データ中のリピータ間距離とその遅延時間から配線層ごとに転送レートを算出し、配線層ごとのリピータ間距離と転送レートの関係を求める。次に、転送レート・リピータ間距離決定部１２は、各配線層のリピータ間距離と転送レートの関係から各配線層の時定数別に最速となる転送レートを算出する。
【００２６】
図６は、ある配線層におけるリピータ間距離、転送レート及び遅延時間の関係を示すグラフであり、この図を用いて具体的な算出方法を説明する。図中の破線の曲線は、リピータ間距離とその遅延時間との関係を示している。また、遅延時間（ｐｓ）をリピータ間距離（μｍ＝１０−３ｍｍ）で除算することで、図中の実線で示す転送レート（ｐｓ／ｍｍ）の曲線が求められる。この実線の曲線における極小値の転送レートが、最速となる転送レートである。なお、最速となる転送レートは、転送レート・リピータ間距離決定部１２よって配線の幅や膜厚などにより決定される各配線層の時定数別に算出される。
【００２７】
このようにして求められた転送レート、リピータ間距離及び遅延時間に関する電子情報は、転送レート・リピータ間距離決定部１２によりＲＡＭ１０に格納される。ここまでの処理がステップＳＴ１に相当する。
【００２８】
次に、配置処理部１３は、所望の論理回路におけるブロックやマクロセルの接続関係を定義したネットリストを用いて、ブロックやマクロセルの配置を実行する（ステップＳＴ２）。この配置の手法としては、本願発明の出願時に既存の各種の配置技術のいずれかを用いるようにしてもよい。
【００２９】
ブロックやマクロセルの配置が完了すると、配線長見積もり部１４が、この配置結果に基づいてブロックやマクロセル間に設けるべき各配線経路の配線長を予測する（ステップＳＴ３）。配線長の予測方法としては、マンハッタン距離などを用いた本願発明の出願時に既存の各種技術を用い、配置結果に応じた配線の混雑度や困難度を考慮して配線経路の配線長（以降、見積もり配線長と適宜称する）を予測する。
【００３０】
配線長判定部１５は、配線長見積もり部１４から見積もり配線長に関する情報を入力すると、ユーザ指定の配線長に関する情報と比較して、見積もり配線長がユーザ指定の配線長以上の距離であるか否かを判定する（ステップＳＴ４）。ユーザ指定の配線長とは、回路設計仕様に基づいて許容できる最上限の遅延時間を与える配線長の閾値である。この配線長の指定情報は、例えばキーボード５やマウス６などの入力装置を用いて本実施の形態による自動配置配線装置に入力される。
【００３１】
ステップＳＴ４において、配線長見積もり部１４により予測された見積もり配線長がユーザ指定の配線長未満である場合、ステップＳＴ８の配線処理に移行する。一方、見積もり配線長がユーザ指定の配線長以上である判定すると、その旨及び当該見積もり配線に関する情報を転送レート計算部１６に出力する。
【００３２】
これにより、転送レート計算部１６は、ユーザから指定された各配線経路の配線長でのタイミング値に基づいて必要な遅延時間を見積もって転送レートを算出する（ステップＳＴ５）。ユーザ指定の各配線経路の配線長でのタイミング値とは、回路設計仕様に基づいてユーザが指定した各配線経路の配線長でのタイミング制約値であって、例えば実配線容量値などが考えられる。このタイミング値は、例えばキーボード５やマウス６などの入力装置を用いて本実施の形態による自動配置配線装置に入力される。
【００３３】
例えば、あるブロック間をつなぐ見積もり配線長が２ｍｍで、ユーザから指定された各配線のタイミング値に基づいてブロック間の必須到達時間（遅延時間）が４００ｐｓと見積もられた場合、このブロック間をつなぐ配線の必要な転送レートは、４００／（２×１０３）＝０．２０ｐｓ／μｍとなる。
【００３４】
ユーザ指定の配線長以上の見積もり配線について求めた転送レートと遅延時間に関する情報は、転送レート計算部１６から配線層割付部１７に出力される。
【００３５】
配線層割付部１７では、転送レート計算部１６が算出した転送レートと、予め求めておいた各配線層の時定数別の最速となる転送レートとを比較し、転送レート計算部１６が算出した転送レートを超えない範囲で抽出した配線層のうち、最も転送レートが遅い配線層を割り付ける（ステップＳＴ６）。
【００３６】
以下に具体例を挙げて説明する。
転送レート計算部１６による転送レートの算出結果が、上述したように、見積もり配線長が２ｍｍ、そのブロック間の必須到達時間が４００ｐｓで、このブロック間をつなぐ配線の必要な転送レートが、４００／（２×１０３）＝０．２０ｐｓ／μｍであった場合を例に考える。
【００３７】
図７は、転送レート・リピータ間距離決定部１２により予め算出される、各配線層の時定数別に求めた最速となる転送レートの一例を示すグラフである。図において、ＦＩＮＥとは、後述する太幅配線層より細幅の配線パターンを有する微細配線層を示しており、一定のピッチで配線した場合を考慮して転送レートを求めている。ＦＩＮＥ（１Ｐｉｔｃｈ空）は、隣接するＦＩＮＥ配線間の上記一定ピッチに加え、当該ＦＩＮＥ配線の幅分のピッチの空きを設けた場合を考慮して転送レートを求めている。
【００３８】
太幅とは、ＦＩＮＥ配線より配線幅が大きい配線パターンを有する配線層であり、上記一定のピッチで配線した場合を考慮して転送レートを求めている。また、厚膜とは、ＦＩＮＥ配線より配線膜厚が大きい配線層である。厚膜（１Ｐｉｔｃｈ空）は、隣接する厚膜配線間の上記一定ピッチに加え、当該厚膜配線の幅分のピッチの空きを設けた場合を考慮して転送レートを求めている。
【００３９】
例えば、ＦＩＮＥ配線の転送レートは０．２４８ｐｓ／μｍであり、厚膜（１Ｐｉｔｃｈ空）の配線の転送レートは０．１３０ｐｓ／μｍである。つまり、同じ１μｍの配線で、厚膜（１Ｐｉｔｃｈ空）の配線では、信号の伝搬に０．１３０ｐｓしか時間がかからないのに対し、ＦＩＮＥ配線の場合、０．２４８ｐｓかかる遅い配線であることがわかる。ここで、ユーザ指定の配線長以上の見積もり配線に対する転送レート計算部１６の転送レート算出結果が０．２０ｐｓ／μｍである場合、配線層割付部１７は、図７のグラフ中で転送レートが０．２０ｐｓ／μｍを超えない配線である、太幅、厚膜及び厚膜（１Ｐｉｔｃｈ空）を抽出し、さらに最も転送レートが遅い太幅配線を割り付けることになる。
【００４０】
次に、リピータ挿入部１８は、転送レート・リピータ間距離決定部１２により予め求められた、図６に示すような転送レートとリピータ間距離との関係を用いて、配線層割付部１７により割り付けられた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線長と上述のようにして求めたリピータ間距離とを比較し、上記配線層の配線長がリピータ間距離より長い場合、当該配線層の配線経路中のリピータ間距離で規定される位置にバッファなどのリピータを挿入する（ステップＳＴ７）。
【００４１】
配線処理部１９は、ステップＳＴ４で見積もり配線がユーザ指定の配線長未満であると判定された場合や、上述したステップＳＴ７までの処理が完了すると、見積もり配線長の配線経路に対する配線処理や、配線層割付部１７により割り付けられた配線層についての配線処理を実行する（ステップＳＴ８）。このとき、各配線層に要求される転送レートが遅い順に処理を実行する。これにより、高時定数で転送レートが遅いが、最も配線リソースの多い微細配線から順に配線されることになり、配線リソースを考慮した効率の良い自動配線を実現することができる。
【００４２】
次に、タイミング検証部２０は、上述のようにして自動配置配線されたレイアウトに対してタイミング検証を実行して（ステップＳＴ９）、タイミングエラー箇所が存在するか否かを判定する（ステップＳＴ１０）。このとき、タイミングエラー箇所が存在すると判定されると、ステップＳＴ６の処理に戻って配線層の割り付けを再度実行する。
【００４３】
例えば、図７に示すような各配線層と転送レートとの関係に基づき抽出した、転送レート計算部１６が算出した転送レートを超えない配線うち、次に転送レートが遅い配線を割り付ける。このようにして、最も配線リソースの多い高時定数で転送レートが遅い微細配線から順に配線していく。
【００４４】
一方、タイミングエラー箇所が存在しないと判定されると、タイミング検証部２０は、その旨を描画部２１に通知する。これにより、描画部２１は、上述のようにして作成された半導体レイアウトをグラフィックディスプレイ装置２の表示画面に表示してユーザに提示する。
【００４５】
以上のように、この実施の形態１によれば、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート・リピータ間距離決定部１２と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部１３と、配置処理部１３による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部１４と、見積もり配線長がユーザ指定の配線長以上であるか否かを判定する配線長判定部１５と、配線長がユーザ指定の配線長以上の配線経路に指定されたタイミング制約条件に基づいて当該配線経路での遅延時間を見積もり、見積もった遅延時間と予測された配線長から当該配線層において必要な転送レートを算出する転送レート計算部１６と、転送レート・リピータ間距離決定部１２が求めた最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部１６が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を割り付ける配線層割付部１７と、転送レート・リピータ間距離決定部１２が求めた最速となる転送レートとリピータ間距離との関係を用いて、配線層割付部１７により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部１８と、配線層割付部１７により割り付けられた配線層及び配線長判定部１５によりユーザ指定の配線長未満であると判定された配線経路に自動配線を実行する配線処理部１９を備えるので、１回の自動配置配線で適切なタイミングの回路設計を可能とし、利用可能な時定数と配線リソースを考慮して配置段階から効率よく配線層を割り付けることができる。
【００４６】
なお、上記実施の形態では、転送レート・リピータ間距離決定部１２が配線層ごとにリピータ間距離と転送レートの関係を求める際、実際に理想位置にリピータが配置できないことを考慮して、予め与えた理想位置からの配置マージンとなるずれ量を与えるようにしてもよい。これにより、実際にリピータを配置する際に理想位置に配置できない場合、このずれ量を目安に配置位置を調整することができる。
【００４７】
ある配線層の配線経路において、例えばリピータ間距離が１．３ｍｍで転送レートが最速であると算出されても、配置スペースの関係上そのリピータ間距離で規定される理想位置にリピータを配置できない場合がある。この場合、転送レート・リピータ間距離決定部１２は、グラフィックディスプレイ装置２などを介してユーザからずれ量の指定を受け付け、ユーザから入力されたユーザ指定のずれ量を上記リピータ間距離に付加する。
【００４８】
例えば、リピータ間距離が１．３ｍｍで、最速位置から０．１ｍｍ離れた場所ならリピータを配置可能であるとすると、ユーザがずれ量０．１ｍｍを指定することで、このずれ量を付加した１．４ｍｍをリピータ間距離として算出する。
【００４９】
この場合、リピータ間距離が延びて理想位置からずれた分だけ遅延時間がかかってしまうので、理想位置からのずれに応じて転送レートがより速い配線層を予め選んでおくようにする。例えば、配線長見積もり部１４が理想位置からずれた分を考慮して配線長を再度見積もるか、あるいは、配線層割付部１７が配線層を変更するようにしても良い。
【００５０】
さらに、転送レート・リピータ間距離決定部１２が、各配線層の時定数別に最速となる転送レートを求める際、全ての配線層について求めるのではなく、セル面積、消費電力、配線リソースなどを勘案して、不要と判断した配線層については時定数別に最速となる転送レートを求める処理を行わないようにしてもよい。
【００５１】
これにより、不要な配線層についてのデータはハードディスク装置１１などのメモリに確保されないので、配線層割付部１７による割り付け対象の配線層が減ることから割り付け処理を速く完了させることができる。例えば、図７中のＦＩＮＥ（１Ｐｉｔｃｈ空）の配線と太幅配線とでは、どちらもほぼ等しく転送レート０．１５ｐｓ／μｍを超えているが、若干転送レートが遅いＦＩＮＥ（１Ｐｉｔｃｈ空）の配線については処理しないことにより類似した転送レートの配線層についての重複処理を省く。
【００５２】
なお、配線長見積もり部１４による見積もり配線のうち、ユーザ指定の配線長未満の配線層についても、転送レート・リピータ間距離決定部１２が高時定数の最もリソースの多い配線で最速の転送レートを与えるリピータ間距離を求めておき、このリピータ間距離ごとにリピータを挿入しながら配線処理を実行するように構成しても良い。
【００５３】
例えば、配線長判定部１５が、ユーザ指定の配線長未満の配線層のうち、上記リピータ間距離を超える配線長を有するか否かを判定する。このとき、上記リピータ間距離を超える配線長を有すると判定された配線層については、リピータ挿入部１８や配線処理部１９によって、当該配線層の配線経路における上記リピータ間距離ごとにリピータを挿入しながら配線処理を実行する。
【００５４】
さらに、配線層割付部１７による配線層の割り付けの際、必ずしも最も遅い転送レートの配線層を割り付けてゆくのではなく、既に割り付けられている配線層の占有率を考慮して配線層の偏りがないように配線層を割り付けるように構成しても良い。これにより、隣接配線容量を減らすことができ、消費電力の低減を図ることができる。
【００５５】
具体的には、例えば最初は転送レートを優先して配線層を割り付けてゆき、一通り割り付けが完了したあとに、配線の混雑度に応じて割り付けた配線結果を見直す処理を実行する。このとき、最初に割り付けられた配線層の転送レートより速い転送レートの配線層を割り付けるようにし、転送レートが遅い配線層を割り付けない制約を設定しておく。このように、転送レートが速い配線層から割り付けることで、最初の転送レートを優先した割り付けの基本的なレイアウトは維持しつつ、配線の混雑度に応じた配線層の割り付けを実行することができる。
【図面の簡単な説明】
【００５６】
【図１】この発明による自動配置配線装置を具現化するコンピュータ装置の外観例を示す図である。
【図２】図１中のコンピュータ装置の構成を示す図である。
【図３】この発明の実施の形態１による自動配置配線装置の構成を示すブロック図である。
【図４】リピータ間距離と遅延時間の関係を説明する図である。
【図５】この実施の形態１による自動配置配線装置の動作を示すフローチャートである。
【図６】リピータ間距離、転送レート及び遅延時間の関係を示すグラフである。
【図７】配線層の時定数別の最速となる転送レートを示すグラフである。
【符号の説明】
【００５７】
１  コンピュータ本体、２  グラフィックディスプレイ装置、３  ＣＤ−ＲＯＭ、４  ＣＤ−ＲＯＭドライブ装置、５  キーボード、６  マウス、７  通信モデム、８  ＣＰＵ、９  ＲＯＭ、１０  ＲＡＭ、１１  ハードディスク装置、１２  転送レート・リピータ間距離決定部（転送レート／リピータ間距離算出部）、１３  配置処理部、１４  配線長見積もり部、１５  配線長判定部、１６  転送レート計算部、１７  配線層割付部、１８  リピータ挿入部、１９  配線処理部、２０  タイミング検証部、２１  描画部。
【図１】
2006065669.tif 000003
【図２】
2006065669.tif 000004
【図３】
2006065669.tif 000005
【図４】
2006065669.tif 000006
【図５】
2006065669.tif 000007
【図６】
2006065669.tif 000008
【図７】
2006065669.tif 000009