(57)【要約】      （修正有）【課題】半導体装置が有する複数のピンに入出力信号が入出力することで発生するノイズを簡易的に見積る。【解決手段】方法は、処理対象とするピンの近傍のエリアに配置されたピンのユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出し、コンピュータの記憶部に格納されるユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出し、ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、処理対象とするピンに対する同時動作信号ノイズを算出する。【選択図】図６
2008059553.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理をコンピュータが実行する同時動作信号ノイズ見積り方法において、
処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出ステップと、
前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出ステップと、
前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出ステップと、
を備えることを特徴とする同時動作信号ノイズ見積り方法。
【請求項２】
前記同時動作信号本数算出ステップは、前記処理対象とするピンの近傍に配置されたピンを複数のグループに分割して、前記同時動作信号本数をそれぞれ算出し、
前記差分算出ステップは、それぞれのグループについて、前記ユーザ設定情報ごとに算出された同時動作信号本数に対して実行され、
前記ノイズ和算出ステップは、前記グループごと、前記ユーザ設定情報ごとに得られた前記差分の和をとることにより、前記同時動作信号ノイズを算出する、
ことを特徴とする請求項１記載の同時動作信号ノイズ見積り方法。
【請求項３】
前記差分算出ステップにおいて、１つのグループ内では、前記同時動作信号本数に対するノイズの降順に、そのグループに含まれる前記ユーザ設定情報ごとに差分を算出し、
前記複数のグループのうちの最も内側のグループに含まれる複数の、前記ユーザ設定情報のうちで、同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、前記区間の始点をゼロとし、
前記複数のグループのうちの最も内側のグループ以外のグループに含まれる複数のユーザ設定情報のうちで、前記同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、そのグループの内側のすべてのグループにおいて割り当てうる同時動作信号本数の最大値を、前記区間の始点として算出し、
それぞれのグループに含まれる、それ以外のユーザ設定情報については、該ユーザ設定情報より同時動作信号本数に対するノイズが大きい直前のユーザ設定情報でのノイズの算出に用いた区間の終点を、前記区間の始点として算出することを特徴とする請求項２記載の同時動作信号ノイズ見積り方法。
【請求項４】
前記ユーザ設定情報とは、前記入出力信号のスタンダード、出力電流値、スルーレートの組み合わせに対する識別情報であることを特徴とする請求項１記載の同時動作信号ノイズ見積り方法。
【請求項５】
前記同時動作信号本数算出ステップでは、前記ピンの配置、及び該ピン間の結合係数のうちの一方に基づいて、前記近傍のエリアに配置されたピンを複数のグループに分割する、
ことを特徴とする請求項２記載の同時動作信号ノイズ見積り方法。
【請求項６】
前記同時動作信号本数算出ステップでは、前記ユーザ設定情報に従って前記近傍のエリアに配置されたピンに入出力される入出力信号の位相を基に、該ピンを区別して、前記グループ毎、該ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記差分算出ステップでは、前記同時動作信号本数算出ステップで前記グループ毎、前
記ユーザ設定情報毎に算出された同時動作信号本数を基に、前記差分を算出する、
ことを特徴とする請求項４記載の同時動作信号ノイズ見積り方法。
【請求項７】
請求項１記載の同時動作信号ノイズ見積り方法を用いた半導体装置の設計方法であって、
前記処理対象とするピン毎に、前記同時動作信号ノイズ見積り方法により見積もった同時動作信号ノイズが許容範囲内か否か確認し、
該同時動作信号ノイズが前記許容範囲を越えた前記処理対象とするピンが見つかった場合に、前記半導体装置の設計を変更する、
ことを特徴とする半導体装置の設計方法。
【請求項８】
請求項１記載の同時動作信号ノイズ見積り方法を用いて、ＰＣＢ基板に搭載される、複数のピンを有する半導体装置を設計するための方法であって、
前記半導体装置の設計を行い、該設計された半導体装置に配置される複数のピンのなかから選択した処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生すると予想されるノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、
前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記ＰＣＢ基板のＬＳＩ配置を変更して対応する、
ことを特徴とする半導体装置の設計方法。
【請求項９】
請求項１記載の同時動作信号ノイズ見積り方法を用いて、複数のピンを有する半導体装置を搭載するＰＣＢ基板を設計するための方法であって、
前記ＰＣＢ基板の設計を行い、前記複数のピンのなかから選択される処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生するノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、
前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記半導体装置の設計を変更して対応する、
ことを特徴とするＰＣＢ基板の設計方法。
【請求項１０】
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行するコンピュータに、
処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出機能と、
前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出機能と、
前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置における、複数のピンの入出力信号が同時動作することで発生する同時動作信号ノイズ（Simultaneous Switching Noise（ＳＳＮ）、ＳＳＯ（Simultaneous Switching Output）ノイズともいう）の見積り技術に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）は、ピンの配置、回路構成、等をユーザが自由に設定できる半導体装置である。
ＦＰＧＡのＩＯピン数の増加や、回路動作の高速化に伴い、多数の出力ピンが同時動作することにより発生する同時動作信号ノイズが無視できなくなってきた。
【０００３】
従来より、デバイスパッケージのグランドピンとデバイス内部ダイのグランドの基準レベルとの間で起こる電源発振（グランドバウンス）は、高速デバイスにおける誤動作信号の主な原因の１つのとなっている。このように、1本の信号線の動作でも誤動作する可能性があるから、複数の信号線が同時動作する場合のノイズは大きな問題となる。
【０００４】
そこでＦＰＧＡを搭載する基板においては、ＦＰＧＡデバイスを適切に動作させるために、ＦＰＧＡのピン配置を基に、どれだけの同時動作信号ノイズが発生するかを、設計段階で見積る必要がある。
例えば、ＳＰＩＣＥ等のシミュレータを用いると、この同時動作信号ノイズのシミュレーションを比較的正確に行うことができるがシミュレーション時間は膨大なものとなる。
【０００５】
特許文献１には、半導体装置の設計技術として、枝電源ラインに発生するノイズを抑制する技術が示されている。この技術では、同一の枝電源ラインに接続される複数個の論理セル群を１個の配置論理セル群として分類し、論理セルごとのノイズ値に基づき、配置論理セル群ごとに、複数個の論理セル群が同時動作時に発生すると予想される同時動作ノイズ値を求め、その配置論理セル群を構成する複数個の論理セル群のノイズ制限値の合計値と、その予想される同時動作ノイズ値との比較結果より、その配置論理セル群に挿入されている複数個の遅延調整用バッファの遅延時間を調整している。
【特許文献１】特開２０００−２８５１４６号公報「半導体装置の回路設計方法及びそのプログラムを記憶した記憶媒体」
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、半導体装置が有する複数のピンに入出力信号が入出力することで発生するノイズを簡易的（短時間）に見積ることを可能とした技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の同時動作信号ノイズ見積り方法は、半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理をコンピュータに実行させるためのものであり、処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出ステップと、前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ
同士の差分を算出する差分算出ステップと、前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出ステップと、を備える。
【０００８】
本発明の第１および第２の態様の半導体装置の設計方法、並びにＰＣＢ基板の設計方法は共に、上記同時動作信号ノイズ見積り方法を用いることを前提とし、それぞれ以下のように設計を行う。
【０００９】
第１の態様の半導体装置の設計方法では、前記処理対象とするピン毎に、前記同時動作信号ノイズ見積り方法により見積もった同時動作信号ノイズが許容範囲内か否か確認し、該同時動作信号ノイズが前記許容範囲を越えた前記処理対象とするピンが見つかった場合に、前記半導体装置の設計を変更する。
【００１０】
第２の態様の半導体装置の設計方法では、前記半導体装置の設計を行い、該設計された半導体装置に配置される複数のピンのなかから選択した処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生すると予想されるノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記ＰＣＢ基板のＬＳＩ配置を変更して対応する。
【００１１】
本発明のＰＣＢ基板の設計方法では、前記ＰＣＢ基板の設計を行い、前記複数のピンのなかから選択される処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生するノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記半導体装置の設計を変更して対応する。
【００１２】
本発明のプログラムは、半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行するコンピュータに、処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出機能と、前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出機能と、前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出機能と、を実現させる。
【発明の効果】
【００１３】
本発明では、処理対象とするピンにより、同時動作信号ノイズの見積りに用いるべき他のピンを特定して、その特定したピンの本数を同時動作信号本数として算出し、予め用意した、同時動作信号本数と同時動作信号に基づくノイズ（発生すると予想されるノイズ）との間の関係を示す発生ノイズ情報を参照して、算出した同時動作信号本数に対応するノイズの差分算出し、その差分を積算して同時動作信号ノイズを算出する。そのようにして、他のピンを特定し、特定した他のピンにより同時動作信号ノイズを見積るため、その見積りを短時間に行うことができる。
【００１４】
発生させる同時動作信号ノイズの大きさ、或いはそのノイズが影響する度合い、入出力される入出力信号等により他のピンを複数のグループに分け、グループ毎に発生ノイズ情
報を用意することにより、グループ毎に差分（ノイズ）を求め、求めた差分を積算して同時動作信号ノイズを算出するようにした場合には、その同時動作信号ノイズをより正確に見積ることができるようになる。
【００１５】
同時動作信号ノイズの見積りを短時間に行えることから、半導体装置、或いはそれを搭載するＰＣＢ基板の迅速な設計・製造を支援することになる。実際に発生する同時動作信号ノイズは、半導体装置、ＰＣＢ基板の何れを設計変更しても変化する。このため、半導体装置、ＰＣＢ基板の一方の設計上の不具合を他方の設計でカバーすることができる。同時動作信号ノイズの見積りを短時間に行えることから、そのカバーもより迅速に行えることとなる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
＜第１の実施形態＞
本発明は、半導体装置に備えられた複数のピンの入出力信号が同時動作することで発生する同時動作信号ノイズを簡易的に（短時間に）見積るための技術に関する。
【００１７】
図１Ａは、本発明の第１の実施形態による同時動作信号ノイズ見積り装置の構成を示すブロック図である。
図１Ａに示すように、同時動作信号ノイズ見積り装置は、ピン情報記憶部１、同時動作信号本数（ピン本数）算出部２、ノイズ差分算出部３、同時動作信号本数・ノイズ記憶部４、ノイズ和算出部５、を備える。
【００１８】
ピン情報記憶部１は、解析対象とする半導体装置のピン配置情報、ピンの入出力（ＩＯ）信号に関するユーザの設定情報（以下、「ＩＯユーザ設定情報」という）を記憶する。なお、ＩＯユーザ設定情報とは、ＩＯ信号のスタンダード（ＬＶＴＴＬ、ＬＶＣＭＯＳ、ＨＳＴＬ、等）、出力電流値（１２ｍＡ、８ｍＡ、４ｍＡ、等）、スルーレート（ＦＡＳＴ／ＳＬＯＷ）等のＩＯ信号に関するユーザ設定可能情報である。
【００１９】
同時動作信号本数算出部２は、処理対象とするピンの近傍のエリアに対する、ピンの配置情報およびそれらピンの入出力に関するユーザの設定情報とを基に、ＩＯユーザ設定情報ごとに同時動作信号の本数を算出する。
【００２０】
同時動作信号本数・ノイズ記憶部４は、ＩＯユーザ設定情報ごとに、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す情報（関数関係。以下「発生ノイズ情報」）を格納する。
【００２１】
ノイズ差分算出部３は、同時動作信号本数・ノイズ記憶部４にＩＯユーザ設定情報ごとに格納される発生ノイズ情報を基に、そのＩＯユーザ設定情報ごとに算出されたピンの本数（同時動作信号本数）をその発生ノイズ情報の同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する。
【００２２】
ノイズ和算出部５は、前記ＩＯユーザ設定情報ごとに算出されたノイズの差分についてノイズ和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出する。
【００２３】
このようにして処理対象とするピンで発生すると予想する同時動作信号ノイズ（量）は、そのノイズの見積りのために考慮すべき他のピンの抽出方法、及びそのピンの数（同時動作信号本数）と発生すると予想されるノイズとの関係を予め定義して求めている。それにより、短時間でノイズを見積もれるようにしている。
【００２４】
＜第２の実施形態＞
図１Ｂは、本発明の第２の実施形態の同時動作信号ノイズ見積り装置の構成を示すブロック図である。
【００２５】
図１Ｂに示すように、同時動作信号ノイズ見積り装置１０は、ピン情報記憶部１１、ピン本数すなわち同時動作信号本数算出部１２１、１２２、１２３、始点位置算出部１３１、１３２、１３３、同時動作信号本数・ノイズ記憶部１４、ノイズ算出部１５、を備える。
【００２６】
ピン情報記憶部１１は、解析対象とする半導体装置のピンごとに、その配置情報、ＩＯユーザ設定情報をピン情報として記憶する。
同時動作信号本数算出部１２１は、処理対象とするピンのピン情報を用いて、その処理対象とするピンに最も近い最大で８ピン分のエリア（このエリアに含まれるピンはグループ１に属するピンと呼ぶ）に配置されたピンの配置情報およびＩＯユーザ設定情報を抽出し、それら抽出された情報を基に、ＩＯユーザ設定情報ごとにピンの本数、即ち同時動作信号本数を算出する。
【００２７】
同時動作信号本数算出部１２２は、処理対象とするピンのピン情報を用いて、その処理対象とするピンに最も近い最大で８ピン分のエリアのさらに外側の最大で１６ピン分のエリア（このエリアに含まれるピンはグループ２に属するピンと呼ぶ）に配置されたピンの配置情報およびＩＯユーザ設定情報を抽出し、それら抽出された情報を基に、グループ２でＩＯユーザ設定情報ごとにピンの本数を算出する。
【００２８】
同時動作信号本数算出部１２３は、処理対象とするピンのピン情報を用いて、その処理対象とするピンに最も近い最大で８ピン分のエリアの外側の最大で１６ピン分のエリアのさらに外側の最大で２４ピン分のエリア（このエリアに含まれるピンはグループ３に属するピンと呼ぶ）に配置されたピンの配置情報およびＩＯユーザ設定情報を抽出し、それら抽出された情報を基に、そのエリアでＩＯユーザ設定情報ごとにピンの本数を算出する。
【００２９】
始点位置算出部１３１、１３２、１３３は、同時動作信号本数算出部１２１、１２２、１２３から（ＩＯユーザ設定情報、ピン本数）のペアを、１組以上それぞれ受け取り、そのペアに対して、ピン本数すなわち同時動作信号本数に対応する始点位置を追加して、後段のノイズ算出部１５に対して、（ＩＯユーザ設定情報、ピン本数、始点位置）から構成されるデータをそれぞれ出力する。ここで、始点位置とは、ＩＯユーザ設定情報毎に算出された同時動作信号本数の区間幅すなわち後述の図２に示すSW（同時動作信号）本数方向の区間（０からa、aからa＋b、a＋b からa＋b＋c）の始点と終点の区間幅の始点（０、a、a＋b）の位置を決定するために必要となる原点からの同時動作信号本数である。
【００３０】
すなわち、始点位置算出部１３１は、同時動作信号本数算出部１２１によって算出された、処理対象とするピンに最も近い最大８近傍のエリアのＩＯユーザ設定情報ごとにピン本数すなわち同時動作信号本数に対応する始点位置を算出する。
【００３１】
始点位置算出部１３２は、同時動作信号本数算出部１２２によって算出された、処理対象とするピンに２番目に近い１６近傍のエリアのＩＯユーザ設定情報ごとにピン本数すなわち同時動作信号本数に対応する始点位置を算出する。
【００３２】
始点位置算出部１３３は、同時動作信号本数算出部１２３によって算出された、処理対象とするピンに３番目に近い２４近傍のエリアのＩＯユーザ設定情報ごとにピン本数すなわち同時動作信号本数に対応する始点位置を算出する。
【００３３】
同時動作信号本数・ノイズ記憶部１４は、ＩＯユーザ設定情報ごとに、同時動作信号本数と、発生すると予想されるノイズとの関係を示す発生ノイズ情報を格納する。
ノイズ算出部１５は、同時動作信号本数・ノイズ記憶部１４に格納された発生ノイズ情報を参照し、ＩＯユーザ設定情報ごとに算出されたピンの本数（図２におけるa、b、c）、および、始点位置（図２における０、a、a＋b）をその発生ノイズ情報の同時動作信号本数とそれぞれみなして、そのピン本数＋始点位置、および、始点位置にそれぞれ対応するノイズ同士の差分を算出するとともに、算出した差分同士の和をとることで、処理対象とするピンに対する同時動作信号ノイズを算出する。
【００３４】
なお、このようにして、処理対象とするピンごとに算出された同時動作信号ノイズに対して、設計仕様上のノイズの許容限度との比較をさらに行うようにしてもよい。
図２は、図１Ｂの同時動作信号本数・ノイズ記憶部に格納される、ＩＯユーザ設定情報ごとの発生ノイズ情報が示す同時動作信号本数と、発生すると予想されるノイズとの関係を示すグラフである。横軸に同時動作信号本数、縦軸に発生が予想されるノイズ（具体的には例えば電圧レベルの変化量、或いはＩＯ信号と予想発生ノイズの電圧比、等。ここでは電圧レベルの変化量［Ｖ］を想定する）をとっている。
【００３５】
図２では、例えば、ＩＯユーザ設定情報Ａは、あるＩＯ信号のスタンダード、ある出力電流値、あるスルーレートの組み合わせを識別する情報であり、ＩＯユーザ設定情報Ｂは、別のＩＯ信号のスタンダード、出力電流値、スルーレートの組み合わせを識別する情報である。
【００３６】
処理対象とするピンの近傍のエリアに位置するピンは、処理対象とするピンへの影響度（結合係数）の大小（処理対象とするピンまでの距離）に応じて、複数のグループに分けられる。
【００３７】
図２に示すようにＩＯユーザ設定情報ごとのそれぞれの発生ノイズ情報は、実測されたデータとして、各グループが自身の内側に含まれるすべてのグループのピン本数の合計値（その合計値に対応する同時動作信号本数）分のノイズのデータを持つ。
【００３８】
例えば、図３にエリア２１にて示される処理対象とするピンに対して、エリア２２にて示される８個のピンをグループ１に属するピンとし、エリア２３にて示される１６個のピンをグループ２に属するピンとし、エリア２４にて示される２４個のピンをグループ３に属するピンとするグループ分けを行う。
【００３９】
この場合、上述のグループの内側に含まれるピン数の合計値は、グループ１に対しては、８個、グループ２に対しては、８＋１６＝２４個、グループ３に対しては、８＋１６＋２４＝４８個、となる。
【００４０】
例えば、グループ１の８個のピンが共通のＩＯユーザ設定情報を有していて、ＩＯ信号が同じ設定情報にしたがって動作している場合に、同時動作信号ノイズの実測データをとる。
【００４１】
また、グループ１の８個のピン＋グループ２の１６個のピン＝２４個のピンが共通のＩＯユーザ設定情報を有していて、ＩＯ信号が同じ設定情報にしたがって動作している場合に、同時動作信号ノイズの実測データをとる。
【００４２】
また、グループ１の８個のピン＋グループ２の１６個のピン＋グループ３の２４個のピン＝４８個のピンが共通のＩＯユーザ設定情報を有していて、ＩＯ信号が同じ設定情報に
したがって動作している場合に、同時動作信号ノイズの実測データをとる。
【００４３】
このようにして得られた実測データ（同時動作信号本数、同時動作信号ノイズ）を補間することで、図４に示すような内容の発生ノイズ情報が、あるＩＯユーザ設定情報に対して得られる。
【００４４】
なお、グループ分けとしては、例えば、処理対象とするピンからの距離をより細かく判定することで、図３に示す以外のグループ分けも可能である。このため、図４では、グループの内側に含まれるピン数の合計値に対応する同時動作信号本数を、８、８＋１６、８＋１６＋２４とする代わりに、Ｇ１、Ｇ１＋Ｇ２、Ｇ１＋Ｇ２＋Ｇ３と表記している。
【００４５】
再び、図２の説明に戻る。
図２において、同時動作信号本数（ＳＷ本数）ａは、あるグループ内で、ＩＯユーザ設定情報Ａを持つピンの本数を示している。また、同時動作信号本数（ＳＷ本数）ｂは、そのグループ内で、ＩＯユーザ設定情報Ｂを持つピンの本数を示している。また、同時動作信号本数（ＳＷ本数）ｃは、そのグループ内で、ＩＯユーザ設定情報Ｃを持つピンの本数を示している。
【００４６】
図２の例では、同時動作信号本数に対するノイズは、ＩＯユーザ設定情報Ａ、ＩＯユーザ設定情報Ｂ、ＩＯユーザ設定情報Ｃの順に小さくなる。
本実施形態では、同時動作信号本数に対するノイズが最も大きいＩＯユーザ設定情報Ａに対しては、そのＩＯユーザ設定情報Ａを持つピンの本数ａに対応する（同時動作信号）ノイズ（Ｎｏｉｓｅ＿Ａ）を、そのＩＯユーザ設定情報Ａを持つピンからのノイズ分として求めている。また、同時動作信号本数に対するノイズが２番目に大きいＩＯユーザ設定情報Ｂに対しては、そのＩＯユーザ設定情報Ｂを持つピンの本数ｂと、ＩＯユーザ設定情報Ａを持つピンの本数ａとを加算した本数（＝ａ＋ｂ）に対応するＩＯユーザ設定情報Ｂの発生ノイズ情報のノイズと、ＩＯユーザ設定情報Ａを持つピンの本数ａに対応するＩＯユーザ設定情報Ｂの発生ノイズ情報のノイズとの差分（Ｎｏｉｓｅ＿Ｂ）を、そのＩＯユーザ設定情報Ｂを持つピンからのノイズ分として求めている。同時動作信号本数に対するノイズが最も小さいＩＯユーザ設定情報Ｃに対しては、ＩＯユーザ設定情報Ａ〜Ｃを持つピンの本数を加算した本数（＝ａ＋ｂ＋ｃ）に対応するＩＯユーザ設定情報Ｃの発生ノイズ情報のノイズと、ＩＯユーザ設定情報Ａ或いはＢを持つピンの本数を加算した本数（＝ａ＋ｂ）に対応するＩＯユーザ設定情報Ｃの発生ノイズ情報のノイズとの差分（Ｎｏｉｓｅ＿Ｃ）を、そのＩＯユーザ設定情報Ｃを持つピンからのノイズ分として求めている。
【００４７】
ここで、ＩＯユーザ設定情報Ｂを持つピンからのノイズ分を算出するに際して、ＩＯユーザ設定情報Ｂより同時動作信号本数に対するノイズが大きいＩＯユーザ設定情報Ａを持つピンの本数ａを始点位置として用いるのは、図２に示すように、発生ノイズ情報が示す同時動作信号ノイズは、同時動作信号本数の原点付近で急峻に立ち上がり、以降、同時動作信号本数が増すにしたがって、その勾配が寝てくる形状となっていることを反映させるためである。このように算出される始点位置を用いることで、原点から同時動作信号本数に対応するノイズを各ＩＯユーザ設定情報について求めてそれらを加算する場合と比較し、原点付近での急峻な立ち上がりに起因して同時動作信号ノイズをかなり大きめに見積ることを回避できる。
【００４８】
図４に示すように、発生ノイズ情報は全てのグループをサポートするように作成されている。上述したようなＩＯユーザ設定情報によるノイズ分の算出は、別のグループでも同様にして行われる（図８）。別のグループでは、原点はグループによって変化し、グループ２では同時動作信号本数Ｇ、グループ３では同時動作信号本数＝Ｇ１＋Ｇ２となる。その発生ノイズ情報は、グループごとに用意しても良い。
【００４９】
図５は、図１Ｂのピン情報記憶部のデータ構造を示す図である。
図５に示すように、各ピンの配置は行、列の各番号によって示され、それらの番号（配置情報）と共にＩＯユーザ設定情報、等が図１Ｂのピン情報記憶部１１に格納されているそれにより、処理対象とするピンの行番号、列番号から、各グループに属するピンを特定できるようになっている。
【００５０】
図６は、同時動作信号ノイズ算出処理のフローチャートである。この算出処理は、図１Ｂの同時動作信号ノイズ見積り装置１０を構成する各部によって行われる処理の流れを示したものであり、実際には、その各部を実現させるための機能を搭載したプログラムをコンピュータが実行することによって実現される。そのプログラムは、例えば参照するピン情報や発生ノイズ情報を指定して実行される。それらの情報はコンピュータがアクセス可能な記憶装置（例えばハードディスク装置）に格納される。
【００５１】
先ず、ステップＳ１１では、ピン情報を参照して処理対象とするピンを選択し、ピン情報記憶部１１（コンピュータがアクセス可能な記憶装置）に格納されるピン情報を読み込んで、そのピン情報からその処理対象とするピンに最も近いエリア２２に配置されたピン（グループ１に属するピン）についてのＩＯユーザ設定情報を取得し、取得したＩＯユーザ設定情報ごとに、ピンの本数を算出する（同時動作信号本数算出部１２１）。
【００５２】
ステップＳ１２では、例えば、ＩＯユーザ設定情報を、同時動作信号本数に対するノイズの降順に処理し、ＩＯユーザ設定情報ごとに、算出したピンの本数を用いて始点位置を算出する。それにより始点位置算出部１３１は、同時動作信号本数に対するノイズが最大のＩＯユーザ設定情報に対しては、始点位置＝０（ゼロ）とし、それ以外のＩＯユーザ設定情報に対しては、そのＩＯユーザ設定情報より、同時動作信号本数に対するノイズが大きい直前のＩＯユーザ設定情報での始点位置とピン本数とを加算した値を始点位置とする。
【００５３】
ステップＳ１３では、処理対象とするピンの近傍のすべてのグループについて処理済みであるか否か判定される。ここでは、処理対象とするピンの近傍のエリアは、グループ１（８近傍）、グループ２（１６近傍）、グループ３（２４近傍）に分けられるものと想定する。したがって、このタイミングでは、ステップＳ１３の判定結果はＮｏとなり、制御は再びステップＳ１１に戻る。
【００５４】
次のステップＳ１１では、ピン情報記憶部１１に格納されるピン情報を読み込んで、そのピン情報から処理対象とするピンに２番目に近いエリア２３に配置されたピンについてのＩＯユーザ設定情報を取得し、取得したＩＯユーザ設定情報ごとに、ピンの本数を算出する（同時動作信号本数算出部１２２）。
【００５５】
ステップＳ１２では、ＩＯユーザ設定情報を、同時動作信号本数に対するノイズの降順に処理し、ＩＯユーザ設定情報ごとに、算出したピンの本数を用いて始点位置を算出する。それにより始点位置算出部１３２は、同時動作信号本数に対するノイズが最大のＩＯユーザ設定情報に対しては、エリア２３の内側のエリア２２において配置可能なピン本数の最大値を始点位置とし、それ以外のＩＯユーザ設定情報に対しては、そのＩＯユーザ設定情報より、同時動作信号本数に対するノイズが大きい直前のＩＯユーザ設定情報での始点位置とピン本数とを加算した値を始点位置とする。
【００５６】
続く、ステップＳ１３では、近傍のエリアのすべてのグループが処理済みでないものと判定され、制御は再びステップＳ１１に戻る。
そのステップＳ１１では、ピン情報記憶部１１に格納されるピン情報を読み込んで、そ
のピン情報から処理対象とするピンに３番目に近いエリア２４に配置されたピンについてのＩＯユーザ設定情報を取得し、取得したＩＯユーザ設定情報ごとに、ピンの本数を算出する（同時動作信号本数算出部１２３）。
【００５７】
ステップＳ１２では、始点位置算出部１３３は、処理対象とするピンに３番目に近い２４近傍に含まれる、例えば、ＩＯユーザ設定情報を、同時動作信号本数に対するノイズの降順に処理し、ＩＯユーザ設定情報ごとに、算出したピンの本数を用いて始点位置を算出する。それにより始点位置算出部１３３は、同時動作信号本数に対するノイズが最大のＩＯユーザ設定情報に対しては、エリア２４の内側のエリア２３において配置可能なピン本数の最大値を始点位置とし、それ以外のＩＯユーザ設定情報に対しては、そのＩＯユーザ設定情報の値より、同時動作信号本数に対するノイズが大きい直前のＩＯユーザ設定情報での始点位置とピン本数とを加算した値を始点位置とする。
【００５８】
続く、ステップＳ１３では、近傍のエリアに含まれるすべてのグループについて処理済みであることからＹＥＳと判定され、制御はステップＳ１４に進む。
ステップＳ１４では、（ＩＯユーザ設定情報、ピン本数、始点位置（オフセット値））から構成されるデータにより、対応する発生ノイズ情報を参照して、それぞれのデータごとに、ピン本数＋始点位置、および、始点位置のノイズ同士の差分を算出する（ノイズ算出部１５）。
【００５９】
そして、ステップＳ１５において、ステップＳ１４で、グループごと、ＩＯユーザ設定情報ごとに算出された差分を積算することで、処理対象とするピンに対する同時動作信号ノイズを算出する。
【００６０】
ステップＳ１６では、ステップＳ１５の算出結果のノイズが許容可能な閾値より大きいか否か判定される。ステップＳ１６で算出結果のノイズが閾値より大きいことからＹＥＳと判定された場合は、ステップＳ１７において、「ピン配置を変更して下さい」等のメッセージが出力される。
【００６１】
一方、ステップＳ１６で算出結果のノイズが閾値以下であることからＮＯと判定された場合は、ステップＳ１８において、処理対象とするピンを次のピンに移動して、ステップＳ１１に戻る。
【００６２】
このように、処理対象とするピンを、解析対象の半導体装置上で移動させることで、その半導体装置上のすべてのピンについて同時動作信号ノイズを見積ることができ、そのノイズが許容範囲内か否か確認される。
【００６３】
図７は、ＦＰＧＡチップ上のある処理対象とするピンの近傍のピン配置の一例を示す図であり、図８は、図７の処理対象とするピンに対する同時動作信号ノイズの算出方法を説明する図である。
【００６４】
図７には、処理対象とするピンが配置されたエリア３１に最も近い８近傍（グループ１）のエリア３２には、ＩＯユーザ設定情報Ａのピンが２個、ＩＯユーザ設定情報Ｂのピンが４個、ＩＯユーザ設定情報Ｃのピンが２個、存在することが示されている。
【００６５】
また、処理対象とするピンが配置されたエリア３１に２番目に近い１６近傍（グループ２）のエリア３３には、ＩＯユーザ設定情報Ａのピンが５個、ＩＯユーザ設定情報Ｂのピンが５個、ＩＯユーザ設定情報Ｃのピンが５個、未使用のピンが１個、存在することが示されている。
【００６６】
また、処理対象とするピンが配置されたエリア３１に３番目に近い２４近傍（グループ３）のエリア３４には、ＩＯユーザ設定情報Ａのピンが７個、ＩＯユーザ設定情報Ｂのピンが７個、ＩＯユーザ設定情報：Ｃのピンが７個、未使用のピンが３個、存在することが示されている。
【００６７】
図８を参照すると、同時動作信号本数に対するノイズは、ＩＯユーザ設定情報Ａ、ＩＯユーザ設定情報Ｂ、ＩＯユーザ設定情報Ｃの順に小さくなる。
また、グループ１〜３のいずれも、同時動作信号本数に対するノイズが３つのＩＯユーザ設定情報（ＩＯユーザ設定情報Ａ、ＩＯユーザ設定情報Ｂ、ＩＯユーザ設定情報Ｃ）のうちで、最も大きいＩＯユーザ設定情報Ａを持つピンを含んでいる。
【００６８】
図７及び図８の例では、（ＩＯユーザ設定情報の値、ピン本数、始点位置）、対応するノイズ、はグループ１では、次のようになる。なお、Ｘを同時動作信号本数、Ｆ（Ｘ）をＩＯユーザ設定情報Ａに対する発生ノイズ情報（関数）が示す同時動作信号ノイズ、Ｇ（Ｘ）をＩＯユーザ設定情報Ｂに対する発生ノイズ情報（関数）が示す同時動作信号ノイズ、Ｈ（Ｘ）をＩＯユーザ設定情報Ｃに対する発生ノイズ情報（関数）が示す同時動作信号ノイズとして表記する。これらは、Ｆ（Ｘ）＞Ｇ（Ｘ）＞Ｈ（Ｘ）の関係を満たす。
【００６９】
（Ａ，２，０），ａ１＝Ｆ（２＋０）（−Ｆ（０））
（Ｂ，４，２），ｂ１＝Ｇ（４＋２）−Ｇ（２）
（Ｃ，２，６），ｃ１＝Ｈ（２＋６）−Ｈ（６）
また、グループ２では次のようになる。
（Ａ，５，８），ａ２＝Ｆ（５＋８）−Ｆ（８）
（Ｂ，５，１３），ｂ２＝Ｇ（５＋１３）−Ｇ（１３）
（Ｃ，５，１８），ｃ２＝Ｈ（５＋１８）−Ｈ（１８）
また、グループ３では次のようになる。
（Ａ，７，２４），ａ３＝Ｆ（７＋２４）−Ｆ（２４）
（Ｂ，７，３１），ｂ３＝Ｇ（７＋３１）−Ｇ（３１）
（Ｃ，７，３８），ｃ３＝Ｈ（７＋３８）−Ｈ（３８）
【００７０】
ノイズ算出部１５は、グループごと、ＩＯユーザ設定情報ごとに算出したノイズ（差分値）を積算することで、次式により、同時動作信号ノイズ（ＳＳＯ）を算出する。
ＳＳＯ＝ａ１＋ａ２＋ａ３＋ｂ１＋ｂ２＋ｂ３＋ｃ１＋ｃ２＋ｃ３
各ノイズ（差分値）はステップＳ１４で算出され、次式による同時動作信号ノイズの算出はステップＳ１５で行われる。
【００７１】
なお、上式は、図７のピン配置に対して算出された同時動作信号ノイズである。例えば、処理対象とするピンの近傍のエリア（同時動作信号ノイズの見積りに用いるべきピンが配置されたエリア）が、Ｎ個のエリア（グループ）に分割され、すべてのグループにおいて、Ｍ個のＩＯユーザ設定情報を含んでいる場合に、グループＸのＩＯユーザ設定情報Ｙのピンが処理対象とするピンに及ぼす同時動作信号ノイズをＮｏｉｓｅ_X_Yと表記する。この場合、処理対象とするピンが周辺エリアから受ける同時動作信号ノイズＳＳＯは、次式で与えられる。
【００７２】
ＳＳＯ＝Ｎｏｉｓｅ_1_1＋Ｎｏｉｓｅ_1_2＋・・・＋Ｎｏｉｓｅ_1_M＋
Ｎｏｉｓｅ_2_1＋・・・＋Ｎｏｉｓｅ_N_M
【００７３】
図９は、記憶媒体例を示す図である。
本発明を適用した同時動作信号ノイズ見積り装置は、コンピュータ（情報処理装置）６
１によって実現することが可能である。そのコンピュータ６１は、例えばＣＰＵ、メモリ、入力装置、媒体駆動装置、及びネットワーク接続装置等を有するものである。同時動作信号ノイズ見積り装置１０を構成する各部を実現させる機能を搭載したプログラムやデータは、記憶装置６５からコンピュータ６１のメモリにロードして実行することも、可搬型記憶媒体６３から媒体駆動装置により読み出して実行することも、外部記憶装置６２からネットワーク６６を介してネットワーク接続装置に受信させて実行することも可能である。
なお、上述の実施例は、ＦＰＧＡで説明したが、ＡＳＩＣ等の半導体装置にも広く適用できる。
【００７４】
＜第３の実施形態＞
図１０Ａは、ＰＣＢ基板と半導体装置間を流れる電流を説明する図であり、図１０Ｂは、ピンにＩＯ信号を供給することによって流れるリターン電流により磁束が発生する空間を説明する図である。図１０Ａ及び図１０Ｂを参照して、同時動作信号ノイズが発生するメカニズムについて具体的に説明する。
【００７５】
図１０Ａに示すように、半導体装置であるＢＧＡ（Ball Grid Array）パッケージ１００は、ＰＣＢ基板の電源プレーン２０１とグランドプレーン２０２の間に接続される。電源プレーン２０１は、ＰＣＢ基板側の基板パターン２１１、半田ボール１１１、及びパッケージ１００側の基板パターン（ボンディングワイヤ）１２１を介してチップ１０１の電源パターン１３１と接続され、グランドプレーン２０２は、基板パターン２１３、半田ボール１１３及び基板パターン（ボンディングワイヤ）１２３を介してチップ１０１のグランドパターン１３２と接続されている。
【００７６】
図１０Ａ及び図１０Ｂ中のＳ１〜Ｓ３はそれぞれチップ１０１に設けられたスイッチであり、各スイッチＳ１〜Ｓ３はそれぞれ電源パターン１３１とグランドパターン１３２間の電流の流れを制御するようになっている。その制御用の端子はそれぞれ、基板パターン１２２、１２４或いは１２５を介して半田ボール１１２、１１４、或いは１１５と接続されている。各半田ボール１１１〜１１５はそれぞれ１個のピンごとに存在する。
【００７７】
上記結合度（結合係数）は、処理対象とするピンと、そのピンに対してノイズを発生させるピン（何れかのグループに属するピンに相当。以降、便宜的に「ノイズ発生ピン」と呼ぶ）のリターン電流パスの結合インダクタンスとほぼ同じになる。その大きさは、処理対象とするピン／ノイズ発生ピンのパッケージ１００上の配置、それらのピンとそれぞれ接続された基板パターン、それら基板パターンを介してそれぞれ接続されたチップ１０１上のスイッチの位置、電源／グランド用のピンのパッケージ１００上の配置、それらのピンとそれぞれ接続された基板パターン、それら基板パターンがそれぞれ接続されたチップ１０１上の位置に依存する。
【００７８】
ここで、処理対象とするピンとスイッチＳ１が接続され、ノイズ発生ピンがスイッチＳ３と接続されていると想定する。その想定でスイッチＳ３がＨｉｇｈからＬｏｗにスイッチングし、基板パターン１２２とグランドパターン１３２間を導通状態にすると、破線で示すように、基板パターン２１２、半田ボール１１２、基板パターン１２２、スイッチＳ３、グランドパターン１３２，基板パターン１２３、半田ボール１１３、基板パターン２１３、及びグランドプレーン２０２で構成されるパス（閉ループ回路）が形成され、そのパスに大きな過渡電流（リターン電流）が流れる。図１０Ｂに示すように、そのパスを構成する空間Ｌ１〜Ｌ３は磁場が生成される磁気領域となる。処理対象とするピンがスイッチＳ１と接続されている場合、リターン電流パスの結合インダクタンスは空間Ｌ１で発生する磁束量に比例する。そのピンがスイッチＳ２に接続されている場合には、リターン電流パスの結合インダクタンスは空間Ｌ１＋Ｌ２で発生する磁束量に比例することになる。
【００７９】
空間Ｌ１＋Ｌ２の磁束数は空間Ｌ１のそれより大きいので、発生するノイズは処理対象とするピンがスイッチＳ２と接続されている場合のほうが大きくなる。そのように、結合係数（結合インダクタンス）は、リターン電流パスによって形成される空間の面積に比例し、発生する磁束量はその面積に比例する。
【００８０】
このようなことから、第３の実施形態は、リターン電流パスを実測、或いはシミュレーションにより解析して、処理対象とするピンで同時動作信号ノイズの見積りに用いるべきピン（ノイズ発生ピン）のグルーピングを行うようにしたものである。そのグルーピングは、例えば処理対象とするピンごとに、各グループに属するピンを特定するための識別情報（例えば配置情報）を予め用意し、その用意した識別情報を参照することで行う。発生ノイズ情報は、上記第１、および第２の実施形態と同様に、グループごとに用意する。そのようなグルーピングにより、同時動作信号ノイズはより正確に見積ることができるようになる。
【００８１】
そのノイズを見積るために実行する同時動作信号ノイズ算出処理は、各グループに属するピンを特定する方法が異なる以外は第２の実施形態と基本的に同じである。それにより、同時動作信号ノイズ見積り装置の構成自体も第２の実施形態と基本的に同じとなっている。このようなことから、詳細な説明は省略する。
【００８２】
チップ１０１に形成されたパターンより、パッケージ１００／サブストレート基板パターンの方が圧倒的に大きく、支配的であるから、現実的には発生するノイズ量はパッケージ１００のピン配置で決まる面が極めて大きい。このため、第１および第２の実施形態では、ピン配置によりピンのグルーピングを行っている。それにより図１０Ｂでは、空間Ｌ１〜Ｌ３を示す斜線はグランドプレーン２０２にのみ付している。
【００８３】
＜第４の実施形態＞
上記第１〜第３の実施形態では何れも、ＩＯユーザ設定情報が割り当てられたピンはノイズを発生するものとの前提で同時動作信号ノイズを見積るようにしている。これに対し第４の実施形態は、何れかのグループに属するピンのなかで無視できるピンは見積りに用いないようにして、同時動作信号ノイズをより正確に見積るようにしたものである。
【００８４】
図１１は、第４の実施形態におけるグルーピング方法を説明する図である。
図１１に示すように第４の実施形態では、ピンをＩＯユーザ設定情報により分類すると共に、その設定情報により入出力されるＩＯ信号の位相による分類も行うようにしている。その位相によりＩＯ信号は、処理対象とするピンで入出力されるＩＯ信号と同相（有効エッジが同期している）で変化するもの、それとは異相（有効エッジが同期しない。ここでは便宜的に「逆相」とも呼ぶことにする）で変化するもの、それとは非同期で変化するもの、に大別することができる。
【００８５】
それらの分類のなかで、同相で変化するもの、及び非同期で変化するものは、異相で変化するものとは異なり、処理対象とするピンにノイズを発生させる可能性がある。このため、異相で変化するＩＯ信号を入出力するピンは同時動作信号ノイズの見積りには使用しないようにして、そのノイズ（量）を必要以上に過大に見積ることを回避し、そのノイズをより正確に見積もれるようにしている。
【００８６】
上述したようなグルーピングは、例えば処理対象とするピンごとに、同時動作信号ノイズの見積りに用いるべき各ピンで入出力されるＩＯ信号の位相情報を用意するか、或いはピンごとに、そのＩＯ信号の位相情報を用意することで行うことができる。そのノイズを見積るために実行する同時動作信号ノイズ算出処理は、上記第３の実施形態と同じく、各グループに属するピンを特定する方法が異なる以外は第２の実施形態と基本的に同じであ
る。それにより、同時動作信号ノイズ見積り装置の構成自体も第２の実施形態と基本的に同じとなっている。このようなことから、詳細な説明は省略する。
【００８７】
他のピンへのＩＯ信号の入出力により発生する同時動作信号ノイズへの対応は、半導体装置の設計変更（ピン配置の変更）によって行うことができるが、ＰＣＢ基板の設計変更、具体的にはそれに搭載する電源回路の配置、或いはその電源回路の数の変更等により行うことが可能である。それにより、半導体装置、及びそれを搭載するＰＣＢ基板の双方を考慮した対応（連携した対応）が可能である。このため、図１２に示すフローのように、半導体装置、及びＰＣＢ基板を１つの製品（装置）と見なしての開発を行うことができる。
【００８８】
その場合、先ず、半導体装置、それを搭載するＰＣＢ基板により構成される装置（製品）の仕様を決定する（Ｓ１０１）。次に、決定した仕様により、必要なＬＳＩを決定し、そのＬＳＩを半導体装置、ＰＣＢ基板の何れに搭載させるかを決めるマッピングを行う（Ｓ１０２）。そのマッピングを行った後は、半導体装置とＰＣＢ基板間、ＰＣＢ基板と外部間のインターフェースの仕様を決定する（Ｓ１０３）。それ以降は、半導体装置、ＰＣＢ基板それぞれで設計を進める。
【００８９】
半導体装置では、先ず、基本的な仕様の設計を行う（Ｓ２０１）。Ｓ１０２及びＳ１０３での結果を反映した機能設計（Ｓ２０２）は、その後に行う。その機能設計を行った後は、ピン配置の決定（Ｓ２０３）、決定したピン配置での配線設計（Ｓ２０４）、適切に動作するか否かを確認するためのタイミング検証（Ｓ２０５）をその順序で行い、タイミング検証により正確に動作することが確認できた場合に、ＬＳＩ（半導体装置）の製造（Ｓ２０６）に移行する。Ｓ２０４、或いはＳ２０５で不具合等が見つかった場合には、それよりも前のフェーズに戻り、設計変更を行う。
【００９０】
一方、ＰＣＢ基板では、Ｓ１０２及びＳ１０３での結果を反映した基本設計を行い、ＰＣＢ基板の大きさやタイプ等を決定する（Ｓ３０１）。その後は、ＰＣＢ基板に搭載すべきＬＳＩ（半導体装置を接続するコネクタや電源回路）の配置を決定し（Ｓ３０２）、決定した配置での結線を決定する（Ｓ３０３）。
【００９１】
見積る同時動作信号ノイズは、ピン配置、その配置での配線、ＰＣ基板でのＬＳＩの配置により変化する可能性がある。このため、半導体装置ではＳ２０３、Ｓ２０４の設計が終了した時点で、ＰＣＢ基板ではＳ３０２でＬＳＩの配置を決定した時点でＳＳＮチェック、つまりピンごとに、同時動作信号ノイズの見積りを行い、そのノイズが許容範囲内か否かの確認を行う（Ｓ４０１）。その確認により、許容範囲内でない同時動作信号ノイズが発生するピンの存在が明らかになれば、その確認を行うまえのフェーズ、そのフェーズの前のフェーズ、或いはそれら以外のフェーズに移行して、不具合に対応するための設計変更、たとえばピン配置の変更、或いは配置配線の変更を行う。また、不具合が発見されたフェーズがＳ３０２であれば設計変更、たとえばＬＳＩ配置の変更を行うことが可能である。
【００９２】
そのように移行可能な設計フェーズを別の装置（半導体装置、或いはＰＣＢ基板）のものに広げると、より対応が容易な設計フェーズで対応することが可能となり、結果として、全体としてより迅速に製造を開始することが容易となる。例えばＳ３０２のＬＳＩの配置変更が困難な場合には、Ｓ２０３でのピン配置の変更、或いはＳ２０４での配置配線の変更等を行うといった柔軟な対応が可能である。一方を考慮して他方を最適化するといったことも可能である。このようなことから、柔軟、且つ適切な設計をより容易に行えることとなる。
【００９３】
Ｓ２０５のタイミング検証、Ｓ３０３のＬＳＩ間の結線を行うと、外部インターフェースを介した信号の送受信が適切に行えるか否か確認するタイミング検証が実施される。その検証により不具合が発見できなかった場合に、Ｓ２０６の半導体装置の製造、或いはＳ３０４のＰＣＢ基板の製造に移行することになる。それらの製造を行うフェーズを経て、半導体装置をＰＣＢ基板に搭載した装置の製造（Ｓ１０４）に移行する。
【００９４】
本発明は下記構成でもよい。
（付記１）
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理をコンピュータが実行する同時動作信号ノイズ見積り方法において、
処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出ステップと、
前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出ステップと、
前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出ステップと、
を備えることを特徴とする同時動作信号ノイズ見積り方法。
【００９５】
（付記２）
前記同時動作信号本数算出ステップは、前記処理対象とするピンの近傍に配置されたピンを複数のグループに分割して、前記同時動作信号本数をそれぞれ算出し、
前記差分算出ステップは、それぞれのグループについて、前記ユーザ設定情報ごとに算出された同時動作信号本数に対して実行され、
前記ノイズ和算出ステップは、前記グループごと、前記ユーザ設定情報ごとに得られた前記差分の和をとることにより、前記同時動作信号ノイズを算出する、
ことを特徴とする付記１記載の同時動作信号ノイズ見積り方法。
【００９６】
（付記３）
前記差分算出ステップにおいて、１つのグループ内では、前記同時動作信号本数に対するノイズの降順に、そのグループに含まれる前記ユーザ設定情報ごとに差分を算出し、
前記複数のグループのうちの最も内側のグループに含まれる複数の、前記ユーザ設定情報のうちで、同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、前記区間の始点をゼロとし、
前記複数のグループのうちの最も内側のグループ以外のグループに含まれる複数のユーザ設定情報のうちで、前記同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、そのグループの内側のすべてのグループにおいて割り当てうる同時動作信号本数の最大値を、前記区間の始点として算出し、
それぞれのグループに含まれる、それ以外のユーザ設定情報については、該ユーザ設定情報より同時動作信号本数に対するノイズが大きい直前のユーザ設定情報でのノイズの算出に用いた区間の終点を、前記区間の始点として算出することを特徴とする付記２記載の同時動作信号ノイズ見積り方法。
【００９７】
（付記４）
前記ユーザ設定情報ごとの前記発生ノイズ情報において、前記同時動作信号に基づくノイズとは、それぞれのグループについて、自身および自身の内側に含まれるすべてのピン（同時動作信号本数に対応する数のピン）が所定のユーザ設定情報を共有し、かつ、その同じ信号に基づいて同時動作信号している場合に発生するノイズであることを特徴とする
付記１記載の同時動作信号ノイズ見積り方法。
【００９８】
（付記５）
前記ユーザ設定情報とは、前記入出力信号のスタンダード、出力電流値、スルーレートの組み合わせに対する識別情報であることを特徴とする付記１記載の同時動作信号ノイズ見積り方法。
【００９９】
（付記６）
前記同時動作信号本数算出ステップでは、前記ピンの配置、及び該ピン間の結合係数のうちの一方に基づいて、前記近傍のエリアに配置されたピンを複数のグループに分割する、
ことを特徴とする付記２記載の同時動作信号ノイズ見積り方法。
【０１００】
（付記７）
前記同時動作信号本数算出ステップでは、前記ユーザ設定情報に従って前記近傍のエリアに配置されたピンに入出力される入出力信号の位相を基に、該ピンを区別して、前記グループ毎、該ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記差分算出ステップでは、前記同時動作信号本数算出ステップで前記グループ毎、前記ユーザ設定情報毎に算出された同時動作信号本数を基に、前記差分を算出する、
ことを特徴とする付記６記載の同時動作信号ノイズ見積り方法。
【０１０１】
（付記８）
付記１記載の同時動作信号ノイズ見積り方法を全てのピンを前記処理対象のピンとして繰り返し、あらかじめ決めたSSOノイズ量の閾値より見積り結果が大きくならないようにピンを配置して前記半導体装置を製造する半導体装置の製造方法。
【０１０２】
（付記９）
付記１記載の同時動作信号ノイズ見積り方法を用いた半導体装置の設計方法であって、
前記処理対象とするピン毎に、前記同時動作信号ノイズ見積り方法により見積もった同時動作信号ノイズが許容範囲内か否か確認し、
該同時動作信号ノイズが前記許容範囲を越えた前記処理対象とするピンが見つかった場合に、前記半導体装置の設計を変更する、
ことを特徴とする半導体装置の設計方法。
【０１０３】
（付記１０）
付記１記載の同時動作信号ノイズ見積り方法を用いて、ＰＣＢ基板に搭載される、複数のピンを有する半導体装置を設計するための方法であって、
前記半導体装置の設計を行い、該設計された半導体装置に配置される複数のピンのなかから選択した処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生すると予想されるノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、
前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記ＰＣＢ基板のＬＳＩ配置を変更して対応する、
ことを特徴とする半導体装置の設計方法。
【０１０４】
（付記１１）
付記１記載の同時動作信号ノイズ見積り方法を用いて、複数のピンを有する半導体装置を搭載するＰＣＢ基板を設計するための方法であって、
前記ＰＣＢ基板の設計を行い、前記複数のピンのなかから選択される処理対象とするピン毎に、前記近傍のエリアに配置されたピンにユーザ設定情報により設定された入出力信
号をそれぞれ入出力する場合に発生するノイズである同時動作信号ノイズを前記同時動作信号ノイズ見積り方法により見積り、
前記処理対象とするピンのなかで見積もった同時動作信号ノイズが許容範囲を超えるピンが存在する場合に、前記半導体装置の設計を変更して対応する、
ことを特徴とするＰＣＢ基板の設計方法。
【０１０５】
（付記１２）
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行するコンピュータに、
処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出機能と、
前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出機能と、
前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出機能と、
を実現させるためのプログラム。
【０１０６】
（付記１３）
前記同時動作信号本数算出機能は、前記処理対象とするピンの近傍に配置されたピンを複数のグループに分割して、前記同時動作信号本数をそれぞれ算出し、
前記差分算出機能は、それぞれのグループについて、前記ユーザ設定情報ごとに算出された同時動作信号本数に対して適用され、
前記ノイズ和算出機能は、前記グループごと、前記ユーザ設定情報ごとに得られた前記差分の和をとることにより、前記同時動作信号ノイズを算出する、
ことを特徴とする付記１２記載のプログラム。
【０１０７】
（付記１４）
前記差分算出機能において、１つのグループ内では、前記同時動作信号本数に対するノイズの降順に、そのグループに含まれる前記ユーザ設定情報ごとに差分を算出し、
前記複数のグループのうちの最も内側のグループに含まれる複数の、前記ユーザ設定情報のうちで、同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、前記区間の始点をゼロとし、
前記複数のグループのうちの最も内側のグループ以外のグループに含まれる複数のユーザ設定情報のうちで、前記同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、そのグループの内側のすべてのグループにおいて割り当てうる同時動作信号本数の最大値を、前記区間の始点として算出し、
それぞれのグループに含まれる、それ以外のユーザ設定情報については、該ユーザ設定情報より同時動作信号本数に対するノイズが大きい直前のユーザ設定情報でのノイズの算出に用いた区間の終点を、前記区間の始点として算出する、
ことを特徴とする付記１３記載のプログラム。
【０１０８】
（付記１５）
前記ユーザ設定情報ごとの前記発生ノイズ情報において、前記同時動作信号に基づくノイズとは、それぞれのグループについて、自身および自身の内側に含まれるすべてのピン（同時動作信号本数に対応する数のピン）が所定のユーザ設定情報を共有し、かつ、その同じ信号に基づいて同時動作信号している場合に発生するノイズであることを特徴とする付記１２記載のプログラム。
【０１０９】
（付記１６）
前記ユーザ設定情報とは、前記入出力信号のスタンダード、出力電流値、スルーレートの組み合わせに対する識別情報であることを特徴とする付記１２記載のプログラム。
【０１１０】
（付記１７）
前記同時動作信号本数算出機能では、前記ピンの配置、及び該ピン間の結合係数のうちの一方に基づいて、前記近傍のエリアに配置されたピンを複数のグループに分割する、
ことを特徴とする付記１３記載のプログラム。
【０１１１】
（付記１８）
前記同時動作信号本数算出機能では、前記ユーザ設定情報に従って前記近傍のエリアに配置されたピンに入出力される入出力信号の位相を基に、該ピンを区別して、前記グループ毎、該ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記差分算出機能では、前記同時動作信号本数算出機能により前記グループ毎、前記ユーザ設定情報毎に算出された同時動作信号本数を基に、前記差分を算出する、
ことを特徴とする付記１７記載のプログラム。
【０１１２】
（付記１９）
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行する同時動作信号ノイズ見積り装置において、
処理対象とするピンの近傍のエリアに配置されたピンの前記ユーザ設定情報を基に、該ユーザ設定情報ごとの同時動作信号の本数を算出する同時動作信号本数算出部と、
前記コンピュータの記憶部に格納される前記ユーザ設定情報ごとの、同時動作信号本数と、同時動作信号に基づくノイズとの関係を示す発生ノイズ情報を格納する記憶部と、
前記記憶部に前記ユーザ設定情報ごとに格納された前記発生ノイズ情報を基に、前記ユーザ設定情報ごとに算出された同時動作信号本数の区間に対応付けて、その区間の始点および終点にそれぞれ対応するノイズ同士の差分を算出する差分算出部と、
前記ユーザ設定情報ごとに算出されたノイズの差分について和をとることで、前記処理対象とするピンに対する同時動作信号ノイズを算出するノイズ和算出部と、
を備えることを特徴とする同時動作信号ノイズ見積り装置。
【０１１３】
（付記２０）
前記同時動作信号本数算出部は、前記処理対象とするピンの近傍に配置されたピンを複数のグループに分割して、前記同時動作信号本数をそれぞれ算出し、
前記差分算出部は、それぞれのグループについて、前記ユーザ設定情報ごとに算出された同時動作信号本数に対して実行し、
前記ノイズ和算出部は、前記グループごと、前記ユーザ設定情報ごとに得られた前記差分の和をとることにより、前記同時動作信号ノイズを算出する、ことを特徴とする付記１９記載の同時動作信号ノイズ見積り装置。
【０１１４】
（付記２１）
前記差分算出ステップ部において、１つのグループ内では、前記同時動作信号本数に対するノイズの降順に、そのグループに含まれる前記ユーザ設定情報ごとに差分を算出し、
前記複数のグループのうちの最も内側のグループに含まれる複数の、前記ユーザ設定情報のうちで、同時動作信号本数に対するノイズが最も大きいユーザ設定情報に対しては、前記区間の始点をゼロとし、
前記複数のグループのうちの最も内側のグループ以外のグループに含まれる複数のユーザ設定情報のうちで、前記同時動作信号本数に対するノイズが最も大きいユーザ設定情報
に対しては、そのグループの内側のすべてのグループにおいて割り当てうる同時動作信号本数の最大値を、前記区間の始点として算出し、
それぞれのグループに含まれる、それ以外のユーザ設定情報については、該ユーザ設定情報より同時動作信号本数に対するノイズが大きい直前のユーザ設定情報でのノイズの算出に用いた区間の終点を、前記区間の始点として算出することを特徴とする付記２０記載の同時動作信号ノイズ見積り装置。
【０１１５】
（付記２２）
前記同時動作信号本数算出部では、前記ピンの配置、及び該ピン間の結合係数のうちの一方に基づいて、前記近傍のエリアに配置されたピンを複数のグループに分割する、
ことを特徴とする付記２０記載の同時動作信号ノイズ見積り装置。
【０１１６】
（付記２３）
前記同時動作信号本数算出部では、前記ユーザ設定情報に従って前記近傍のエリアに配置されたピンに入出力される入出力信号の位相を基に、該ピンを区別して、前記グループ毎、該ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記差分算出部では、前記同時動作信号本数算出部で前記グループ毎、前記ユーザ設定情報毎に算出された同時動作信号本数を基に、前記差分を算出する、
ことを特徴とする付記２２記載の同時動作信号ノイズ見積り装置。
【０１１７】
（付記２４）
半導体装置に備えられた複数のピンにユーザ設定情報により設定された入出力信号をそれぞれ入出力する場合に発生すると予想されるノイズである同時動作信号ノイズをコンピュータにより見積るための同時動作信号ノイズ見積り方法において、
前記複数のピンのなかから選択した処理対象とするピンにより、前記同時動作信号ノイズの見積りに用いるべき他のピンの本数を同時動作信号本数として算出する本数算出ステップと、
前記コンピュータの記憶部に格納される、前記同時動作信号本数と発生すると予想されるノイズとの間の関係を示す発生ノイズ情報を参照して、前記本数算出ステップにより算出した同時動作信号本数に対応する同時動作信号ノイズを算出するノイズ算出ステップと、
を有することを特徴とする同時動作信号ノイズ見積り方法。
【０１１８】
（付記２５）
前記入出力信号を設定する前記ユーザ設定情報が複数、存在する場合に、
前記本数算出ステップでは、前記ユーザ設定情報毎に、前記同時動作信号本数を算出し、
前記ノイズ算出ステップでは、前記記憶部に前記ユーザ設定情報毎に格納された前記発生ノイズ情報を参照して、該ユーザ設定情報毎に前記ノイズを算出し、該算出したノイズを積算して前記同時動作信号ノイズを算出する、
ことを特徴とする付記２４記載の同時動作信号ノイズ見積り方法。
【０１１９】
（付記２６）
前記本数算出ステップでは、前記他のピンを複数のグループに分け、該グループ毎に前記同時動作信号本数を算出し、
前記ノイズ算出ステップでは、前記記憶部に前記グループ毎に格納された前記発生ノイズ情報を参照して、該グループ毎に前記ノイズを算出し、該算出したノイズを積算して前記同時動作信号ノイズを算出する、
ことを特徴とする付記２４記載の同時動作信号ノイズ見積り方法。
【０１２０】
（付記２７）
前記入出力信号を設定する前記ユーザ設定情報が複数、存在する場合に、
前記本数算出ステップでは、前記他のピンを複数のグループに分けて、各グループで前記ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記ノイズ算出ステップでは、前記記憶部に前記グループ毎、前記ユーザ設定情報毎に格納された前記発生ノイズ情報を参照して、該グループ毎、及び前記ユーザ設定情報毎に前記ノイズを算出し、該算出したノイズを積算して前記同時動作信号ノイズを算出する、
ことを特徴とする付記２６記載の同時動作信号ノイズ見積り方法。
【０１２１】
（付記２８）
前記本数算出ステップでは、前記ピンの配置、及び該ピン間の結合係数のうちの一方に基づいて、前記他のピンを複数のグループに分ける、
ことを特徴とする付記２６記載の同時動作信号ノイズ見積り方法。
【０１２２】
（付記２９）
前記本数算出ステップでは、前記ユーザ設定情報に従って前記他のピンに入出力される入出力信号の位相を基に、該他のピンを区別して、前記グループ毎、該ユーザ設定情報毎に前記同時動作信号本数を算出し、
前記ノイズ算出ステップでは、前記本数算出ステップで前記グループ毎、前記ユーザ設定情報毎に算出された同時動作信号本数を基に、前記発生ノイズ情報のなかで参照すべき部分を特定し、該特定した部分を参照して該グループ毎、該ユーザ設定情報毎に前記ノイズを算出する、
ことを特徴とする付記２８記載の同時動作信号ノイズ見積り方法。
【０１２３】
（付記３０）
前記位相を基に前記他のピンを区別することにより、同一グループで同じユーザ設定情報の同期動作信号本数は、前記位相が前記処理対象とするピンの入出力信号と同相、及び非同期のうちの何れかとなっているピンを対象に算出する、
ことを特徴とする付記２９記載の同時動作信号ノイズ見積り方法。
【図面の簡単な説明】
【０１２４】
【図１Ａ】本発明の第１の実施形態による同時動作信号ノイズ見積り装置の構成を示すブロック図である。
【図１Ｂ】本発明の第２の施形態による同時動作信号ノイズ見積り装置の構成を示すブロック図である。
【図２】Ｉ／Ｏユーザ設定情報ごとの発生ノイズ情報が示す同時動作信号本数と、発生すると予想されるノイズとの関係を示すグラフである。
【図３】グループ分けの一例を示す図である。
【図４】あるＩ／Ｏユーザ設定情報の発生ノイズ情報が示す同時動作信号本数と、ノイズとの関係を示すグラフである。
【図５】図１のピン情報記憶部のデータ構造を示す図である。
【図６】同時動作信号ノイズ算出処理のフローチャートである。
【図７】ＦＰＧＡチップ上のある処理対象とするピンの近傍のピン配置の一例を示す図である。
【図８】図７の処理対象とするピンに対する同時動作信号ノイズの算出方法を説明する図である。
【図９】記憶媒体例を示す図である。
【図１０Ａ】ＰＣＢ基板と半導体装置間を流れる電流を説明する図である。
【図１０Ｂ】ピンにＩＯ信号を供給することによって流れるリターン電流により磁束が発生する空間を説明する図である。
【図１１】第４の実施形態によるグルーピング方法を説明する図である。
【図１２】半導体装置とＰＣＢ基板の設計を連携させた場合の設計フローを示す図である。
【符号の説明】
【０１２５】
１０  同時動作信号ノイズ見積り装置
１１  ピン情報記憶部
１２  同時動作信号本数算出部
１３  始点位置算出部
１４  同時動作信号本数・ノイズ記憶部
１５  ノイズ算出部
【図１Ａ】
2008059553.tif 000003
【図１Ｂ】
2008059553.tif 000004
【図２】
2008059553.tif 000005
【図３】
2008059553.tif 000006
【図４】
2008059553.tif 000007
【図５】
2008059553.tif 000008
【図６】
2008059553.tif 000009
【図７】
2008059553.tif 000010
【図８】
2008059553.tif 000011
【図９】
2008059553.tif 000012
【図１０Ａ】
2008059553.tif 000013
【図１０Ｂ】
2008059553.tif 000014
【図１１】
2008059553.tif 000015
【図１２】
2008059553.tif 000016