(57)【要約】【課題】設計者の手間を省くことができる。【解決手段】算出装置１００は、電流源ｃｓ１〜ｃｓ３の合計電流値が特定電流値Ｉ０となるように回路ｌｏｇｉｃを表す回路情報を設定し、第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値が特定抵抗値ｒ０となるように回路ｌｏｇｉｃを表す回路情報を設定する。算出装置１００は、特定電流値Ｉ０とし、特定抵抗値ｒ０とした場合における、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差Ｖｄｄと、第２電圧源ｐｏｗ２の電位と、複数の第１位置ｐ１１〜ｐ１３および第２位置ｐ２１〜ｐ２３の各電圧値と、を導出する。そして、算出装置１００は、最大電圧降下量である差分ΔＶｂ０を導出する。算出装置１００は、導出した差分ΔＶｂ０と、特定電流値Ｉ０と特定抵抗値ｒ０とに基づく電圧値と、の比率βに応じた第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を算出する。【選択図】図１
2015018534.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、
導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する、
処理を実行することを特徴とする算出方法。
【請求項２】
前記各第１電圧値の中から選択した前記電圧値は、前記各第１電圧値の中の最も小さい電圧値であることを特徴とする請求項１に記載の算出方法。
【請求項３】
前記各第２電圧値の中から選択した前記電圧値は、前記各第２電圧値の中の最も大きい電圧値であることを特徴とする請求項１または２に記載の算出方法。
【請求項４】
選択した前記差分は、導出した前記第１差分と導出した前記第２差分とのうち、大きい方の差分であることを特徴とする請求項１〜３のいずれか一つに記載の算出方法。
【請求項５】
前記第１抵抗回路は、第１電源配線と等価な抵抗回路であり、前記第２抵抗回路は、第２電源配線と等価な抵抗回路であって、
前記コンピュータが、
算出した前記各抵抗の値と、特定長さと、に基づく前記第１電源配線および第２電源配線の配線幅を算出することを特徴とする請求項１〜４のいずれか一つに記載の算出方法。
【請求項６】
前記特定電流値を１［Ａ］とし、前記特定抵抗値を１［Ω］とすることを特徴とする請求項１〜５のいずれか一つに記載の算出方法。
【請求項７】
前記各抵抗の値を算出する処理では、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各電圧値との差分の閾値と、前記電流源の合計電流の特定値と、前記比率と、に基づく前記各抵抗の値を算出することを特徴とする請求項１〜６のいずれか一つに記載の算出方法。
【請求項８】
前記コンピュータが、
前記回路（以下、「部分回路」と称する。）を有する対象回路内の複数の外部端子のうち、前記部分回路と接続される外部端子と、前記部分回路と、の間の電源配線と等価な抵抗の第１値を、前記部分回路と接続される外部端子と前記部分回路との間の電位差の第２閾値によって算出し、前記電源配線と等価な抵抗の第２値を、前記電源配線の長さによって算出する、
処理を実行し、
前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する処理では、さらに、前記第１値が前記第２値以上である場合、前記比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を、前記第１値と前記第２値との比率によって補正することを特徴とする請求項７に記載の算出方法。
【請求項９】
前記コンピュータが、
前記回路（以下、「部分回路」と称する。）を有する対象回路内の複数の外部端子のうち、前記部分回路が接続される外部端子の各々について、前記外部端子に接続される前記対象回路内の各回路を流れる電流の総和を算出し、
算出した前記総和が、前記外部端子の許容電流値と、前記外部端子に接続されるワイヤボンディングの許容電流値と、のいずれよりも小さいか否かを判断する、
処理を実行し、
前記回路情報を取得する処理では、算出した前記総和がいずれよりも小さい場合に、前記回路情報を取得することを特徴とする請求項１〜８のいずれか一つに記載の算出方法。
【請求項１０】
コンピュータに、
互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、
導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する、
処理を実行させることを特徴とする算出プログラム。
【請求項１１】
互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得する取得部と、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を前記取得部が取得した前記回路情報に基づいて導出する導出部と、
前記導出部が導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する抵抗値算出部と、
を有することを特徴とする算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算出方法、算出プログラム、および算出装置に関する。
【背景技術】
【０００２】
従来、外部電源が接続される回路内の外部端子と、外部端子と接続される回路に含まれるブロック内の端子と、の電源配線の距離に基づいて、電源配線による電圧降下量を算出し、電圧降下量が許容値以下となるように電源配線の配線幅を算出する技術が公知である（例えば、以下特許文献１参照。）。
【０００３】
また、従来、回路のレイアウト設計では、詳細なレイアウト設計を行う前に、回路内の各ブロックをどこに配置するかの大枠をフロアプランによって決める。また、従来、フロアプラン後に、設計の対象回路内の外部端子と、ブロック内の端子との間の電源配線と等価な抵抗回路と、各ブロック内の電源配線と等価な抵抗回路と、を有する回路を示すネットリストに基づいて基板ノイズ解析を行う技術が公知である（例えば、以下非特許文献１参照。）。
【０００４】
また、従来、ブロックごとに、消費電力を計算し、消費電力の計算結果に基づいて電源配線の配線幅を決定する技術が公知である（例えば、以下特許文献２参照。）。また、従来、ＩＲドロップ違反や許容電流値超過違反が発生しないように電源配線をレイアウトする技術が公知である（例えば、以下特許文献３，４参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１８５１号公報
【特許文献２】特開平２−１８８９４３号公報
【特許文献３】特開２００５−２０９７７６号公報
【特許文献４】特開２００８−１３０７１０号公報
【非特許文献】
【０００６】
【非特許文献１】“アナデジＬＳＩの雑音解析ＥＤＡツール”、［ｏｎｌｉｎｅ］、［平成２５年５月２３日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ａ−ｒ−ｔｅｃ．ｊｐ／ｓＣａｔＦＰＮＡ２０１２．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
フロアプランでは詳細な電源配線が行われていない。この場合は、例えばブロック内の電源配線と等価な抵抗回路の各抵抗の値は設計者によって決定されるため、フロアプラン段階で、様々なフロアプラン結果ごとにノイズの影響をそれぞれ見積もるために、これらの作業を実施することは設計者の手間がかかるという問題点がある。
【０００８】
１つの側面では、本発明は、設計者の手間を省くことができる算出方法、算出プログラム、および算出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する算出方法、算出プログラム、および算出装置が提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、設計者の手間を省くことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施の形態にかかる算出装置による一動作例を示す説明図である。
【図２】図２は、実施の形態にかかる算出装置のハードウェア構成例を示すブロック図である。
【図３】図３は、ノイズ解析におけるデータ入出力例を示す説明図である。
【図４】図４は、算出装置によるノイズ解析処理手順例を示すフローチャートである。
【図５】図５は、算出装置の機能的構成例を示すブロック図である。
【図６】図６は、フロアプランによって得られるレイアウト情報例を示す説明図である。
【図７】図７は、ブロック情報例を示す説明図である。
【図８】図８は、パッド情報例を示す説明図である。
【図９】図９は、接続情報の作成例を示す説明図である。
【図１０】図１０は、接続情報例を示す説明図である。
【図１１】図１１は、接続情報が表す接続関係例を示す説明図である。
【図１２】図１２は、配線ネットワークのイメージ例を示す説明図である。
【図１３】図１３は、電位差の分布例を示す説明図である。
【図１４】図１４は、図３に示すブロック情報例を示す説明図である。
【図１５】図１５は、パッドブロック間抵抗情報例を示す説明図である。
【図１６】図１６は、ブロック内抵抗値算出部の詳細例を示す説明図である。
【図１７】図１７は、回路情報が表す回路例を示す説明図である。
【図１８】図１８は、ブロック内抵抗情報例を示す説明図である。
【図１９】図１９は、算出装置による抵抗値算出処理手順例を示すフローチャートである。
【図２０Ａ】図２０Ａは、図１９で示したパッドブロック間抵抗の値の算出処理の詳細な説明を示すフローチャートである。
【図２０Ｂ】図２０Ｂは、図１９で示したブロック内抵抗の値の算出処理の詳細な説明を示すフローチャートである。
【図２１】図２１は、配線情報例を示す説明図である。
【図２２】図２２は、Ｉ／Ｏリング情報の生成例を示す説明図である。
【図２３】図２３は、Ｉ／Ｏリング情報作成手順例を示すフローチャート（その１）である。
【図２４】図２４は、Ｉ／Ｏリング情報作成手順例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明にかかる算出方法、算出プログラム、および算出装置の実施の形態を詳細に説明する。
【００１３】
図１は、本実施の形態にかかる算出装置による一動作例を示す説明図である。算出装置１００は、設計の対象回路の部分回路であるブロック内の電源配線およびグラウンド配線と等価な回路ｌｏｇｉｃ内の各抵抗の値を算出するコンピュータである。例えば、設計の対象回路は、アナログ回路やデジタル回路などを有する半導体集積回路である。算出装置１００は、回路ｌｏｇｉｃを示す回路情報を取得する。回路情報は、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）などの回路記述形式によって記述される。
【００１４】
具体的に、回路ｌｏｇｉｃは、互いに接続された複数の抵抗を有する第１電圧源ｐｏｗ１が接続された第１抵抗回路Ｒ１を有する。第１抵抗回路Ｒ１は、抵抗ｒ１１と抵抗ｒ１２との２つの抵抗を有する。また、回路ｌｏｇｉｃは、複数の抵抗と同一の接続関係を有する複数の抵抗を有する第２電圧源ｐｏｗ２が接続された第２抵抗回路Ｒ２を有する。第２抵抗回路Ｒ２は、抵抗ｒ２１と抵抗ｒ２２との２つの抵抗を有する。第２電圧源ｐｏｗ２は、第１電圧源ｐｏｗ１よりも低電圧である。例えば第１電圧源ｐｏｗ１の電圧は、電源電圧であり、第２電圧源ｐｏｗ２の電圧は、グラウンド電圧である。
【００１５】
回路ｌｏｇｉｃは、第１抵抗回路Ｒ１内の電気的に異なる複数の第１位置と、複数の第１位置の各々に対応する第２抵抗回路Ｒ２内の複数の第２位置と、が各々電流源を介して接続される。図１の例では、複数の第１位置は、第１位置ｐ１１と第１位置ｐ１２と第１位置ｐ１３の３つである。第１位置ｐ１２に第１電圧源ｐｏｗ１が接続される。図１の例では、複数の第２位置は、第２位置ｐ２１と第２位置ｐ２２と第２位置ｐ２３の３つである。第２位置ｐ２３に第２電圧源ｐｏｗ２が接続される。第１位置ｐ１１と第２位置ｐ２１は、電流源ｃｓ１を介して接続される。第１位置ｐ１２と第２位置ｐ２２は、電流源ｃｓ２を介して接続される。第１位置ｐ１３と第２位置ｐ２３は、電流源ｃｓ３を介して接続される。
【００１６】
算出装置１００は、回路情報に、電流源ｃｓ１〜ｃｓ３の合計電流値を特定電流値Ｉ０となるように設定し、第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を特定抵抗値ｒ０になるように設定する。例えば、特定電流値Ｉ０を１［Ａ］と特定抵抗値ｒ０を１［Ω］とすることにより、算出装置１００による算出時間の短縮化を図ることができる。算出装置１００は、特定電流値Ｉ０とし、特定抵抗値ｒ０とした場合における、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差Ｖｄｄと、複数の第１位置ｐ１１〜ｐ１３の各第１電圧値を導出する。また、算出装置１００は、特定電流値Ｉ０とし、特定抵抗値ｒ０とした場合における、第２電圧源ｐｏｗ２の電圧値と、複数の第２位置ｐ２１〜ｐ２３の各第２電圧値と、を導出する。
【００１７】
そして、算出装置１００は、電位差Ｖｄｄと、各第１電圧値の中から選択した電圧値と、の第１差分ΔＶｂ０＿ｐｏｗｅｒを導出する。具体的には、算出装置１００は、回路情報に基づいて、ＳＰＩＣＥシミュレーションすることにより、第１差分ΔＶｂ０＿ｐｏｗｅｒを導出する。また、具体的に、算出装置１００は、各第１電圧値の中から電圧値の大きさに基づき電圧値を選択する。例えば、算出装置１００は、電位差Ｖｄｄと、各第１電圧値の中から選択した最も小さい電圧値ＭｉｎＶｄｄと、の第１差分ΔＶｂ０＿ｐｏｗｅｒを導出する。電位差Ｖｄｄは、電圧源ｐｏｗ１が接続される第１位置ｐ１２の電圧値と同じである。また、算出装置１００は、第２電圧源ｐｏｗ２の電圧値Ｖｇと、各第２電圧値の中から選択した電圧値と、の第２差分ΔＶｂ０＿ｇｒｏｕｎｄを導出する。具体的には、算出装置１００は、回路情報に基づいて、ＳＰＩＣＥシミュレーションすることにより、第２差分ΔＶｂ０＿ｇｒｏｕｎｄを導出する。また、具体的に、算出装置１００は、各第２電圧値の中から電圧値の大きさに基づき電圧値を選択する。例えば、算出装置１００は、電圧値Ｖｇと、各第２電圧値の中から選択した最も大きい電圧値ＭａｘＶｇと、の第２差分ΔＶｂ０＿ｇｒｏｕｎｄを導出する。
【００１８】
つぎに、算出装置１００は、導出した第１差分ΔＶｂ０＿ｐｏｗｅｒと第２差分ΔＶｂ０＿ｇｒｏｕｎｄとから選択した差分ΔＶｂ０と、特定電流値Ｉ０と特定抵抗値ｒ０とに基づく電圧値と、の比率βに応じた第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を算出する。選択された差分ΔＶｂ０は、例えば、第１差分ΔＶｂ０＿ｐｏｗｅｒと第２差分ΔＶｂ０＿ｇｒｏｕｎｄとのうち大きい方の差分である。例えば、電位差Ｖｄｄが１．８［Ｖ］であり、電圧値ＭｉｎＶｄｄが１．７［Ｖ］である場合、第１差分ΔＶｂ０＿ｐｏｗｅｒは０．１［Ｖ］となる。例えば、電圧値Ｖｇが０［Ｖ］であり、電圧値ＭａｘＶｇが０．２［Ｖ］である場合、第２差分ΔＶｂ０＿ｇｒｏｕｎｄは０．２［Ｖ］となる。そして、例えば、差分ΔＶｂ０は０．２［Ｖ］となる。
【００１９】
具体的には、まず、算出装置１００は、差分ΔＶｂ０と、特定電流値Ｉ０と特定抵抗値ｒ０とに基づく電圧値と、の比率βを算出する。より具体的には、算出装置１００は、差分ΔＶｂ０と、特定電流値Ｉ０と特定抵抗値ｒ０とに基づく電圧値と、を与えると比率βが得られる第１算出式に、差分ΔＶｂ０と、特定電流値Ｉ０と、特定抵抗値ｒ０とを与えることにより、各抵抗の値を算出する。第１算出式は、差分ΔＶｂ０を、特定電流値Ｉ０と特定抵抗値ｒ０との乗算結果により除算することにより、比率βを得る。また、上述したように、特定電流値Ｉ０を１［Ａ］と特定抵抗値ｒ０を１［Ω］とすることにより、比率βは、差分ΔＶｂ０となるため、算出装置１００による算出時間の短縮化を図ることができる。
【００２０】
つぎに、具体的には、算出装置１００は、閾値ΔＶｂと特定値Ｉと比率βを与えると各抵抗の値が得られる第２算出式に、取得した閾値ΔＶｂと取得した特定値Ｉと算出した比率βを与えることにより、各抵抗の値を算出する。第２算出式は、閾値ΔＶｂを、特定値Ｉと比率βとの乗算結果により除算することにより、各抵抗の値を得る。そして、算出装置１００は、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差と複数の第１位置ｐ１１〜ｐ１３の各電圧値との差分の閾値ΔＶｂと、電流源ｃｓ１〜ｃｓ３の合計電流値のＩと、を取得する。例えば、特定値Ｉは、ブロックごとに固定の周波数のクロック信号をブロックへ与えた場合のピークの電流値であり、設計仕様などに基づき定められる値である。また、特定値Ｉは、算出装置１００がアクセス可能な記憶装置に記憶される。閾値ΔＶｂは、許容値として予め設計者によって定められ、算出装置１００がアクセス可能な記憶装置に記憶される。そして、算出装置１００は、閾値ΔＶｂと特定値Ｉと算出した比率βと、に基づく第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を算出する。より具体的には、算出装置１００は、閾値ΔＶｂと特定値Ｉと比率βを与えると各抵抗の値が得られる第２算出式に、取得した閾値ΔＶｂと取得した特定値Ｉと算出した比率βを与えることにより、各抵抗の値を算出する。第２算出式は、閾値ΔＶｂを、特定値Ｉと比率βとの乗算結果により除算することにより、各抵抗の値を得る。
【００２１】
ここで、第１抵抗回路Ｒ１は、ブロック内の電源配線と等価であり、第２抵抗回路Ｒ２は、ブロック内のグラウンド配線と等価である。ブロックは、フロアプラン後のノイズ解析の対象回路内の部分回路である。上述したように、対象回路は、アナログ回路やデジタル回路などを有する半導体集積回路である。フロアプランでは詳細な電源配線およびグラウンド配線が行われないため、各抵抗の値は同一とする。図１によれば、ブロック内の電流値と、電源の電圧値とブロック内の各位置の電圧値との電位差の許容値と、を満たすように、各抵抗の値を決定することができる。これにより、設計者の手間を省くことができる。したがって、設計効率を向上させることができる。
【００２２】
（算出装置１００のハードウェア構成例）
図２は、実施の形態にかかる算出装置のハードウェア構成例を示すブロック図である。算出装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ディスクドライブ２０４と、ディスク２０５と、を有する。算出装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ  Ｆａｃｅ）２０６と、入力装置２０７と、出力装置２０８と、を有する。また、各部はバス２００によってそれぞれ接続される。
【００２３】
ここで、ＣＰＵ２０１は、算出装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される記憶部である。ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリード／ライトを制御する。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する。ディスク２０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００２４】
Ｉ／Ｆ２０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークＮＥＴに接続され、このネットワークＮＥＴを介して他の装置に接続される。そして、Ｉ／Ｆ２０６は、ネットワークＮＥＴと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００２５】
入力装置２０７は、キーボード、マウス、タッチパネルなど設計者の操作により、各種データの入力を行うインターフェースである。また、入力装置２０７は、カメラから画像や動画を取り込むこともできる。また、入力装置２０７は、マイクから音声を取り込むこともできる。出力装置２０８は、ＣＰＵ２０１の指示により、データを出力するインターフェースである。出力装置２０８には、ディスプレイやプリンタが挙げられる。
【００２６】
図３は、ノイズ解析におけるデータ入出力例を示す説明図である。上述したように、算出装置１００は、抵抗の値を算出するコンピュータであるが、さらに、半導体集積回路のフロアプラン時における基板のノイズ解析を行うコンピュータとする。算出装置１００は、チップ情報３１１と、ブロック情報３１２と、配線情報３１３と、を入力として受け付ける。
【００２７】
チップ情報３１１は、フロアプランの対象回路のサイズ、対象回路内の各ブロックや外部端子の配置情報、基板抵抗、配線抵抗、配線容量、Ｗｅｌｌ抵抗、Ｗｅｌｌ容量、外部端子ごとの許容電流密度、外部端子ごとのワイヤボンディングの許容電流密度、配線の許容電流密度などのテクノロジ情報を示す。外部端子については、パッドと称する。ブロック情報３１２は、ブロックの電流の特定値、最大電圧降下量の許容値、回路種類（例えば、ノイズ源回路、または被ノイズ回路）、ブロックのｗｅｌｌ構造、動作周波数を示す。ブロックの電流の特定値と、最大電圧降下量の許容値とについては、図１４にて後述する。配線情報３１３は、パッドとブロックとの接続情報や配線数を示す。
【００２８】
そして、算出装置１００は、フロアプランイメージ情報３１４と、ノイズ解析結果３１５と、を出力する。フロアプランイメージ情報３１４は、フロアプランによって得られるブロックの配置位置、パッドの配置位置、ブロックとパッドとの接続関係などを表す情報である。ノイズ解析結果３１５は、ノイズ解析によって得られるノイズの伝搬マップやノイズ量などを示す。
【００２９】
図４は、算出装置によるノイズ解析処理手順例を示すフローチャートである。まず、算出装置１００は、設計者の操作によって、仕様検討を行う（ステップＳ４０１）。設計者の操作は、入力装置２０７を介して行われる。仕様検討とは、パッドの数などを決定する処理である。つぎに、算出装置１００は、設計者の操作により、ノイズ解析の対象回路のフロアプランを行う（ステップＳ４０２）。設計者の操作は、入力装置２０７を介して行われる。これにより、算出装置１００は、フロアプラン情報を作成する。フロアプラン情報は、具体的には、ブロック、パッドなどの配置が決定されたレイアウト情報である。つぎに、算出装置１００は、図５および図１０に示す接続情報１０００の作成を行う（ステップＳ４０３）。接続情報１０００は、パッドからの電源配線またはグラウンド配線を接続可能なブロック内の端子の位置を示す情報である。そして、算出装置１００は、パッドごとにパッド電流値が許容値未満となるか否かを判断する（ステップＳ４０４）。パッド電流値とは、パッドを流れる電流の総和である。ここでの許容値とは、例えば、パッドごとの許容電流密度に基づく許容電流値、パッドごとのワイヤボンディングの許容電流密度に基づく許容電流値である。
【００３０】
パッドごとにパッド電流が許容値未満でないと判断された場合（ステップＳ４０４：Ｎｏ）、算出装置１００は、設計者の操作によって、ステップＳ４０１へ戻り、仕様を修正する。また、パッドごとにパッド電流が許容値未満であると判断された場合（ステップＳ４０４：Ｙｅｓ）、算出装置１００は、フロアプラン情報に基づいて、基板モデル、ブロックモデル、パッドとブロックとの間の電源配線やブロック内の電源配線およびグラウンド配線などの配線情報と、Ｉ／Ｏリング情報と、などの対象回路を示すネットリストを作成する（ステップＳ４０５）。ネットリストは、上述したようなＳＰＩＣＥなどの回路記述形式によって記述される。Ｉ／Ｏリングとは、パッドが設けられる領域に、同一の電位となるパッド間を接続する配線であり、リング状に設けられた配線である。
【００３１】
そして、算出装置１００は、ネットリストに基づいて、回路シミュレーションを実行することにより、ノイズ解析を行う（ステップＳ４０６）。ここでの回路シミュレーションは、ＳＰＩＣＥシミュレーションである。そして、算出装置１００は、回路シミュレーションの実行結果であるレポートやマップなどを算出装置１００がアクセス可能なディスプレイに表示する（ステップＳ４０７）。つぎに、算出装置１００は、回路シミュレーションの実行結果に基づいて、ノイズ量が許容値未満であるか否かを判断する（ステップＳ４０８）。ここでは、算出装置１００は、ブロックごとにノイズ量が図１４に示す許容値であるノイズクライテリア未満であるか否かを判断する。具体的には、ノイズ量は、回路シミュレーションによって得られたノイズのピーク値である。ノイズ量が許容値未満でないと判断された場合（ステップＳ４０８：Ｎｏ）、算出装置１００は、ステップＳ４０１へ戻り、設計者の操作によって、仕様を再度検討する。またはノイズ量が許容値未満でないと判断された場合（ステップＳ４０８：Ｎｏ）、算出装置１００は、ステップＳ４０２へ戻り、設計者の操作によって、フロアプランを再度行う。または、ノイズ量が許容値未満であると判断された場合（ステップＳ４０８：Ｙｅｓ）、算出装置１００は、一連の処理を終了する。
【００３２】
図４に示すように、算出装置１００は、ノイズ量が許容値未満となるまで、対象回路を表すネットリストを複数回生成する場合がある。フロアプラン情報が作成される都度、ブロックの位置などに変更が生じるため、ブロック内の電源配線およびグラウンド配線と等価な抵抗回路の各抵抗の値が決定される。そのため、本実施の形態のように算出装置１００が各抵抗の値を自動で決定することにより、設計者の手間を省くことができる。したがって、ノイズ見積もりの見積もり効率を向上させることができる。
【００３３】
（算出装置１００の機能的構成例）
図５は、算出装置の機能的構成例を示すブロック図である。ここでは、算出装置１００は、ネットリストの作成に関する機能的構成について説明する。算出装置１００は、接続情報作成部５０１と、抵抗値算出部５０２と、配線幅算出部５０３と、ネットリスト作成部５０４と、を有する。
【００３４】
接続情報作成部５０１からネットリスト作成部５０４までの処理は、例えば、ＣＰＵ２０１がアクセス可能なディスク２０５などの記憶装置に記憶されたシミュレーションプログラムにコーディングされる。そして、ＣＰＵ２０１が記憶装置に記憶された計算プログラムを読み出して、計算プログラムにコーディングされている処理を実行する。これにより、接続情報作成部５０１からネットリスト作成部５０４までの処理が実現される。また、各部の処理結果は、例えば、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。
【００３５】
図６は、フロアプランによって得られるレイアウト情報例を示す説明図である。レイアウト情報６００は、対象回路内の部分回路であるブロックおよび対象回路内のパッドの各々について、位置情報を有する。レイアウト情報６００は、ブロック名、ブロック基準座標ｘ、ブロック基準座標ｙ、ブロックサイズｘ、ブロックサイズｙのフィールドを有する。ブロックごとに、各フィールドに情報が設定されることにより、レコード（６０１−１，６０１−２など）として設定される。レイアウト情報６００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００３６】
ブロック名は、ブロック、パッド、Ｄｉｖｉｄｅｒセルのいずれかを示す識別情報である。ブロック基準座標ｘは、ブロックが配置される位置のｘ座標である。ｘ座標は、レイアウトにおいて定義されたｘ軸における座標値である。ブロック基準座標ｙは、ブロックが配置される位置のｙ座標である。ｙ座標は、レイアウトにおいて定義されたｙ軸における座標値である。
【００３７】
ブロックサイズｘは、ｘ軸方向におけるブロックのサイズである。ブロック基準座標ｘと、ブロックサイズｘと、によって、ブロックのｘ方向の位置が特定される。ブロックサイズｙは、ｙ軸方向におけるブロックのサイズである。ブロック基準座標ｙと、ブロックサイズｙと、によって、ブロックのｙ方向の位置が特定される。
【００３８】
（接続情報１０００作成）
接続情報作成部５０１は、パッド情報８００と、ブロック情報７００と、に基づいて、パッドからの電源配線またはグラウンド配線を接続可能なブロック内の端子の位置を示す接続情報１０００を作成する。
【００３９】
図７は、ブロック情報例を示す説明図である。ブロック情報７００は、対象回路内の部分回路であるブロックの位置と、接続される電源の情報と、を有する。具体的には、ブロック情報７００は、ブロック名、ブロック基準座標ｘ、ブロック基準座標ｙ、ブロックサイズｘ、ブロックサイズｙ、Ｎｅｔ名のフィールドを有する。ブロックごとに、各フィールドに情報が設定されることにより、レコード（７０１−１，７０１−２，７０１−３など）として設定される。ブロック情報７００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００４０】
ブロック名は、ブロックを示す識別情報である。ブロック基準座標ｘは、ブロックが配置される位置のｘ座標である。ｘ座標は、レイアウトにおいて定義されたｘ軸における座標値である。ブロック基準座標ｙは、ブロックが配置される位置のｙ座標である。ｙ座標は、レイアウトにおいて定義されたｙ軸における座標値である。
【００４１】
ブロックサイズｘは、ｘ軸方向におけるブロックのサイズである。ブロック基準座標ｘと、ブロックサイズｘと、によって、ブロックのｘ方向の位置が特定される。ブロックサイズｙは、ｙ軸方向におけるブロックのサイズである。ブロック基準座標ｙと、ブロックサイズｙと、によって、ブロックのｙ方向の位置が特定される。Ｎｅｔ名は、接続される電源／グラウンドを識別可能な情報である。
【００４２】
図８は、パッド情報例を示す説明図である。パッド情報８００は、対象回路のパッドの位置と、パッドに接続される電源／グラウンドの情報と、を有する。具体的に、パッド情報８００は、パッド名、座標ｘ、座標ｙ、Ｎｅｔ名のフィールドを有する。パッドごとに、各フィールドに情報が設定されることにより、レコード（８０１−１，８０１−２）として設定される。パッド情報８００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００４３】
パッド名は、パッドを識別する識別情報である。座標ｘはパッドの位置を示すｘ座標であり、座標ｙはパッドの位置を示すｙ座標である。Ｎｅｔ名は、接続される電源／グラウンドを識別可能な情報である。
【００４４】
図９は、接続情報の作成例を示す説明図である。接続情報作成部５０１は、パッド情報８００とブロック情報７００とにより、同一のＮｅｔ名を有するパッドとブロックとの組み合わせを作成する。例えば、ブロックＡｎａｌｏｇ０１のＮｅｔ名と、パッドＰＡＤ０１のＮｅｔ名とは、ＡＶＤであるため、接続情報作成部５０１は、ブロックＡｎａｌｏｇ０１とパッドＰＡＤ０１との組み合わせを作成する。また、例えば、ブロックＡｎａｌｏｇ０１のＮｅｔ名と、パッドＰＡＤ０２のＮｅｔ名とは、ＡＶＳであるため、接続情報作成部５０１は、ブロックＡｎａｌｏｇ０１とパッドＰＡＤ０２との組み合わせを作成する。
【００４５】
つぎに、接続情報作成部５０１は、ブロック内のいずれの位置にパッドからの電源配線またはグラウンド配線を接続させるかを決定する。例えば、ブロック内の端子の位置が予め決まっている場合、接続情報作成部５０１は、ブロック内の端子の位置を示す端子位置情報と、パッドの位置情報と、Ｎｅｔ名と、によってパッドとブロックとの接続関係を示す接続情報を生成する。また、ブロック内の端子位置が予め決まっていない場合、接続情報作成部５０１は、ブロックとパッドとの間の距離が最短距離となるようにパッドの位置情報と、ブロックの位置情報により、ブロック内の端子の位置を決定する。例えば、ブロックＡｎａｌｏｇ０１とパッドＰＡＤ０１との組み合わせについては、座標（１，５）をブロック内の端子の位置とする。ブロックＡｎａｌｏｇ０１とパッドＰＡＤ０２との組み合わせについては、例えば、座標（７，３）をブロック内の端子の位置とする。
【００４６】
また、各ブロックが同一の電源について複数の端子を有する場合、接続情報作成部５０１は、パッドとブロックとの間の距離が短い順にパッドをブロック内の端子数選択し、選択したパッドについてのブロック内の端子の位置を決定する。
【００４７】
図１０は、接続情報例を示す説明図である。接続情報１０００は、ブロック名、Ｎｅｔ名、ブロック端子座標ｘ、ブロック端子座標ｙ、パッド座標ｘ、パッド座標ｙのフィールドを有する。ブロック内の端子ごとに、各フィールドに情報が設定されることにより、レコード（１００１−１，１００１−２など）として設定される。接続情報１０００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００４８】
ブロック名は、ブロックを示す識別情報である。Ｎｅｔ名は、ブロック内の端子に接続される電源／グラウンドの識別情報である。ブロック端子座標ｘは、ブロック内の端子の位置を示す座標ｘである。ブロック端子座標ｙは、ブロック内の端子の位置を示す座標ｙである。パッド座標ｘは、ブロック内の端子と接続されるパッドの座標ｘである。パッド座標ｙは、ブロック内の端子と接続されるパッドの座標ｙである。接続情報１０００は、パッド座標ｘおよびパッド座標ｙの代わりに、パッド名を有していてもよい。
【００４９】
図１１は、接続情報が表す接続関係例を示す説明図である。図１１に示す回路１１００は、レイアウト情報６００が表すブロックと、レイアウト情報６００が表すパッドと、を接続情報１０００が表す接続関係に基づいて配置された例である。接続情報１０００によって、パッドと、ブロックと、の接続関係を特定可能となり、各ブロックにパッドを介して電源が接続可能であるか否かが判断可能となる。
【００５０】
接続情報作成部５０１は、パッドの各々について、接続情報１０００とブロック情報とに基づいて、パッドに流れる電流の総和を求める。総和は、ＩPAD<PAD_NAME>で表す。そして、接続情報作成部５０１は、パッドの許容電流値ＩMAX-PAD<PAD_NAME>とワイヤボンディングの許容電流値ＩMAX-PAD_PAD1との両方を満たすか否かを判断する。パッドの許容電流値ＩMAX-PAD<PAD_NAME>については、例えば、チップ情報３１１に記憶されたパッドの許容電流密度に基づいて算出可能である。ワイヤボンディングの許容電流値ＩMAX-WIRE_BONDING_PAD1については、例えば、チップ情報３１１に記憶されたワイヤボンディングの許容電流密度に基づいて算出可能である。ここで、例えば、パッドＰＡＤ１に流れる電流の総和ＩPAD_PAD1と判断例を以下に挙げる。
【００５１】
ＩPAD_PAD1＝Ｉblock1-PAD1＋Ｉblock2-PAD1＋・・・
ＩPAD_PAD1≦ＩMAX-PAD_PAD1，ＩMAX-WIRE_BONDING_PAD1
【００５２】
ここで、総和ＩPAD<PAD_NAME>を算出するためのＩblock1-PAD1などのパッドブロック間を流れる電流値は、例えば、ブロック情報３１２に記憶された電流値Ｉである。また、ブロックに複数のパッドおよび配線が接続される場合、接続情報作成部５０１は、例えば、ブロック情報３１２に記憶された電流値Ｉを複数のパッドの数によって等分割し、等分割した値をパッドブロック間を流れる電流値としてもよい。また、例えば、総和ＩPAD<PAD_NAME>がいずれかの許容電流値を満たさないと判断された場合、利用者によって仕様修正を行うことによって、各電源に対応するパッドの数を増やすことにより電流量を低減させることができる。また、例えば、計算装置１００は、総和ＩPAD<PAD_NAME>がいずれの許容電流値も満たすと判断された場合、抵抗値算出部５０２によって抵抗値の算出処理を行う。
【００５３】
（抵抗値算出）
つぎに、抵抗値算出部５０２は、フロアプランにおけるパッドとブロックとの間の配線の抵抗値と、フロアプランにおけるブロック内の配線の抵抗値と、を算出する。具体的に、抵抗値算出部５０２は、ブロック内抵抗値算出部５１１と、パッドブロック間抵抗値算出部５１２と、を有する。
【００５４】
図１２は、配線ネットワークのイメージ例を示す説明図である。図１３は、電位差の分布例を示す説明図である。配線ネットワーク１２００は、各電源配線と等価な抵抗によって表すことが可能である。ここで、パッドとブロックとの間の電源配線およびグラウンド配線を、パッドブロック間配線と称する。グラウンド電源が接続されるパッドと、ブロック内の端子との間の配線は、グラウンド配線であり、電源が接続されるパッドと、ブロック内の端子との間の配線は、電源配線である。パッドブロック間配線と等価な抵抗回路をパッドブロック間抵抗と称する。ブロック内の電源配線およびグラウンド配線を、ブロック内配線と称する。ブロック内配線と等価な回路の各抵抗をブロック内抵抗と称する。
【００５５】
分布１３００に示すように、パッドとの距離が遠い位置であるほど配線の抵抗による電圧降下により、位置の電圧値と、パッドに接続される電源の電圧値との差が大きくなる。また、パッドからブロックまでの配線では、パッドとブロックとの距離に応じて単調に電圧値が減少する。ブロック内では、電源の端子数や当該端子の位置に依存し、パッドの電圧値との電位差が最大となる位置が異なる。ここで、基準となる電圧値との各位置の電位差を電圧降下量と称する。図１２の例の配線ネットワーク１２００においては、星印の位置が、電圧降下量が最大となる。
【００５６】
ここで、パッドとブロックとの間の電圧降下量と、ブロック内の電圧降下量と、の合計値の許容値をΔＶとすると、以下式（１）が成り立つ。
【００５７】
ΔＶ＝ΔＶｗ＋ΔＶｂ・・・（１）
【００５８】
ΔＶｗは、パッドブロック間配線によるパッドの電圧値からの電圧降下量の許容値を示し、ΔＶｂは、ブロック内配線によるブロック内の端子の電圧値からの最大の電圧降下量の許容値を示す。また、ΔＶとΔＶｂは、設計者によって予め定められた値である。ΔＶｂは、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。ΔＶｂの具体例は、図１４を用いて後述する。ΔＶｗとΔＶとの比率をαとすると、以下のような式（２）が成り立つ。
【００５９】
α＝ΔＶｗ／ΔＶ＝ΔＶｗ／（ΔＶｗ＋ΔＶｂ）・・・（２）
０＜α＜１
【００６０】
比率αによって、ブロックから基板へのノイズ伝搬量が変化する。比率αは、例えば、経験値などにより設計者によって予め定められた値であり、または設計仕様などに応じて設定される値である。比率αはＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。例えば、比率αは、０．５である。
【００６１】
つぎに、パッドブロック間抵抗値算出部５１２は、パッドブロック間抵抗の値を算出する。具体的に、パッドブロック間抵抗値算出部５１２は、パッドブロック間抵抗の値を、電圧降下の許容値ΔＶと、チップ情報３１１に記憶された許容電流密度と、の各々によって算出する。例えば、電圧降下の許容値ΔＶによって算出される抵抗の値は、例えば、Ｒｗ＿ｉｒとし、許容電流密度によって算出される抵抗の値Ｒｗは、例えば、Ｒｗ＿ｐｃとする。例えば、パッドブロック間抵抗値算出部５１２は、Ｒｗ＿ｉｒを以下式（３）によって算出する。
【００６２】
Ｒｗ＿ｉｒ＝ΔＶｗ／Ｉ＝αΔＶ／Ｉ・・・（３）
【００６３】
また、上記式（３）は以下のように導出される。
【００６４】
ΔＶｗ≧ＩＲｗ⇔Ｒｗ≦ΔＶｗ／Ｉ＝α×ΔＶ／Ｉ＝Ｒｗ＿ｉｒ
【００６５】
Ｉは、ブロックで消費される電流値の基準値である。また、パッドブロック間抵抗値算出部５１２は、ブロックにおける電源の端子数が複数ある場合は、各パッドについてパッドブロック間抵抗の値を算出する。例えば、ブロック内の電源の端子が複数である場合、各抵抗の値の算出式は以下式（４）のようになり、ブロックの電流値の基準値は、以下式（５）のようになる。
【００６６】
Ｒｗ＿ｉｒ１＝α×ΔＶ／Ｉ１、Ｒｗ＿ｉｒ２＝α×ΔＶ／Ｉ２，・・・，Ｒｗ＿ｉｒｍ＝α×ΔＶ／Ｉｍ・・・（４）
Ｉ＝Ｉ１＋Ｉ２＋，・・・，＋Ｉｍ・・・（５）
【００６７】
例えば、それぞれのパッドブロック間距離比に応じて、それぞれに流れる電流値の基準値が設定される。パッドブロック間距離比は、例えば、「Ｉ１：Ｉ２：Ｉ３＝１／ｌ１：１／ｌ２：１／ｌ３」である。ｌ１、ｌ２、ｌ３はそれぞれのパッドブロック間距離である。
【００６８】
また、パッドブロック間抵抗値算出部５１２は、Ｒｗ＿ｐｃを以下式（６）によって算出する。
【００６９】
Ｒｗ＿ｐｃ＝ε×ｌ／Ｉ・・・（６）
【００７０】
ここで、ｌはパッドとブロックとの間の距離である。式（６）は、以下に示す電流密度の式（７）と抵抗の関係式（８）とに基づいて導出された式である。
【００７１】
ｉｍａｘ≧Ｉ／（ｗ×ｔ）・・・（７）
Ｒｗ＝ε×ｌ／（ｗ×ｔ）・・・（８）
ｉｍａｘ≧（Ｒｗ／ρ）×（Ｉ／ｌ）⇔Ｒｗ≦ｉｍａｘ×ρ×ｌ／Ｉ＝εｌ／Ｉ＝Ｒｗ＿ｐｃ
【００７２】
ここで、ｗは配線幅であり、ｔは配線の厚さである。ρは、配線の抵抗率である。また、εは、以下式（９）によって表される値であり、プロセスによって決まる定数である。
【００７３】
ε＝ｉｍａｘ×ρ・・・（９）
【００７４】
そして、パッドブロック間抵抗値算出部５１２は、算出した２つの抵抗の値のうち、小さい方の値をパッドブロック間抵抗の値Ｒｗとする。
【００７５】
図１４は、図３に示すブロック情報例を示す説明図である。ブロック情報３１２は、各ブロックについて、基板モデルと、特定値Ｉと、許容値ΔＶと、ノイズクライテリアと、を有する。図１４の例では、Ｗｅｌｌ構造や動作周波数などを省略する。具体的には、ブロック情報３１２は、ブロック名と、基板モデルと、ブロックの電流の特定値と、最大電圧降下量の許容値と、ノイズクライテリアと、のフィールドを有する。各ブロックについて、各フィールドに情報が設定されることにより、レコード（１４０１−１，１４０１−２，１４０１−３など）として記憶される。ブロック情報３１２は、予めＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。基板モデルは、ブロックの基板がいずれの基板であるかを示す。ブロックの電流の特定値は、上述したブロック情報３１２に記憶されてある特定値Ｉである。最大電圧降下量の許容値は、上述したブロック情報３１２に記憶されてある許容値ΔＶである。ノイズクライテリアは、ノイズの許容量である。ブロックＡｎａｌｏｇ０１であれば、基板モデルがＴｒｉｐｌｅ  Ｗｅｌｌであり、特定値Ｉが０．０１［Ａ］であり、許容値ΔＶが０．０５［Ｖ］であり、ノイズクライテリアが０．０５［Ｖ］である。例えば、比率αが０．５であれば、許容値ΔＶｗと許容値ΔＶｂはそれぞれ０．２５である。
【００７６】
また、算出されたパッドブロック間抵抗の値Ｒｗは、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。例えば、パッドブロック間抵抗の値Ｒｗは、図１５に示すパッドブロック間抵抗情報１５００に記憶される。
【００７７】
図１５は、パッドブロック間抵抗情報例を示す説明図である。パッドブロック間抵抗情報１５００は、パッドとブロックとの組み合わせごとに、パッドブロック間抵抗の値を有する。具体的には、パッドブロック間抵抗情報１５００は、ブロック名、Ｎｅｔ名、ブロック端子座標ｘ、ブロック端子座標ｙ、パッド座標ｘ、パッド座標ｙ、抵抗値のフィールドを有する。パッドとブロックとの組み合わせごとに、各フィールドに情報が設定されることにより、レコード（１５０１−１，１５０１−２など）として記憶される。パッドブロック間抵抗情報１５００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００７８】
ブロック名、Ｎｅｔ名、ブロック端子座標ｘ、ブロック端子座標ｙ、パッド座標ｘ、パッド座標ｙのフィールドは、それぞれ接続情報１０００と同一のフィールドであるため、詳細な説明を省略する。抵抗値は、パッドブロック間抵抗の値である。
【００７９】
また、パッドブロック間配線幅算出部５２２は、パッドブロック間抵抗値算出部５１２によって算出された抵抗値に基づいて、パッドブロック間配線の幅を算出する。例えば、パッドブロック間配線幅算出部５２２は、パッドとブロックとの間の距離を、接続情報１０００に含まれるブロック内の端子の位置と、パッド位置とに基づいて、算出する。距離は、ｌ１とする。そして、パッドブロック間配線幅算出部５２２は、以下式（１０）によってパッドブロック間配線の幅を算出する。
【００８０】
ｗ１＝Ｒ＿ｓ×ｌ１／Ｒｗ・・・（１０）
【００８１】
ｗ１が配線の幅である。Ｒ＿ｓは、配線のシート抵抗値であり、予めＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。また、算出された配線の幅ｗ１は、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【００８２】
つぎに、ブロック内抵抗値算出部５１１は、ブロック内抵抗の値を算出する。ブロック内抵抗値算出部５１１は、ブロック内抵抗の値を各ブロックについて、電源とグラウンドの組み合わせごとに算出する。
【００８３】
図１６は、ブロック内抵抗値算出部の詳細例を示す説明図である。ブロック内抵抗値算出部５１１は、取得部１６０１と、導出部１６０２と、比率算出部１６０５と、抵抗値算出部１６０６と、を有する。
【００８４】
図１７は、回路情報が表す回路例を示す説明図である。取得部１６０１は、ブロック内配線と等価な抵抗回路を有する回路１７００の回路情報５４０を取得する。取得された回路情報５４０は、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。回路１７００は、互いに接続された複数の抵抗を有する第１電圧源ｐｏｗ１が接続された第１抵抗回路Ｒ１を有する。また、回路１７００は、第１抵抗回路Ｒ１が有する複数の抵抗と同一の接続関係を有する複数の抵抗を有する第２電圧源ｐｏｗ２が接続された第２抵抗回路Ｒ２を有する。第２電圧源ｐｏｗ２は、第１電圧源ｐｏｗ１よりも低電圧である。例えば、第１電圧源ｐｏｗ１の電圧は、電源電圧であり、第２電圧源ｐｏｗ２の電圧は、グラウンド電圧である。また、回路１７００は、第１抵抗回路Ｒ１内の電気的に異なる複数の第１位置ｐ１１〜ｐ１１６と、複数の第１位置ｐ１１〜ｐ１１６の各々に対応する第２抵抗回路Ｒ２内の複数の第２位置ｐ２１〜ｐ２１６と、が各々電流源ｃｓ１〜ｃｓ１６を介して接続される。
【００８５】
図１７の例では、第１抵抗回路Ｒ１と第２抵抗回路Ｒ２は、それぞれメッシュ状に抵抗が接続される。第１抵抗回路Ｒ１は、ブロック内の電源配線と等価である。第２抵抗回路Ｒ２は、ブロック内のグラウンド配線と等価である。第１抵抗回路Ｒ１と第２抵抗回路Ｒ２のそれぞれの抵抗の数は、ブロックの大きさに基づいて設計者により決定される。図１７の例では、第１抵抗回路Ｒ１と第２抵抗回路Ｒ２はそれぞれ２４の抵抗を有する。
【００８６】
第１電圧源ｐｏｗ１は第１位置ｐ１１に接続される。第１電圧源ｐｏｗ１が接続される位置は、パッドからの電源配線が接続されるブロック内の端子の位置に基づいて決定される。第２電圧源ｐｏｗ２は第２位置ｐ２１６に接続される。第２電圧源ｐｏｗ２が接続される位置は、パッドからのグラウンド配線が接続されるブロック内の端子の位置に基づいて決定される。ブロック内の端子の位置は、接続情報１０００によって特定可能である。また、ここでは、例えば、回路情報５４０は、算出装置１００によって自動で作成されてもよいし、設計者の操作によって作成されてもよい。なお、設計者の操作は、入力装置２０７を介して行われる。
【００８７】
導出部１６０２は、電流源ｃｓ１〜ｃｓ１６の合計電流値を特定電流値とし、第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を特定抵抗値とする。そして、導出部１６０２は、合計電流値を特定電流値とし、各抵抗の値を特定抵抗値とした場合における、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差と、複数の第１位置ｐ１１〜ｐ１１６の各電圧値の中から選択した電圧値と、の第１差分を導出する。また、導出部１６０２は、第２電圧源ｐｏｗ２の電位と、複数の第２位置ｐ２１〜ｐ２１６の各電圧値の中から選択した電圧値と、の第２差分を導出する。具体的に、導出部１６０２は、設定部１６０３と、シミュレーション実行部１６０４と、を有する。設定部１６０３は、回路情報５４０に、電流源ｃｓ１〜ｃｓ１６の合計電流値を特定電流値となるように設定し、第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値が特定抵抗値となるように設定する。特定電流値は、Ｉ０とし、特定抵抗値は、ｒ０とする。特定電流値Ｉ０は、１［Ａ］とし、各電流源ｃｓ１〜ｃｓ１６の電流値は、Ｉ０／ｎとする。ｎは、第１位置の数である。また、特定抵抗値ｒ０は、１［Ω］とする。これにより、シミュレーションの時間を短縮させることができる。
【００８８】
そして、シミュレーション実行部１６０４は、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差と、複数の第１位置ｐ１１〜ｐ１１６の各第１電圧値の中から選択した電圧値と、の第１差分を回路情報５４０に基づきシミュレーションすることにより導出する。また、シミュレーション実行部１６０４は、第２電圧源ｐｏｗ２の電位と、複数の第２位置ｐ２１〜ｐ２１６の各第２電圧値の中から選択した電圧値と、の第２差分を回路情報５４０に基づいてシミュレーションすることにより導出する。ここでのシミュレーションは、ＳＰＩＣＥシミュレーションである。
【００８９】
第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差は、複数の第１位置ｐ１１〜ｐ１１６の中で、第１電圧源ｐｏｗ１が接続された第１位置ｐ１１の電圧値と同一である。また、シミュレーション実行部１６０４は、複数の第１位置ｐ１１〜ｐ１１６の各第１電圧値の中から、電圧値の大きさに基づいて電圧値を選択する。例えば、シミュレーショ
ン実行部１６０４は、複数の第１位置ｐ１１〜ｐ１１６の各電圧値の中から、最も小さい電圧値を選択して第１差分を導出する。ここで、導出された第１差分は、ΔＶｂ０＿ｐｏ
ｗｅｒとする。また、シミュレーション実行部１６０４は、複数の第２位置ｐ２１〜ｐ２１６の各第２電圧値の中から、電圧値の大きさに基づいて電圧値を選択する。例えば、シミュレーション実行部１６０４は、複数の第２位置ｐ２１〜ｐ２１６の各電圧値の中から、最も大きい電圧値を選択して第２差分を導出する。ここで、導出された第２差分は、ΔＶｂ０＿ｇｒｏｕｎｄとする。
【００９０】
比率算出部１６０５は、導出された第１差分ΔＶｂ０＿ｐｏｗｅｒと導出された第２差分ΔＶｂ０＿ｇｒｏｕｎｄとから選択した差分ΔＶｂ０と、特定電流値と特定抵抗値とに基づく電圧値と、の比率を算出する。差分ΔＶｂ０は、導出された第１差分ΔＶｂ０＿ｐｏｗｅｒと導出された第２差分ΔＶｂ０＿ｇｒｏｕｎｄとのうち、差が大きい方である。また、この比率は、後述する第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を算出するための係数となるため、比率を係数βとする。比率算出部１６０５は、係数βを以下式（１１）に基づいて算出する。
【００９１】
β＝ΔＶｂ０／（Ｉ０×ｒ０）・・・（１１）
【００９２】
上述したように、特定電流値Ｉ０は、１［Ａ］とし、特定抵抗値ｒ０は、１［Ω］とすると、式（１１）は、式（１２）のように表せる。
【００９３】
β＝ΔＶｂ０・・・（１２）
【００９４】
このように、特定電流値Ｉ０は、１［Ａ］とし、特定抵抗値ｒ０は、１［Ω］とすることにより、算出装置１００に要する算出時間の短縮を図ることができる。
【００９５】
抵抗値算出部１６０６は、最大電圧降下量の閾値と、ブロック内の電流値の基準値と、算出された係数βと、に基づく第１抵抗回路Ｒ１および第２抵抗回路Ｒ２の各抵抗の値を算出する。最大電圧降下量の閾値は、第１電圧源ｐｏｗ１と第２電圧源ｐｏｗ２との間の電位差と複数の第１位置ｐ１１〜ｐ１１６の各電圧値との差分の閾値であり、および第２電圧源ｐｏｗ２の電位と複数の第２位置ｐ２１〜ｐ２１６の各電圧値との差分の閾値である。具体的には、最大電圧降下量の閾値は上述した許容値ΔＶｂである。ブロック内の電流値の基準値は、電流源ｃｓ１〜ｃｓ１６の合計電流の特定値Ｉである。算出された抵抗の値は、ｒとする。具体的に、抵抗値算出部１６０６は、以下式（１３）に基づいて各抵抗の値ｒを算出する。
【００９６】
ｒ＝ΔＶｂ／（Ｉ×β）＝（ΔＶｂ／ΔＶｂ０）×（１／Ｉ）・・・（１３）
【００９７】
特定値Ｉは、図１４に示したブロック情報３１２に含まれる。許容値ΔＶｂは、図１４に示したブロック情報３１２に含まれる許容値ΔＶと、比率αとに基づいて定まる。具体的には、許容値ΔＶｂは、「許容値ΔＶ−許容値ΔＶ×比率α」である。
【００９８】
つぎに、パッドとブロック間の抵抗の値Ｒｗを抵抗の値Ｒｗ＿ｐｃとした場合、抵抗値算出部１６０６は、抵抗の値ｒを補正する。これにより、比率αを保つことができる。例えば、ΔＶは以下のように表せる。
【００９９】
ΔＶ＝ΔＶｗ＋ΔＶｂ
＝δ×ΔＶ０
＝δ（ΔＶｗ０＋ΔＶｂ０）
【０１００】
そこで、抵抗値算出部１６０６は、抵抗の値ｒを以下式（１４）〜（１６）によって補正する。
【０１０１】
ｒ＝δ×ｒ・・・（１４）
Ｒｗ＿ｉｒ≦Ｒｗ＿ｐｃの場合、δ＝１・・・（１５）
Ｒｗ＿ｉｒ＞Ｒｗ＿ｐｃの場合、δ＝Ｒｗ＿ｐｃ／Ｒｗ＿ｉｒ・・・（１６）
【０１０２】
このように、パッドブロック間の配線に電流が大量に流れるようなブロックについて、配線の許容電流値を考慮して、ブロック内抵抗の値ｒを見積もることができる。
【０１０３】
算出された抵抗の値ｒは、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶させる。例えば、抵抗の値ｒは、図１８に示すブロック内抵抗情報に記憶される。ここで、抵抗の値ｒについては、電源側とグラウンド側と、で別々に定義してもよい。例えば、電源側の抵抗の値ｒは、ｒ＿ｐｏｗｅｒとし、グラウンド側の抵抗値ｒは、ｒ＿ｇｒｏｕｎｄとしてもよい。各抵抗値ｒを以下式（１７）と式（１８）とに示す。
【０１０４】
ｒ＿ｐｏｗｅｒ＝ΔＶｂ０／ΔＶｂ０＿ｐｏｗｅｒ×（１／Ｉ）・・・（１７）
ｒ＿ｇｒｏｕｎｄ＝ΔＶｂ０／ΔＶｂ０＿ｇｒｏｕｎｄ×（１／Ｉ）・・・（１８）
【０１０５】
図１８は、ブロック内抵抗情報例を示す説明図である。ブロック内抵抗情報１８００は、電源とグラウンドの組み合わせごとに、ブロック内の電源配線およびグラウンド配線と等価な抵抗の値を有する。具体的には、ブロック内抵抗情報１８００は、ブロック名、Ｎｅｔ名、ブロック基準座標ｘ、ブロック基準座標ｙ、ブロックサイズｘ、ブロックサイズｙ、抵抗値のフィールドを有する。電源とグラウンドの組み合わせごとに、各フィールドに情報が設定されることにより、レコード（１８０１−１，１８０１−２など）として記憶される。ブロック内抵抗情報１８００は、例えば、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【０１０６】
ブロック名、Ｎｅｔ名、ブロック基準座標ｘ、ブロック基準座標ｙ、ブロックサイズｘ、ブロックサイズｙのフィールドは、それぞれブロック情報７００と同一のフィールドであるため、詳細な説明を省略する。抵抗値は、ブロック内抵抗の値ｒである。
【０１０７】
また、ブロック内配線幅算出部５２１は、ブロック内抵抗値算出部５１１によって算出された抵抗の値ｒに基づいて、ブロック内の電源配線およびグラウンド配線の幅を算出する。例えば、ブロック内配線幅算出部５２１は、以下式（１９）によってブロック内の配線の幅を算出する。
【０１０８】
ｗ２＝Ｒ＿ｓ×ｌ２／ｒ・・・（１９）
【０１０９】
ｌ２は、配線の長さであり、第１抵抗回路Ｒ１に含まれる各抵抗と等価な電源配線の長さであり、設計者によって予め定められる。メッシュサイズが１００［μｍ］であると、ブロックのサイズが、１０００［μｍ］×２００［μｍ］であれば、ブロックは、１０×２の抵抗メッシュによりモデル化される。上述した図１１では、レイアウトされた各ブロックがメッシュサイズに基づいて区切られている。長さｌ２は、例えば、メッシュサイズに基づいて決定される。上述したように、Ｒ＿ｓは、配線のシート抵抗値であり、予めＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。また、算出された配線の幅ｗ２は、ＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【０１１０】
（算出装置１００による抵抗値算出処理手順例を示すフローチャート）
図１９は、算出装置による抵抗値算出処理手順例を示すフローチャートである。まず、算出装置１００は、ブロック情報７００とパッド情報８００とに基づいて、接続情報１０００を作成する（ステップＳ１９０１）。そして、算出装置１００は、比率αを取得する（ステップＳ１９０２）。算出装置１００は、パッドブロック間抵抗の値を算出する（ステップＳ１９０３）。そして、算出装置１００は、ブロック内抵抗の値を算出する（ステップＳ１９０４）。算出装置１００は、ブロック内抵抗の値を補正する（ステップＳ１９０５）。そして、算出装置１００は、配線幅ｗ２を算出し（ステップＳ１９０６）、一連の処理を終了する。
【０１１１】
図２０Ａは、図１９で示したパッドブロック間抵抗の値の算出処理の詳細な説明を示すフローチャートである。まず、算出装置１００は、比率αと許容値ΔＶとによって、抵抗の値Ｒｗ＿ｉｒを算出する（ステップＳ２００１）。つぎに、算出装置１００は、配線の長さｌによって、抵抗の値Ｒｗ＿ｐｃを算出する（ステップＳ２００２）。
【０１１２】
そして、算出装置１００は、Ｒｗ＿ｉｒ≦Ｒｗ＿ｐｃであるか否かを判断する（ステップＳ２００３）。Ｒｗ＿ｉｒ≦Ｒｗ＿ｐｃでないと判断された場合（ステップＳ２００３：Ｎｏ）、算出装置１００は、Ｒｗ＝Ｒｗ＿ｐｃとする（ステップＳ２００４）。そして、算出装置１００は、δ＝Ｒｗ＿ｐｃ／Ｒｗ＿ｉｒとし（ステップＳ２００５）、一連の処理を終了する。
【０１１３】
Ｒｗ＿ｉｒ≦Ｒｗ＿ｐｃであると判断された場合（ステップＳ２００３：Ｙｅｓ）、算出装置１００は、Ｒｗ＝Ｒｗ＿ｉｒとする（ステップＳ２００６）。そして、算出装置１００は、δ＝１とし（ステップＳ２００７）、一連の処理を終了する。
【０１１４】
図２０Ｂは、図１９で示したブロック内抵抗の値の算出処理の詳細な説明を示すフローチャートである。まず、算出装置１００は、回路情報５４０を作成する（ステップＳ２０１１）。つぎに、算出装置１００は、特定電流値Ｉ０と特定抵抗値ｒ０を設定する（ステップＳ２０１２）。例えば、算出装置１００は、Ｉ０＝１［Ａ］、ｒ０＝１［Ω］とする。
【０１１５】
算出装置１００は、回路情報５４０に基づくＳＰＩＣＥシミュレーションにより、差分ΔＶｂ０を導出する（ステップＳ２０１３）。算出装置１００は、係数βを算出する（ステップＳ２０１４）。そして、算出装置１００は、ブロック内抵抗の値を算出し（ステップＳ２０１５）、一連の処理を終了する。
【０１１６】
つぎに、ネットリスト作成部５０４は、配線情報と、Ｉ／Ｏリング情報と、を有する電源配線モデルであるネットリスト５４１を作成する。ネットリスト作成部５０４は、ブロック配線作成部５３１と、Ｉ／Ｏリング作成部５３２と、を有する。配線情報は、上述した回路情報５４０と、パッドブロック間抵抗を表す回路情報と、を有するネットリストである。例えば、ブロック配線作成部５３１は、回路情報５４０に、抵抗の値ｒを設定し、パッドブロック間抵抗に、抵抗の値Ｒｗを設定した配線情報を生成する。
【０１１７】
図２１は、配線情報例を示す説明図である。配線情報２１００では、各抵抗定義に、Ｎｅｔ名と、パッドの座標と、ブロック内の端子の座標と、抵抗値と、が含まれる。例えば、抵抗ＲＡＶＤ＿０１の定義には、「ｎ＿ＡＶＤ＿００４００５  ｎ＿ＡＶＤ＿００１００５  ５」が含まれる。「ｎ＿ＡＶＤ＿００４００５」は、Ｎｅｔ名がＡＶＤであり、パッドの座標が（ｘ＝００４，ｙ＝００５）であることを示す。「ｎ＿ＡＶＤ＿００１００５」は、Ｎｅｔ名がＡＶＤであり、ブロック内の端子の座標が（ｘ＝００１，ｙ＝００５）であることを示す。そして、「５」は、抵抗ＲＡＶＤ＿０１の値が５であることを示す。このように抵抗定義に、Ｎｅｔ名と座標と、を含めることにより、シミュレーション結果に基づく電圧マップなどの作成を容易化することができる。
【０１１８】
つぎに、Ｉ／Ｏリング作成部５３２は、ノイズ解析の対象回路内の複数のパッドの各々について、パッドの位置情報と、対象回路に接続される複数の電源のうち、パッドに接続される電源を示す電源情報と、を有するパッド情報を取得する。具体的に、Ｉ／Ｏリング作成部５３２は、パッド情報８００を取得する。
【０１１９】
また、Ｉ／Ｏリング作成部５３２は、複数のパッドが設けられる領域を複数の部分領域に区切るセルの位置情報を取得する。領域を複数の部分領域に区切るセルは、Ｄｉｖｉｄｅｒセルと称する。Ｄｉｖｉｄｅｒセルについては、複数の種類があるが、ここではＤｉｖｉｄｅｒセルの種類が不明であるため、パッドを経由する電源配線またはグラウンド配線が不明である。例えば、Ｉ／Ｏリング作成部５３２は、Ｄｉｖｉｄｅｒセルの位置情報として、レイアウト情報６００を取得する。
【０１２０】
図２２は、Ｉ／Ｏリング情報の生成例を示す説明図である。Ｉ／Ｏリング作成部５３２は、レイアウト情報６００と、パッド情報８００と、に基づいて、領域ａｒｅａがＤｉｖｉｄｅｒセルによって区切られる複数の部分領域を示すＩ／Ｏ領域リストを生成する。Ｉ／Ｏ領域リストは、部分領域ごとの領域情報を有する。領域情報は、各部分領域について、始点を示す始点情報と、終点を示す終点情報と、部分領域に配置されるパッドが接続される電源を示すＮｅｔ名と、を有する。具体的には、Ｉ／Ｏリング作成部５３２は、パッド情報８００に含まれるレコードと、レイアウト情報６００のうちＤｉｖｉｄｅｒセルがブロック名に設定されたレコードと、を有するＩ／Ｏリストを生成する。そして、Ｉ／Ｏリング作成部５３２は、基準位置に基づいて、Ｉ／Ｏリストをソートする。具体的には、Ｉ／Ｏリング作成部５３２は、基準位置からパッドが配置される領域を一周するような順にソートする。
【０１２１】
つぎに、Ｉ／Ｏリング作成部５３２は、Ｉ／Ｏリストに含まれるレコードを順に選択する。Ｉ／Ｏリング作成部５３２は、選択したレコードに設定されたモジュール名がＤｉｖｉｄｅｒである場合、あらたな部分領域を示す領域情報を生成する。そして、Ｉ／Ｏリング作成部５３２は、生成した領域情報の始点情報を、選択したレコードに含まれる位置情報に設定する。
【０１２２】
また、選択したレコードに設定されたモジュール名がＤｉｖｉｄｅｒでない場合、Ｉ／Ｏリング作成部５３２は、生成した領域情報の終点情報を、選択したレコードに設定された位置情報に設定する。また、選択したレコードに設定されたモジュール名がＤｉｖｉｄｅｒでない場合、Ｉ／Ｏリング作成部３５２は、生成した領域情報のＮｅｔ名に選択したレコードに設定されたＮｅｔ名が含まれない場合、生成した領域情報のＮｅｔ名に、選択したレコードに設定されたＮｅｔ名を追加する。
【０１２３】
図２２（１）に示すように、領域ａｒｅａが、部分領域ａ１から部分領域ａ５に区切られる。図２２（２）に示すように、例えば、部分領域ａ１の領域情報内のＮｅｔ名には、ＶＤ１と、ＶＳＳと、が設定される。例えば、部分領域ａ２の領域情報内のＮｅｔ名には、ＶＤ１と、ＶＳＳと、が設定される。例えば、部分領域ａ３の領域情報内のＮｅｔ名には、ＶＳＳと、ＶＤ２と、が設定される。例えば、部分領域ａ４の領域情報内のＮｅｔ名には、ＶＳＳが設定される。例えば、部分領域ａ５の領域情報内のＮｅｔ名には、ＶＤ１と、ＶＳＳと、が設定される。
【０１２４】
Ｉ／Ｏリング作成部５３２は、部分領域の各々について、部分領域に設けられる電源の配線と等価な１または複数の抵抗を有する回路を表す抵抗情報を生成する。ここでの抵抗情報は、例えば、ＳＰＩＣＥなどの回路記述形式によって記述されたネットリストである。具体的には、Ｉ／Ｏリング作成部５３２は、部分領域の各々について、領域情報内のＮｅｔ名が表す電源の配線と等価な１または複数の抵抗を有する回路を表す抵抗情報を生成してＩ／Ｏリング情報に追加する。
【０１２５】
そして、Ｉ／Ｏリング作成部５３２は、隣り合う２つの部分領域ａにおいて、設けられるパッドに接続される電源が同一の場合に、隣り合う部分領域ａ間を接続する電源の配線と等価な１または複数の抵抗を有する回路を表す抵抗情報を生成する。ここでの抵抗情報は、例えば、ＳＰＩＣＥなどの回路記述形式によって記述されたネットリストである。
【０１２６】
具体的には、Ｉ／Ｏリング作成部５３２は、隣り合う部分領域ａについての領域情報に同一のＮｅｔ名が設定されているか否かを判断する。具体的には、Ｉ／Ｏリング作成部５３２は、隣り合う部分領域ａの組み合わせごとに、領域情報に設定された同一のＮｅｔ名を特定する。例えば、図２２（３）に示すように、部分領域ａ１と部分領域ａ２の組み合わせは、ＶＤ１とＶＳＳとが特定される。例えば、図２２（３）に示すように、部分領域ａ２と部分領域ａ３の組み合わせは、ＶＳＳが特定される。例えば、図２２（３）に示すように、部分領域ａ３と部分領域ａ４の組み合わせは、ＶＳＳが特定される。例えば、図２２（３）に示すように、部分領域ａ４と部分領域ａ５の組み合わせは、ＶＳＳが特定される。例えば、図２２（３）に示すように、部分領域ａ５と部分領域ａ１の組み合わせは、ＶＤ１とＶＳＳが特定される。そして、Ｉ／Ｏリング作成部５３２は、隣り合う部分領域ａ間を接続するための特定したＮｅｔ名が示す電源の配線と等価な１または複数の抵抗を有する回路を表す抵抗情報を生成してＩ／Ｏリング情報に追加する。
【０１２７】
このように生成されたＩ／Ｏリング情報が表す回路は、図２２（４）に示すような抵抗回路Ｒｒｉｎｇである。抵抗の数は、上述したモデル化するメッシュサイズと、電源配線またはグラウンド配線の長さと、に基づいて定まり、各抵抗の値は、パッドの回路構成に基づいて定まる。電源配線またはグラウンド配線の長さは、領域情報内の始点情報および終点情報に基づいて算出可能である。パッドの回路構成に基づく抵抗の値は、配線幅とシート抵抗から求められるようにチップ情報３１１に予め含まれることとする。また、配線幅とシート抵抗がない場合、パッドの回路構成に基づく抵抗の値として、過去のデータなどに基づく概算値がチップ情報３１１に含まれることとする。
【０１２８】
そして、ネットリスト作成部５０４は、配線情報２１００と、Ｉ／Ｏリング情報と、に基づいて、対象回路を表すネットリスト５４１を作成する。
【０１２９】
（算出装置１００によるＩ／Ｏリング情報作成手順例を示すフローチャート）
図２３および図２４は、Ｉ／Ｏリング情報作成手順例を示すフローチャートである。まず、算出装置１００は、レイアウト情報６００と、パッド情報８００と、を取得する（ステップＳ２３０１）。算出装置１００は、レイアウト情報６００と、パッド情報８００と、に基づいて、Ｉ／Ｏリスト２３００を作成する（ステップＳ２３０２）。ここでは、算出装置１００は、例えば、レイアウト情報６００のうち、Ｄｉｖｉｄｅｒセルがモジュール名に設定されたレコードと、パッド情報８００の各レコードと、を有するＩ／Ｏリスト２３００を作成する。算出装置１００は、基準位置に基づいてＩ／Ｏリスト２３００をソートする（ステップＳ２３０３）。基準位置については、予め設計者によって定められＲＡＭ２０３やディスク２０５などの記憶装置に記憶される。
【０１３０】
算出装置１００は、Ｉ／Ｏリスト２３００のうち、未選択なレコードがあるか否かを判断する（ステップＳ２３０４）。未選択なレコードがある場合（ステップＳ２３０４：Ｙｅｓ）、算出装置１００は、未選択なレコードのうち、先頭から順に１つのレコードを選択する（ステップＳ２３０５）。そして、算出装置１００は、選択したレコードに設定されたブロック名がＤｉｖｉｄｅｒでないか否かを判断する（ステップＳ２３０６）。選択したレコードに設定されたブロック名がＤｉｖｉｄｅｒでない場合（ステップＳ２３０６：Ｙｅｓ）、算出装置１００は、選択したレコードに設定されたＮｅｔ名が部分領域を示す領域情報内のＮｅｔ名に設定されているか否かを判断する（ステップＳ２３０７）。部分領域を示す領域情報内のＮｅｔ名に設定されている場合（ステップＳ２３０７：Ｙｅｓ）、ステップＳ２３０９へ移行する。
【０１３１】
部分領域を示す領域情報内のＮｅｔ名に設定されていない場合（ステップＳ２３０７：Ｎｏ）、算出装置１００は、部分領域を示す領域情報内のＮｅｔ名に選択したレコードに設定されたＮｅｔ名を設定する（ステップＳ２３０８）。そして、算出装置１００は、部分領域を示す領域情報内の終点情報に、選択したレコードに設定された位置情報を設定し（ステップＳ２３０９）、ステップＳ２３０４へ戻る。レコードに設定された位置情報とは、ｘ座標、ｙ座標である。選択したレコードに設定されたブロック名がＤｉｖｉｄｅｒである場合（ステップＳ２３０６：Ｎｏ）、算出装置１００は、あらたな部分領域を示す領域情報を生成する（ステップＳ２３１０）。算出装置１００は、領域情報内の始点情報にＤｉｖｉｄｅｒセルの位置情報を設定し（ステップＳ２３１１）、ステップＳ２３０４へ移行する。位置情報とは、選択されたレコードに設定されたブロック基準座標ｘ、ブロック基準座標ｙである。
【０１３２】
未選択なレコードがない場合（ステップＳ２３０４：Ｎｏ）、算出装置１００は、基準位置に基づいて領域情報をマージしてＩ／Ｏ領域リスト２３０１を作成する（ステップＳ２３１２）。そして、算出装置１００は、Ｉ／Ｏ領域リスト２３０１のうち、未選択な領域情報があるか否かを判断する（ステップＳ２４０１）。未選択な領域情報がある場合（ステップＳ２４０１：Ｙｅｓ）、算出装置１００は、未選択な領域情報から先頭の領域情報を選択する（ステップＳ２４０２）。
【０１３３】
そして、算出装置１００は、領域情報に設定されたＮｅｔ名のうち、未選択なＮｅｔ名があるか否かを判断する（ステップＳ２４０３）。未選択なＮｅｔ名がある場合（ステップＳ２４０３：Ｙｅｓ）、算出装置１００は、領域情報内の始点および終点情報に基づいてＮｅｔ名が示す電源の配線と等価な抵抗を表すネットリストをＩ／Ｏリング情報２４００に追加する（ステップＳ２４０４）。
【０１３４】
つぎに、算出装置１００は、Ｉ／Ｏ領域リスト２３０１内の選択した領域情報のつぎの領域情報に、選択したＮｅｔ名が設定されているか否かを判断する（ステップＳ２４０５）。選択したＮｅｔ名が設定されていない場合（ステップＳ２４０５：Ｎｏ）、ステップＳ２４０３へ戻る。選択したＮｅｔ名が設定されている場合（ステップＳ２４０５：Ｙｅｓ）、算出装置１００は、選択した領域情報が示す領域と、つぎの領域情報が示す領域との間の選択したＮｅｔ名が示す電源の配線と等価な抵抗を表すネットリストをＩ／Ｏリング情報２４００に追加し（ステップＳ２４０６）、ステップＳ２４０３へ戻る。
【０１３５】
ステップＳ２４０３において、未選択なＮｅｔ名がない場合（ステップＳ２４０３：Ｎｏ）、算出装置１００は、ステップＳ２４０１へ戻る。ステップＳ２４０１において、未選択な領域情報がない場合（ステップＳ２４０１：Ｎｏ）、算出装置１００は、生成したＩ／Ｏリング情報２４００を出力し（ステップＳ２４０７）、一連の処理を終了する。
【０１３６】
以上説明したように、本実施の形態にかかる算出装置は、回路内の各抵抗値と電流値とを各特定値とした場合の回路内の最大電圧降下量と、該各特定値と、の比率に応じて該電流値と電圧降下量の各許容値を満たす該各抵抗の値を決定する。これにより、設計者の手間を省くことができ、設計効率の向上を図ることができる。
【０１３７】
また、回路は、電源配線と等価な第１抵抗回路と、グラウンド配線と等価な第２抵抗回路とを有し、実施の形態にかかる算出装置は、算出した各抵抗の値と、特定の長さと、に基づき電源配線およびグラウンド配線の配線幅を算出する。これにより、算出された配線幅を実際のレイアウト設計時の電源配線およびグラウンド配線の指標にすることができ、設計効率の向上を図ることができる。
【０１３８】
また、特定電流値を１［Ａ］とし、特定抵抗値を１［Ω］とすることにより、各抵抗の値の算出を容易化でき、実施の形態にかかる算出装置による算出時間の高速化を図ることができる。
【０１３９】
また、本実施の形態にかかる算出装置は、第１電圧源と第２電圧源との間の電位差と複数の第１位置の各電圧値との差分の閾値と、電流源の合計電流の特定値と、比率と、に基づく各抵抗の値を算出する。これにより、設計効率の向上を図ることができる。
【０１４０】
また、本実施の形態にかかる算出装置は、パッドと部分回路との間の電源配線と等価な抵抗の値を、パッドと部分回路との間の電位差の閾値と、電源配線の長さと、の各々において算出する。そして、本実施の形態にかかる算出装置は、電位差によって算出した抵抗の値が電源配線の長さによって算出した抵抗の値以上の場合に、回路内の各抵抗の値を算出した２つの抵抗の値の比率によって補正する。これにより、パッドと部分回路との間の電位差の閾値と、各電圧値との差分の閾値と、の比率を変更することなく、部分回路内の各抵抗の値を補正することが可能となる。
【０１４１】
また、本実施の形態にかかる算出装置は、パッドごとにパッドに流れる総電流値を、パッドと接続される部分回路の電流の特定値に基づき算出する。そして、本実施の形態にかかる算出装置は、算出した総電流値がパッドの許容電流値とワイヤボンディングの許容電流値とのいずれよりも小さい場合に、部分回路ごとの各抵抗の値を算出する処理を行う。このように、各パッドの電流値が各許容電流値を遵守可能な状態にしておいた後に、各抵抗の値が算出されることにより、設計フローのより早い段階で設計仕様の変更を検討することができ、パッド周りのよりよい設計仕様によって設計を行うことができる。したがって、設計効率の向上を図ることができる。
【０１４２】
また、実施の形態にかかる算出装置は、パッドが配置される領域をＤｉｖｉｄｅｒセルに基づき部分領域に区切り、隣り合う部分領域に設けられるパッドに接続される電源の種類に基づき、Ｉ／Ｏリングを表すネットリストを作成する。これにより、ネットリストの作成に関する設計者の手間を省くことができ、設計効率の向上を図ることができる。
【０１４３】
なお、本実施の形態で説明した算出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本算出プログラムは、ディスクやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本算出プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１４４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４５】
（付記１）コンピュータが、
互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、
導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する、
処理を実行することを特徴とする算出方法。
【０１４６】
（付記２）前記各第１電圧値の中から選択した前記電圧値は、前記各第１電圧値の中の最も小さい電圧値であることを特徴とする付記１に記載の算出方法。
【０１４７】
（付記３）前記各第２電圧値の中から選択した前記電圧値は、前記各第２電圧値の中の最も大きい電圧値であることを特徴とする付記１または２に記載の算出方法。
【０１４８】
（付記４）選択した前記差分は、導出した前記第１差分と導出した前記第２差分とのうち、大きい方の差分であることを特徴とする付記１〜３のいずれか一つに記載の算出方法。
【０１４９】
（付記５）前記第１抵抗回路は、第１電源配線と等価な抵抗回路であり、前記第２抵抗回路は、第２電源配線と等価な抵抗回路であって、
前記コンピュータが、
算出した前記各抵抗の値と、特定長さと、に基づく前記第１電源配線および第２電源配線の配線幅を算出することを特徴とする付記１〜４のいずれか一つに記載の算出方法。
【０１５０】
（付記６）前記特定電流値を１［Ａ］とし、前記特定抵抗値を１［Ω］とすることを特徴とする付記１〜５のいずれか一つに記載の算出方法。
【０１５１】
（付記７）前記各抵抗の値を算出する処理では、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各電圧値との差分の閾値と、前記電流源の合計電流の特定値と、前記比率と、に基づく前記各抵抗の値を算出することを特徴とする付記１〜６のいずれか一つに記載の算出方法。
【０１５２】
（付記８）前記コンピュータが、
前記回路（以下、「部分回路」と称する。）を有する対象回路内の複数の外部端子のうち、前記部分回路と接続される外部端子と、前記部分回路と、の間の電源配線と等価な抵抗の第１値を、前記部分回路と接続される外部端子と前記部分回路との間の電位差の第２閾値によって算出し、前記電源配線と等価な抵抗の第２値を、前記電源配線の長さによって算出する、
処理を実行し、
前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する処理では、さらに、前記第１値が前記第２値以上である場合、前記比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を、前記第１値と前記第２値との比率によって補正することを特徴とする付記７に記載の算出方法。
【０１５３】
（付記９）前記コンピュータが、
前記回路（以下、「部分回路」と称する。）を有する対象回路内の複数の外部端子のうち前記部分回路が接続される外部端子の各々について、前記外部端子に接続される前記対象回路内の各回路を流れる電流の総和を算出し、
算出した前記総和が、前記外部端子の許容電流値と、前記外部端子に接続されるワイヤボンディングの許容電流値と、のいずれよりも小さいか否かを判断する、
処理を実行し、
前記回路情報を取得する処理では、算出した前記総和がいずれよりも小さい場合に、前記回路情報を取得することを特徴とする付記１〜８のいずれか一つに記載の算出方法。
【０１５４】
（付記１０）前記コンピュータが、
前記回路（以下、「部分回路」と称する。）を有する対象回路内の複数の外部端子の各々について、前記外部端子の位置情報と、前記対象回路に接続される複数の電源のうち、前記外部端子に接続される電源を示す電源情報と、を有する外部端子情報を取得し、
前記複数の外部端子が設けられる領域を区切るセルの位置情報を取得し、
取得した前記外部端子情報と、取得した前記セルの位置情報と、に基づいて、前記領域が区切られた複数の部分領域を示す領域情報を生成し、
前記複数の電源の各々について、生成した前記領域情報が示す前記複数の部分領域の各々に設けられる外部端子について取得した前記外部端子情報に基づいて、前記電源の配線と等価な抵抗回路を表す抵抗情報を生成し、
前記複数の電源の各々について生成した前記抵抗情報と、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出した前記抵抗の値にした前記部分回路を表す前記回路情報と、に基づいて、前記対象回路を表す対象回路情報を生成する、
ことを特徴とする付記１〜９のいずれか一つに記載の算出方法。
【０１５５】
（付記１１）コンピュータに、
互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、
導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する、
処理を実行させることを特徴とする算出プログラム。
【０１５６】
（付記１２）互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得する取得部と、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、
前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を前記取得部が取得した前記回路情報に基づいて導出する導出部と、
前記導出部が導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する抵抗値算出部と、
を有することを特徴とする算出装置。
【０１５７】
（付記１３）互いに接続された複数の抵抗を有し第１電圧源が接続された第１抵抗回路と、前記複数の抵抗と同一の接続関係を有する複数の抵抗を有し前記第１電圧源よりも低電圧の第２電圧源が接続された第２抵抗回路と、を有する回路であって、前記第１抵抗回路内の電気的に異なる複数の第１位置と、前記複数の第１位置の各々に対応する前記第２抵抗回路内の複数の第２位置と、がそれぞれ電流源を介して接続された回路を表す回路情報を取得し、
前記電流源の合計電流値を特定電流値とし、前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を特定抵抗値とした場合における、前記第１電圧源と前記第２電圧源との間の電位差と前記複数の第１位置の各第１電圧値の中から選択した電圧値との第１差分と、前記第２電圧源の電位と前記複数の第２位置の各第２電圧値の中から選択した電圧値との第２差分と、を取得した前記回路情報に基づいて導出し、
導出した前記第１差分と導出した前記第２差分とから選択した差分と、前記特定電流値と前記特定抵抗値とに基づく電圧値と、の比率に応じた前記第１抵抗回路および前記第２抵抗回路の各抵抗の値を算出する、
処理をコンピュータに実行させる算出プログラムを記録したことを特徴とする記録媒体。
【符号の説明】
【０１５８】
１００  算出装置
１６０１  取得部
１６０２  導出部
１６０３  設定部
１６０４  シミュレーション実行部
１６０５  比率算出部
１６０６  抵抗値算出部
ｐｏｗ１  第１電圧源
ｐｏｗ２  第２電圧源
ｃｓ１〜ｃｓ１６  電流源
ｐ１１〜ｐ１１６  第１位置
ｐ２１〜ｐ２１６  第２位置
Ｒ１  第１抵抗回路
Ｒ２  第２抵抗回路
ｒ１１，ｒ１２，ｒ２１，ｒ２２  抵抗
ｒ０  特定抵抗値
Ｉ０  特定電流値
Ｉ  特定値
ΔＶｂ０＿ｐｏｗｅｒ  第１差分
ΔＶｂ０＿ｇｒｏｕｎｄ  第２差分
ΔＶｂ０  差分
ΔＶｂ  許容値
ΔＶｗ  許容値
Ｒｗ＿ｉｒ，Ｒｗ＿ｐｃ，Ｒｗ  抵抗の値
β  係数
【図１】
2015018534.tif 000003
【図２】
2015018534.tif 000004
【図３】
2015018534.tif 000005
【図４】
2015018534.tif 000006
【図５】
2015018534.tif 000007
【図６】
2015018534.tif 000008
【図７】
2015018534.tif 000009
【図８】
2015018534.tif 000010
【図９】
2015018534.tif 000011
【図１０】
2015018534.tif 000012
【図１１】
2015018534.tif 000013
【図１２】
2015018534.tif 000014
【図１３】
2015018534.tif 000015
【図１４】
2015018534.tif 000016
【図１５】
2015018534.tif 000017
【図１６】
2015018534.tif 000018
【図１７】
2015018534.tif 000019
【図１８】
2015018534.tif 000020
【図１９】
2015018534.tif 000021
【図２０Ａ】
2015018534.tif 000022
【図２０Ｂ】
2015018534.tif 000023
【図２１】
2015018534.tif 000024
【図２２】
2015018534.tif 000025
【図２３】
2015018534.tif 000026
【図２４】
2015018534.tif 000027