(57)【要約】【課題】マルチカットビアの使用率を向上させること。【解決手段】本発明によれば、コンピュータを用いた半導体集積回路のレイアウト方法が提供される。そのレイアウト方法は、（Ａ）ネットリスト中のあるネットに関して、マルチカットビアを使用可能な配線経路を探索するステップと、（Ｂ）マルチカットビアを使用しながら、上記配線経路上に当該ネットの配線をレイアウトするステップと、（Ｃ）上記（Ａ）、（Ｂ）ステップを繰り返すことにより、半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと、を有する。【選択図】図４
2008147217.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた、半導体集積回路のレイアウト方法であって、
（Ａ）ネットリスト中のあるネットに関して、マルチカットビアを使用可能な配線経路を探索するステップと、
（Ｂ）前記マルチカットビアを使用しながら、前記配線経路上に前記あるネットの配線をレイアウトするステップと、
（Ｃ）前記（Ａ）、（Ｂ）ステップを繰り返すことにより、前記半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと
を有する
半導体集積回路のレイアウト方法。
【請求項２】
請求項１に記載の半導体集積回路のレイアウト方法であって、
前記（Ｂ）ステップは、
（Ｂ１）前記あるネットの配線と既に配置されている既存マルチカットビアとの間にデザインルールエラーが発生した場合、前記既存マルチカットビアの配置パターンをデザインルールに適合する他の配置パターンに変更するステップ
を有する
半導体集積回路のレイアウト方法。
【請求項３】
請求項２に記載の半導体集積回路のレイアウト方法であって、
前記（Ｂ）ステップは、更に、
（Ｂ２）前記（Ｂ１）ステップにおいて前記他の配置パターンが存在しない場合、既に配置されている既存配線を移動させることにより前記既存マルチカットビア周辺にスペースを確保するステップと、
（Ｂ３）前記（Ｂ２）ステップにおいて確保された前記スペースを用いて、前記（Ｂ１）ステップを実行するステップと
を有する
半導体集積回路のレイアウト方法。
【請求項４】
請求項３に記載の半導体集積回路のレイアウト方法であって、
前記（Ｂ２）ステップにおいて、前記スペースが確保されるまで、トグルレートの低い既存配線から順番に移動する
半導体集積回路のレイアウト方法。
【請求項５】
請求項１乃至４のいずれかに記載の半導体集積回路のレイアウト方法であって、
前記半導体集積回路は、第１配線と、前記第１配線よりもトグルレートの低い第２配線とを含み、
前記第１配線は、前記第２配線よりも先にレイアウトされる
半導体集積回路のレイアウト方法。
【請求項６】
請求項１乃至４のいずれかに記載の半導体集積回路のレイアウト方法であって、
前記半導体集積回路は、クロック配線と、前記クロック配線以外の信号配線とを含み、
前記クロック配線は、前記信号配線よりも先にレイアウトされる
半導体集積回路のレイアウト方法。
【請求項７】
請求項１乃至４のいずれかに記載の半導体集積回路のレイアウト方法であって、
前記半導体集積回路は、クロック配線、前記クロック配線以外でクリティカルな信号配線、及び前記クリティカルな信号配線以外の通常の信号配線を含み、
前記クロック配線が最初にレイアウトされ、次いで、前記クリティカルな信号配線がレイアウトされ、その後、前記通常の信号配線がレイアウトされる
半導体集積回路のレイアウト方法。
【請求項８】
請求項６又は７に記載の半導体集積回路のレイアウト方法であって、
前記信号配線は、第１配線と、前記第１配線よりもトグルレートの低い第２配線とを含み、
前記第１配線は、前記第２配線よりも先にレイアウトされる
半導体集積回路のレイアウト方法。
【請求項９】
請求項５又は８に記載の半導体集積回路のレイアウト方法であって、
更に、（Ｘ）前記ネットリスト中の複数のネットのそれぞれのトグルレートを示すトグルレートファイルを読み込むステップを有し、
前記複数のネットは、前記第１配線に対応する第１ネットと、前記第２配線に対応する第２ネットとを含み、
前記トグルレートファイルにおいて、前記第１ネットは第１トグルレートに対応付けられ、前記第２ネットは前記第１トグルレートよりも低い第２のトグルレートに対応付けられている
半導体集積回路のレイアウト方法。
【請求項１０】
請求項１乃至９のいずれかに記載の半導体集積回路のレイアウト方法であって、
更に、（Ｙ）マルチカットビアに関して複数の配置パターンを定義したパターンファイルを読み込むステップを有し、
前記（Ａ）ステップにおいて、前記複数の配置パターンのうちデザインルールに適合するパターンのマルチカットビアが選択される
半導体集積回路のレイアウト方法。
【請求項１１】
コンピュータ読取可能なレイアウトプログラムであって、
請求項１乃至１０のいずれかに記載の半導体集積回路のレイアウト方法をコンピュータに実行させる
レイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト技術に関する。特に、本発明は、マルチカットビアを用いた半導体集積回路のレイアウト技術に関する。
【背景技術】
【０００２】
多層配線層を有する半導体集積回路において、ある配線層と他の配線層とを互いに接続するために、ビア構造が用いられる。一般的には、電源配線以外の信号配線では、１箇所につき１個のビアを用いることによって異なる配線層間の接続がなされている。そのような一般的なビアは、以下「シングルカットビア（single-cut via）」と参照される。
【０００３】
近年の半導体集積回路の微細化に伴い、配線幅は縮小され、シングルカットビアの面積も小さくなってきている。従って、製造プロセス時に、所望のパターンのシングルカットビアを形成することが困難になってきている。最悪の場合、ビア形成部でオープン不良が発生し、所望のデバイス動作が実現されなくなる。このことは、歩留まりの低下を招く。更に、シングルカットビアの縮小に伴い、信号配線での遅延時間は大きくなり、また、エレクトロマイグレーションによる断線確率も高くなる。これらのことは、デバイスの動作信頼性の低下を招く。
【０００４】
このような不具合を抑制するための技術として、特許文献１において、「冗長ビア化」が提案されている。冗長ビア化技術によれば、オリジナルのシングルカットビアに加えて、「冗長ビア（redundant via）」が設けられる。より詳細には、冗長ビア化ソフトウェアが、詳細配線工程後のレイアウトデータからシングルカットビアを抽出する。そして、冗長ビア化ソフトウェアは、抽出されたシングルカットビアの周辺に、冗長ビアを並列に配置する。その後、デザインルールがチェックされ、違反が無い場合はその冗長ビアは採用され、違反の場合はその冗長ビアは削除される。このようにして、設計対象回路の少なくとも一部の信号配線に、冗長ビアが追加される。この場合、オリジナルのビアと冗長ビアのいずれか一方で不良が発生したとしても、その信号配線の電気的接続は確保される。結果として、上述の不具合の発生確率が低減される。
【０００５】
冗長ビア化に関連する最近の技術としては、次のものが知られている。
【０００６】
特許文献２に記載された技術によれば、レイアウトデータを用いてタイミング解析が行なわれる。そして、信号の遅延時間が所定の基準値を満たすか否かが判定される。所定の基準値が満たされない場合、冗長ビアが追加され、基準値が満たされるようにビアカット数が増加させられる。
【０００７】
特許文献３に記載された技術によれば、冗長ビアが追加されたレイアウトデータに対してエラー解析が行なわれ、アンテナ効果エラーやタイミング制約違反の有無が判定される。エラーが存在する場合、そのエラーが解消されるように、冗長ビア構造がシングルカットビアに戻される。
【０００８】
特許文献４に記載された技術によれば、冗長ビア構造（マルチカットビア）への置換率を高めるために、配線設計中に冗長ビア化が行なわれる。具体的には、配線コスト、ビアコスト、及び障害物コストが定義され、コストが最小となる配線経路が探索される。その後、配線が施設され、又、シングルカットビアが配置される（当該文献中の図８参照）。更に、シングルカットビアがマルチカットビアに置換される（当該文献中の図９参照）。
【０００９】
【特許文献１】米国特許ＵＳ５，７９８，９３７
【特許文献２】特開２００５−２６３９０号公報
【特許文献３】特開２００６−１３５１５２号公報
【特許文献４】特開２００６−６５４０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本願発明者は、次の点に着目した。上述の従来技術によれば、「冗長ビア化」が行なわれる、すなわち、オリジナルのシングルカットビアが配置された後に、そのシングルカットビアが冗長ビア構造へ変換される。ここで、図１に示されるような場合を考える。図１では、配線層Ｍ１とＭ２にまたがって配線１がレイアウトされ、その配線層Ｍ１とＭ２とをつなぐためにシングルカットビア２が配置された状態が示されている。この時、シングルカットビア２の周囲の配線層Ｍ１あるいはＭ２には、他の配線がレイアウトされている。そのため、シングルカットビア２を冗長ビア構造へ置換するためのスペースが存在せず、配線１に関しては冗長ビア化が不可能である。このように、従来技術によれば、周囲の配線状況によっては冗長ビア化を実現することができなかった。
【課題を解決するための手段】
【００１１】
本発明によれば、コンピュータを用いた半導体集積回路のレイアウト方法が提供される。そのレイアウト方法は、（Ａ）ネットリスト中のあるネットに関して、マルチカットビアを使用可能な配線経路を探索するステップと、（Ｂ）マルチカットビアを使用しながら、上記配線経路上に当該ネットの配線をレイアウトするステップと、（Ｃ）上記（Ａ）、（Ｂ）ステップを繰り返すことにより、半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと、を有する。
【００１２】
ここで、マルチカットビアとは、ある配線上のある位置で異なる配線層間を接続するための２以上のビアを意味する。つまり、異なる配線層にまたがってレイアウトされる配線に対してマルチカットビアが使用される場合、それら配線層間の遷移領域には２以上のビアが配置される。
【００１３】
本発明によれば、レイアウトデータ完成前の詳細配線処理において、マルチカットビアを使用可能な配線経路が最初から探索される。つまり、最初からシングルカットビアではなくマルチカットビアを用いてレイアウトが行なわれる。すなわち、「冗長ビア化」は行なわれない。従って、周囲の配線状況によって冗長ビア化が実現できないといった事態が防止される。その結果、マルチカットビアの使用率が向上し、歩留まり及び動作信頼性が向上する。
【発明の効果】
【００１４】
本発明によれば、マルチカットビアの使用率が向上する。その結果、半導体集積回路の歩留まり及び動作信頼性が向上する。
【発明を実施するための最良の形態】
【００１５】
添付図面を参照して、本発明の実施の形態に係る半導体集積回路のレイアウト処理を説明する。
【００１６】
１．レイアウト処理システム
本実施の形態に係るレイアウト処理は、コンピュータを用いて実現可能である。図２は、本実施の形態に係るレイアウト処理を行なう設計システム１００（ＣＡＤシステム）の構成を示すブロック図である。この設計システム１００は、記憶装置１１０、演算処理装置１２０、入力装置１３０、出力装置１４０、及びレイアウトツール１５０を格納するプログラム記憶装置１６０を備えている。
【００１７】
記憶装置１１０としては、ＲＡＭやＨＤＤが例示される。この記憶装置１１０には、ネットリストＮＥＴ、タイミング制約ファイルＣＯＮ、デザインルールファイルＤＲＦ、ビアパターンファイルＰＡＴ、トグルレートファイルＴＧＬ、レイアウトデータＬＡＹ等が格納される。ネットリストＮＥＴは、設計対象回路におけるセル間の接続関係（ネット）を示す。タイミング制約ファイルＣＯＮは、設計対象回路に関するタイミング制約（セットアップ制約やホールド制約）を示す。デザインルールファイルＤＲＦは、設計基準（design rule）を示す。これらネットリストＮＥＴ、タイミング制約ファイルＣＯＮ、及びデザインルールファイルＤＲＦは、一般的なレイアウト処理においても用いられるファイルである。一方、ビアパターンファイルＰＡＴ及びトグルレートファイルＴＧＬは、本実施の形態に特有のファイルであり、その詳細は後述される。
【００１８】
レイアウトツール１５０は、プログラム記憶装置１６０に記録されている。プログラム記憶装置１６０としては、ＲＡＭやＨＤＤが例示される。上記記憶装置１１０とプログラム記憶装置１６０は共通の記憶装置であってもよく、その場合、データが記憶される領域が記憶装置１１０となり、プログラムが記憶される領域がプログラム記憶装置１６０となる。通常、レイアウトツール１５０は、ＣＤやＤＶＤ等の記録媒体や、通信回線を介して、設計システム１００の外部からプログラム記憶装置１６０にインストールされる。このレイアウトツール１５０は、演算処理装置１２０によって読み込まれ実行されるソフトウェアであり、後述のレイアウト処理機能を提供する。演算処理装置１２０は、レイアウトツール１５０の指示に従って、必要なデータやファイルを記憶装置１１０から読み出し、また、作成されたデータやファイルを記憶装置１１０に格納する。ソフトウェアであるレイアウトツール１５０が、記憶装置１１０や演算処理装置１２０などのハードウェア資源と協働して、後述のレイアウト処理を実現する。
【００１９】
入力装置１３０としては、キーボードやマウスが例示される。ユーザは、入力装置１３０を用いることによって、ファイルの編集やコマンドの入力を行なうことができる。出力装置１４０としては、ディスプレイが例示される。ユーザは、ディスプレイに表示されるレイアウト等の設計情報を参照することができる。
【００２０】
２．処理フロー
図３及び図４は、本実施の形態に係る半導体集積回路のレイアウト方法を示すフローチャートである。図３及び図４を参照しながら、本実施の形態に係るレイアウト処理フローを詳細に説明する。
【００２１】
尚、本明細書において、「シングルカットビア」は、異なる配線層上の配線同士が単一のビアで接続されている場合に、その単一のビアとして定義される。一方、「マルチカットビア」は、異なる配線層上の配線同士が並列に配置された２以上のビアで接続されている場合に、その２以上のビアとして定義される。つまり、異なる配線層にまたがってレイアウトされる配線に対してマルチカットビアが使用される場合、それら配線層間には、２以上のビアが並列に配置される。尚、通常、マルチカットビアを構成する複数のビアは、互いに隣接して配置される。
【００２２】
ステップＳ１：ビアパターンファイルの作成
後に詳しく説明されるように、本実施の形態に係るレイアウト処理では、基本的にはマルチカットビアが用いられる。つまり、シングルカットビアが配置された後に冗長ビアが追加されるわけではなく、最初からマルチカットビアが配置される。そのために、マルチカットビアに関して、複数の配置パターン（レイアウトパターン）が予め定義される。
【００２３】
図５は、マルチカットビアの複数の配置パターンＰＡ〜ＰＤを概念的に示している。図５に示されるマルチカットビアは、下層配線層Ｍ１と上層配線層Ｍ２とをつなぐために２つのビアが配置されたダブルカットビア（double-cut via）である。２つのビアのうちいずれか一方の中心が、ビア原点（×マークで表されている）となる。詳細配線工程では、このビア原点がグリッドポイントにのるように、各マルチカットビアが配置される。配置パターンＰＡ及びＰＢでは、２つのビアがＸ方向に沿って並列に配置される。一方、配置パターンＰＣ及びＰＤでは、２つのビアがＹ方向に沿って並列に配置される。Ｘ方向は、下層配線層Ｍ１における優先配線方向（上層配線Ｍ２における非優先配線方向）であり、Ｙ方向は、上層配線層Ｍ２における優先配線方向（下層配線Ｍ１における非優先配線方向）である。
【００２４】
このような複数の配置パターンＰＡ〜ＰＤを定義したビアパターンファイルＰＡＴが、ユーザにより予め作成される。作成されたビアパターンファイルＰＡＴは、記憶装置１１０に格納される。
【００２５】
ステップＳ２：トグルレートファイルの作成
後に詳しく説明されるように、本実施の形態に係るレイアウト処理では、配線のトグルレートが着目される。そのために、配線のそれぞれのトグルレートを示すトグルレートファイルＴＧＬが予め作成される。トグルレートは、例えば回路シミュレーションを通して計算することができる。具体的には、回路シミュレータに対して、ネットリストＮＥＴと所定のテストパターンが入力される。その回路シミュレータは、ネットリストＮＥＴが示す設計対象回路の動作シミュレーションを実行する。その動作シミュレーションの結果に基づいて、ネットリストＮＥＴ中の各ネットに関するトグルレートを得ることができる。
【００２６】
図６は、トグルレートファイルＴＧＬの一例を示している。トグルレートファイルＴＧＬの各エントリは、順位、ネット名、及びトグルレートを含んでいる。ネット名は、ネットリストＮＥＴで用いられているネット名と整合している。順位は、トグルレートの大小に基づいて決定され、各エントリはトグルレートに基づいてソートされている。例えば、トグルレート“０．４５”に対応付けられたネット“ＡＡＡ”の順位は１位である。また、トグルレート“０．３９”に対応付けられたネット“ＢＢＢ”の順位は２位である。
【００２７】
このように、トグルレートファイルＴＧＬは、ネットリストＮＥＴ中の一部又は全てのネットのそれぞれのトグルレートを示している。トグルレートは、単位時間当たりに配線の論理が遷移する数である。よって、トグルレートの高い配線では、単位時間当たりに論理が遷移する数が多く、配線を流れる電流も多くなるので、エレクトロマイグレーションが発生しやすい。そのため、トグルレートの高い配線に対しては、マルチカットビアが特に優先的に適用されることが望ましい。マルチカットビアを用いることにより、１つのビア当たりの電流量を減らし、エレクトロマイグレーションの発生を防ぐことができる。更に、万一、複数のビアのうち１つのビアがエレクトロマイグレーションにより断線したとしても、他のビアにより、機能不良を防ぐことができる。トグルレートファイルＴＧＬは、優先度を示す優先度ファイルであると言える。作成されたトグルレートファイルＴＧＬは、記憶装置１１０に格納される。
【００２８】
ステップＳ１０：データ入力
演算処理装置１２０は、レイアウトツール１５０を実行する。これにより、本実施の形態に係るレイアウト処理が開始する。まず、演算処理装置１２０は、記憶装置１１０からネットリストＮＥＴ、タイミング制約ファイルＣＯＮ、デザインルールファイルＤＲＦ、ビアパターンファイルＰＡＴ、トグルレートファイルＴＧＬ等を読み込む。
【００２９】
ステップＳ２０：概略配線（global routing）
電源配線（special routing）やセル配置が完了した後、概略配線が行われる。概略配線では、大域的な配線の割り当て等が決定される。具体的には、レイアウト領域が複数の単位領域に区分けされ、各単位領域にレイアウトされる配線の本数などが見積もられる。
【００３０】
ステップＳ３０：詳細配線（detail routing）
詳細配線では、実際にセル間の配線及びビアの配置が行なわれる。本実施の形態に係る詳細配線は、次のような特徴を有する。
（１）レイアウトの最初の段階から、シングルビアを用いずにマルチカットビアを用いてレイアウトが行なわれる。従って、シングルビアをマルチカットビアに置換するステップは必要ない。
（２）レイアウトされる配線の優先度が考慮される。
【００３１】
図７には、本実施の形態に係る詳細配線の一例が示されている。図中の破線は配線グリッドを表し、その交点がグリッドポイントである。図７において、ネット“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”のそれぞれに対応する配線１１、１２、１３が、配線グリッドに沿ってレイアウトされている。また、各配線上の折れ曲がり点（グリッドポイントＧ１）に対応して、マルチカットビアＶＭが配置されている。具体的には、上述のビア原点がグリッドポイントＧ１上にのり、他方のビアの中心が隣接するグリッドポイントＧ２上にのっている。
【００３２】
レイアウトされる配線の優先度の１つの基準は、上述のトグルレートファイルＴＧＬで示されるトグルレートである。例えば、トグルレートの高いネットから順番に、マルチカットビアを用いて配線レイアウトが行なわれる。図６に示されたトグルレートファイルＴＧＬでは、ネット“ＡＡＡ”のトグルレートはネット“ＢＢＢ”のものより高く、ネット“ＢＢＢ”のトグルレートはネット“ＣＣＣ”のものより高い。従って、図７に示された例では、ネット“ＡＡＡ”に対応する配線１１は、ネット“ＢＢＢ”に対応する配線１２よりも先にレイアウトされ、その配線１２はネット“ＣＣＣ”に対応する配線１３よりも先にレイアウトされる。このように、設計対象回路中でトグルレートの高い配線は、トグルレートの低い配線よりも先にレイアウトされる。その結果、トグルレートの高い配線には、確実にマルチカットビアが適用されることになる。
【００３３】
以下、図４で示されるフローチャートを参照しながら、本実施の形態に係る詳細配線を更に詳しく説明する。
【００３４】
ステップＳ３１：
まず、ネットリストＮＥＴで示される全てのネットから、レイアウト対象の１つのネットが選択される。その選択においては、優先度が考慮される。例えば、不良の発生を特に抑制すべき重要な配線がある場合、その配線の優先度は高い。従って、その配線に対応するネットが優先的に選択される。その優先度の１つの基準が、トグルレートである。既に説明したように、トグルレートの高い配線では、エレクトロマイグレーションが発生しやすいからである。
【００３５】
設計対象回路には、クロック配線と、クロック配線以外の信号配線が含まれている。信号配線には、データ配線や制御信号の配線が含まれる。また、信号配線の中には、設計対象回路の動作速度のネックとなるようなクリティカルパスを構成する信号配線、すなわちクリティカル配線が含まれている。この場合の配線の優先度は、例えば次の通りである。
１．クロック配線
２．クリティカル配線
３．残りの信号配線
尚、電源配線やグランド配線など、固定電位を供給する配線は、信号配線ではないので、クロック配線より前に配線されていてもよい。
【００３６】
クロック配線は、最もトグルレートの高い配線であると言える。従って、クロック配線に対応するネット（クロックネット）が、最初に選択される。クロックネットは、ネットリストＮＥＴから認識可能である。また、クロック配線は、高速クロック配線と低速クロック配線を含む場合がある。その場合、高速クロック配線に対応するネット（高速クロックネット）が、低速クロック配線に対応するネット（低速クロックネット）よりもトグルレートが高くなるので、先に選択される。高速クロックネットと低速クロックネットは、クロック周波数に基づいて区別可能である。
【００３７】
クリティカル配線は、トグルレートとは関連しないが、タイミング制約の観点から重要な配線である。クリティカル配線におけるビア抵抗を減らし、遅延増大を防止するために、マルチカットビアが確実に適用されるべきである。従って、クリティカル配線に対応するネット（クリティカルネット）が、クロックネットの次に選択される。クリティカルネットは、ネットリストＮＥＴとタイミング制約ファイルＣＯＮに基づいて認識可能である。
【００３８】
次に、他の信号配線に対応するネットが選択される。ここでも優先度を考慮することが好適である。すなわち、上述のトグルレートファイルＴＧＬで示される優先度に従い、トグルレートの高いネットから順番に選択される。トグルレートファイルＴＧＬには、クロック配線以外の信号配線のトグルレートが記述してあれば十分である。このようにして、ネットリストＮＥＴ、タイミング制約ファイルＣＯＮ、トグルレートファイルＴＧＬを参照することによって、優先度の高い配線のネットから順番に選択される。
【００３９】
ステップＳ３２：
選択されたネット（以下、「対象ネット」と参照される）に関して、配線がレイアウトされる。まずは、その配線が配置される配線経路の探索が行なわれる。例えば、デザインルールに違反しない範囲で最短の経路が探索される。探索された配線経路上の折れ曲がり点（下層配線層Ｍ１と上層配線層Ｍ２との間の遷移領域）には、ビアが配置される。本実施の形態では、マルチカットビアの使用が前提となっている。従って、ビアパターンファイルＰＡＴが参照され、定義されている複数の配置パターン（図５参照）の中からデザインルールに適合する１つの配置パターンが選択される。
【００４０】
より詳細には、まず、配線経路上の折れ曲がり点である基準グリッドポイント（図７中のＧ１参照）が着目される。そして、その基準グリッドポイントに対して、複数の配置パターンが順番に当てはめられる。この時、それぞれの配置パターンに応じて、基準グリッドポイントに隣接するグリッドポイントが調べられる。ある隣接グリッドポイントが下層配線層Ｍ１と上層配線層Ｍ２の両方で使用可能な場合、その隣接グリッドポイントが確保される。このように、周囲の配線状況が考慮され、複数の配置パターンの中から適切な配置パターンが選択される。適切な配置パターンが無い場合、他の配線経路が探索される。このようにして、対象ネットに関して、マルチカットビアを使用可能な配線経路が決定される。
【００４１】
ステップＳ３３：
決定された配線経路上に、対象ネットの配線がレイアウトされる。また、選択された配置パターンのマルチカットビアが配置される。図８Ａ〜図８Ｄは、配線レイアウトの様々な例を示している。各図において、配線２０が、現在処理中の配線（新規配線）である。図８Ａでは、配置パターンＰＡ（図５参照）のマルチカットビアＶＭが使用されている。図８Ｂでは、配置パターンＰＢのマルチカットビアＶＭが使用されている。図８Ｃでは、配置パターンＰＣのマルチカットビアＶＭが使用されている。図８Ｄでは、配置パターンＰＤのマルチカットビアＶＭが使用されている。各例において、周囲の配線状況に応じて最適な配置パターンが選択されていることが分かる。
【００４２】
以上に説明されたように、本実施の形態によれば、マルチカットビアを使用して対象ネットの配線がレイアウトされる。
【００４３】
ステップＳ４０〜Ｓ４３：
配線処理が進むと、対象ネットの配線と既に配置されているマルチカットビア（以下、「既存マルチカットビア」と参照される）との間に、デザインルールエラーが発生する場合がある（ステップＳ４０；Ｙｅｓ）。その場合の処理を、図９を参照して説明する。
【００４４】
図９において、配線３０が既にレイアウトされている。また、その配線３０に対して、マルチカットビア３１が既に配置されている。この状態で、新規配線４０がレイアウトされる。その新規配線４０が、既存マルチカットビア３１と重なってしまうとする。この場合、既存マルチカットビア３１に関して、デザインルールに適合する他の配置パターンが探索される（ステップＳ４１）。図９に示された例においては、既存マルチカットビア３１の方向を変えることによって、新規配線４０との重なりが解消される（ステップＳ４２；Ｙｅｓ）。従って、既存マルチカットビア３１の配置パターンが変更される（ステップＳ４３）。具体的には、図９に示されるように、既存マルチカットビア３１が引き剥がされ、デザインルールに適合するマルチカットビア３２が新たに配置される。
【００４５】
ステップＳ５０、Ｓ５１：
上記ステップＳ４１において、デザインルールに適合する他の配置パターンが存在しない場合も考えられる（ステップＳ４２；Ｎｏ）。つまり、定義されているどの配置パターンを用いても、デザインルールエラーが解消されない場合が考えられる。その場合の処理を、図１０を参照して説明する。
【００４６】
図１０において、配線５０、６０が既にレイアウトされている。また、配線５０に対して、マルチカットビア５１が既に配置されている。この状態で、新規配線７０がレイアウトされる。その新規配線７０が、既存マルチカットビア５１と重なってしまうとする。このとき、既存マルチカットビア５１は他の既存配線に囲まれており、既存マルチカットビア５１の配置パターンを変更することができない。よって、既存マルチカットビア５１の周辺にスペースを確保するために、既存配線のいくつかが移動させられる（ステップＳ５０）。ここで、既存マルチカットビア５１の配置パターンを変更できる程度に、スペースを確保する必要がある。図１０に示された例の場合、既存配線６０を移動させることにより、既存マルチカットビア５１の周辺に適切なスペースＳＰを確保することができる（ステップＳ５１；Ｎｏ）。よって、確保されたスペースＳＰを用いることにより、既存マルチカットビア５１の配置パターンを変更することができる（ステップＳ４１〜Ｓ４３）。具体的には、図１０に示されるように、既存マルチカットビア５１が引き剥がされ、デザインルールに適合するマルチカットビア５２が新たに配置される。
【００４７】
このように、ステップＳ５０では、既存配線のいくつかを移動させることにより、デザインルールエラーの解消に十分なスペースＳＰが確保される。既存配線の移動は、上述の概略配線時に定義された単位領域内だけで実行される。つまり、他の単位領域には影響は及ばない。また、その移動処理において、重要な既存配線に関しては、最適な配線経路が保たれることが望ましい。例えば、クロックツリーが乱されないように、クロック配線の移動は禁止されることが望ましい。従って、上述の優先度が考慮され、なるべくトグルレートの低い既存配線の移動によりスペースＳＰが確保される。例えば、スペースＳＰが確保されるまで、トグルレートの低い既存配線から順番に移動させられる。
【００４８】
ステップＳ６０：
上記ステップＳ５０において、十分なスペースＳＰをどうしても確保できない場合も考えられる（ステップＳ５１；Ｎｏ）。その場合の処理を、図１１を参照して説明する。
【００４９】
図１１において、配線８０が既にレイアウトされている。また、配線８０に対して、マルチカットビア８１が既に配置されている。この状態で、新規配線９０がレイアウトされる。その新規配線９０が、既存マルチカットビア８１と重なってしまうとする。また、既存配線を移動させても、デザインルールの解消に十分なスペースが確保されないとする。この場合は、図１１に示されるように、既存マルチカットビア８１がシングルカットビア８２に変更される。つまり、既存マルチカットビア８１が引き剥がされ、シングルカットビア８２が新たに配置される（ステップＳ６０）。
【００５０】
このステップＳ６０においても、上述の優先度が考慮されてもよい。例えば、新規配線９０に関して、２通りの配線経路が考えられるとする。そして、いずれの場合でも、新規配線９０がある既存マルチカットビアと重なってしまうとする。その場合は、優先度（トグルレート）の低い方の既存配線の既存マルチカットビアが、シングルカットビアに変更される。
【００５１】
ステップＳ７０：
レイアウトされていないネットがまだ存在する場合（ステップＳ７０；Ｎｏ）、処理はステップＳ３１に戻り、次の対象ネットが選択される。そして、ネットリストＮＥＴ中の全てのネットに関して、上述の処理が繰り返される。本実施の形態によれば、クロック配線はクリティカル配線よりも先にレイアウトされる。また、クリティカル配線は、他の信号配線よりも先にレイアウトされる。信号配線は、トグルレートの高いものから順番にレイアウトされる。全てのネットに関してレイアウトが完了すると（ステップＳ７０；Ｙｅｓ）、処理はステップＳ１００に進む。
【００５２】
尚、上述の処理は、所定の回数だけ繰り返されてもよい。つまり、ネットリストＮＥＴ中の一部のネットに対してだけ、マルチカットビアが適用されてもよい。その場合でも、少なくとも優先度の高い配線にはマルチカットビアが適用されるため、優れた効果が得られる。
【００５３】
ステップＳ１００：レイアウトデータの完成
以上に説明されたレイアウト処理により、設計対象回路のレイアウトを示すレイアウトデータＬＡＹが作成される。作成されたレイアウトデータＬＡＹは、記憶装置１１０に格納される。この後、可能であれば、従来技術と同様の方法で、冗長ビアが更に付け足されてもよい。例えば、ダブルカットビアに１つの冗長ビアを付け加えることによって、図１２に示されるようなトリプルカットビアが実現される。
【００５４】
３．効果
以上に説明されたように、本実施の形態によれば、レイアウトデータ完成前の詳細配線処理において、マルチカットビアを使用可能な配線経路が最初から探索される。つまり、最初からシングルカットビアではなくマルチカットビアを用いてレイアウトが行なわれる。すなわち、「冗長ビア化」は行なわれない。従って、周囲の配線状況によって冗長ビア化が実現できないといった事態が防止される。その結果、マルチカットビアの使用率が向上し、歩留まり及び動作信頼性が向上する。
【００５５】
更に、本実施の形態によれば、故障が発生しやすい箇所に対して確実にマルチカットビアを配置することが可能である。例えば、トグルレートの高い配線ではエレクトロマイグレーションが発生しやすく、そのような配線にマルチカットビアを優先的に適用することが望ましい。従来技術では、周囲の配線状況によっては冗長ビアを追加できない場合があり、優先度の高い配線が冗長ビア化される保障はなかった。一方、本実施の形態によれば、マルチカットビアを用いたレイアウトが、優先度の高い配線から順番に行なわれる。その結果、優先度の高い配線には、確実にマルチカットビアが適用されることになる。つまり本実施の形態によれば、歩留まりや動作信頼性を効果的に向上させることが可能となる。
【図面の簡単な説明】
【００５６】
【図１】図１は、本発明の課題を説明するための平面図である。
【図２】図２は、本発明の実施の形態に係る半導体集積回路の設計システムの構成を示すブロック図である。
【図３】図３は、本発明の実施の形態に係る半導体集積回路のレイアウト方法を示すフローチャートである。
【図４】図４は、本発明の実施の形態に係る詳細配線処理を示すフローチャートである。
【図５】図５は、本発明の実施の形態において用いられるマルチカットビアの複数の配置パターンを示す概略図である。
【図６】図６は、本発明の実施の形態において用いられるトグルレートファイルの一例を示すテーブルである。
【図７】図７は、本発明の実施の形態における詳細配線処理の一例を概略的に示す平面図である。
【図８Ａ】図８Ａは、本発明の実施の形態におけるマルチカットビアの配置の一例を示す平面図である。
【図８Ｂ】図８Ｂは、本発明の実施の形態におけるマルチカットビアの配置の他の例を示す平面図である。
【図８Ｃ】図８Ｃは、本発明の実施の形態におけるマルチカットビアの配置の更に他の例を示す平面図である。
【図８Ｄ】図８Ｄは、本発明の実施の形態におけるマルチカットビアの配置の更に他の例を示す平面図である。
【図９】図９は、本発明の実施の形態におけるマルチカットビアの配置パターンの変更処理の一例を示す平面図である。
【図１０】図１０は、本発明の実施の形態におけるマルチカットビアの配置パターンの変更処理の他の例を示す平面図である。
【図１１】図１１は、本発明の実施の形態におけるマルチカットビアのシングルカットビアへの変更処理の一例を示す平面図である。
【図１２】図１２は、本発明の実施の形態におけるトリプルカットビアの一例を示す平面図である。
【符号の説明】
【００５７】
１１、１２、１３    配線
２０、４０、７０、９０    新規配線
３０、５０、６０、８０    既存配線
３１、５１、８１    既存マルチカットビア
３２、５２    マルチカットビア（配置パターン変更後）
８２    シングルカットビア
１００    設計システム
１１０    記憶装置
１２０    演算処理装置
１３０    入力装置
１４０    出力装置
１５０    レイアウトツール
１６０    プログラム記憶装置
ＶＭ    マルチカットビア
ＮＥＴ    ネットリスト
ＣＯＮ    タイミング制約ファイル
ＤＲＦ    デザインルールファイル
ＰＡＴ    ビアパターンファイル
ＴＧＬ    トグルレートファイル
ＬＡＹ    レイアウトデータ
【図１】
2008147217.tif 000003
【図２】
2008147217.tif 000004
【図３】
2008147217.tif 000005
【図４】
2008147217.tif 000006
【図５】
2008147217.tif 000007
【図６】
2008147217.tif 000008
【図７】
2008147217.tif 000009
【図８Ａ】
2008147217.tif 000010
【図８Ｂ】
2008147217.tif 000011
【図８Ｃ】
2008147217.tif 000012
【図８Ｄ】
2008147217.tif 000013
【図９】
2008147217.tif 000014
【図１０】
2008147217.tif 000015
【図１１】
2008147217.tif 000016
【図１２】
2008147217.tif 000017