(57)【要約】【課題】チップ面積を小さくすることのできるレイアウト設計方法を提供する。【解決手段】レイアウト設計方法は、所定のタイミング制約Ｆ１を満足させるように、セルを配置し、低抵抗配線が形成される第１配線層を使用してセル間のパスの接続配線を形成する処理（ステップＳ２〜Ｓ４）を有する。また、レイアウト設計方法は、タイミング制約Ｆ１を満足させたまま、パスの接続配線のうち、セル間に配置されるバッファ回路によって区切られる複数のステージ中の少なくとも一つのステージに対応する接続配線におけるレシーバ側からの一部を、第１配線層から該第１配線層よりも配線遅延が大きくなる第２配線層に置き換えて形成する配線置換処理（ステップＳ５）を有する。【選択図】図２
2012234892.tif 000002
【特許請求の範囲】
【請求項１】
複数の配線層を有する半導体集積回路装置のレイアウトデータをコンピュータにて自動生成するレイアウト設計方法であって、
所定のタイミング制約を満足させるように、セルを配置し、１つ又は複数の第１配線層を使用して前記セル間のパスの接続配線を形成する配置・配線工程と、
前記タイミング制約を満足させたまま、前記接続配線のうち、前記セル間に配置されるバッファによって区切られる複数の区間中の少なくとも一つの区間に対応する接続配線における前記パスの信号受信側からの一部を、前記第１配線層から該第１配線層よりも配線遅延が大きくなる第２配線層に置き換えて形成する配線置換工程と、
を有することを特徴とするレイアウト設計方法。
【請求項２】
前記配線置換工程は、
前記複数の区間中から任意の１つの区間を選択する選択工程と、
前記選択された区間に対応する接続配線のうち前記第１配線層に形成された接続配線を、前記信号受信側から所定の配線長だけ前記第２配線層に置き換えて形成する置換工程と、
前記置換工程後のパスにおけるパス遅延を算出する算出工程と、
前記パス遅延に基づいて、前記置換工程後のパスが前記タイミング制約を満足しているかを判定する判定工程と、
を有することを特徴とする請求項１に記載のレイアウト設計方法。
【請求項３】
前記選択工程は、
前記複数の区間の中から、各区間に対応する接続配線のうち前記第１配線層に形成された接続配線を、前記信号受信側から前記所定の配線長だけ前記第２配線層に置き換えて形成する際に、区間内の遅延の増加度合が最も小さくなる区間を選択することを特徴とする請求項２に記載のレイアウト設計方法。
【請求項４】
前記選択工程は、
前記区間に対応する接続配線を前記信号受信側から徐々に前記第２配線層に置き換えて形成した場合における区間内の遅延の変化を示すテーブルを前記各区間毎に生成する工程と、
前記テーブルに基づいて、前記複数の区間の中から前記区間内の遅延の増加度合が最も小さくなる区間を選択する工程と、
を有することを特徴とする請求項３に記載のレイアウト設計方法。
【請求項５】
前記算出工程では、前記置換工程によって増加する遅延時間を算出し、前記遅延時間を前記置換工程前のパス全体の遅延時間に合算することにより、前記パス遅延を算出することを特徴とする請求項２〜４のいずれか１つに記載のレイアウト設計方法。
【請求項６】
複数の配線層を有する半導体集積回路装置のレイアウトデータを自動生成するレイアウト設計装置であって、
所定のタイミング制約を満足させるように、セルを配置し、１つ又は複数の第１配線層を使用して前記セル間のパスの接続配線を形成する配置・配線手段と、
前記タイミング制約を満足させたまま、前記接続配線のうち、前記セル間に配置されるバッファによって区切られる複数の区間中の少なくとも一つの区間に対応する接続配線における前記パスの信号受信側からの一部を、前記第１配線層から該第１配線層よりも配線遅延が大きくなる第２配線層に置き換えて形成する配線置換手段と、
を備えたことを特徴とするレイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト設計方法及びレイアウト設計装置に関するものである。
【背景技術】
【０００２】
従来、半導体集積回路装置（ＬＳＩ）の設計では、論理合成により得られたネットリストに基づいてセルの配置／配線（レイアウト）が行われた後、そのレイアウト結果に基づいてタイミング検証が行われる。このタイミング検証では、レイアウト設計されたＬＳＩのパターンデータから配線長、配線幅、配線間隔等の情報が抽出され、セル間の配線における配線抵抗や配線容量による遅延時間が算出されてタイミング解析が実施される。このタイミング解析の結果に基づいてレイアウトの適否が判断され、回路修正等が行われている。
【０００３】
このような設計工程において、遅延時間の小さい（例えば、配線抵抗の低い）配線層を使用してセル間の接続配線を概略配線した後に、タイミングに余裕のある信号経路（パス）を抽出し、その抽出したパス中の接続配線を遅延時間の大きい（例えば、配線抵抗の高い）配線層で詳細配線する技術が知られている（例えば、特許文献１参照）。この技術によれば、低抵抗配線層及び高抵抗配線層の双方を有効に活用することができるため、ＬＳＩ全体のレイアウトサイズを小さくすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１５０６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述した従来技術では、タイミングに余裕のあるパスに含まれる全ての接続配線（ネット）が高抵抗配線層で詳細配線されることになる。しかしながら、このように高抵抗配線層で詳細配線された場合には、チップ上の多数のパスにおいて、タイミング違反（セットアップ違反）が誘発されるため、実際にはパス中の全ネットを高抵抗配線層で詳細配線することは難しく、この点において、なお改善の余地を残すものとなっていた。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、所定のタイミング制約を満足させるように、セルを配置し、１つ又は複数の第１配線層を使用して前記セル間のパスの接続配線を形成する配置・配線工程と、前記タイミング制約を満足させたまま、前記接続配線のうち、前記セル間に配置されるバッファによって区切られる複数の区間中の少なくとも一つの区間に対応する接続配線における前記パスの信号受信側からの一部を、前記第１配線層から該第１配線層よりも配線遅延が大きくなる第２配線層に置き換えて形成する配線置換工程と、を有する。
【発明の効果】
【０００７】
本発明の一観点によれば、チップ面積を小さくすることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】設計支援装置を示す概略構成図。
【図２】半導体装置の設計工程を示すフローチャート。
【図３】半導体装置の設計工程を示すフローチャート。
【図４】（ａ）、（ｂ）は、配線置換処理前後の回路例を示す回路図。
【図５】（ａ）〜（ｅ）は、配線置換処理の説明図。
【図６】（ａ）〜（ｄ）は、遅延変化テーブルを示すグラフ。
【図７】（ａ）、（ｂ）は、配線置換処理の説明図。
【図８】配線置換処理の説明図。
【図９】配線置換処理の説明図。
【図１０】配線置換処理の説明図。
【図１１】配線置換処理の説明図。
【図１２】（ａ）〜（ｄ）は、比較例の遅延変化テーブルを示すグラフ。
【図１３】比較例の配線置換処理の説明図。
【図１４】（ａ）、（ｂ）は、比較例の配線置換処理の説明図。
【図１５】（ａ）〜（ｅ）は、エルモア遅延モデルの説明図。
【図１６】（ａ）、（ｂ）は、エルモア遅延モデルの説明図。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、第１実施形態を図１〜図１１に従って説明する。
図１に示すように、設計支援装置１０は、例えば一般的な設計支援装置（ＣＡＤ：Computer Aided Design）である。この設計支援装置１０は、中央処理装置（ＣＰＵ）１１と、メモリ１２と、記憶装置１３と、表示装置１４と、入力装置１５と、ドライブ装置１６とを含む。これら各装置１１，１３，１４，１５，１６及びメモリ１２は、バス１７を介して相互に接続されている。
【００１０】
ＣＰＵ１１は、メモリ１２を利用してプログラムを実行し、半導体装置のレイアウト設計等の必要な処理を実現する。プログラムは、ＣＰＵ１１を、半導体装置のレイアウトデータを生成する設計支援装置としての各種手段として機能させるためのものである。メモリ１２には、各種処理を提供するために必要なプログラムとデータが格納される。このメモリ１２としては、通常、キャッシュ・メモリ、システム・メモリ及びディスプレイ・メモリ等を含む。
【００１１】
表示装置１４は、レイアウト表示、パラメータ入力画面等の表示に用いられる。この表示装置１４としては、例えばＣＲＴ，ＬＣＤ，ＰＤＰ（図示略）が用いられる。入力装置１５は、ユーザからの要求や指示、パラメータの入力に用いられる。この入力装置１５としては、例えばキーボード及びマウス装置が用いられる。
【００１２】
設計支援装置１０は、レイアウトデータに基づき半導体装置に形成する素子や配線などのレイアウトパターン（図形）を表示装置１４に表示させる。そして、設計支援装置１０は、ユーザが操作する入力装置１５からの信号に従って、表示装置１４上のパターンの追加、削除を行うとともに、レイアウトデータに対してパターンデータの追加、削除を行う。
【００１３】
記憶装置１３は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等を含む。この記憶装置１３には、半導体装置（半導体集積回路装置）のレイアウトデータを生成するためのプログラムデータを含むファイルや、各種データを含むファイルが格納される。ＣＰＵ１１は、入力装置１５による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１２へ転送し、それを逐次実行する。なお、記憶装置１３は、データベースとしても使用される。
【００１４】
この設計支援装置１０において、記憶装置１３には半導体装置の設計に用いられる各種データを含むファイルが格納される。設計支援装置１０は、記憶装置１３のファイルに格納されたデータを読み出し、そのデータに基づいて、半導体装置の設計データ（例えばレイアウトデータ）を作成する。そして、設計支援装置１０は、作成したデータを含むファイルを記憶装置１３に格納する。
【００１５】
ＣＰＵ１１が実行するプログラムは、記憶媒体１８にて提供される。ドライブ装置１６は、記憶媒体１８を駆動し、その記憶内容にアクセスする。ＣＰＵ１１は、ドライブ装置１６を介して記憶媒体１８からプログラムを読み出し、それを記憶装置１３にインストールする。
【００１６】
記憶媒体１８としては、メモリカード、フレキシブルディスク、光ディスク（例えばＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭなど）、光磁気ディスク（例えばＭＯ，ＭＤなど）等、任意のコンピュータ読取り可能な記憶媒体を使用することができる。この記憶媒体１８に、上述のプログラムを格納しておき、必要に応じて、メモリ１２にロードして使用することもできる。
【００１７】
なお、記憶媒体１８には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。さらに、コンピュータによって直接実行可能なプログラムを記録した記憶媒体だけでなく、一旦他の記憶媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記憶媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記憶媒体も含む。
【００１８】
次に、設計支援装置１０（のＣＰＵ１１）が実行する設計処理の概要を図２に従って説明する。なお、ここでは、レイアウト設計の対象となる半導体集積回路装置は、配線層が２層の半導体集積回路装置であると仮定する。この２層の配線層は、配線遅延の小さい低抵抗配線が形成される第１配線層と、低抵抗配線よりも抵抗が高く配線遅延の大きい高抵抗配線が形成される第２配線層とを有する。例えば高抵抗配線は、低抵抗配線よりも抵抗率の高い材料により形成される。
【００１９】
ステップＳ１（論理合成処理）において、設計支援装置１０は、半導体集積回路装置の論理をハードウェア記述言語（例えばＲＴＬ：Register Transfer Level）により記述したデータに基づいてネットリスト（論理データ）を生成する。このとき、設計支援装置１０は、ネットリストの回路動作を保証し得るタイミング情報を規定したタイミング制約Ｆ１も生成する。
【００２０】
次に、ステップＳ２（配置処理）において、設計支援装置１０は、セルライブラリ等のライブラリデータとネットリストとに基づいて、半導体集積回路装置に含まれるセルを配置する。セルの配置を示すデータ（配置データ）は記憶装置１３に記憶される。なお、配置データをメモリ１２に格納するようにしてもよい。
【００２１】
次に、ステップＳ３（配線処理）において、設計支援装置１０は、ネットリスト等に基づいて、各セル間の配線を行う。ここでは、低抵抗配線が形成される第１配線層のみを使用して各セル間の接続配線が形成される。配線の配置を示すデータ（配線データ）は記憶装置１３に記憶される。なお、配線データをメモリ１２に格納するようにしてもよい。
【００２２】
次に、ステップＳ４（タイミング解析及び最適化処理）において、設計支援装置１０は、上記タイミング制約Ｆ１に基づいて、配線処理を行った後のレイアウトに対するタイミング解析、例えば静的タイミング解析（ＳＴＡ：Static Timing Analysis）を行い、その解析結果に応じて最適化処理を実行する。
【００２３】
ＳＴＡでは、全てのパス（代表的には、回路内のフリップフロップ間の信号経路）について、セルや配線の信号遅延時間が積算され、回路入力信号のセットアップタイム／ホールドタイムなどのタイミング・マージンがチェックされ、タイミング違反が発生しているか否かが判定される。このようなタイミング・マージンは、スラックとして与えられる。
【００２４】
具体的には、ＳＴＡによる解析結果には、フリップフロップ回路におけるセットアップタイム、ホールドタイム、セットアップスラック（Setup Slack）やホールドスラック（Hold Slack）等が含まれる。ここで、フリップフロップ回路において、データの確定時と、そのデータを取り込むためのクロック信号のエッジとの間がセットアップタイムであり、クロック信号のエッジとデータの終了時との間がホールドタイムである。また、スラックは、信号の到達時間に対する余裕を示す値であり、例えば、そのパスの終点に信号が到達する時間とタイミング制約Ｆ１を満たすために当該信号が当該終点に到達すべき最も遅い時間との差分である。すなわち、スラックは、サイクルタイムに対するパス到達時間から計算される。
【００２５】
そして、設計支援装置１０は、解析結果が、セットアップ制約やホールド制約等の上記タイミング制約Ｆ１を満たすか否かを判定する。具体的には、設計支援装置１０は、セットアップスラック、ホールドスラックが規定値（例えば、０）以上であるか否かを判定する。このとき、設計支援装置１０は、判定結果に基づいて、対象パスがタイミング制約Ｆ１を満たさない（スラックが既定値未満の）場合には、当該パスにタイミング違反が発生していると判定する。この場合の設計支援装置１０は、タイミング違反の発生しているパスに対してタイミング最適化処理を実行し、その処理後に再度タイミング解析を実行する。なお、タイミング最適化処理において、設計支援装置１０は、例えばセルや配線の遅延時間に従って、タイミング制約Ｆ１を満たすように（スラックが規定値以上となるように）、セルのサイジングやバッファの挿入等を行ってパスを最適化する。一方、設計支援装置１０は、タイミング制約Ｆ１を満たす（スラックが規定値以上の）場合には、次の処理（配線置換処理）に移る。
【００２６】
以上のようにタイミング制約Ｆ１を満たすようにセルの配置／配線（レイアウト）が行われると、ステップＳ５（配線置換処理）において、設計支援装置１０は、セル間の接続配線の一部を、低抵抗配線から高抵抗配線に置き換える。ここで、配線置換処理前後の設計対象の回路例を図４に従って説明する。
【００２７】
図４に示すように、例えば半導体集積回路は、信号送出（ドライバ）側のフリップフロップ回路（ＦＦ回路）２１の出力端子から３つのバッファ回路２２，２３，２４を通じて信号受信（レシーバ）側のＦＦ回路２５の入力端子にデータ信号を供給するパスＰを有している。詳述すると、ＦＦ回路２１の出力端子は、接続配線３１を通じてバッファ回路２２の入力端子に接続されている。バッファ回路２２の出力端子は、接続配線３２を通じてバッファ回路２３の入力端子に接続されている。バッファ回路２３の出力端子は、接続配線３３を通じてバッファ回路２４の入力端子に接続されている。バッファ回路２４の出力端子は、接続配線３４を通じてＦＦ回路２５の入力端子に接続されている。このとき、低抵抗配線から高抵抗配線への置き換え単位長をＸとすると、接続配線３１の配線長は４Ｘ、接続配線３２の配線長は６Ｘ、接続配線３３の配線長は１０Ｘ、接続配線３４の配線長は６Ｘである。
【００２８】
また、セル間（ここでは、ＦＦ回路２１，２５間）のパスＰは、ＦＦ回路２１，２５に配置されるバッファ回路２２〜２４によって区切られる複数のステージＡ〜Ｄから構成されている。具体的には、ＦＦ回路２１及び接続配線３１からなるステージＡと、バッファ回路２２及び接続配線３２からなるステージＢと、バッファ回路２３及び接続配線３３からなるステージＣと、バッファ回路２４及び接続配線３４からなるステージＤとから構成されている。このため、パスＰにおけるパス遅延は、ステージＡ〜Ｄにおける４つのステージ遅延を合算した値となる。なお、ステージＡにおけるステージ遅延（以下、「ステージＡ遅延」という。）は、セル（ＦＦ回路２１）のゲート遅延と接続配線３１の配線遅延とを合算した値となり、ステージＢにおけるステージ遅延（以下、「ステージＢ遅延」という。）は、バッファ回路２２のゲート遅延と接続配線３２の配線遅延とを合算した値となる。また、ステージＣにおけるステージ遅延（以下、「ステージＣ遅延」という。）は、バッファ回路２３のゲート遅延と接続配線３３の配線遅延とを合算した値となり、ステージＤにおけるステージ遅延（以下、「ステージＤ遅延」という。）は、バッファ回路２４のゲート遅延と接続配線３４の配線遅延とを合算した値となる。
【００２９】
ここで、図４（ａ）に示すように、配線置換処理前の回路（パスが最適化された回路）では、接続配線３１〜３４の全てが上記低抵抗配線によって形成されている。この回路において、サイクルタイムが２０００ｐｓであり、ステージＡ遅延が２００ｐｓ、ステージＢ遅延が１００ｐｓ、ステージＣ遅延が１００ｐｓ、ステージＤ遅延が１００ｐｓ、つまりパス遅延が５００ｐｓであるとする。このため、この回路におけるセットアップスラックは、１５００（＝２０００−５００）ｐｓとなる。
【００３０】
また、図４（ａ）に示す回路に対して配線置換処理を施した後の回路を図４（ｂ）に示している。この回路では、接続配線３１〜３４のレシーバ側からの一部が第１配線層（低抵抗配線層）から第２配線層（高抵抗配線層）に置き換えられて形成されている。すなわち、接続配線３１〜３４のレシーバ側からの一部が低抵抗配線から高抵抗配線に置き換えられている。具体的には、接続配線３１では、全配線長４Ｘのうちレシーバ側から配線長２Ｘが高抵抗配線に置き換えられ、接続配線３２では、全配線長６Ｘのうちレシーバ側から配線長４Ｘが高抵抗配線に置き換えられている。また、接続配線３３では、全配線長１０Ｘのうちレシーバ側から配線長６Ｘが高抵抗配線に置き換えられ、接続配線３４では、全配線長６Ｘのうちレシーバ側から配線長４Ｘが高抵抗配線に置き換えられている。すなわち、この回路では、接続配線３１〜３４の全配線長２６Ｘのうちの配線長１６Ｘ、つまり約６２％の配線が高抵抗配線に置き換えられている。
【００３１】
ここで、各ステージＡ〜Ｄ（接続配線３１〜３４）において、レシーバ側から高抵抗配線に置き換える理由は、高抵抗配線への置き換え率が小さい範囲では、ドライバ側から置き換えるよりもレシーバ側から置き換える方が配線遅延の増加率が小さいためである。この点について、エルモア遅延モデルを使って詳述する。
【００３２】
エルモア遅延モデルでは、まず、図１５（ａ）に示すように、ドライバ側のセルＡ１とレシーバ側のセルＡ２との間の配線が、抵抗Ｒ１〜Ｒｎと容量Ｃ１〜Ｃｎとがπ型に接続された等価回路に置換される。そして、その回路における出力端Ｔｏでの遅延値Ｄ１が以下のように見積もられる。
【００３３】
【数１】
2012234892.tif 000003
このエルモア遅延モデルを使用して、ドライバ側（セルＡ１側）から低抵抗配線を高抵抗配線に置き換えた場合（図１５（ｂ）参照）の配線遅延と、レシーバ側（セルＡ２側）から低抵抗配線を高抵抗配線に置き換えた場合（図１５（ｄ）参照）の配線遅延との大小関係について検証する。ここでは、セルＡ１，Ａ２間の全配線長をＬとし、高抵抗配線の配線長をＸとし、低抵抗配線の配線長を（Ｌ−Ｘ）とする。
【００３４】
まず、低抵抗配線の単位配線長あたりの抵抗値及び容量値をそれぞれＲＬ，ＣＬとし、高抵抗配線の単位配線長あたりの抵抗値及び容量値をそれぞれＲｈ，Ｃｈとする。すると、図１５（ｂ）に示した回路は、図１５（ｃ）に示すように、ドライバ側のＸ個の抵抗Ｒｈと容量Ｃｈ、及びレシーバ側の（Ｌ−Ｘ）個の抵抗ＲＬと容量ＣＬがπ型に接続された等価回路に置換される。また、図１５（ｄ）に示した回路は、図１５（ｅ）に示すように、ドライバ側の（Ｌ−Ｘ）個の抵抗ＲＬと容量ＣＬ、及びレシーバ側のＸ個の抵抗Ｒｈと容量Ｃｈがπ型に接続された等価回路に置換される。
【００３５】
次に、図１５（ｃ）に示した等価回路における配線遅延Ｄ２は、
【００３６】
【数２】
2012234892.tif 000004
と見積もることができる。また、図１５（ｅ）に示した等価回路における配線遅延Ｄ３は、
【００３７】
【数３】
2012234892.tif 000005
と見積もることができる。
【００３８】
続いて、これら配線遅延Ｄ２と配線遅延Ｄ３との差分を求めると、
【００３９】
【数４】
2012234892.tif 000006
となる。ここで、高抵抗配線の抵抗Ｒｈが低抵抗配線の抵抗ＲＬよりも十分に大きい場合には、
【００４０】
【数５】
2012234892.tif 000007
という関係を満たすため、配線容量Ｃｈと配線容量ＣＬとが略等しい場合であっても上記関係は崩れない。そこで、ここでは配線容量Ｃｈ，ＣＬが略等しいと仮定する。すると、上記配線遅延Ｄ２，Ｄ３の差分は、
【００４１】
【数６】
2012234892.tif 000008
となる。この式を図示すると、図１６（ａ）に示すような曲線となる。すなわち、高抵抗配線の配線長Ｘが０＜Ｘ＜Ｌの範囲において、上記配線遅延Ｄ２，Ｄ３の差分（Ｄ２−Ｄ３）は常に０よりも大きくなる。これは、レシーバ側から高抵抗配線を使用した方がドライバ側から高抵抗配線を使用する場合よりも配線遅延が小さくなることを示している。より具体的には、高抵抗配線の配線長Ｘが大きくなるに連れて上記差分（Ｄ２−Ｄ３）が大きくなり、配線長ＸがＬ／２のときに上記差分が最大となり、その後、さらに配線長Ｘが大きくなると上記差分が徐々に小さくなる。このような特性から、上記配線置換処理において、低抵抗配線から高抵抗配線への置き換えをレシーバ側から行うと、図１６（ｂ）の実線で示すように、高抵抗配線への置き換え率が低い範囲では、高抵抗配線の増加に対するステージ遅延の増加率（曲線の傾き）が小さくなることが分かる。また、高抵抗配線への置き換えをレシーバ側から行う場合には、その置き換え率が高くなるに連れて、高抵抗配線の増加に対するステージ遅延の増加率も小→大に遷移する。これに対し、低抵抗配線から高抵抗配線への置き換えをドライバ側から行うと、図１６（ｂ）の破線で示すように、高抵抗配線への置き換え率が低い範囲において、高抵抗配線の増加に対するステージ遅延の増加率が大きくなる。また、高抵抗配線への置き換えをドライバ側から行うと、その置き換え率が高くなるに連れて、高抵抗配線の増加に対するステージ遅延の増加率も大→小に遷移する。したがって、セル間の配線の一部を低抵抗配線から高抵抗配線に置き換える場合には、例えばステージ遅延の目標値が同じであれば、レシーバ側から置き換えを行った方が高抵抗配線への置き換え量が多くなる。
【００４２】
次に、上記配線置換処理の詳細を図３〜図１１に従って説明する。ここでは、先の図４に示した回路例を用いて説明する。
上述したように低抵抗配線でパスが最適化されると（ステップＳ１１）、設計支援装置１０は、その最適化されたパスがセットアップタイミングに余裕があるか否かを判定する（ステップＳ１２）。例えば上記タイミング解析で求められたセットアップスラック（ここでは、１５００ｐｓ）が所定値（例えば、５ｐｓ）以上か否かが判定される。この場合には、セットアップスラックが所定値以上であるため、ステップＳ１３に移る。なお、ステップＳ１２において、セットアップスラックが所定値未満の場合には、当該パスに対して配線置換処理を行わずに、次のパスの処理に移る。
【００４３】
次に、ステップＳ１３において、設計支援装置１０は、パスＰ中のステージＡ〜Ｄ毎に遅延変化テーブル４０を生成する（ステップＳ１３）。ここで、遅延変化テーブル４０とは、各ステージＡ〜Ｄ中の接続配線３１〜３４をレシーバ側から徐々に高抵抗配線に置き換えた場合のステージ遅延の変化を示すものである。ここでは、ステージＡにおける遅延変化テーブル４０を例に挙げてその生成方法を説明する。
【００４４】
まず、図５（ａ）に示すように、接続配線３１が全て低抵抗配線で形成されている場合、すなわち高抵抗配線への置き換え長が０の場合には、上記タイミング解析の結果からステージ遅延が２００ｐｓであるため、その位置に点がプロットされる。
【００４５】
次に、設計支援装置１０は、接続配線３１のレシーバ側から、配線長Ｘだけ高抵抗配線に置き換えた場合（図５（ｂ））、配線長２Ｘだけ高抵抗配線に置き換えた場合（図５（ｃ））、配線長３Ｘだけ高抵抗配線に置き換えた場合（図５（ｄ））、接続配線３１の全てを高抵抗配線に置き換えた場合（図５（ｅ））の各々におけるステージ遅延を求める。ここでは、高抵抗配線への置き換え長がＸ、２Ｘ、３Ｘ、４Ｘの場合のステージ遅延がそれぞれ、２２０ｐｓ、３４０ｐｓ、５５０ｐｓ、８００ｐｓと算出される。これらステージ遅延は、例えば対象回路の接続配線３１の配線遅延を上記エルモア遅延モデルやＳＰＩＣＥモデルなどを利用して算出し、上記タイミング解析で得られた接続配線３１の配線遅延（全て低抵抗配線で形成された接続配線３１の配線遅延）からの増分を求め、その増分を上記２００ｐｓに合算することで求められる。そして、設計支援装置１０は、求めたステージ遅延に対応する位置に点をプロットし、各点を線で結合する。これにより、図５（ａ）に示すような遅延変化テーブル４０を生成することができる。
【００４６】
以上のように生成される遅延変化テーブル４０を、図６（ａ）〜（ｄ）に示すように、各ステージＡ〜Ｄ毎に生成する。なお、この遅延変化テーブル４０は記憶装置１３に記憶される。また、遅延変化テーブル４０をメモリ１２に格納するようにしてもよい。
【００４７】
次に、設計支援装置１０は、現時点でのレイアウト状態を遅延変化テーブル４０にマークする（ステップＳ１４）。ここでは、接続配線３１〜３４の全てが低抵抗配線で形成されているため、図６（ａ）〜（ｄ）に示すように、各ステージＡ〜Ｄの遅延変化テーブル４０において、高抵抗配線への置き換え長が０の点がマークされる（図中の丸印参照）。
【００４８】
続いて、設計支援装置１０は、全ステージＡ〜Ｄのうち、上記遅延変化テーブル４０にマークされた点における傾きが最も小さいステージを選択する（ステップＳ１５）。具体的には、設計支援装置１０は、ステージＡ〜Ｄの遅延変化テーブル４０に基づいて、高抵抗配線への置き換え長が０の点（上記マークされた点）と置き換え長がＸの点とを結ぶ直線の傾きを取得し、その傾きが最も小さいステージを選択する。すなわち、全ステージＡ〜Ｄのうち、レシーバ側から置き換え単位長Ｘだけ高抵抗配線に置き換えられた場合に、ステージ遅延の増加度合が最も小さくなるステージが選択される。ここでは、ステージＣが選択される。
【００４９】
なお、最も小さい傾きが複数ある場合には、パスＰの終点側（レシーバ側）のステージが選択される。例えばステージＢとステージＤとにおけるマーク点の傾きが同じで、且つその傾きが全ステージの中で最も小さい場合には、ステージＤが選択される。これは、パスＰの始点側（ドライバ側）の方が終点側よりも他のパスに影響を与える可能性が高いため、終点側のステージを優先して選択するようにしている。
【００５０】
次いで、設計支援装置１０は、上記選択されたステージ内の接続配線のうち第１配線層に形成された低抵抗配線を、図７（ａ）に示すように、レシーバ側から置き換え単位長Ｘだけ第２配線層に形成される高抵抗配線に置き換える（ステップＳ１６）。ここでは、設計支援装置１０は、ステージＣ内の接続配線３３を、レシーバ側から置き換え単位長Ｘだけ高抵抗配線に置き換える。
【００５１】
次に、設計支援装置１０は、高抵抗配線に置き換え後の回路におけるパス遅延を算出する（ステップＳ１７）。例えば上記高抵抗配線への置き換えによるステージ遅延の増加分を、置き換え前のパスＰのパス遅延に合算することにより、置き換え後のパスＰのパス遅延を算出することができる。ここでは、各ステージＡ〜Ｄ遅延を示すテーブルを有しているため、上記置き換え後のステージＣ遅延（例えば１０５ｐｓ）と、遅延変化テーブル４０にマークされた、ステージＡ遅延（２００ｐｓ）、ステージＢ遅延（１００ｐｓ）及びステージＤ遅延（１００ｐｓ）とを合算することにより、パス遅延（ここでは、５０５ｐｓ）を求めることもできる。
【００５２】
続いて、設計支援装置１０は、上記算出したパス遅延に基づいて、セットアップタイミングに余裕があるか否かを判定する（ステップＳ１８）。例えばサイクルタイム（２０００ｐｓ）からパス遅延（５０５ｐｓ）を減算した値（１４９５ｐｓ）が所定値（例えば、０ｐｓ）以上か否かが判定される。このとき、減算値が所定値以上であるため、設計支援装置１０は、遅延変化テーブル４０のマーク位置を上記高抵抗配線への置き換え後のレイアウト状態に更新する。ここでは、図７（ｂ）に示すように、ステージＣにおける遅延変化テーブルにおいて、高抵抗配線への置き換え長がＸの点がマークされる（図中の実線丸印参照）。
【００５３】
その後、ステップＳ１５に戻って、ステップＳ１５〜Ｓ１９の処理が、ステップＳ１８でセットアップタイミングに余裕がないと判定されるまで繰り返し実行される。
やがて、対象回路のレイアウト状態が図８に示すように変更される。すなわち、接続配線３１のレシーバ側から配線長２Ｘだけ高抵抗配線に置き換えられ、接続配線３２のレシーバ側から配線長４Ｘだけ高抵抗配線に置き換えられ、接続配線３３のレシーバ側から配線長６Ｘだけ高抵抗配線に置き換えられ、接続配線３４のレシーバ側から配線長４Ｘだけ高抵抗配線に置き換えられる。このとき、ステージＡ，Ｂ，Ｃ，Ｄにおける遅延変化テーブルにおいて、高抵抗配線への置き換え長が２Ｘ，４Ｘ，６Ｘ，４Ｘの点がそれぞれマークされている。
【００５４】
このようなレイアウト状態では、マーク点における傾きが最も小さいステージとしてステージＣが選択され（ステップＳ１５）、そのステージＣ内の接続配線３３が、図９に示すように、レシーバ側から置き換え単位長Ｘだけ更に高抵抗配線に置き換えられる（ステップＳ１６）。これにより、接続配線３３は、レシーバ側から配線長７Ｘだけ高抵抗配線に置き換えられることになる。
【００５５】
このとき、上記置き換え後の回路におけるパス遅延が２１５０ｐｓ（図１０の×印参照）となり、サイクルタイム（２０００ｐｓ）からパス遅延を減算した値（−１５０ｐｓ）が所定値（０ｐｓ）未満となるため（ステップＳ１８でＮＯ）、ステップＳ２０に移る。なお、サイクルタイムとパス遅延が等しくなると上記セットアップスラックが０となり、パス遅延がサイクルタイムを超えるとセットアップスラックが負値となるため、パスＰにセットアップ違反（タイミング違反）が発生する。すなわち、パスＰにセットアップ違反が発生した場合に、ステップＳ２０に移る。
【００５６】
ステップＳ２０において、設計支援装置１０は、最後の高抵抗配線への置き換え前のレイアウト状態、ここでは図８に示したレイアウト状態を選択し、次のパスの配線置換処理に移る。
【００５７】
以上の配線置換処理により、全て低抵抗配線で形成された各接続配線３１〜３４（図４（ａ）参照）の一部が、図４（ｂ）に示すように、レシーバ側から高抵抗配線に置き換えられる。さらに、この配線置換処理によれば、各接続配線３１〜３４のレシーバ側から徐々に高抵抗配線に置き換えられるため、図１０の実線で示すように、高抵抗配線への置き換え率が低い範囲では、高抵抗配線の増加に対するパス遅延の増加率が小さくなる。このため、パス遅延がサイクルタイムに達するまでに、接続配線３１〜３４を、多くの高抵抗配線に置き換えることができる。具体的には、本例では、接続配線３１〜３４の全配線長２６Ｘのうちの配線長１６Ｘ、つまり約６２％の配線が高抵抗配線に置き換えられる。
【００５８】
ここで、比較例として、接続配線３１→３２→３３→３４の順で配線置換対象とし、さらに各接続配線３１〜３４のドライバ側から高抵抗配線に置き換える場合について説明する。図１２（ａ）〜（ｄ）に示す遅延変化テーブルには、接続配線３１〜３４のドライバ側から徐々に高抵抗配線に置き換えた場合のステージＡ〜Ｄそれぞれにおけるステージ遅延の変化が示されている（実線参照）。なお、図１２（ａ）〜（ｄ）に示す遅延変化テーブルにおいて破線で示されているのは、接続配線３１〜３４のレシーバ側から徐々に高抵抗配線に置き換えた場合のステージＡ〜Ｄそれぞれにおけるステージ遅延の変化である。
【００５９】
このような比較例の場合には、図１３に示すように、接続配線３１のドライバ側から配線長４Ｘ、つまり接続配線３１の全てが高抵抗配線に置き換えられ、接続配線３２のドライバ側から配線長５Ｘだけ高抵抗配線に置き換えられる一方、接続配線３３，３４は全て高抵抗配線に置き換えられない。なお、接続配線３２のドライバ側から配線長６Ｘ、つまり接続配線３２の全てが高抵抗配線に置き換えられると、パス遅延がサイクルタイムを超えて、セットアップ違反が発生する。
【００６０】
このように、比較例では、接続配線３１〜３４の全配線長２６Ｘのうちの配線長９Ｘ、約３５％の配線長しか高抵抗配線に置き換えることができない。すなわち、比較例の配線置換方法では、図１０の破線で示すように、高抵抗配線への置き換え率が低い範囲において、高抵抗配線の増加に対するパス遅延の増加が大きいため、高抵抗配線への置き換え量は少なくなる。このように同じセットアップスラックであっても、低抵抗配線から高抵抗配線への置き換え方法によって、高抵抗配線への置き換え量が大幅に異なることが分かる。
【００６１】
さらに、図１１に、高抵抗配線への置き換え率と配線面積との関係を示した。この図１１から明らかなように、図３に示した配線置換処理のように約６０％の接続配線を第２配線層（高抵抗配線層）で配線することができると、高抵抗配線への置き換えを行わない場合よりも約２０％の配線面積の削減を実現することができ、比較例の場合よりも約１０％の配線面積の削減を実現することができる。
【００６２】
なお、設計支援装置１０はコンピュータ及びレイアウト設計装置の一例、ＦＦ回路２１，２５はセルの一例、バッファ回路２２〜２４はバッファの一例、ＣＰＵ１１は配置・配線手段及び配線置換手段の一例、ステージＡ〜Ｄは区間の一例、置き換え単位長Ｘは所定の配線長の一例である。また、ステップＳ２〜Ｓ４は配置・配線工程の一例、ステップＳ５は配線置換工程の一例、ステップＳ１５は選択工程の一例、ステップＳ１６は置換工程の一例、ステップＳ１７は算出工程の一例、ステップＳ１８は判定工程の一例である。
【００６３】
以上説明した本実施形態によれば、以下の効果を奏することができる。
（１）タイミング制約Ｆ１を満足させるように、セルを配置し、第１配線層（低抵抗配線層）を使用してセル間（ここでは、ＦＦ回路２１，２５間）のパスＰの接続配線３１〜３４を形成する。次に、タイミング制約Ｆ１を満足させたまま、パスＰ中のステージＡ〜Ｄの接続配線３１〜３４のレシーバ側からの一部を、第１配線層から第２配線層（高抵抗配線層）に置き換えて形成するようにした。これにより、各接続配線３１〜３４のレシーバ側から徐々に高抵抗配線に置き換えられるため、高抵抗配線への置き換え率が低い範囲では、高抵抗配線の増加に対するステージ遅延の増加率が小さくなる。このため、パス遅延がサイクルタイムに達するまでに、接続配線３１〜３４を、多くの高抵抗配線に置き換えることができる。これにより、配線面積を縮小することができ、ひいてはチップ面積を縮小することができる。
【００６４】
（２）パスＰ中の全ステージＡ〜Ｄの中から、各ステージＡ〜Ｄ内の接続配線３１〜３４をレシーバ側から置き換え単位長Ｘだけ高抵抗配線に置き換えた際に、ステージ遅延の増加度合が最も小さくなるステージを選択し、その選択されたステージ内の接続配線の一部を高抵抗配線に置き換えるようにした。この置き換え方法によれば、ステージＡ〜Ｄ単位で見た場合に、高抵抗配線への置き換え率が高くなるに連れて、高抵抗配線の増加に対するステージ遅延の増加率も小→大に遷移する。さらに、パスＰ単位で見ても、高抵抗配線への置き換え率が高くなるに連れて、高抵抗配線の増加に対するパス遅延の増加率も小→大に遷移する。このため、パス遅延がサイクルタイムに達するまでに、接続配線３１〜３４を、より多くの高抵抗配線に置き換えることができる。
【００６５】
（３）パスＰ中の全ステージＡ〜Ｄの中から選択された１つのステージ内の接続配線の一部を高抵抗配線に置き換え、その置き換え後のパス遅延に基づいて、置き換え後のパスがタイミング制約を満たしているかを判定するようにした。これにより、タイミング制約を満たす範囲において、接続配線３１〜３４の一部を高抵抗配線に置き換えることができる。
【００６６】
（他の実施形態）
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・上記実施形態におけるステップＳ１５では、全ステージＡ〜Ｄの中から、ステージＡ〜Ｄの遅延変化テーブル４０のマーク点における傾きが最も小さくなるステージを配線置換対象のステージとして選択するようにした。これに限らず、例えば全ステージＡ〜Ｄの中から、ステージＡ〜Ｄ内の接続配線３１〜３４をレシーバ側から置き換え単位長Ｘだけ置き換えた際に、高抵抗配線の置き換え率が最も低くなるステージを配線置換対象のステージとして選択するようにしてもよい。あるいは、全ステージＡ〜Ｄの中から、接続配線３１〜３４における低抵抗配線の配線長が最も長いステージを配線置換対象のステージとして選択するようにしてもよい。
【００６７】
・上記実施形態における置き換え単位長Ｘの長さは特に制限されない。この置き換え単位長Ｘの長さが短いほど、サイクルタイムからパス遅延を減算した値が限りなく０に近づくまで高抵抗配線への置き換えを行うことができる。すなわち、置き換え単位長Ｘの長さが短いほど、接続配線３１〜３４を、より多くの高抵抗配線に置き換えることができる。但し、置き換え単位長Ｘの長さが短くなるほど、パス遅延を算出する回数が増加する。
【００６８】
ここで、上述したように、セル間の接続配線の配線長をＬとした場合に、高抵抗配線の配線長ＸがＬ／２のときに上記配線遅延Ｄ２，Ｄ３の差分（Ｄ２−Ｄ３）が最も大きくなる。このため、パスＰ中の全ステージＡ〜Ｄ内の接続配線３１〜３４の中で最も配線長の短い接続配線３１の配線長をＬとしたときに、置き換え単位長ＸをＬ／２以下に設定することにより、レシーバ側から高抵抗配線に置き換えることの利点を効果的に利用することができる。すなわち、上述のように置き換え単位長Ｘの長さを設定することにより、高抵抗配線への置き換え率が低い範囲では、高抵抗配線の増加に対するステージ遅延の増加率が小さくなる、という利点を効果的に利用することができる。
【００６９】
なお、各ステージＡ〜Ｄ毎に置き換え単位長Ｘの長さを変更するようにしてもよい。
・上記実施形態では、ステップＳ１５で配線置換対象のステージを選択した後に、その選択したステージ内の接続配線をレシーバ側から高抵抗配線に置き換え、置換後のパス遅延に基づいてセットアップタイミングに余裕があるか否かを判定するようにした。これに限らず、例えば配線置換対象のステージを選択した後、その選択したステージ内の接続配線を高抵抗配線に置き換える前に、例えば遅延変化テーブル４０を参照して置き換え後のレイアウト状態を想定してパス遅延を算出し、そのパス遅延に基づいてセットアップタイミングに余裕があるか否かを判定するようにしてもよい。この場合には、セットアップタイミングに余裕があると判定された場合に、上記選択されたステージ内の接続配線の一部が実際に高抵抗配線に置き換えられる。また、セットアップタイミングに余裕がないと判定された場合には、上記選択されたステージ内の接続配線の高抵抗配線への置き換えを実施せずに、上記配線置換対象のステージを選択する際のレイアウト状態で確定し、次のパスの処理に移る。
【００７０】
・上記実施形態において、セル間の接続配線の配線長は、置き換え単位長Ｘの整数倍の長さでなくてもよい。例えば図１４（ａ）に示すように、セル５１，５２間の接続配線５３の配線長を５Ｘ＋Ｙ（但し、Ｙ＜Ｘ）としてもよい。この場合の遅延変化テーブルは、図１４（ｂ）に示すように、レシーバ側からの高抵抗配線への置き換え長がＸ、２Ｘ、３Ｘ、４Ｘ、５Ｘ、５Ｘ＋Ｙの場合のステージ遅延が算出されて生成される。
【００７１】
・上記実施形態では、第１配線層よりも遅延時間が大きい第２配線層として、第１配線層に形成される低抵抗配線よりも配線抵抗の高い高抵抗配線が形成される第２配線層に具体化した。ここで、配線層の遅延時間は、配線間隔が狭く、層間絶縁膜の比誘電率が大きいほど、大きくなる。このため、例えば第１絶縁層よりも遅延時間が大きい第２配線層として、第１配線層よりも配線間隔が狭く、層間絶縁膜の比誘電率が大きい配線層に具体化してもよい。
【００７２】
・上記実施形態において、第１配線層、つまり遅延時間の小さい配線層を２つ以上有する半導体集積回路装置に具体化してもよい。
・上記実施形態において、第２配線層、つまり遅延時間の大きい配線層を２つ以上有する半導体集積回路装置に具体化してもよい。
【符号の説明】
【００７３】
１０  設計支援装置
１１  中央処理装置
２１，２５  ＦＦ回路
２２〜２４  バッファ回路
３１〜３４  接続配線
４０  遅延変化テーブル
Ａ〜Ｄ  ステージ
Ｐ  パス
Ｆ１  タイミング制約
【図１】
2012234892.tif 000009
【図２】
2012234892.tif 000010
【図３】
2012234892.tif 000011
【図４】
2012234892.tif 000012
【図５】
2012234892.tif 000013
【図６】
2012234892.tif 000014
【図７】
2012234892.tif 000015
【図８】
2012234892.tif 000016
【図９】
2012234892.tif 000017
【図１０】
2012234892.tif 000018
【図１１】
2012234892.tif 000019
【図１２】
2012234892.tif 000020
【図１３】
2012234892.tif 000021
【図１４】
2012234892.tif 000022
【図１５】
2012234892.tif 000023
【図１６】
2012234892.tif 000024