(57)【要約】【課題】信頼性上のピーク電流制約により配線幅やビア数を調整する必要のある信号配線の数を最小限にすることができ、また再配置配線等の後戻りが発生せずに、ピーク電流制約を満足する半導体集積回路の信頼性検証方法及びレイアウト設計方法を提供する。【解決手段】ピーク電流制約と、遅延ライブラリに記述されている各セルの出力スルーレートとから、負荷容量制約を計算する（ステップＳ１０８）。負荷容量制約に基づいて、ネットリストのファンアウト数及びセル駆動力の調整を行う（ステップＳ１０５）。また、セル毎に再調整の必要のない配線幅及びビア数を記述したテーブルを参照して、各セルの出力端子に接続されたネットに対して、所定の配線幅及びビア数の設定を行う（ステップＳ１０６）。これにより、予めネットリストを最適化でき、また再配置配線を行う必要なく、ピーク電流制約を満足することができる。【選択図】図１
2007193518.tif 000002
【特許請求の範囲】
【請求項１】
論理機能を有する複数のセルを配置して、当該セルの端子間を配線とビアとで接続してなる半導体集積回路のレイアウト設計方法であって、
瞬間的な最大電流であるピーク電流に関するピーク電流制約と、遅延ライブラリから取り出した、前記セルの出力端子から出力される信号の出力スルーレートの情報とを使用して、前記セルについての負荷容量制約を計算する第１のステップと、
ネットリストから計算される前記セルの出力端子に接続されるネットの負荷容量と前記遅延ライブラリとから、ネットの遅延時間を計算する第２のステップと、
前記ネットの負荷容量が前記負荷容量制約を超えている第１の特定ネットについて、当該第１の特定ネットの遅延時間がタイミング制約を満たす範囲内で、ファンアウト数及びセル駆動力の調整を行う第３のステップとを備える、半導体集積回路のレイアウト設計方法。
【請求項２】
前記第１のステップでは、前記ピーク電流制約を前記出力スルーレートで割った値の定数倍を前記負荷容量制約とすることを特徴とする、請求項１に記載の半導体集積回路のレイアウト設計方法。
【請求項３】
前記第３のステップの後に、前記ピーク電流制約を超える可能性のある特定セルに対して、前記ピーク電流制約を満たすように、当該特定セルに設定された所定の配線幅及び所定のビア数を予め計算したテーブルを参照して、前記特定セルの出力端子に接続されるネットの配線及びビアに対して、前記所定の配線幅及び前記所定のビア数を設定する第４のステップをさらに備えることを特徴とする、請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項４】
前記遅延ライブラリから取り出した前記セルの駆動能力に関する情報から、前記セルの最大ピーク電流を計算し、前記ピーク電流制約を超える可能性のある特定セルに対して、前記ピーク電流制約を満たすために必要な所定の配線幅及び所定のビア数を計算する第４のステップと、
前記第３のステップの後に、前記特定セルの出力端子に接続するネットの配線及びビアに対して、前記所定の配線幅及び前記所定のビア数を設定する第５のステップとをさらに備えることを特徴とする、請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項５】
前記第３のステップの後に、前記負荷容量制約を超えている第２の特定ネットを検出する第４のステップと、
前記ピーク電流制約を超える可能性のある特定セルに対して、前記ピーク電流制約を満たすように、当該特定セルに設定された所定の配線幅及び所定のビア数を予め計算したテーブルを参照して、前記特定セルの出力端子に接続されるネットのうち、前記第２の特定ネットの配線及びビアに対して、前記所定の配線幅及び前記所定のビア数を設定する第５のステップとをさらに備えることを特徴とする、請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項６】
前記第３のステップの後に、前記負荷容量制約を超えている第２の特定ネットを検出する第４のステップと、
前記遅延ライブラリから取り出した前記セルの駆動能力に関する情報から、前記セルの最大ピーク電流を計算し、前記ピーク電流制約を超える可能性のある特定セルに対して、前記ピーク電流制約を満たすために必要な所定の配線幅及び所定のビア数を計算する第５のステップと、
前記特定セルの出力端子に接続されるネットのうち、前記第２の特定ネットの配線及びビアに対して、前記所定の配線幅及び前記所定のビア数を設定する第６のステップとを備えることを特徴とする、請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項７】
論理機能を有する複数のセルを配置して、前記セルの端子間を配線とビアとで接続してなる半導体集積回路のレイアウト設計方法であって、
配置配線を行う第１のステップと、
ネットリストから計算される前記セルの出力端子に接続されるネットの負荷容量と遅延ライブラリとから、前記セルの遅延時間及び出力端子から出力される信号の出力スルーレートを計算する第２のステップと、
前記ネットの負荷容量と前記出力スルーレートとに基づいて、前記セルの出力端子側に接続される配線及びビアに流れるセルピーク電流を計算する第３のステップと、
前記第１のステップにより決定される前記セルの配置情報に基づいて、電源配線を共有する第１の所定の範囲内に配置されたセルと、接地配線を共有する第２の所定の範囲内に配置されたセルとに対して、前記遅延時間と前記セルピーク電流とを重ね合わせることにより、前記電源配線に流れる電源ピーク電流を計算する第４のステップと、
前記電源ピーク電流がピーク電流制約以下であるか否かを検証する第５のステップと、
前記電源ピーク電流が前記ピーク電流制約を満足するように、前記第１又は第２の所定の範囲内に配置されたセルを前記第１又第２の所定の範囲外に再配置する第６のステップとを備える、半導体集積回路のレイアウト設計方法。
【請求項８】
前記第４のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、前記ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、前記ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とし、
前記ピーク電流制約は、前記ビアの許容電流値であることを特徴とする、請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項９】
前記第４のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、前記ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアと接続されるストラップ接地配線と、前記ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とし、
前記ピーク電流制約は、前記セル電源配線の許容電流値であることを特徴とする、請求項７に記載半導体集積回路のレイアウト設計方法。
【請求項１０】
前記第６のステップでは、前記電源ピーク電流が前記ピーク電流制約を満足するように、前記セルピーク電流が最も大きい順に、前記第１又は第２の所定の範囲内に配置されたセルを前記第１又は第２の所定の範囲の外に再配置することを特徴とする、請求項７〜９のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
前記第６のステップでは、前記電源ピーク電流が前記ピーク電流制約を満足し、かつ、電源ピーク電流の値が最もピーク電流制約に近づくように、前記第１又は第２の所定の範囲内に配置されたセルを前記第１又は第２の所定の範囲の外に再配置することを特徴とする、請求項７〜９のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
論理機能を有する複数のセルを配置して、前記セルの端子間を配線とビアとで接続してなる半導体集積回路のレイアウト設計方法であって、
配置配線を行う第１のステップと、
電源配線を共有する第１の所定の範囲内と接地配線を共有する第２の所定の範囲内とに配置されたクロックセルの数が、許容する個数を満足するか否かを検証する第２のステップと、
前記クロックセルの数が前記許容する個数を満足するように、前記第１又は第２の所定の範囲内に配置されたセルを前記第１又第２の所定の範囲外に再配置する第３のステップとを備える、半導体集積回路のレイアウト設計方法。
【請求項１３】
前記第２のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、前記ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、前記ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とすることを特徴とする、請求項１２に記載の半導体集積回路のレイアウト設計方法。
【請求項１４】
前記第２のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、前記ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアと接続されるストラップ接地配線と、前記ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とすることを特徴とする、請求項１２に記載の半導体集積回路のレイアウト設計方法。
【請求項１５】
前記第２のステップでは、１つのクロックセルから分岐した複数段のクロックセルで構成されるクロックツリーのうち、同一段のクロックセルの数について、許容する個数以下であるか否かを検証することを特徴とする、請求項１２〜１４のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項１６】
論理機能を有する複数のセルを配置して、前記セルの端子間を配線とビアとで接続してなる半導体集積回路のレイアウト設計方法であって、
電源配線を共有する第１の所定の範囲と接地配線を共有する第２の所定の範囲とを重ね合わせた範囲を、他のクロックセルの配置を禁止する配置禁止領域に設定する第１のステップと、
配置配線を行う第２のステップとを備える、半導体集積回路のレイアウト設計方法。
【請求項１７】
前記第１のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、前記ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、前記ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とすることを特徴とする、請求項１６に記載の半導体集積回路のレイアウト設計方法。
【請求項１８】
前記第１のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、前記ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアと接続されるストラップ接地配線と、前記ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とすることを特徴とする、請求項１６に記載の半導体集積回路のレイアウト設計方法。
【請求項１９】
前記第１のステップでは、前記他のクロックセルの配置を禁止する配置禁止領域について、１つのクロックセルから分岐した複数段のクロックセルで構成されるクロックツリーのうち、同一段のクロックセルのみの配置を禁止するように設定することを特徴とする、請求項１６〜１８のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項２０】
論理機能を有する複数のセルを配置して、当該セルの端子間を配線とビアとで接続してなる半導体集積回路の信頼性検証方法であって、
配置配線を行う第１のステップと、
ネットリストから計算される前記セルの出力端子に接続されるネットの負荷容量と遅延ライブラリとから、前記セルの遅延時間及び出力端子から出力される信号の出力スルーレートを計算する第２のステップと、
前記ネットの負荷容量と前記出力スルーレートとに基づいて、前記セルの出力端子側に接続される配線及びビアに流れるセルピーク電流を計算する第３のステップと、
前記第１のステップにより決定される前記セルの配置情報に基づいて、電源配線を共有する第１の所定の範囲内に配置されたセルと、接地配線を共有する第２の所定の範囲内に配置されたセルとに対して、前記遅延時間と前記セルピーク電流とを重ね合わせることにより、前記電源配線に流れる電源ピーク電流を計算する第４のステップと、
前記電源ピーク電流がピーク電流制約以下であるか否かを検証する第５のステップとを備えることを特徴とする、半導体集積回路の信頼性検証方法。
【請求項２１】
前記第４のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、前記ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、前記ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とし、
前記ピーク電流制約は、前記ビアの許容電流値であることを特徴とする、請求項２０に記載の半導体集積回路の信頼性検証方法。
【請求項２２】
前記第４のステップでは、
前記セルのセル電源配線を共有する１つ以上のロウに対して、前記セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、前記ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を前記第１の所定の範囲とし、
前記セルのセル接地配線を共有する１つ以上のロウに対して、前記セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線と、前記ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を前記第２の所定の範囲とし、
前記ピーク電流制約は、前記セル電源配線の許容電流値であることを特徴とする、請求項２０に記載の半導体集積回路の信頼性検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のエレクトロマイグレーション等の不具合を起こさないためのピーク電流の制限に対する、レイアウト設計方法及び信頼性検証方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の製造プロセスにおいて、配線幅、配線膜厚及びビア径の微細化が進んでいる。これに伴い、配線及びビアに流すことが許される許容電流密度は、減少してきている。一方で、ＬＳＩは、高速な処理が求められてきているため、上記の微細化が進んでも電流量を減少させることは難しくなっている。電流量が許容電流密度以上に流れると、エレクトロマイグレーションによる配線及びビアの切断や、配線及びビアの溶断等の信頼性に関わる問題が発生する。このため、ＬＳＩの設計段階において、許容電流密度以上の電流量が流れないように、ピーク電流の制約値を満たす設計をするための、信頼性検証方法及びレイアウト設計方法が必要とされている。
【０００３】
従来の半導体集積回路の信頼性検証方法及びレイアウト設計方法は、この問題を解決するために、信号配線に流れる電流量の算出を行い、ピーク電流が制約値を満足しているかどうかを検証すると共に、電流量が許容電流密度の制約値を満たすように配線幅の改善を行っている（例えば、特許文献１を参照）。
【０００４】
図１７は、従来の信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャートである。
この従来の方法では、まず、論理回路を構成する各セル間の接続関係を記述したネットリストの作成を行う（ステップＳ２０２）。次に、作成されたネットリストを使用して、ファンアウト数と配線容量との関係から、各ネットの仮想配線容量の計算を行う（ステップＳ２０３）。次に、遅延ライブラリ１１０の情報を入力し、計算された仮想配線容量とネットに接続された端子容量とに基づいて、遅延時間及び出力スルーレートを計算する（ステップＳ２０４）。次に、計算された仮想配線容量と出力スルーレートとから、セルが信号を駆動する際に、出力端子に接続されるネットに流れる電流量を算出する（ステップＳ２０５）。次に、算出された電流量が、エレクトロマイグレーションによる配線の切断を回避するための許容電流密度以下であるかを検証し、条件を満たす配線幅情報を生成する（ステップＳ２０６）。最後に、生成された配線幅情報に基づいて、配線を自動的にレイアウトする（ステップＳ２０７）。
【０００５】
このように、上記従来の技術では、別途特別なテーブル等を作成することなく、実際の配線が生成される以前に配線に流れる電流量の検証を行う。そして、この検証結果に基づいて、信頼性を維持し得るように配置又は配線の改善を行う。
【特許文献１】特開２０００−１６３４６０号公報（第１０頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来の技術では、信号配線に流れる電流量を算出してから、許容電流密度の制約値との比較を行うため、制約値を満足するためのレイアウト設計方法として、セル間を接続する信号配線の幅を調整することが主たる方法となっている。しかしながら、上記従来の方法では、信号配線幅の調整によって配線幅の広い信号配線が多数必要になる場合があり、幅が広い配線が多くなることで混雑度が増してセル間の接続が困難になってしまう恐れがある。なお、幅が広い配線でも接続可能とする対策としては、セルを離して配置することが考えられるが、ＬＳＩの面積が大きくなってしまうという問題が生じる。
【０００７】
また、自動レイアウト前に想定した電流量よりも自動レイアウト後の実際の電流量の方が大きくなった場合に、信号配線幅を広げる調整が再度必要になるという問題がある。また、デザインルールの制約により配線幅を広げるスペースがない場合には、セルを接続できる位置に再配置かつ再配線することが必要であるため、その結果、何度も電流量が変動してしまい、繰り返し配置及び配線をやり直さなければならない恐れがある。さらに、上記従来の技術では、信号配線に流れるピーク電流については考慮されているが、電源配線及びビアに流れるピーク電流については全く考慮されていない。
【０００８】
それ故に、本発明の目的は、予めネットリストを最適化することで、配線幅を広げる必要のある信号配線の数を最小限にすることができる、レイアウト設計方法を提供することである。
また、本発明の他の目的は、各セルの出力端子に接続されるネット配線について、セル毎に再調整の必要がない配線幅を設定することができるレイアウト設計方法を提供することである。
さらに、本発明の他の目的は、信号配線に流れるピーク電流値と信号配線を駆動するセルの遅延時間と配置の情報を組み合わせることにより、容易かつ迅速な電源配線及びビアのピーク電流の解析を可能とするレイアウト設計方法及び信頼性検証方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、論理機能を有する複数のセルを配置して、当該セルの端子間を配線とビアとで接続してなる半導体集積回路のレイアウト設計方法及び信頼性検証方法に向けられている。そして、上記目的を達成させるために、本発明の第１の局面におけるレイアウト設計方法は、瞬間的な最大電流であるピーク電流に関するピーク電流制約と、遅延ライブラリから取り出した、セルの出力端子から出力される信号の出力スルーレートの情報とを使用して、セルについての負荷容量制約を計算する第１のステップと、ネットリストから計算されるセルの出力端子に接続されるネットの負荷容量と遅延ライブラリとから、ネットの遅延時間を計算する第２のステップと、ネットの負荷容量が負荷容量制約を超えている第１の特定ネットについて、当該第１の特定ネットの遅延時間がタイミング制約を満たす範囲内で、ファンアウト数及びセル駆動力の調整を行う第３のステップとを備える。
この場合、第１のステップでは、ピーク電流制約を出力スルーレートで割った値の定数倍を負荷容量制約とすることが好ましい。
【００１０】
好ましくは、第３のステップの後に、ピーク電流制約を超える可能性のある特定セルに対して、ピーク電流制約を満たすように、当該特定セルに設定された所定の配線幅及び所定のビア数を予め計算したテーブルを参照して、特定セルの出力端子に接続されるネットの配線及びビアに対して、所定の配線幅及び所定のビア数を設定する第４のステップをさらに行う。
【００１１】
又は、遅延ライブラリから取り出したセルの駆動能力に関する情報から、セルの最大ピーク電流を計算し、ピーク電流制約を超える可能性のある特定セルに対して、ピーク電流制約を満たすために必要な所定の配線幅及び所定のビア数を計算する第４のステップと、第３のステップの後に、特定セルの出力端子に接続するネットの配線及びビアに対して、所定の配線幅及び所定のビア数を設定する第５のステップとをさらに行ってもよい。
【００１２】
又は、第３のステップの後に、負荷容量制約を超えている第２の特定ネットを検出する第４のステップと、ピーク電流制約を超える可能性のある特定セルに対して、ピーク電流制約を満たすように、当該特定セルに設定された所定の配線幅及び所定のビア数を予め計算したテーブルを参照して、特定セルの出力端子に接続されるネットのうち、第２の特定ネットの配線及びビアに対して、所定の配線幅及び所定のビア数を設定する第５のステップとをさらに行ってもよい。
【００１３】
あるいは、第３のステップの後に、負荷容量制約を超えている第２の特定ネットを検出する第４のステップと、遅延ライブラリから取り出したセルの駆動能力に関する情報から、セルの最大ピーク電流を計算し、ピーク電流制約を超える可能性のある特定セルに対して、ピーク電流制約を満たすために必要な所定の配線幅及び所定のビア数を計算する第５のステップと、特定セルの出力端子に接続されるネットのうち、第２の特定ネットの配線及びビアに対して、所定の配線幅及び所定のビア数を設定する第６のステップとをさらに行ってもよい。
【００１４】
また、本発明の第２の局面におけるレイアウト設計方法は、配置配線を行う第１のステップと、ネットリストから計算されるセルの出力端子に接続されるネットの負荷容量と遅延ライブラリとから、セルの遅延時間及び出力端子から出力される信号の出力スルーレートを計算する第２のステップと、ネットの負荷容量と出力スルーレートとに基づいて、セルの出力端子側に接続される配線及びビアに流れるセルピーク電流を計算する第３のステップと、第１のステップにより決定されるセルの配置情報に基づいて、電源配線を共有する第１の所定の範囲内に配置されたセルと、接地配線を共有する第２の所定の範囲内に配置されたセルとに対して、遅延時間とセルピーク電流とを重ね合わせることにより、電源配線に流れる電源ピーク電流を計算する第４のステップと、電源ピーク電流がピーク電流制約以下であるか否かを検証する第５のステップと、電源ピーク電流がピーク電流制約を満足するように、第１又は第２の所定の範囲内に配置されたセルを第１又第２の所定の範囲外に再配置する第６のステップとを備える。
【００１５】
また、本発明の第３の局面におけるレイアウト設計方法は、配置配線を行う第１のステップと、電源配線を共有する第１の所定の範囲内と接地配線を共有する第２の所定の範囲内とに配置されたクロックセルの数が、許容する個数を満足するか否かを検証する第２のステップと、クロックセルの数が許容する個数を満足するように、第１又は第２の所定の範囲内に配置されたセルを第１又第２の所定の範囲外に再配置する第３のステップとを備える。
【００１６】
また、本発明の第４の局面におけるレイアウト設計方法は、電源配線を共有する第１の所定の範囲と接地配線を共有する第２の所定の範囲とを重ね合わせた範囲を、他のクロックセルの配置を禁止する配置禁止領域に設定する第１のステップと、配置配線を行う第２のステップとを備える。
【００１７】
好ましくは、第２の局面における第４のステップ、第３の局面における第２のステップ及び第４の局面における第１のステップで、セルのセル電源配線を共有する１つ以上のロウに対して、セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を第１の所定の範囲とし、セルのセル接地配線を共有する１つ以上のロウに対して、セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を第２の所定の範囲とする。
【００１８】
又は、第２の局面における第４のステップ、第３の局面における第２のステップ及び第４の局面における第１のステップで、セルのセル電源配線を共有する１つ以上のロウに対して、セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を第１の所定の範囲とし、セルのセル接地配線を共有する１つ以上のロウに対して、セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアと接続されるストラップ接地配線と、ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を第２の所定の範囲とする。
【００１９】
この第６のステップでは、電源ピーク電流がピーク電流制約を満足するように、セルピーク電流が最も大きい順に、第１又は第２の所定の範囲内に配置されたセルを第１又は第２の所定の範囲の外に再配置するか、電源ピーク電流がピーク電流制約を満足し、かつ、電源ピーク電流の値が最もピーク電流制約に近づくように、第１又は第２の所定の範囲内に配置されたセルを第１又は第２の所定の範囲の外に再配置することが望ましい。
【００２０】
また、第２の局面における第２のステップでは、１つのクロックセルから分岐した複数段のクロックセルで構成されるクロックツリーのうち、同一段のクロックセルの数について、許容する個数以下であるか否かを検証することが好ましい。また、第４の局面における第１のステップでは、他のクロックセルの配置を禁止する配置禁止領域について、１つのクロックセルから分岐した複数段のクロックセルで構成されるクロックツリーのうち、同一段のクロックセルのみの配置を禁止するように設定することが好ましい。
【００２１】
また、上記目的を達成させるために、本発明の信頼性検証方法は、配置配線を行う第１のステップと、ネットリストから計算されるセルの出力端子に接続されるネットの負荷容量と遅延ライブラリとから、セルの遅延時間及び出力端子から出力される信号の出力スルーレートを計算する第２のステップと、ネットの負荷容量と出力スルーレートとに基づいて、セルの出力端子側に接続される配線及びビアに流れるセルピーク電流を計算する第３のステップと、第１のステップにより決定されるセルの配置情報に基づいて、電源配線を共有する第１の所定の範囲内に配置されたセルと、接地配線を共有する第２の所定の範囲内に配置されたセルとに対して、遅延時間とセルピーク電流とを重ね合わせることにより、電源配線に流れる電源ピーク電流を計算する第４のステップと、電源ピーク電流がピーク電流制約以下であるか否かを検証する第５のステップとを備える。
【００２２】
そして、好ましくは、第４のステップで、セルのセル電源配線を共有する１つ以上のロウに対して、セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアで接続されるストラップ電源配線を軸にして、ストラップ電源配線の両側に隣接するストラップ電源配線との間に設定された境界によって区切られた範囲を第１の所定の範囲とし、セルのセル接地配線を共有する１つ以上のロウに対して、セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線を軸にして、ストラップ接地配線の両側に隣接するストラップ接地配線との間に設定された境界によって区切られた範囲を第２の所定の範囲とする。このとき、ピーク電流制約がビアの許容電流値である。
【００２３】
又は、第４のステップで、セルのセル電源配線を共有する１つ以上のロウに対して、セル電源配線よりも上層配線で垂直方向に配線され、セル電源配線とビアと接続されるストラップ電源配線と、ストラップ電源配線に隣接する片方のストラップ電源配線との間に設定された境界によって区切られた範囲を第１の所定の範囲とし、セルのセル接地配線を共有する１つ以上のロウに対して、セル接地配線よりも上層配線で垂直方向に配線され、セル接地配線とビアで接続されるストラップ接地配線と、ストラップ接地配線に隣接する片方のストラップ接地配線との間に設定された境界によって区切られた範囲を第２の所定の範囲とする。このとき、ピーク電流制約がセル電源配線の許容電流値である。
【発明の効果】
【００２４】
上記本発明によれば、配線幅を広げるかビア数を増やす必要のある信号配線の数を、容易な負荷容量制約の計算だけで、最小限にすることができる。また、セル毎に設定した配線幅・ビア数テーブルを利用するか、セルの駆動能力に関する情報から、再配置及び再配線等の後戻りが生じない設計をすることができる。また、再調整の必要がない配線幅及びビア数に設定する信号配線の数を、必要最小限にすることができる。また、容易かつ迅速に、電源配線及びビアのピーク電流の解析をすることができる。また、対象の電源配線及びビアに流れるピーク電流に関係するセルを、容易かつ迅速に分類することができる。また、電源配線のピーク電流が信頼性上の制約値を満足するように、容易かつ迅速に配置配線の改善を行うことができる。さらに、クロックセルを再配置配線することなく、電源配線及びビアのピーク電流が信頼性上の制約値を満足する可能性を高める配置配線を、容易かつ迅速に行うことができる。
【発明を実施するための最良の形態】
【００２５】
次に、本発明の実施形態について、図面を参照して説明する。
〔第１の実施形態〕
図１は、本発明の第１の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャートである。
この第１の実施形態に係るレイアウト設計方法では、まず、論理機能を有する複数のセルに対して、各セル間の接続関係を記述したネットリストを作成する論理合成を行う（ステップＳ１０２）。次に、ステップＳ１０２で作成されたネットリストを利用して、このネットリストに記述された各ネットの仮想配線容量を計算する（ステップＳ１０３）。ここで、仮想配線容量は、ネットリストに記述された対象ネットのファンアウト数から求められる。ファンアウト数と仮想配線容量との関係は、実際のレイアウト結果を解析することで統計的に得られる。ファンアウト数が多いほど、仮想配線容量は大きくなる傾向にある。次に、遅延ライブラリ１１の情報を用い、ネットに接続した端子容量と仮想配線容量とを合計したネットの負荷容量に基づいて、遅延時間と出力スルーレートとを計算する（ステップＳ１０４）。この遅延ライブラリ１１には、各セルの遅延時間及びスルーレート等の遅延に関する情報が記述されている。
【００２６】
図２Ａは、本発明における遅延時間、スルーレート及びピーク電流の定義を説明するための論理回路図である。図２Ｂは、図２Ａに示す論理回路の信号波形図である。図２Ｃは、図２Ａに示す論理回路の電流波形図である。
【００２７】
図２Ａにおいて、セル３１は、入力端子Ｎ１及び出力端子Ｎ２を備えており、出力端子Ｎ２は負荷容量Ｃ１を介して接地されている。図２Ｂは、入力端子Ｎ１に入力される入力信号波形と、出力端子Ｎ２から出力される出力信号波形とを示している。時間Ｔｉｎ１は、入力信号が変化する遷移時間、及び時間Ｔｏｕｔ１１は、出力信号が変化する遷移時間である。入力スルーレート及び出力スルーレートは、それぞれ下記式（１）及び（２）で表される。また、時間Ｔｐｄ１１は、信号波形の遷移を判定する電圧をＶａとした場合に、入力信号が電圧Ｖａに達する時刻から出力信号が電圧Ｖａに達する時刻までの遅延時間を表す。
入力スルーレート＝（ＶＤＤ−ＶＳＳ）／Ｔｉｎ１      …（１）
出力スルーレート＝（ＶＤＤ−ＶＳＳ）／Ｔｏｕｔ１１  …（２）
【００２８】
図３Ａ及び図３Ｂは、遅延ライブラリ１１に記述されているセル３１の遅延情報を示している。図３Ａは、入力信号の入力スルーレート（Ｔｉｎ１、Ｔｉｎ２、…）と負荷容量（Ｃ１、Ｃ２、…）とをインデックスとして求められる、遅延時間（Ｔｐｄ１１、Ｔｐｄ１２、…）を示した遅延時間テーブルである。また、図３Ｂは、入力信号の入力スルーレート（Ｔｉｎ１、Ｔｉｎ２、…）と負荷容量（Ｃ１、Ｃ２、…）とをインデックスとして求められる、出力スルーレート（Ｔｏｕｔ１１、Ｔｏｕｔ１２、…）を示した出力スルーレートテーブルである。
【００２９】
上記ステップＳ１０４では、外部端子から入力信号の入力スルーレートを与えることで、上述した遅延時間テーブル（図３Ａ）及び出力スルーレートテーブル（図３Ｂ）を参照して、全てのネットに対して入力スルーレート、遅延時間及び出力スルーレートの計算を行うことができる。なお、インデックスにない条件については、最も近い複数のインデックスを参照して、遅延時間及び出力スルーレートを補間することにより算出する。
【００３０】
次に、ピーク電流制約１０と遅延ライブラリ１１とを参照して、負荷容量制約を計算する（ステップＳ１０８）。ここで、ピーク電流制約１０は、エレクトロマイグレーションによる配線及びビアの切断や、配線及びビアの溶断等の信頼性に関わる問題を発生させない設計を行うための、回路に流れる電流のピーク値の最大許容値を規定したものである。また、負荷容量制約は、ピーク電流制約と出力スルーレートとにより、下記式（３）で計算する。
負荷容量制約＝１／２×ピーク電流制約／出力スルーレート×α  …（３）
【００３１】
上記式（３）は、図２Ｃに示す電流波形と、電荷量Ｑ、負荷容量Ｃ及び電圧ＶにおけるＱ＝ＣＶの関係と、から求められる。図２Ｃに示すように、セル３１が信号を駆動する際に、出力端子に接続されるネットに流れる電流波形を、時間Ｔｏｕｔ１１の間に流れる三角波で近似する。Ｑ＝ＣＶの関係より、１／２×Ｉｐｅａｋ×Ｔｏｕｔ１１＝ＣＶとなり、これを負荷容量Ｃについて解くと、Ｃ＝１／２×Ｉｐｅａｋ／（Ｖ／Ｔｏｕｔ１１）＝１／２×Ｉｐｅａｋ／出力スルーレート、となる。この関係式において、Ｉｐｅａｋの最大値はピーク電流制約値まで許容されるので、それに対応する負荷容量Ｃの最大値が、上記式（３）で表される負荷容量制約となる。αは、三角波で近似したピーク電流から求めた負荷容量制約を、シミュレーション等で実際のピーク電流から求めた負荷容量制約に近づけるための定数である。この定数αを調整することで、近似式での計算誤差を小さくする。
【００３２】
次に、ステップＳ１０８で計算された負荷容量制約に基づいて、タイミング制約１２を満足する範囲で、ファンアウト数及び駆動能力の調整を行う（ステップＳ１０５）。図４Ａ及び図４Ｂに、ファンアウト数及び駆動能力の調整例を示す。図４Ａは、ファンアウト数及び駆動能力の調整前の回路図を、図４Ｂは、ファンアウト数及び駆動能力の調整後の回路図を示している。
【００３３】
調整前には、セル４１の出力端子は、４つのセル４２〜４５と接続され、ファンアウト数は「４」である。この回路にセル４６を挿入することで、セル４１のファンアウト数は「２」となり、負荷容量を軽減することができる。また、セル４１は、負荷容量が軽減された分、駆動能力の小さいセルに置き換えることも可能になる。ここで、タイミング制約は、ネットにおけるパス遅延時間が満たさなければならない制約値である。図４Ａ及びＢにおいて、例えば、セル４１とセル４５との間のパス遅延時間がタイミング制約としてクロックサイクル時間を満たさなければならない場合、セル４６を挿入した後のパス遅延時間がクロックサイクル時間以内であれば、セル４６を挿入して負荷容量の軽減を行うことができ、クロックサイクル時間を超えてしまうのであれば、セル４６の挿入は行えない。
【００３４】
次に、セル別配線幅・ビア数テーブル１３に基づいて、ネットの配線幅及びビア数の設定を行う（ステップＳ１０６）。図５は、各セルの出力端子に接続される負荷容量とピーク電流との関係を示した図である。負荷容量が大きくなるにつれて、ピーク電流は飽和して行く傾向である。この飽和したときの最大ピーク電流値は、セルの駆動能力によって決まっている。よって、全てのセルにおいて、負荷容量が大きくなるとピーク電流がピーク電流制約を超えてしまうという訳ではない。例えば、駆動能力の大きいセルＡ及びセルＢは、負荷容量が大きくなるとピーク電流制約を超える可能性があるが、駆動能力の小さいセルＣは、負荷容量がどんなに大きくてもピーク電流制約を超えないというようになっている。この特性を利用して、セルＡ及びセルＢのようにピーク電流制約を超えるセルに対して、最大ピーク電流値がピーク電流制約を満たすために必要な配線幅及びビア数を記述したテーブルを予め作成する。このように作成したセル別配線幅・ビア数テーブル１３に基づいて、各セルの出力端子に接続されるネットの配線幅及びビア数を設定する。そして最後に、ステップＳ１０６で設定された配線幅及びビア数の情報に基づいて、自動的にレイアウトを行う（ステップＳ１０７）。
【００３５】
以上のように、本発明の第１の実施形態に係るレイアウト設計方法によれば、ネットリストの段階で、タイミング制約を満足する範囲でかつ負荷容量制約を満足するように、ファンアウト数及び駆動能力を調整する。これにより、配線幅を広げたりビア数を増やしたりする必要のある信号配線の数を、最小限にすることができる。
【００３６】
また、セル毎にピーク電流制約を必ず満たすように設定したセル別配線幅・ビア数テーブル１３を利用して、セルの出力端子に接続されるネットに、再調整の必要のない配線幅及びビア数を設定する。これにより、自動レイアウト前に想定した負荷容量よりも自動レイアウト後の実際の負荷容量の方が大きくなり、ピーク電流が想定より大きくなってしまう場合においても、再配置及び再配線等の後戻りが生じない設計をすることができる。
【００３７】
なお、この第１の実施形態では、ネットの負荷容量を高精度に計算するために、仮想配線容量を計算するステップＳ１０３を実行しているが、全てのネットに対して仮想配線容量が実際のレイアウトの配線容量と必ずしも高精度に一致するとは限らない。そこで、負荷容量制約を計算する際に、計算誤差を考慮してαを小さくし、負荷容量制約を若干厳しく設定すれば、ステップＳ１０３を実行するのと同等の効果を得ることができるので、ステップＳ１０３を省略してより迅速に計算を行うことも可能である。
【００３８】
〔第２の実施形態〕
図６は、本発明の第２の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャートである。本第２の実施形態に係るレイアウト設計方法は、上記第１の実施形態に係るレイアウト設計方法に対して、セル別配線幅・ビア数テーブル１３の代わりに、遅延ライブラリ１１から取り出したセルの駆動能力に関する情報とピーク電流制約１０とから、セル毎にセルの出力端子に接続されるネット必要な配線幅及びビア数を計算するステップＳ１０９を追加した構成である。
【００３９】
図５で説明した通り、ピーク電流の最大ピーク電流値は、セル毎に決まっている。遅延ライブラリ１１には、各セルの駆動能力に関する情報として、所定の出力スルーレートに対して各セルが駆動できる最大負荷容量の情報が記述されている。ここで、ピーク電流は、負荷容量と出力スルーレートとによって、下記式（４）で計算される。
ピーク電流＝２×負荷容量×出力スルーレート×β  …（４）
【００４０】
図２Ｃに示すように、セル３１が信号を駆動する際に、出力端子に接続されるネットに流れる電流波形を、時間Ｔｏｕｔ１１の間に流れる三角波で近似する。Ｑ＝ＣＶの関係より、１／２×Ｉｐｅａｋ×Ｔｏｕｔ１１＝ＣＶとなり、これをＩｐｅａｋについて解くと、Ｉｐｅａｋ＝２×Ｃ×（Ｖ／Ｔｏｕｔ１１）＝２×Ｃ×出力スルーレート、となる。βは、三角波で近似して求めたピーク電流を、シミュレーション等で求めた実際のピーク電流に近づけるための定数である。この定数βを調整することで、近似式での計算誤差を小さくする。従って、各セルが流すことのできる最大ピーク電流値は、２×最大負荷容量×出力スルーレート×βと表すことができる。
【００４１】
ステップＳ１０９では、以上の計算によって、全てのセルについて最大ピーク電流値の計算を行い、この結果とピーク電流制約１０とから、ピーク電流制約を必ず満足するのに必要な配線幅及びビア数の計算を行う。
【００４２】
以上のように、本発明の第２の実施形態に係るレイアウト設計方法によれば、別途、予めセル別配線幅・ビア数テーブル１３を作成しなくても、既存の遅延ライブラリ１１の情報とピーク電流制約１０とから、セル毎に再調整の必要のない配線幅及びビア数を容易に計算することができる。
【００４３】
なお、ステップ１０９において、プロセスの飽和電流に関する情報を追加することで、別の方法で再調整の必要のない配線幅及びビア数を計算してもよい。飽和電流に関する情報として、単位ゲート幅当たりの飽和電流をＩｄｓａｔとしたときに、基準となるトランジスタのゲート幅をＷとすると、このトランジスタが流すことのできる最大電流は、Ｉｄｓａｔ×Ｗである。また、各セルの駆動能力は、基準となるトランジスタのゲート幅Ｗを元にして、１倍、２倍又は４倍というように表され、遅延ライブラリ１１には、セル名等で各セルの駆動能力の情報が記述されている。従って、各セルが流すことのできる最大ピーク電流値は、Ｉｄｓａｔ×Ｗ×駆動能力と表すことができる。ここで、信号を駆動するトランジスタが、ＰチャネルトランジスタかＮチャネルトランジスタかで最大ピーク電流値が異なる場合は、電流値の大きい方を選択するものとする。ステップＳ１０９における別の計算方法では、上記のように最大ピーク電流値の計算を行い、この結果とピーク電流制約１０とから、ピーク電流制約を必ず満足するのに必要な配線幅及びビア数の計算を行う。
【００４４】
〔第３の実施形態〕
図７は、本発明の第３の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャートである。本第３の実施形態に係るレイアウト設計方法は、上記第１の実施形態に係るレイアウト設計方法に対して、ファンアウト及びセル駆動能力の調整を行うステップＳ１０５の後に、負荷容量制約を超えるネットを検出するステップＳ１１０を追加し、ステップＳ１０６を該当ネットの配線幅・ビア数の設定を行うステップＳ１１１に置き換えた構成である。
【００４５】
上記第１の実施形態では、ファンアウト及びセル駆動能力の調整を行った後（ステップＳ１０５）、セルの出力端子に接続されているネットの負荷容量に関わらず、負荷容量の大きいところでピーク電流制約を超える可能性のある全てのセルについて、出力端子に接続されるネットに対して再調整の必要のない配線幅及びビア数の設定を行う（ステップＳ１０６）。しかし、この手順の場合、再配置及び再配線等の後戻りが生じない代わりに、ネットに接続した端子容量と仮想配線容量とを合計したネットの負荷容量が負荷容量制約よりも小さい場合においても、ピーク電流制約を超える可能性のあるセルについては、再調整の必要のない配線幅及びビア数の設定を行う。このため、必要以上に幅の広い配線やビアが多くなり、ＬＳＩの面積が大きくなってしまうことも考えられる。
【００４６】
そこで、第４の実施形態では、ステップＳ１１０において、負荷容量が制約値を超えているセルの出力端子に接続されるネットを検出し、ステップＳ１１１においては、ステップＳ１１０で検出したネットに対して、再調整の必要のない配線幅及びビア数の設定を行う。
【００４７】
以上のように、本発明の第３の実施形態に係るレイアウト設計方法によれば、再調整の必要のない配線幅及びビア数の設定を行う信号配線の数を必要最小限にすることができる。ただし、この設計方法の場合、自動レイアウト前に想定したネットの負荷容量よりも自動レイアウト後の実際のネットの負荷容量の方が大きくなった場合に、そのネットに対しては再配置及び再配線が必要になる。しかしながら、ファンアウト数及びセル駆動能力の調整をするステップＳ１０５があること、及びネットの配線幅及びビアの数を再調整の必要のない決まった値に設定することから、従来技術と比較して修正箇所及び修正回数共に大幅に削減が可能である。
【００４８】
〔第４の実施形態〕
図８は、本発明の第４の実施形態に係る信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャートである。本第４の実施形態に係るレイアウト設計方法は、電源共有領域の電源配線に流れるピーク電流を、信号配線に流れるピーク電流値と信号配線を駆動するセルの遅延時間及び配置の情報とを組み合わせることにより、電源配線のピーク電流の信頼性検証及びレイアウトを行う方法である。
【００４９】
ここで、まず、電源共有領域について説明する。スタンダードセル方式のレイアウト設計では、セル上に電源（ＶＤＤ）配線、グランド（ＧＮＤ）配線が平行に作り付けられており、セル高さを一定にすることで、セルを並べたときに平行に走っているＶＤＤ配線とＧＮＤ配線とが、共に一直線になるように工夫されている。
【００５０】
図９Ａ及び図９Ｂは、スタンダードセル方式でのＶＤＤ配線及びＧＮＤ配線のレイアウトを示している。セルＶＤＤ配線６３及び６４は、セルを配置したときにセル上に作り付けられたＶＤＤ配線とレイアウト上重なるように配線されている。セルＧＮＤ配線６８及び６９は、セルを配置したときにセル上に作り付けられたＧＮＤ配線とレイアウト上重なるように配線されている。ストラップＶＤＤ配線６０、６１及び６２は、上層の配線を使ってセルＶＤＤ配線と垂直方向に走りかつセルＶＤＤ配線とビアで接続されており、配置されたセルに電流を供給している。ストラップＧＮＤ配線６５、６６及び６７は、上層の配線を使ってセルＧＮＤ配線と垂直方向に走りかつセルＧＮＤ配線とビアで接続されており、配置されたセルからの電流を引き抜いている。
【００５１】
ＶＤＤ配線及びＧＮＤ配線は、格子状にレイアウトされており、全てのＶＤＤ格子及びＧＮＤ格子に等しく電流が供給される理想的な状態であるとする。この場合、格子状にレイアウトされたＶＤＤ格子において、セルを行方向（ロウ）に並べたときにセルＶＤＤ配線６３を共有する隣り合う２つのロウと、ストラップＶＤＤ配線６２を軸にして、隣接するストラップＶＤＤ配線との間隔の１／２で区切られた範囲を、セルＶＤＤ配線６３とストラップＶＤＤ配線６２とを接続するビアを共有するＶＤＤビアの電源共有領域とする。図９Ａにおける斜線領域７１が、ＶＤＤビアの電源共有領域である。全てのＶＤＤ格子は、斜線領域７１で表すようないずれかの電源共有領域に分割することができる。ＶＤＤ配線とＧＮＤ配線とが等間隔にレイアウトされている場合には、ＧＮＤ配線に囲まれる領域と一致する。この斜線領域７１に配置された全てのセルは、ストラップＶＤＤ配線６２から、セルＶＤＤ配線６３に接続するビアを通じて、電流が流れ込む。従って、斜線領域７１に配置されたセルに流れ込む電流のピーク電流は、上記共有しているビアのピーク電流制約を満足しなければならない。また、ストラップＶＤＤ配線６２を軸にして、斜線領域７１を左右に分けたそれぞれの領域については、それぞれセルＶＤＤ配線６３を共有しているＶＤＤ配線の電源共有領域である。それぞれの領域について、セルＶＤＤ配線６３のピーク電流制約を満足しなければならない。
【００５２】
同様に、格子状にレイアウトされたＧＮＤ格子において、セルを行方向に並べたときにセルＧＮＤ配線６８を共有する隣り合う２つのロウと、ストラップＧＮＤ配線６５を軸にして、隣接するストラップＧＮＤ配線との間隔の１／２で区切られた範囲を、セルＧＮＤ配線６８とストラップＧＮＤ配線６５を接続するビアを共有するＧＮＤビアの電源共有領域とする。図９Ｂにおける斜線領域７２が、ＧＮＤビアの電源共有領域である。全てのＧＮＤ格子は、斜線領域７２で表すようないずれかの電源共有領域に分割することができる。ＶＤＤ配線とＧＮＤ配線とが等間隔にレイアウトされている場合には、ＶＤＤ配線に囲まれる領域と一致する。この斜線領域７２に配置された全てのセルは、セルＧＮＤ配線６８から、ストラップＧＮＤ配線６５に接続するビアを通じて、電流が流れ出る。従って、斜線領域７２に配置されたセルから流れ出る電流のピーク電流は、上記共有しているビアのピーク電流制約を満足しなければならない。また、ストラップＧＮＤ配線６５を軸にして、斜線領域７２を左右に分けたそれぞれの領域については、それぞれセルＧＮＤ配線６８を共有しているＧＮＤ配線の電源共有領域である。それぞれの領域について、セルＧＮＤ配線６８のピーク電流制約を満足しなければならない。
【００５３】
次に、上述した電源共有領域のうち、便宜上ＶＤＤビアの電源共有領域である斜線領域７１について、電源ピーク電流の信頼性検証及びレイアウトを行う方法を、図８のフローチャートに従って説明する。
【００５４】
まず、ネットリストの情報に基づいて自動的にレイアウトを行い、レイアウト後の各セルの配置情報を、セル配置情報１４として記憶部に格納する（ステップＳ１０７）。次に、ステップＳ１０７で行ったレイアウトから各セルの出力端子に接続したネットの負荷容量を算出し、遅延ライブラリ１１の情報を入力することにより遅延時間と出力スルーレートをと計算し、パスにおける各セルの遅延情報をセルタイミング情報１５として記憶部に格納する（ステップＳ１０４）。次に、ステップＳ１０４で求めたネットの負荷容量と出力スルーレートとから、セルが信号を駆動する際に出力端子に接続したネットに流れる信号配線のピーク電流を計算する（ステップＳ１１２）。ここで、信号線のピーク電流は、上記第２の実施形態で説明した式（４）で計算される。
【００５５】
上記式（４）で計算した信号配線のピーク電流は、セルの電源配線に流れる電源配線のピーク電流とほぼ等しいとみなすことができる。出力端子の充放電電流のみの考慮であるため、電源配線に流れるセルの消費電流量としては過小である。しかしながら、電源配線に流れる電流のピーク値に関しては、セル内部の論理では負荷容量Ｃが小さく、ピーク電流は小さいため、セル出力端子に接続された信号配線のピーク電流を電源配線のピーク電流とみなすことができる。
【００５６】
次に、ステップＳ１１２で求めたピーク電流と、セル配置情報９と、セルタイミング情報１９とから、電源共有領域７１のピーク電流の計算を行う（ステップＳ１１３）。この計算方法について、図１０、１１及び１２を用いて説明する。まず、電源共有領域７１においてセルＤ、セルＥ及びセルＦが配置されているという情報（図１０）について、セル配置情報１４を参照して抽出する。また、ネットリストにおけるセルＤ、セルＥ及びセルＦの接続情報（図１１）に基づいて、フリップフロップ９１とフリップフロップ９２との間に接続されているセルＤと、フリップフロップ９３とフリップフロップ９４との間に接続されているセルＥ及びセルＦについて、パスにおけるセルＤ、セルＥ及びセルＦの遅延情報について、セルタイミング情報１５を参照して抽出する。さらに、ステップＳ１１２で計算したセルＤ、セルＥ及びセルＦのピーク電流の情報を抽出する。
【００５７】
このように抽出した情報に基づいて、図１２に示すように、セルＤ、セルＥ及びセルＦのピーク電流情報及び遅延情報を重ね合わせる。セルＤにおける遅延を時刻Ｔ１と時刻Ｔ２との間、セルＥにおける遅延を時刻Ｔ３と時刻Ｔ４との間、セルＦにおける遅延を時刻Ｔ５と時刻Ｔ６との間とした場合に、それぞれのセルの遅延時間の間でピーク電流が流れるものとして、ピーク電流を方形波で表す。各セルのピーク電流の重ね合わせを行い、重ね合わせ波形を電源共有領域７１のピーク電流とする。セルが複数のパス経路となっており、複数の遅延情報を持っている場合については、全ての組み合わせを計算する。
【００５８】
ここで、全パスが同時に活性化されるとして、全ての組み合わせについて計算を行うのは、消費電流量の見積りとしては過大な計算であるが、ピーク電流制約は、経時的な断線だけでなく、瞬間的な配線及びビアの溶断等の信頼性上の問題を起こさないための保証値である。このため、ピーク電流の見積りとしては、同時に活性化される可能性のある全ての組み合わせを計算することが妥当な方法である。
【００５９】
また、ピーク電流を方形波としたのは、図２Ｃに示した三角波の場合、出力端子のある論理以外の電流量が考慮されないため、複数論理で構成されるセルでは楽観的になってしまうからである。方形波で計算することで、信頼性を確実に保証でき、容易かつ迅速に計算できる。なお、より高精度に計算する方法として、遅延ライブラリ１１にはセルの平均消費電流の情報が記述されているので、セルの平均消費電流の情報と図２Ｃに示した三角波の情報とを使って、平均電流を方形波とし、ピーク電流を三角波とし、方形波と三角波の重ね合わせで電源配線のピーク電流の波形としてもよい。
【００６０】
そして、ステップＳ１１３で計算したピーク電流とピーク電流制約とを比較して、許容値を満足しているか否かを検証する（ステップＳ１１４）。ＶＤＤ格子を分割した全ての電源共有領域に対して検証を行う。許容値を満足していない場合、該当の電源共有領域に配置されているセルを、該当の電源共有領域外に再配置して再配線する（ステップＳ１１５）。例えば、該当の電源共有領域において、ピーク電流の最も大きいセルから順に該当の電源共有領域外に再配置を行うことで、ピーク電流制約を満足するようにする。あるいは、ピーク電流制約を満足し、かつ最も制約に近づくようにセルを選択し、該当の電源共有領域外に再配置を行うことで、ピーク電流制約を満足するようにする。
【００６１】
以上のように、本発明の第４の実施形態に係るレイアウト設計方法によれば、信号配線に流れるピーク電流値と信号配線を駆動するセルの遅延時間及び配置の情報とを使用して、それらを組み合わせることにより、容易かつ迅速に電源配線のピーク電流の解析をすることができる。
【００６２】
なお、第４の実施形態では、ステップＳ１１３における電源共有領域について、ＶＤＤビアの電源共有領域を使用したが、ＶＤＤ配線、ＧＮＤビア及びＧＮＤ配線の電源共有領域についても、同様の信頼性検証方法及びレイアウト設計方法を用いることができる。
また、電源共有領域の範囲については、セル電源配線を共有するロウの数が２つであるレイアウト例について示したが、レイアウトによって変わるため、ロウの数は２つでなくてもよい。また、電流が各セル電源配線に均等に供給されるとして、ストラップ電源配線間隔の１／２で区切られた範囲の例として示したが、１／２以外でもよい。
【００６３】
〔第５の実施形態〕
図１３は、本発明の第５の実施形態に係る信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャートである。
図１３において、まず、ネットリストの情報に基づいて、自動的にレイアウトを行う（ステップＳ１０７）。次に、上記第４の実施形態で説明した、電源共有領域に配置されたクロックセルの個数を計算する（ステップＳ１１６）。次に、ステップＳ１１６で計算したクロックセルの個数とクロックセルの個数制約とを比較して、許容値を満足しているか否かを、全ての電源共有領域に対して検証する（ステップＳ１１７）。そして、許容値を満足していない場合に、該当の電源共有領域に配置されているセルを、該当の電源共有領域外に再配置して再配線する（ステップＳ１１８）。
【００６４】
論理機能を有する複数のセルの中で、クロックセルは常時動作しかつ消費電流が大きいため、多くのクロックセルが電源共有領域に集まると電源配線のピーク電流制約を満足しない可能性が高い。本第５の実施形態は、このクロックセルに着目して、所定の範囲内に配置されるクロックセルの数を制限することにより、電源配線のピーク電流が信頼性上の制約値を満足する可能性を高める配置配線を、容易かつ迅速に行うことができる。
【００６５】
なお、第５の実施形態では、クロックセル全てを対象にしているが、同一段のクロックセルのみを対象にしてもよい。ここで、同一段のクロックセルとは、図１４に示すクロックツリーにおいて、セル５２とセル５３、あるいはセル５４、セル５５、セル５６及びセル５８である。この同一段のクロックセルは、同時に動作するように設計されている。従って、同一段のクロックセルのみを対象にすることで、効率よく電源配線に流れるピーク電流を小さくすることが可能である。
【００６６】
〔第６の実施形態〕
図１５は、本発明の第６の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャートである。
図１５において、クロックセルの周囲に他のクロックセルの配置を禁止する配置禁止領域を設定する（ステップＳ１１９）。ここで、他のクロックセルの配置禁止領域は、図１６Ａに示す、クロックセル８９に対する斜線領域７３である。これは、ちょうど図９Ａの斜線領域７１と図９Ｂの斜線領域７２とを重ね合わせた領域になっており、ストラップＶＤＤ配線６２とセルＶＤＤ配線６３とを接続するＶＤＤビアと、ストラップＧＮＤ配線６５とセルＧＮＤ配線６８とを接続するＧＮＤビアとの、両方を共有する電源ビアの共有領域になっている。配置禁止領域７３に他のクロックセルの配置を禁止することで、電源ビアのピーク電流がピーク電流制約を満足する可能性を高める。
【００６７】
また、斜線領域７３の代わりに、他のクロックセルの配置禁止領域として、図１６Ｂに示す、クロックセル８９に対する斜線領域７４を使用してもよい。これは、ちょうど図９Ａの斜線領域７１の左半分と図９Ｂの斜線領域７２の右半分とを重ね合わせた領域になっており、セルＶＤＤ配線６３とセルＧＮＤ配線６８との両方を共有する電源配線の共有領域になっている。セル電源配線のピーク電流制約に対して、電源ビアのピーク電流制約が非常に緩い場合には、電源配線のピーク電流制約を重点的に考慮すればよい。電源配線のピーク電流制約のみを考慮した斜線領域７４の方を使用した方が、斜線領域７３より配置禁止領域が小さいため、クロックセルの配置が容易になる。そして、ネットリストの情報とステップＳ１１９で設定した他のクロックセルの配置禁止領域とに基づいて、自動的にレイアウトを行う（ステップＳ１０７）。
【００６８】
上記第６の実施形態は、クロックセルの周囲に他のクロックセルの配置を禁止する配置禁止領域を設定することにより、クロックセルを再配置配線することなく、電源配線のピーク電流が信頼性上の制約値を満足する可能性を高める配置配線を、容易かつ迅速に行うことができる。
なお、第６の実施形態ではクロックセル全てを対象にしているが、同一段のクロックセルのみを対象にしてもよい。同一段のクロックセルのみを対象にすることで、効率よく電源配線に流れるピーク電流を小さくすることが可能である。
【産業上の利用可能性】
【００６９】
本発明の方法は、半導体集積回路の信頼性を検証したりレイアウト設計を行ったりする場合等に利用可能であり、特にエレクトロマイグレーションによる配線及びビアの切断や配線及びビアの溶断等の不具合を起こさないために、ピーク電流を適切に制限したい場合等に有用である。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャート
【図２Ａ】遅延時間、スルーレート及びピーク電流の定義を説明するための論理回路図
【図２Ｂ】図２Ａに示す論理回路の信号波形図
【図２Ｃ】図２Ａに示す論理回路の電流波形図
【図３Ａ】遅延ライブラリ１１に記述されている遅延情報の一例を説明する図
【図３Ｂ】遅延ライブラリ１１に記述されている遅延情報の一例を説明する図
【図４Ａ】ファンアウト数及び駆動能力の調整例を示す図（調整前）
【図４Ｂ】ファンアウト数及び駆動能力の調整例を示す図（調整後）
【図５】負荷容量とピーク電流との関係を説明する図
【図６】本発明の第２の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャート
【図７】本発明の第３の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャート
【図８】本発明の第４の実施形態に係る信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャート
【図９Ａ】ＶＤＤ配線及びＧＮＤ配線のレイアウト例を示す図
【図９Ｂ】ＶＤＤ配線及びＧＮＤ配線のレイアウト例を示す図
【図１０】図９Ａに示す電源共有領域７１に配置されたセルの例を示す図
【図１１】図１０に示すセルについてのネットリストにおける接続の例を示す図
【図１２】図９Ａに示す電源共有領域７１の電源に流れるピーク電流を計算する方法について説明する図
【図１３】本発明の第５の実施形態に係る信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャート
【図１４】クロックセルの接続例を説明する図
【図１５】本発明の第６の実施形態に係るレイアウト設計方法のアルゴリズムを示すフローチャート
【図１６Ａ】他のクロックセル配置禁止領域の一例を示す図
【図１６Ｂ】他のクロックセル配置禁止領域の一例を示す図
【図１７】従来の信頼性検証方法及びレイアウト設計方法のアルゴリズムを示すフローチャート
【符号の説明】
【００７１】
１０  ピーク電流制約
１１、１１０  遅延ライブラリ
１２  タイミング制約
１３  セル別配線幅・ビア数テーブル
１４  セル配置情報
１５  セルタイミング情報
３１、４１〜４６、８１〜８８  セル
５１〜５７、８９  クロックセル
６０〜６２  ストラップＶＤＤ配線
６３、６４  セルＶＤＤ配線
６５〜６７  ストラップＧＮＤ配線
６８、６９  セルＧＮＤ配線
９１〜９４  フリップフロップ
７１  ＶＤＤビアの電源共有領域
７２  ＧＮＤビアの電源共有領域
７３、７４  他のクロック配置禁止領域
【図１】
2007193518.tif 000003
【図２Ａ】
2007193518.tif 000004
【図２Ｂ】
2007193518.tif 000005
【図２Ｃ】
2007193518.tif 000006
【図３Ａ】
2007193518.tif 000007
【図３Ｂ】
2007193518.tif 000008
【図４Ａ】
2007193518.tif 000009
【図４Ｂ】
2007193518.tif 000010
【図５】
2007193518.tif 000011
【図６】
2007193518.tif 000012
【図７】
2007193518.tif 000013
【図８】
2007193518.tif 000014
【図９Ａ】
2007193518.tif 000015
【図９Ｂ】
2007193518.tif 000016
【図１０】
2007193518.tif 000017
【図１１】
2007193518.tif 000018
【図１２】
2007193518.tif 000019
【図１３】
2007193518.tif 000020
【図１４】
2007193518.tif 000021
【図１５】
2007193518.tif 000022
【図１６Ａ】
2007193518.tif 000023
【図１６Ｂ】
2007193518.tif 000024
【図１７】
2007193518.tif 000025