(57)【要約】【課題】マクロブロック外側の外周部において、電源配線とマクロブロックとを共に含む領域の配線面積率が所定の制約条件を満足していない場合には、電源配線のレイアウトをやり直さなければならないという課題があった。【解決手段】コンピュータを用いて半導体集積回路のレイアウトを行う方法によって解決することができる。この方法は、ハードブロックをレイアウトする工程と、電源配線をレイアウトする工程と、ハードブロックと電源配線とがメタル密度違反を生じさせていないかを検証する工程と、メタル密度違反が発見された場合には、レイアウトの修正を行って、メタル密度違反を解消する工程と、信号線をレイアウトする工程とを含む。信号線をレイアウトする工程を、電源配線によるメタル密度違反を解消する工程の後に行う。【選択図】図７Ａ
2009130228.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて半導体集積回路のレイアウトを行う方法であって、
少なくとも一つのハードブロックを有する半導体集積回路の回路情報を読み込んで、レイアウト設計対象の半導体集積回路のレイアウト領域に前記ハードブロックをレイアウトする工程と、
前記半導体集積回路のレイアウト領域に電源配線をレイアウトする工程と、
前記ハードブロックと前記電源配線とがメタル密度違反を生じさせていないかを検証する工程と、
メタル密度違反が発見された場合には、レイアウトの修正を行って、前記メタル密度違反を解消する工程と、
前記解消する工程の後に、前記半導体集積回路のレイアウト領域に前記回路情報が有する信号線をレイアウトする工程とを含む
半導体集積回路におけるレイアウト設計方法。
【請求項２】
前記検証する工程は、
前記ハードブロック内部のメタル面積情報を読み込むと共に、前記ハードブロック内側の周辺部を一部に含む領域について、前記ハードブロックと前記電源配線とがメタル密度違反を生じさせていないかを検証することを含む
請求項１記載の半導体集積回路におけるレイアウト設計方法。
【請求項３】
前記メタル密度違反を検証する工程は、所定のサイズを有するメタル密度検出領域に基づいて行われ、前記ハードブロック内部のメタル面積情報は、
前記ハードブロック内側の周辺部であって、前記メタル密度検出領域のサイズに基づいた領域部分のメタル情報を有する
請求項２記載の半導体集積回路におけるレイアウト設計方法。
【請求項４】
前記ハードブロック内部のメタル面積情報は、
前記半導体集積回路のレイアウト領域を矩形座標で表現することにより、メタルが存在する領域を示したものである
請求項２記載の半導体集積回路におけるレイアウト設計方法。
【請求項５】
前記ハードブロック内部のメタル面積情報は、
前記半導体集積回路のレイアウト領域をマトリクスで表現することにより、前記マトリクスの格子ごとに、メタルが存在するか否かを示したものである
請求項２記載の半導体集積回路におけるレイアウト設計方法。
【請求項６】
前記解消する工程は、
前記メタル密度違反が発見された場合において、レイアウトの修正を行うときに、前記メタル密度違反が生じた領域にある電源配線を前記ハードブロックから遠ざける方向に移動することを含む
請求項１〜５いずれか１項に記載の半導体集積回路におけるレイアウト設計方法。
【請求項７】
前記解消する工程は、
前記メタル密度違反が発見された場合において、レイアウトの修正を行うときに、前記メタル密度違反を生じた領域にある前記電源配線を幅の細い複数の配線で構成される電源配線に変更することを含む
請求項１〜５いずれか１項に記載の半導体集積回路におけるレイアウト設計方法。
【請求項８】
前記解消する工程は、
前記幅の細い複数の電源配線を、それぞれ異なる配線層に分割することを含む
請求項７記載の半導体集積回路におけるレイアウト設計方法。
【請求項９】
請求項１〜８いずれか１項に記載の半導体集積回路の設計方法を、コンピュータに実行させるための、半導体集積回路のレイアウト設計プログラム。
【請求項１０】
少なくとも１つのハードブロックを有する半導体集積回路の回路情報を読み込んで、レイアウト設計対象の半導体集積回路のレイアウト領域に、前記ハードブロックの配置と、電源配線の配置とを行う配置配線処理部と、
前記ハードブロックと前記電源配線とがメタル密度違反を生じさせていないかを検証するメタル密度違反判定部と、
メタル密度違反が検出された場合は、レイアウトの修正を行って、前記メタル密度違反を回避するメタル密度違反回避処理部とを備え、
前記配置配線処理部は、前記メタル密度違反が回避された後に、前記回路情報が有する信号線の配線処理を行う、半導体集積回路のレイアウト設計装置。
【請求項１１】
前記ハードブロック内部のメタル面積情報を有するハードブロックメタル密度データベースを更に備え、
前記メタル密度違反判定部は、
前記メタル面積情報を参照すると共に、前記ハードブロック内側の周辺部を一部に含む領域について、前記ハードブロックと前記電源配線とがメタル密度違反を生じさせていないかを検証する
請求項１０記載の半導体集積回路のレイアウト設計装置。
【請求項１２】
前記メタル密度違反判定部は、
前記検証することを、所定のサイズを有するメタル密度検出領域に基づいて行い、
前記ハードブロックメタル密度データベースは、
前記ハードブロック内側の周辺部であって、前記メタル密度検出領域のサイズに基づいた領域部分のメタル面積情報を有する
請求項１１記載の半導体集積回路のレイアウト設計装置。
【請求項１３】
前記ハードブロックメタル密度データベースは、
前記半導体集積回路のレイアウト領域を矩形座標で表現することにより、メタルが存在する領域を示したメタル面積情報を有する
請求項１１記載の半導体集積回路のレイアウト設計装置。
【請求項１４】
前記ハードブロックメタル密度データベースは、
前記半導体集積回路のレイアウト領域をマトリクスで表現することにより、前記マトリクスの格子ごとに、メタルが存在するか否かを示したメタル面積情報を有する
請求項１１記載の半導体集積回路のレイアウト設計装置。
【請求項１５】
前記メタル密度違反回避処理部は、
前記メタル密度違反が発見された場合において、レイアウトの修正を行うときに、前記メタル密度違反が生じた領域にある電源配線を前記ハードブロックから遠ざける方向に移動する
請求項１０〜１４いずれか１項に記載の半導体集積回路のレイアウト設計装置。
【請求項１６】
前記メタル密度違反回避処理部は、
前記メタル密度違反が発見された場合において、レイアウトの修正を行うときに、前記メタル密度違反を生じた領域にある前記電源配線を幅の細い複数の配線で構成される電源配線に変更する
請求項１０〜１４いずれか１項に記載の半導体集積回路のレイアウト設計装置。
【請求項１７】
前記メタル密度違反回避処理部は、
前記幅の細い複数の電源配線を、それぞれ異なる配線層に分割する
請求項１６記載の半導体集積回路のレイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路におけるレイアウト設計方法、レイアウト設計プログラム、及びレイアウト設計装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路のより一層の高集積化、微細化が促進されている。メタル配線の製造工程において、安定した積層構造を構築するため、ＣＭＰ（Ｃｈｅｍｉｃａｌ  Ｍｅｃｈａｎｉｃａｌ  Ｐｏｌｉｓｈｉｎｇ：化学的機械研磨）法が使用されている。同一基板上に幅が狭い配線（以降、細幅配線と記す）と幅が広い配線（以降、太幅配線と記す）とが混在すると、ＣＭＰ法では均一に研磨することが困難になる。例えば、太幅配線にあわせてＣＭＰ法により研磨すると、細幅配線の厚さが薄くなってしまう。このような問題点を回避するためには、配線幅を制限し、全ての配線幅をプロセスの制限からくる規定の範囲内に設定するなどしなければならない。また、ＣＭＰ法により均一に研磨するためには、単位面積当たりの配線占有率（以降、メタル密度と記す。）も、製造プロセス上の制約から決まる最大配線占有率を超えないように設定する必要がある。ＣＭＰ法による研磨に影響を及ぼす可能性のある一定幅以上の配線においては、所定の大きさの領域毎にメタル密度の上限値が定められている。
【０００３】
半導体集積回路の配線レイアウト設計装置として、特開２００５−２４３８８６号公報（特許文献１参照）に記載された発明が知られる。この配線レイアウト設計装置は、電源配線補強実施部と、配線面積率制約判定部とを有する。電源配線補強実施部は、電源配線の補強を行う際に、一般配線との関係も考慮してレイアウトを決定する。配線面積率制約判定部は、配線面積情報を抽出し、面積率を満たしていない配線層を昇順でリスト化し、電源補強時に使用する配線層の優先順位付けを行う。
【０００４】
図１Ａ及び図１Ｂは、一般的なメタル密度の検出方法の一例を示すフローチャートである。メタル密度の検出は、メタル密度検出プログラムを実行するコンピュータにて行われており、図１Ａ及び図１Ｂのフローチャートは、そのメタル密度検出プログラムの処理の流れを説明したものである。図２は、メタル密度の検出対象となる半導体チップの例を示す図で、ここでは、ハードブロックを１つ以上含むレイアウトを有する場合の例を採り上げている。図２において、メタル密度検出領域Ｐ１は、Ｘ方向及びＹ方向に移動する。チップＰ２は、メタルがある領域と無い領域とを有している。ハードブロック（マクロセル、マクロブロックなどと称呼される場合もある。）Ｐ３は、フラッシュＲＯＭなどのブロックが配置される領域である。太幅配線領域Ｐ４は、チップＰ２内に配線される電源配線等の太幅配線が配置される領域を示している。ハードブロックＰ３と太幅配線領域Ｐ４とは、距離Ｌ１だけ離して配置されている。図１Ａ、図１Ｂ、及び図２を合わせて、一般的なメタル密度の検出方法について説明する。
【０００５】
図１Ａにおいて、ステップＳ１は、メタル密度検出領域Ｐ１の大きさと、メタル密度検出領域Ｐ１が移動するピッチＸ’、Ｙ’とを決めるステップである。メタル密度検出領域Ｐ１の大きさは、例えば、プログラムがチップＰ２の大きさから判断し自動的に決定することができる。具体的には、チップＰ２をＸ方向及びＹ方向にそれぞれ１０分割した大きさなどとして良い。その他、チップＰ２に含まれるハードブロックＰ３の大きさから判断し決定してもよいし、レイアウト設計装置（コンピュータ）の演算能力を考慮して決定しても良い。ピッチＸ’、Ｙ’は、１回のメタル密度の検証が終了した際に、メタル密度検出領域Ｐ１を次の場所へ移動させる距離である。ピッチＸ’、Ｙ’はチップＰ２の大きさを考慮して決定することができる。例えば、チップＰ２をＸ方向、Ｙ方向にそれぞれ１００分割した長さでよい。これに限定せず、製造プロセスの配線幅などを元に決定しても良い。
【０００６】
図１Ａにおいて、ステップＳ２は、メタル密度検出領域Ｐ１の初期位置を決めるステップである。ここでは、メタル密度検出領域Ｐ１をチップＰ２の座標Ｘ０、Ｙ０に配置している。図２に示されているように、チップＰ２の左上が原点（座標Ｘ０、Ｙ０）であり、Ｘ座標は、右方向へ進むと増加し、Ｙ座標は下方向へ進むと増加する。ステップＳ３は、メタル密度検出領域Ｐ１がチップＰ２内に配置されたハードブロックＰ３に１００％重なっているかを判断するステップである。メタル密度の検出は、ハードブロックＰ３の外側の領域を対象として行うので、メタル密度検出領域Ｐ１がハードブロックＰ３の内部に完全に含まれる場所へ移動した場合には、メタル密度の検出を省略する。
【０００７】
ステップＳ３の判断により、メタル密度検出領域Ｐ１がチップＰ２内に配置されたハードブロックＰ３に１００％含まれている場合、その部分はメタル密度の検出を行わないので、図１ＢのステップＳ７へ処理を移す。メタル密度検出領域Ｐ１がチップＰ２内に配置されたハードブロックに完全に含まれていなければ、ステップＳ４へ処理を移す。ステップＳ４は、メタル密度検出領域Ｐ１におけるメタル部分の面積と、メタル密度検出領域Ｐ１の全面積の比を算出するステップである。ただし、ここでは本製品の製造プロセスにおける最小の配線幅の配線はメタル密度の算出対象外としている。ステップＳ５は、ステップＳ４で算出したメタル密度は、メタル密度違反を生じさせる所定の閾値を超えているかを判断するステップである。ここで、閾値は本製品の製造プロセスによって決められる値であり、例えば５０％というような値である。ステップＳ４で算出したメタル密度が閾値を超えていない場合は、ステップＳ７へ処理を移す。メタル密度が閾値を超えていた場合、ステップＳ６の処理を実行する。ステップＳ６は、ダミー層の現在のメタル密度検出領域Ｐ１と同じ部分を塗りつぶす（マーキング）処理を行うステップである。ダミー層は、チップＰ２と同一の大きさであるが実際のレイアウトには反映されないもので、設計時において他の層と論理演算するためだけに存在するデータで表される。
【０００８】
図１Ｂにおいて、ステップＳ７は、メタル密度検出領域Ｐ１をピッチＸ’だけＸ方向に移動するステップである。ステップＳ８は、メタル密度検出領域Ｐ１がチップＰ２からはみ出たかを判断するステップである。メタル密度検出領域Ｐ１がチップＰ２からはみ出た場合は、ステップＳ９へ処理を移す。メタル密度検出領域Ｐ１がチップＰ２からはみ出ていない場合は、ステップＳ１０へ処理を移す。ステップＳ９は、メタル密度検出領域Ｐ１をピッチＹ’だけＹ方向に移動すると共に、メタル密度検出領域Ｐ１のＸ座標を０に戻すステップである。ステップＳ１０は、メタル密度検出領域Ｐ１がチップＰ２からはみ出たかを判断するステップである。メタル密度検出領域Ｐ１がチップＰ２からはみ出た場合は、全領域の検出が終了したことになるので終了する。メタル密度検出領域Ｐ１がチップＰ２からはみ出ていない場合は、ステップＳ３へ処理を移す。
【０００９】
電源配線等の太幅配線及びハードブロック近辺では、上限値を超えるメタル密度になりやすい傾向にある。メタル密度が上限値を超えた場合、メタルのレイアウトパターンの修正が必要となる。現状では、ハードブロック内部と、ハードブロック近辺の電源配線に関わるメタル密度の確認は、ハードブロック内部のレイアウトパターンを含んでいる必要がある。そのため、太幅配線及び細幅配線の配置が完了したデータ（以降、配線済データと記す）でのみ、メタル密度の確認が可能となっている。配線済データにおける確認では、レイアウト設計における手戻りが大きい。よって、電源配線実施時点で、メタル密度の確認及び修正が望まれている。
【００１０】
図３Ａ及び図３Ｂは、一般的なレイアウト設計フローを示したものである。今日のレイアウト設計は、コンピュータを用いて行われており、図示するレイアウト設計フローは、コンピュータがレイアウト設計プログラムを実行することにより実現される。図３Ａ及び図３Ｂにおけるレイアウト設計プログラムは、フロアプラン・プログラムと、電源配線・プログラムと、自動配置・プログラムと、自動配線・プログラムと、データマージ・プログラムと、レイアウト検証・プログラムと、検証結果判定・プログラムとを含み、これらは、それぞれツールとして提供されている。
【００１１】
図３Ａにおいて、ステップＳ１１は、フロアプランを実施するステップである。ここでは、フロアプラン・プログラムが実行され、コンピュータは、回路の接続状態を表したネットリストＤ１、ハードブロック（ＲＡＭなど）及びプリミティブセル（論理素子など）の外形情報及び端子情報を有する製品概略データＤ２を読み込む。そして、レイアウト設計者の指示操作を受けて、コンピュータが、半導体製品に搭載するハードブロックおよび自動配置配線領域の規模から、チップサイズやハードブロック位置を決定する処理を行う。ハードブロック配置済レイアウトデータＤ４が出力される。ステップＳ１２は、電源配線を実施するステップである。ここでは、電源配線・プログラムが実行され、コンピュータは、ネットリストＤ１、ハードブロック配置済レイアウトデータＤ４を読み込む。そして、必要に応じて、レイアウト設計者の指示操作を受けて、コンピュータが、半導体製品に搭載するハードブロックや各論理素子に電源を供給する電源配線をレイアウトする処理を行う。電源配線済レイアウトデータＤ５が出力される。ステップＳ１３は、自動配置を実施するステップである。ここでは、自動配置・プログラムが実行され、コンピュータが、ネットリストＤ１、電源配線済レイアウトデータＤ５を読み込むと共に、ネットリストＤ１に従って、論理素子（プリミティブセル：ステップＳ１１にて配置したハードブロックを除く。）を自動配置する処理を行う。配置済レイアウトデータＤ６が出力される。ステップＳ１４は、自動配線を実施するステップである。ここでは、自動配線・プログラムが実行され、ネットリストＤ１、配置済レイアウトデータＤ６を読み込んで、コンピュータが、ステップＳ１３で自動配置された論理素子間の信号線を、アルミニウム等の配線用の層を用いて自動的に接続する処理を行う。実配線済レイアウトデータが出力される。
【００１２】
図３Ｂにおいて、ステップＳ１５は、データマージを実施するステップである。ここでは、データマージ・プログラムが実行され、コンピュータが、ネットリストＤ１を読み込むと共に、ハードブロック及びプリミティブセルの実レイアウトデータを有する製品詳細データＤ３と、実配線済レイアウトデータＤ７とを自動的にデータマージする処理を行う。マージ済レイアウトデータＤ８が出力される。ステップＳ１６は、ステップＳ１５で作成されたレイアウトデータの検証を実施するステップである。ここでは、レイアウト検証・プログラムが実行され、レイアウトパターンが設計ルールに従って作成されているかの確認を、コンピュータが自動的に行う。メタル密度違反は、ステップＳ１６において検出される。
【００１３】
ステップＳ１７は、ステップＳ１６の検証結果を判定するステップである。ここでは、検証結果判定・プログラムが実行され、何らかの違反が有ると判定された場合（ＮＧ判定）には、コンピュータから、その結果が出力され、手戻りが行われる。すなわち、メタル密度違反発生時には、電源配線（ステップＳ１２）へ戻り、再度、電源配線・プログラムを実行する。配置に起因する設計基準違反発生時には、自動配置（ステップＳ１３）へ戻り、再度、自動配置・プログラムを実行する。配線に起因する設計基準違反発生時には、自動配線（ステップＳ１４）へ戻り、再度、自動配線・プログラムを実行する。なお、検証結果判定（ステップＳ１７）においてエラーが検出されなかった場合（ＯＫ判定）には、レイアウト設計が終了する。
【００１４】
図３ＢのステップＳ１７において、メタル密度違反発生時には電源配線（ステップＳ１２）へ戻り、再度、電源配線・プログラムを起動し、メタル密度違反領域の修正を行う。図４は、電源配線・プログラムを実行するコンピュータによって行われるメタル密度違反領域の修正処理を説明するフローチャートであり、図５Ａ及び図５Ｂは、その解説図である。図５Ａに、メタル密度違反領域の一例が示されている。図５Ａのレイアウトを参照すると、４本の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７が相互に並行してなる格子配線Ｇ１の左端部で、５本の素線Ｐ１２、・・・、Ｐ２０が相互に並行してなる格子配線Ｇ２が交差（接続）している。また、格子配線Ｇ１の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７及び格子配線Ｇ２の素線Ｐ１２、・・・、Ｐ２０の幅は、それぞれ、いずれも製造プロセス上の制約からきまる最大線幅ａ（例えば、３μｍ）以下に設定されている。更に、格子配線Ｇ１における各素線間の間隔、及び、格子配線Ｇ２における各素線間の間隔は、いずれも単独では単位面積当たりの配線占有率が製造プロセスの制約から決まる最大配線占有率ｂ（例えば８０％）よりも小さくなるように設定されている。
【００１５】
まず、図５Ａに示すように、仮想的に格子配線Ｇ１と格子配線Ｇ２とを所定の位置で単純に交差させる（図４ステップＳ２０）。図５Ａの状態では、格子配線Ｇ１，Ｇ２の交差部の配線占有率が最大配線占有率ｂを超えていたとする。そこで、図５Ａに示すように、ダミー層にマーキング領域Ｐ１０を生成する。次に、マーキング領域Ｐ１０における格子配線Ｇ１の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７の長さＷ１と格子配線Ｂの素線Ｐ１２、・・・、Ｐ２０の長さＷ２とを比較する（ステップＳ２１）。長い方の素線を、位置変更する素線とする（ステップＳ２２）。ここでは、格子配線Ｇ１の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７の長さＷ１の方が格子配線Ｇ２の素線Ｐ１２、・・・、Ｐ２０の長さＷ２よりも長いので、格子配線Ｇ１の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７を位置変更する素線とする。但し、素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７のうち位置変更する部分は、格子配線Ｇ１、Ｇ２が交差する部分のみとする。ここでは、素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７のうち位置変更する部分を、素線Ｐ１１ａ、Ｐ１３ａ、Ｐ１５ａ、Ｐ１７ａという。なお、マーキング領域Ｐ１０における格子配線Ｇ１の素線Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７の長さＷ１と、格子配線Ｇ２の素線Ｐ１２、・・・、Ｐ２０の長さＷ２とが同じ場合は、任意に選択したいずれか一方の素線、又は両方の素線を位置変更する素線とすればよい。
【００１６】
次に、位置変更するときの基準位置を決める。図４の修正フローでは、図５Ａに示すように、格子配線Ｇ１の中心線Ｘと、格子配線Ｇ２の中心線Ｙとの交点を基準位置Ｃとする（ステップＳ２３）。基準位置Ｃを決めたら、図５Ｂに示すように、マーキング領域Ｐ１０、及びその近傍の単位面積当たりの配線占有率が最大配線占有率ｂよりも小さくなるまで、素線Ｐ１１ａ、Ｐ１３ａ、Ｐ１５ａ、Ｐ１７ａの位置を基準位置Ｃから離れる方向にずらす（ステップＳ２４）。このとき、素線Ｐ１１ａ、Ｐ１３ａ、Ｐ１５ａ、Ｐ１７ａは、格子配線Ｇ２の中心線Ｙに沿ってずらし、素線Ｐ１１ａ、Ｐ１３ａ、Ｐ１５ａ、Ｐ１７ａが格子配線Ｇ１、Ｇ２の縁から外にでないようにする。このようにして、マーキング領域Ｐ１０における配線の設計が完了する。
【００１７】
【特許文献１】特開２００５−２４３８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
特許文献１に記載された配線レイアウト設計装置では、マクロブロックの外側領域の配線面積率を測定し、その測定結果に基づいて、電源配線を補強している。これにより、マクロブロックの外側において、配線面積率の制約を満足することが可能になる。しかしながら、マクロブロック外側の外周部において、電源配線とマクロブロックとを共に含む領域の配線面積率が所定の制約条件を満足していない場合には、電源配線のレイアウトをやり直さなければならないという課題がある。
【００１９】
また、図３Ａ及び図３Ｂに示したレイアウト設計フローでは、レイアウト検証工程に至るまで、メタル密度違反の発見ができない。メタル密度違反が発見されたときには、電源配線工程をやり直さなければならないので、電源配線時の作り込みができない。そのため、配線済データに対して繰り返し修正を入れる必要があり、この作業に時間を要するという課題があった。
【課題を解決するための手段】
【００２０】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２１】
本発明の一つのアスペクトによる半導体集積回路におけるレイアウト設計方法は、コンピュータを用いて半導体集積回路のレイアウトを行う方法である。ハードブロックをレイアウトする工程（Ｓ１１）は、少なくとも一つのハードブロックを有する半導体集積回路の回路情報を読み込んで、レイアウト設計対象の半導体集積回路のレイアウト領域にハードブロックをレイアウトする。電源配線をレイアウトする工程（ＳＡ１２）は、半導体集積回路のレイアウト領域に電源配線をレイアウトする。検証する工程（ＳＡ１２）は、ハードブロックと電源配線とがメタル密度違反を生じさせていないかを検証する。解消する工程（ＳＡ１２）は、メタル密度違反が発見された場合に、レイアウトの修正を行って、メタル密度違反を解消する。信号線をレイアウトする工程（Ｓ１４）は、解消する工程（ＳＡ１２）の後に、半導体集積回路のレイアウト領域に回路情報が有する信号線をレイアウトする。
【００２２】
本発明の別のアスペクトによる半導体集積回路のレイアウト設計装置においては、配置配線処理部（Ｂ９）と、メタル密度違反判定部（Ｂ１０）と、メタル密度違反回避処理部（Ｂ１１）とを備える。配置配線処理部（Ｂ９）は、少なくとも１つのハードブロックを有する半導体集積回路の回路情報を読み込んで、レイアウト設計対象の半導体集積回路のレイアウト領域に、ハードブロックの配置と、電源配線の配置とを行う。メタル密度違反判定部（Ｂ１０）は、ハードブロックと電源配線とがメタル密度違反を生じさせていないかを検証する。メタル密度違反回避処理部（Ｂ１１）は、メタル密度違反が検出された場合は、レイアウトの修正を行って、メタル密度違反を回避する。メタル密度違反が回避された後に、配置配線処理部（Ｂ９）は、回路情報が有する信号線の配線処理を行う。
【００２３】
メタル密度違反の検証は、メタル面積情報（Ｄ９）を読み込んで、ハードブロック内部のメタル情報を取得することによって行うことができる。上記レイアウト設計方法における各工程は、それぞれ、プログラムの手順としてコンピュータに実行させることができる。
【発明の効果】
【００２４】
本発明によれば、配線済データで発生するメタル密度違反の問題を、電源配線段階で早期に発見して、作り込みを行うことができるので、手戻りを防止することが可能になる。また、ハードブロック境界部分の電源配線を早期に精度良く設計することができるようになる。
【発明を実施するための最良の形態】
【００２５】
本発明によるレイアウト設計方法を使用したレイアウト設計装置の一例について詳細に説明する。図６に、レイアウト設計装置のブロック構成図を示す。図示するように、レイアウト設計装置は、演算装置Ｂ１と、記憶装置Ｂ２と、システムバスＢ７と、外部からの操作を受け付ける操作入力部Ｂ８と、外部に対して表示を行う表示部Ｂ６と、操作入力部Ｂ８と表示部Ｂ６の間に位置し、入出力データのやり取りを行うインターフェース部Ｂ５と、処理結果の一時保存を行うＲＡＭ部Ｂ４と、設計ルール等が格納されているＲＯＭ部Ｂ３とを有している。記憶装置Ｂ２は、ハードブロックメタル密度データベースＢ１２と、レイアウトデータベースＢ１３と、ネットリストＢ１４と、オペレーティングシステムＯＳとを格納している。演算装置Ｂ１は、自動配置配線処理部Ｂ９と、メタル密度違反判定部Ｂ１０と、メタル密度違反回避処理部Ｂ１１とを含んでいる。システムバスＢ７に接続された各ブロックＢ１〜Ｂ５は、システムバスＢ７を介して、データのやり取りを行うことができる。
【００２６】
図６のレイアウト設計装置はコンピュータでなり、レイアウト設計プログラムを実行している。図７Ａ及び図７Ｂは、そのレイアウト設計プログラムによる処理を説明するレイアウト設計フローチャートである。図７Ａ及び図７Ｂのレイアウト設計フローは、図３Ａ及び図３Ｂのレイアウト設計フローを改良したものであり、以下、説明を簡素化するため、異なるところのみを詳細に述べる。図７Ａ及び図７Ｂを図３Ａ及び図３Ｂと対比させると、電源配線を行うステップ（ＳＡ１２）、及び、検証結果に応じて戻るステップ（ＳＡ１７）が変更されていて、かつ、ステップＳＡ１２で用いるハードブロック内部のメタル面積情報Ｄ９が新たに追加されている。
【００２７】
先に、検証結果に応じて戻るステップ（ＳＡ１７）について説明しておく。ステップＳＡ１７では、修正が加えられた検証結果判定・プログラムが実行され、ここでエラーが検出された場合には（ＮＧ判定）、レイアウト設計装置からその結果が出力され、レイアウトをやり直すために上流の工程へ戻る。すなわち、配置に起因する設計基準違反発生時には、自動配置工程（Ｓ１３）へ戻り、再び、自動配置・プログラムを実行する。配線に起因する設計基準違反発生時には、自動配線工程（Ｓ１４）へ戻り、自動配線・プログラムを実行する。本実施の形態では、電源配線によるメタル密度違反は、電源配線工程（ＳＡ１２）にて、改良された電源配線・プログラムを実行することによって解消することとしているので、図３Ａ及び図３Ｂのように、電源配線工程へ戻る場合が除外されている。なお、ステップＳＡ１７においてエラーが検出されなかった場合には（ＯＫ判定）、レイアウト設計が完了し、レイアウト設計を終了する。
【００２８】
次に、電源配線工程（ＳＡ１２）について説明する。図６のレイアウト設計装置は、電源配線工程（ＳＡ１２）において、改良された電源配線・プログラムを実行する。改良された電源配線・プログラムは、図８に示す流れ図に従って処理を行う。図８は次の９つのステップを含んでいる。ステップＳ３１は、ハードブロック内部のメタル面積情報Ｄ９の読み込みを行うステップである。レイアウト設計装置は、ハードブロック内部のメタル面積情報Ｄ９を読み込み、このデータを、図６に示した記憶装置Ｂ２におけるハードブロックメタル密度データベースＢ１２に格納する。ステップＳ３２は、メタル面積情報の展開を実施するステップである。レイアウト設計装置は、メタル面積情報をチップ上のハードブロック配置位置に割り当てる処理を行う。ステップＳ３３は、図１Ａ及び図１Ｂに示したようなフローチャートに従い、メタル密度違反を検出するステップである。エラーとして検出されたマーキング領域がダミー層へ登録される。ステップＳ３４は、マーキング領域と太幅配線のＡＮＤ演算を実施するステップである。マーキング領域と太幅配線のＡＮＤ演算を行うことにより、メタル密度違反の要因となっている太幅配線が修正対象として検出される。
【００２９】
ステップＳ３５は、レイアウト設計装置が、エラーとして検出された太幅配線を、メタル密度違反がなくなる距離まで、ハードブロックから離すことを行うステップである。離す距離は、太幅配線の幅、その１０分割した幅などとすれば良い。これに限らず、製造プロセスの配線間隔などを元に決定しても良い。なお、配線を移動させる空き領域が無い場合などには、フロアプランから設計し直しとなることもあり得る。
【００３０】
ステップＳ３６は、ハードブロックと太幅配線の間隔を空けた後のチップデータに対して、レイアウト設計装置が、移動した太幅配線の線分を包含する領域において、メタル密度違反の検証を行うステップである。ステップＳ３７は、レイアウト設計装置により、ステップＳ３６における検証結果が、規定されたメタル密度の閾値を超えていないか確認するステップである。メタル密度の閾値を超えていた場合は、ステップＳ３５へ戻る。超えていなかった場合はステップＳ３８へ進む。ステップＳ３８は、ステップＳ３７において、メタル密度違反が検出されなかった場合に、レイアウト設計装置により、チップ全配線について処理が完了したかを確認するステップである。全配線の処理が完了している場合は、電源配線工程を完了し、残りの修正対象配線がある場合は、ステップＳ３９へ進む。ステップＳ３９は、次の修正対象線分の処理へ移るステップである。レイアウト設計装置は、ステップＳ３５へ戻り、メタル密度違反領域の修正を行う。
【００３１】
続いて、ハードブロック内部のメタル面積情報Ｄ９について説明する。メタル面積情報Ｄ９は、ハードブロック内部のメタル領域を２次元データとして記憶したデータベースである。図９は、メタル面積情報Ｄ９の概要説明図である。図９は、メタル密度検出領域が一辺４００μｍの正方形であり、Ｘ方向及びＹ方向のピッチＸ’及びＹ’が共に１０μｍとした場合に必要となるメタル面積情報を示している。一辺４００μｍのメタル密度検出領域が、ハードブロックＰ４１外側の外周部であって、境界から外側へ１０μｍの距離にあり、かつ、ハードブロックＰ４１内側の周辺部であって、境界から内側へ３９０μｍの距離にある場所を移動する場合を考慮する。このとき、メタル面積情報としては、図示するように、太幅配線Ｐ４０がメタル密度違反を生じさせるか否かを検証するためには、ハードブロックＰ４１内側の周辺部であって、境界から内側へ３９０μｍの距離にある領域についてのみの情報があれば良い。図９に説明されるメタル面積情報Ｄ９では、ハードブロックＰ４１内側の周辺部において、三つのメタル領域Ｐ４２〜Ｐ４４が存在し、その他の周辺部にはメタル密度領域が存在していない。なお、ハードブロックＰ４１の内部、境界から内側へ３９０μｍの距離を超える領域についてのメタル面積情報は省略されており、このデータ不要領域にメタルが存在するか否かは不明である。
【００３２】
図１０は、メタル密度領域の表現方法の一例を説明する図である。図１０は、矩形座標を用いて、メタル密度領域を表現する例である。図１０において、ハードブロックＰ５０は、データ不要領域Ｐ５４を除く周辺部において、三つのメタル密度領域Ｐ５１〜Ｐ５３を有している。図中、座標が定義されている。ハードブロックＰ５０の左上端が、（ｘ，ｙ）＝（１，３）であり、右下端が、（ｘ，ｙ）＝（３，−３）である。さて、二つのメタル領域Ｐ５１、Ｐ５２は、Ｘ座標＝２でつながっているので、矩形座標を用いて、一つの表現方法にて表すことができる。すなわち、｛（１，１）、（２，１）、（２，２）、（３，２）、（３，３）、（１，３）｝となる。
【００３３】
図１１は、メタル密度領域の表現方法の別の例を説明する図である。図１１は、マトリクスを用いて、メタル密度領域を表現する例である。図１１において、ハードブロックＰ６０は、データ不要領域Ｐ６４を除く周辺部において、三つのメタル密度領域Ｐ６１〜Ｐ６３を有している。図中、マトリクスの行は、上から、１，２，３，・・・の数字で表現され、マトリクスの列は、左から、Ａ，Ｂ，Ｃ，・・・のアルファベット文字で表現されている。これらのアルファベット文字と数字とを組み合わせると、マトリクスの各マスが一意に定まる。例えば、Ｄ２マスは、図示されているように二重丸が付されたマスになる。
【００３４】
図１１において、［行１］のメタル面積情報は、｛１，１，１，１，１，１，１，１，０，０，０，０，０，０，０｝のように表すことができる。”１”は、そのマスにメタル密度が存在することを表し、”０”は、そのマスにメタル密度が存在しない、すなわちメタルが無いことを表している。同様に、［行２］のメタル面積情報は、｛１，１，１，１，１，１，１，１，０，０，０，０，０，０，０｝のように表すことができる。データ量を少なくするために、一桁目に左端の状態を、二桁目から”０”又は”１”のマスの数を交互に表記する手法を用いても良い。このとき、｛１，１，１，１，１，１，１，１，０，０，０，０，０，０，０｝−＞｛１，８，７｝と変換される。
【実施例１】
【００３５】
図１２Ａ〜図１２Ｆは、電源配線工程（ＳＡ１２）におけるレイアウト修正処理の説明図である。図１２Ａは、修正対象となるチップの初期レイアウトを示したものであり、チップＰ２２と、太幅配線Ｐ２４と、少なくとも一つ以上のハードブロックＰ２３と、図８のステップＳ３２においてメタル面積情報が展開された領域Ｐ２５とが表されている。ハードブロックＰ２３は、メタルを有する領域Ｐ２５と、メタルの無い領域とに分けられる。
【００３６】
図８のステップＳ３３においては、例えば、図１Ａ及び図１Ｂのフローチャートに従い、メタル密度違反領域の抽出を行う。図１２Ｂは、図１Ａ及び図１Ｂのフローチャートで何回かループを回し、メタル密度検出領域Ｐ２１を図示する位置まで移動させた状態を示している。図１２Ｂに示す位置にあるメタル密度検出領域Ｐ２１に対し、メタル密度の検出を行う。ここでは、メタル密度違反が検出されたとし、ダミー層において対応する位置にマーキングを行い、図１２Ｃに示すようなマーキング領域Ｐ２６を生成している。図１２Ｃは、図１Ａ及び図１Ｂのフローチャートでさらにループを繰り返し、メタル密度検出領域Ｐ２１を、予め決められた距離Ｘ’だけ移動させた状態を示している。この位置でもメタル密度違反が検出されたとする。図１２Ｄは、引き続き図１Ａ及び図１Ｂのフローチャートのループを繰り返した結果、マーキング領域Ｐ２６が拡大した状態を示している。図１２Ｄに説明されるように、図８のステップＳ３４では、マーキング領域Ｐ２６と、太幅配線Ｐ２４とのＡＮＤ演算が実施され、修正対象の配線線分Ｐ２７の抽出が行われる。
【００３７】
図１２Ｅに説明されるように、図８のステップＳ３５では、修正対象の配線線分Ｐ２７が、ハードブロックＰ２３から任意の距離Ｌ２だけ離れるように、レイアウトを変更する処理を実施する。図１２Ｅでは、太幅配線Ｐ２４全体を平行移動し、ハードブロックＰ２３から離した場合の例を示している。その他、図１２Ｆに示すように、修正対象の配線線分Ｐ２７をＬ字状に折り曲げて、マーキング領域Ｐ２６を迂回するようにしても良い。なお、図１２Ｅにおける任意の距離Ｌ２は、例えば配線幅を元に決定しても良いし、配線間隔の設計基準を元に決定しても良い。図８のステップＳ３６では、図１２Ｅに示すように、メタル密度違反の修正を行った線分を包含する領域で、再度メタル密度検証を実施する。エラーがなくなった場合は、図８のステップＳ３７へ移行する。
【実施例２】
【００３８】
電源配線工程（ＳＡ１２）におけるレイアウト修正処理の別の例について説明する。以下、図８、図１２Ａ〜図１２Ｄ、図１３Ａ、及び、図１３Ｂを用いて、実施例２について詳述する。図８のステップＳ３４までは、実施例１と同一である。実施例２では、修正対象の配線線分Ｐ２７をメタル密度違反が発生しない幅の細幅配線へ再配線することでメタル密度違反の回避を行う。図１３Ａ又は図１３Ｂは、実施例１における図１２Ｅ又は図１２Ｆと置き換わる部分を説明する図である。図１３Ａは、図１２Ｄの太幅配線Ｐ２４を、２本の等幅の細幅配線Ｐ２８、Ｐ２９へ再配線したレイアウトを表す図である。図１３Ａにおいて、細幅配線Ｐ２８、Ｐ２９の配線幅Ｌ３は、プロセスの制限からくる最小幅（例えば０．５μｍ）以上、ＣＭＰ法へ影響を及ぼさないとされる上限の配線幅（例えば１μｍ）以下の間とする。また、２本の細幅配線Ｐ２８、Ｐ２９の配線幅Ｌ３は、２本の和Ｌ３＋Ｌ３によって耐えることができる電流密度が、太幅配線Ｐ２４が耐えることができる電流密度と同等になるような幅とする。配線間隔Ｌ４、Ｌ５は、製造プロセスにより決められている配線間隔以上とする。
【００３９】
図１３Ａでは、一本の配線線分全体を複数本の細幅配線へ置き換える再配線を行ったが、メタル密度違反を発生していない領域については、細幅配線間が不要な面積となってしまう。この点を改良したものが図１３Ｂの手法である。図１３Ｂでは、メタル密度違反を発生していない領域は、細幅配線への再配線は行わず、くし型のレイアウトパターンを形成している。太幅配線Ｐ３０の配線幅は、太幅配線Ｐ２４と同一幅のＬ６である。これにより、マーキング領域Ｐ２６の外側では配線間スペースが不要となるので、細幅配線への再配線時に発生する配線間領域を最小限に抑えることができる。
【実施例３】
【００４０】
ハードブロックに隣接する領域において、メタル密度違反を発生している配線層以外の配線層に対して、配線可能な領域が存在する場合のレイアウト修正の実施例を図１４Ａに示す。メタル密度違反を発生している配線層に加えて、メタル密度違反を発生していない上層の配線層の複数層の配線層を用いて、ｎ層までの配線を使用したときに、単層の場合と比較して配線領域を１／ｎに縮小することが可能となる。図１４Ａは、ｎ＝２の場合の例であり、メタル密度違反を発生している配線層に第一の配線Ｐ３２をレイアウトし、上層の配線層に第二の配線Ｐ３１をレイアウトしている。図１４Ｂは、図１４Ａの変形例を示す図であり、第二の配線Ｐ３１の位置をずらし、配線Ｐ３１−２としたものである。図１４Ａの配線Ｐ３１は、下層の配線Ｐ３２の直上に重なる位置にあるが、図１４Ｂの配線Ｐ３１−２は、下層の配線Ｐ３２の直上に重なる位置にはない。このように、上層の配線Ｐ３１−２は、下層の配線Ｐ３２の直上に重ねなくても良い。
【００４１】
実施例３に関し、電源配線工程（ＳＡ１２）におけるレイアウト修正処理の説明図を図１５に示す。ステップＳ３１からステップＳ３４まで、及び、ステップＳ３６からステップＳ３９までの各ステップは、図８と同一である。図１５では、図８におけるステップＳ３５が、ステップＳ４０からステップＳ４２へと置き換わる。図１５に示すように、ステップＳ４０において、メタル密度違反領域の対象メタルの上層（及び近辺の配線層）がメタル密度違反とならないかを判断する。上層の配線層が、その層においてメタル密度違反を発生せず、他への悪影響も及ぼさない範囲においてはステップＳ４１へ進み、図１４Ｂの如く、細幅配線への再配線に上層も使用する。上層もメタル密度違反を発生するような場合は、ステップＳ４２へ進み、図１４Ａの如く、上層を使用せずに細幅配線への再配線を行う。
【実施例４】
【００４２】
上記レイアウト設計方法によって設計されたレイアウトに従って、半導体集積回路のレイヤー形成装置は、ハードブロック、電源配線、及び信号線を形成することができる。これにより、半導体集積回路を製造することができる。
【図面の簡単な説明】
【００４３】
【図１Ａ】図１Ａは、一般的なメタル密度の検出方法の一例を示すフローチャートである。
【図１Ｂ】図１Ｂは、図１Ａの続きである。
【図２】図２は、半導体チップの構成例を示す図である。
【図３Ａ】図３Ａは、一般的なレイアウト設計フローを示す図である。
【図３Ｂ】図３Ｂは、図３Ａの続きである。
【図４】図４は、メタル密度違反領域の修正処理について説明するフローチャートである。
【図５Ａ】図５Ａは、メタル密度違反領域の修正前のレイアウト図である。
【図５Ｂ】図５Ｂは、メタル密度違反領域の修正後のレイアウト図である。
【図６】図６は、レイアウト設計装置の一例を示すブロック構成図である。
【図７Ａ】図７Ａは、レイアウト設計フローチャートである。
【図７Ｂ】図７Ｂは、図７Ａの続きである。
【図８】図８は、電源配線工程（ＳＡ１２）の一例を詳述するフローチャートである。
【図９】図９は、メタル面積情報Ｄ９の概要説明図である。
【図１０】図１０は、メタル密度領域の表現方法の一例を説明する図である。
【図１１】図１１は、メタル密度領域の表現方法の別の例を説明する図である。
【図１２Ａ】図１２Ａは、図８のフローに係るレイアウト修正処理の説明図である。
【図１２Ｂ】図１２Ｂは、図１２Ａの次の段階の説明図である。
【図１２Ｃ】図１２Ｃは、図１２Ｂの次の段階の説明図である。
【図１２Ｄ】図１２Ｄは、図１２Ｃの次の段階の説明図である。
【図１２Ｅ】図１２Ｅは、図１２Ｄの次の段階の説明図である。
【図１２Ｆ】図１２Ｆは、図１２Ｅの別の例を示す説明図である。
【図１３Ａ】図１３Ａは、細幅配線への再配線によるレイアウト修正処理の説明図である。
【図１３Ｂ】図１３Ｂは、図１３Ａの変形例を示す図である。
【図１４Ａ】図１４Ａは、図１５のフローに係るレイアウト修正処理の説明図である。
【図１４Ｂ】図１４Ｂは、図１４Ａの変形例を示す説明図である。
【図１５】図１５は、図８の別の例を詳述するフローチャートである。
【符号の説明】
【００４４】
Ｂ１  演算装置
Ｂ２  記憶装置
Ｂ３  ＲＯＭ部
Ｂ４  ＲＡＭ部
Ｂ５  インターフェース部
Ｂ６  表示部
Ｂ７  システムバス
Ｂ８  操作入力部
【図１Ａ】
2009130228.tif 000003
【図１Ｂ】
2009130228.tif 000004
【図２】
2009130228.tif 000005
【図３Ａ】
2009130228.tif 000006
【図３Ｂ】
2009130228.tif 000007
【図４】
2009130228.tif 000008
【図５Ａ】
2009130228.tif 000009
【図５Ｂ】
2009130228.tif 000010
【図６】
2009130228.tif 000011
【図７Ａ】
2009130228.tif 000012
【図７Ｂ】
2009130228.tif 000013
【図８】
2009130228.tif 000014
【図９】
2009130228.tif 000015
【図１０】
2009130228.tif 000016
【図１１】
2009130228.tif 000017
【図１２Ａ】
2009130228.tif 000018
【図１２Ｂ】
2009130228.tif 000019
【図１２Ｃ】
2009130228.tif 000020
【図１２Ｄ】
2009130228.tif 000021
【図１２Ｅ】
2009130228.tif 000022
【図１２Ｆ】
2009130228.tif 000023
【図１３Ａ】
2009130228.tif 000024
【図１３Ｂ】
2009130228.tif 000025
【図１４Ａ】
2009130228.tif 000026
【図１４Ｂ】
2009130228.tif 000027
【図１５】
2009130228.tif 000028