(57)【特許請求の範囲】
【請求項１】
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積りを、コンピュータが該半導体装置のモデルをシミュレーションにより解析することによって実行する方法において、
該コンピュータが、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性 データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第１のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第１のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第２のステップ と、
該第２のステップで算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成がユーザにより設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第３のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第３のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第４のステップと、
を含むことを特徴とする半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
【請求項２】
前記第２のステップ又は前記第４のステップは、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出するステップを含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする請求項１に記載の半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
【請求項３】
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を、コンピュータに該半導体装置のモデルをシミュレーションにより解析させることによって実行させるプログラムであって、
コンピュータに、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第１の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第１の機能で算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第２の機能と、
該第２の機能で算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成がユーザにより設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第３の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第３の機能で補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第４の機能と、
を実行させるためのプログラム。
【請求項４】
前記第２の機能又は前記第４の機能は、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出する機能を含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする請求項３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置における、複数のピンの入出力信号が同時動作することで発生する同時動作信号ノイズの見積り技術に関し、特に、その基礎特性の取得技術に関する。
【背景技術】
【０００２】
従来より、デバイスパッケージのグランド又は電源のピンとデバイス内部ダイ（die ）のグランド又は電源の基準レベルとの間で起こる電源発振は、グランドバウンス（Ground
Bounce ）又は電源サグ（Power Supply Sag）と呼ばれ、高速デバイスにおける誤スイッチングの主な原因の１つのとなっている。
【０００３】
最近では、ＦＰＧＡ（Field Programmable Gate Array ）が、ピンの配置、回路構成、等をユーザが自由に設定できる半導体装置として注目されているが、ＦＰＧＡのＩ／Ｏピン数の増加やインタフェース信号の高速化に伴い、多数の出力ピンが同時動作することにより上記のグランドバウンス又は電源サグが顕著になる。このため、これらの現象は、同時動作信号ノイズ（ＳＳＮ（Simultaneous Switching Noise）又はＳＳＯノイズ（Simultaneous Switching Output Noise ））と総称されている。
【０００４】
発生するＳＳＯノイズの量はＦＰＧＡのピン配置によって変動する。そこで、ＦＰＧＡを搭載するＰＣＢ（Printed Circuit Board ：プリント回路基板）の設計段階においては、ＦＰＧＡデバイスを適切に動作させるために、ＦＰＧＡのピン配置に基づいて発生するＳＳＯノイズ量を見積る必要がある。
【０００５】
ＳＳＯノイズのシミュレーションを行う従来技術としては、エレクトロニクス研究所(Electronics Research Laboratory)の集積回路グループとカリフォルニア大学バークレー校の電気工学・コンピュータ・サイエンス学科(EECS)によって開発された、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis ）と呼ばれる汎用回路解析シミュレータソフト等が知られている。
【０００６】
また、関連する従来技術として、下記特許文献１、２等がある。
【特許文献１】特開平１０−１２７０８９号公報
【特許文献２】特開２００４−２０５０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ＳＰＩＣＥ等のシミュレータは、ＳＳＯノイズのシミュレーションを比較的正確に行うことができるが、そのシミュレーションには膨大な時間を要するという問題点を有している。
【課題を解決するための手段】
【０００８】
本発明の課題は、半導体装置が有する複数のピンに入出力信号が入出力することで発生する同時動作信号ノイズを、短時間でかつ精度良く見積ることを可能にすることにある。
本発明の態様は、半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積り方法又はプログラムとして実現される。
【０００９】
まず、第１のステップにおいては、同時動作するピンの本数である同時動作信号本数と
同時動作信号ノイズ量との関数関係をユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データが、半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出される。
【００１０】
第２のステップでは、半導体装置の各ピンを処理対象ピンとして、各処理対象ピンの近傍のエリアについてユーザ設定情報ごとの同時動作信号本数が算出され、その算出結果と第１のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて各処理対象ピンごとの同時動作信号ノイズ量が算出される。
【００１１】
第３のステップでは、第２のステップで算出された各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、同時動作信号ノイズ基礎特性データが算出され直して補正される。
【００１２】
第４のステップでは、半導体装置の各ピンを処理対象ピンとして、各処理対象ピンの近傍のエリアについてユーザ設定情報ごとの同時動作信号本数が算出され、その算出結果と第３のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて各処理対象ピンごとの同時動作信号ノイズ量が再度算出される。
【００１３】
第５のステップでは、第４のステップで再度算出された各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計が修正される。
【００１４】
上述の本発明の態様の構成において、第２のステップ又は第４のステップは、各処理対象ピンの近傍のエリアを各処理対象ピンからの距離を基準に複数のグループに分割し、各グループごとに、ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全てのグループについて総和がとることにより、各処理対象ピンごとの同時動作信号ノイズ量を算出するように構成し、同時動作信号ノイズ基礎特性データは、同時動作信号本数と前記同時動作信号ノイズ量との関数関係をグループごと及びユーザ設定情報ごとに示すデータであるように構成することができる。
【発明の効果】
【００１５】
上述の本発明の態様の構成により、同時動作信号ノイズ量に関するラフ解析の後に、プリント回路基板の実設計に基づいて同時動作信号ノイズ基礎特性データが補正され、同時動作信号ノイズ量に関する詳細解析が更に行われることにより、同時動作信号ノイズの非常に正確な見積りが可能となる。そして、その見積りに基づいて決定されたピン配置の半導体装置とそれが実装されるプリント回路基板とで構成される装置が同時動作信号ノイズによって誤動作することを的確に防ぐことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
本発明の実施形態の基本原理
本発明の実施形態の具体的な構成及び動作について説明する前に、まず、本発明の実施形態の基本原理について説明する。
【００１７】
ＦＰＧＡ等の半導体装置のＳＳＯノイズを評価する場合、その半導体装置が有する信号入出力ピン（Ｉ／Ｏピン、以下単に「ピン」という）のそれぞれについて（これを「処理対象ピン」と呼ぶ）、処理対象ピンの周囲のピンの信号が同時に動作するときの、処理対象ピンの信号に重畳されるノイズを、ＳＳＯノイズとして見積もる必要がある。そして、
全ての処理対象ピンのＳＳＯノイズ量が規格内に収まれば、設計したピン配置が適切であると判断することができる。
【００１８】
１つの処理対象ピンのＳＳＯノイズを見積もるためには、処理対象ピンの周囲のピンの配置とその入出力信号に関するユーザの設定情報（以下、「Ｉ／Ｏユーザ設定情報」という）が重要な要素である。ここで、Ｉ／Ｏユーザ設定情報とは、入出力信号のスタンダード（ＬＶＴＴＬ、ＬＶＣＭＯＳ、ＨＳＴＬ、等）、出力電流値（１２ｍＡ、８ｍＡ、４ｍＡ、等）、スルーレート（ＦＡＳＴ／ＳＬＯＷ）等の情報である。
【００１９】
本発明の実施形態における半導体のＩ／ＯピンのＳＳＯノイズの見積りにおいては、処理対象ピンの近傍のエリアに位置する複数のピンが、処理対象ピンへのリターン電流の結合インダクタンスの大小に応じて、具体的には、処理対象ピンまでの距離に応じて、複数のグループに分類される。
【００２０】
本発明の実施形態では、処理対象ピンまでの距離を考慮したグループの分類として、例えば図１に示される分類が採用される。即ち、図１の１０１として示される処理対象ピンに対して、エリア１０２にて示される８個のピンをグループ１（G_1 ）に属するピンとし、エリア１０３にて示される１６個のピンをグループ２（G_2 ）に属するピンとし、エリア１０４にて示される２４個のピンをグループ３（G_3 ）に属するピンとする分類が行われる。
【００２１】
このような分類に基づいて汎用の回路解析シミュレータソフトを用いて処理対象ピンに対するＳＳＯノイズを測定すると、図２のプロット「●」とそれを補間した直線で示されるようなＳＳＯノイズ基礎特性が得られる。
【００２２】
図中、Noise_i_j は、グループｉ（= G_i ）に属しＩ／Ｏユーザ設定情報ｊを有するピンのＳＳＯノイズ量を示すものとする。
実Noise_1_1 は、グループ１（= G_1 ）に属する８本のピンが全てＩ／Ｏユーザ設定情報１の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値である。
【００２３】
実Noise_2_1 は、グループ２（= G_2 ）の内側、即ち、G_1 に属する８本のピンとG_2 に属する１６本のピンの合計２４本のピンが全てＩ／Ｏユーザ設定情報１の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値である。
【００２４】
実Noise_3_1 は、グループ３（= G_3 ）の内側、即ち、G_1 に属する８本のピンとG_2 に属する１６本のピンとG_3 に属する２４本のピンの合計４８本のピンが全てＩ／Ｏユーザ設定情報１の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値である。
【００２５】
同様に、実Noise_1_2 は、G_1 に属する８本のピンが全てＩ／Ｏユーザ設定情報２の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値、実Noise_2_2 は、G_2 の内側２４本のピンが全てＩ／Ｏユーザ設定情報２の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値、実Noise_3_2 は、G_3 の内側４８本のピンが全てＩ／Ｏユーザ設定情報２の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値である。
【００２６】
同じく、実Noise_1_3 は、G_1 に属する８本のピンが全てＩ／Ｏユーザ設定情報３の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値、実Noise_2_3 は、G_2 の内側２４本のピンが全てＩ／Ｏユーザ設定情報３の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値、実Noise_3_3 は、G_3 の内側４８本のピンが全てＩ
／Ｏユーザ設定情報３の信号特性を有している場合のＳＳＯノイズ量の実シミュレーション値である。
【００２７】
図１及び図２から理解されるように、Ｉ／Ｏユーザ設定情報が異なれば、各ピンの信号特性が異なるため、ＳＳＯノイズ量は異なる。また、グループが異なると、処理対象ピンに対する距離関係が大きく変化するため、同時動作信号本数に対するＳＳＯノイズ量の変化量（＝基礎特性の傾き）が異なる。
【００２８】
しかし、ある１種類のＩ／Ｏユーザ設定情報に着目したときに、同じグループ内のピンは処理対象ピンに対してほぼ同じ距離関係（≒結合インダクタンス値）を有するため、同じグループ内でそのＩ／Ｏユーザ設定情報を有するピンが増加したときのＳＳＯノイズ量の増加率はほぼ一定とみなすことができる。言い換えれば、或るグループ内の或るＩ／Ｏユーザ設定情報に対するＳＳＯノイズ基礎特性は、一次直線で近似できる。
【００２９】
この特性より、グループｉ（G_i ）に属しＩ／Ｏユーザ設定情報ｊを有するピンの数をx_i_j とするとき、それらx_i_j 個のピンにより発生するＳＳＯノイズ量Noise_i_j は、G_i に属する全てのピンがＩ／Ｏユーザ設定情報ｊを有する場合のノイズ量の実測値＝実Noise_i_j と、G_i にはＩ／Ｏユーザ設定情報ｊを有するピンは無くその内側のグループｉ−１以下のグループに属する全てのピンがＩ／Ｏユーザ設定情報ｊを有する場合のノイズ量の実測値＝実Noise_i-1_j とから、直線補間により簡易的に算出することができる。
【００３０】
なお、ＳＳＯノイズ基礎特性が１次直線で近似されない場合には、そのＳＳＯノイズ基礎特性のx_i_j における微分係数（直線補間の場合は直線の傾き）をx_i_j に乗算して得られる値を、ＳＳＯノイズ量Noise_i_j として算出すればよい。
【００３１】
実際には図３に示されるように、各グループG_1 、G_2 、G_3 等には、それぞれ異なるＩ／Ｏユーザ設定情報１〜３等を有するピンが混在する。このため、１つの処理対象ピンに対する総ＳＳＯノイズ量は、図４に示されるように、各グループｉごとに全てのＩ／Ｏユーザ設定情報１〜３に対するＳＳＯノイズ量Noise_i_1 〜Noise_i_3 のＳＳＯノイズ量グループ内合計Noise_i を計算し、更に、全グループG_1 〜G_3 に対応するＳＳＯノイズ量グループ内合計Noise_1 〜Noise_3 の総和を計算することにより、算出される。
【００３２】
なお、グループ分けとしては、例えば、処理対象とするピンからの距離をより細かく判定することで、図１に示す以外のグループ分けも可能である。このため、図２及び図４等では、G_1 、G_1 + G_2 、G_1 + G_2 + G_3 とも表記している。
【００３３】
ここで、図２又は図４に示されるＳＳＯノイズ基礎特性データは、標準的な評価基板を用いてＳＳＯノイズ量を実測して取得することが前提となっている。しかし、ＳＳＯノイズ基礎特性は、ＦＰＧＡが搭載されるＰＣＢ（プリント回路基板）により変動する。従って、ＳＳＯノイズ量を正確に見積るには、ＦＰＧＡの特性だけでなく、ＦＰＧＡを搭載するＰＣＢを含んだ解析モデルを考える必要がある。ＦＰＧＡを搭載するＰＣＢは設計ごとにユニークであるため、これを実測ベースで求めることは現実的に不可能である。このため、ＳＳＯノイズ基礎特性データを取得する評価基板と実装置のＰＣＢでは条件（層数、ｖｉａ長、配線パターン等）が異なり、ＳＳＯノイズ基礎特性が変動するため、結果として算出したノイズ量に誤差が生じる。
【００３４】
そこで、本発明の実施形態では、図５に示されるように、設計初期段階では、従来の標準的評価基板で実測されたＳＳＯノイズ基礎特性データを用いてラフな解析が実施され、設計が進捗してＰＣＢのパラメータが決定した後には、汎用回路解析シミュレータソフトによって実装置ＰＣＢ条件のもとでＳＳＯノイズ基礎特性データが取得され、その新たに
取得したＳＳＯノイズ基礎特性データを用いて半導体ピンに対するＳＳＯノイズ量の詳細な解析が実施される。
【００３５】
本発明の実施形態の構成
上記の基本原理に基づく本発明の実施形態の構成について、以下に説明する。
本発明の実施形態では、ＬＳＩ（大規模集積回路）を構成するＦＰＧＡのピン配置を、それが搭載されるＰＣＢの設計と連携させながらＳＳＯノイズ量を見積もることにより、決定することができる。
【００３６】
図６は、ＬＳＩ（ＦＰＧＡ）とそれが搭載されるＰＣＢによって構成される装置を設計及び製造する機能を有する本発明の実施形態の全体ブロック図である。
まず、装置仕様決定部６０１は、ＬＳＩを構成するＦＰＧＡとそれが搭載されるＰＣＢにより構成される装置（製品）の全体仕様を決定する。
【００３７】
次に、ＬＳＩ分割部６０２は、上記の決定された仕様に基づいて必要なＬＳＩ機能を決定し、そのＬＳＩをＦＰＧＡ側又はＰＣＢ側の何れに搭載させるかを決めるマッピングを行う。
【００３８】
その後、ＬＳＩ外部インタフェース（Ｉ／Ｆ）仕様決定部６０３は、ＦＰＧＡとＰＣＢ間、ＰＣＢと外部接続機器間のインターフェース仕様を決定する。
これ以降は、半導体装置、ＰＣＢのそれぞれについて設計が進められる。
【００３９】
６０４〜６０９で示される各機能部は、ＦＰＧＡによるＬＳＩ設計を行う機能ブロックである。
まず、ＬＳＩ仕様設計部６０４は、ＦＰＧＡによって構成されるＬＳＩの基本的な仕様の設計を行う。
【００４０】
次に、ＬＳＩ機能設計部６０５は、６０１及び６０２の各機能部での設計結果を反映したＬＳＩの機能設計を行う。
その後、ピン配置決定部６０６が、ＬＳＩを構成するＦＰＧＡのピン配置を決定し、配置配線設計部６０７が決定されたピン配置での配線設計を行い、タイミング検証部６０８がそれらのピン配置及び配線でＬＳＩが適切に動作するか否かを確認するためのタイミング検証を行う。
【００４１】
そして、上記タイミング検証の結果がＯＫである場合に、ＬＳＩ製造部６０９が、ＦＰＧＡによるＬＳＩの製造を実行する。
一方、６１０〜６１３で示される各機能部は、ＰＣＢ設計を行う機能ブロックである。
【００４２】
まず、ＰＣＢ基本設計部６１０は、６０１及び６０２の各機能部での設計結果を反映した、ＰＣＢの大きさやタイプ等の基本設計を行う。
次に、ＬＳＩ配置決定部６１１は、ＰＣＢに搭載すべきＬＳＩの配置（コネクタや電源回路の配置）を決定する。
【００４３】
更に、ＬＳＩ間結線決定部６１２が、上記決定されたＬＳＩ配置でのＬＳＩ間の結線を決定する。
後述するＳＳＮチェック部６１４によるＳＳＯノイズ量のチェック、及び外部インタフェース（Ｉ／Ｆ）タイミング検証部６１５による外部インタフェースタイミングのチェックの結果、ＬＳＩ配置及びＬＳＩ間結線が適切であると検証されると、ＰＣＢ製造部６１３が、ＰＣＢの製造を実行する。
【００４４】
ＬＳＩ製造部６０９によるＬＳＩの製造、及びＰＣＢ製造部６１３によるＰＣＢの製造が完了すると、装置製造部６１６が、これらのＬＳＩ群及びＰＣＢ群から、最終的な製品装置を組み上げる。
【００４５】
ここで、製品装置におけるＳＳＯノイズ量は、ＬＳＩを構成するＦＰＧＡのピン配置、ピン配置に基づく配線、ＰＣＢでのＬＳＩの配置により変化する可能性がある。そこで、本発明に特に関わる部分として、ＳＳＮチェック部６１４は、ピン配置決定部６０６及び配置配線設計部６０７によるＬＳＩに関するピン配置とそれに基づく配線の設計が行われ、かつＬＳＩ配置決定部６１１によるＰＣＢ上でのＬＳＩ配置の設計が行われた時点で、各ＬＳＩを構成するＦＰＧＡの全てのピンについて、ＳＳＯノイズの見積り処理が実行され、それらのＳＳＯノイズ量が許容範囲内か否かを確認する。
【００４６】
そして、そのＳＳＮチェックにより、許容範囲内でないＳＳＯノイズが発生するピンの存在が明らかになれば、ピン配置決定部６０６及び配置配線設計部６０７によるＬＳＩに関するピン配置とそれに基づく配線の再設計、或いは、ＬＳＩ配置決定部６１１によるＰＣＢ上でのＬＳＩ配置、電源回路の配置又は数の変更等の再設計が行われる。
【００４７】
図７は、本発明の実施形態としての、図６のＳＳＮチェック部６１４の構成を示すブロック図である。
「本発明の実施形態の基本原理」にて前述したように、本発明の実施形態では、装置設計の初期段階では、従来の標準的評価基板で実測されたＳＳＯノイズ基礎特性データを用いてラフな解析が実施され、設計が進捗してＰＣＢのパラメータが決定した後には、汎用回路解析シミュレータソフトによって実装置ＰＣＢ条件のもとでＳＳＯノイズ基礎特性データが取得され、その新たに取得したＳＳＯノイズ基礎特性データを用いて半導体ピンに対するＳＳＯノイズ量の詳細な解析が実施される。
【００４８】
そこでまず、評価基板での回路解析制御部７０１が、従来の標準的評価基板で実測されたＳＳＯノイズ基礎特性データを、ＳＳＯノイズ基礎特性データ記憶部７０４に記憶させる。
【００４９】
その上で、ＳＳＯノイズ算出部７０２が、ピン情報記憶部７０５に記憶されている各ピンの配置情報及びＩ／Ｏユーザ設定情報と、ＳＳＯノイズ基礎特性データ記憶部７０４に記憶されている評価基板に基づいて得られているＳＳＯノイズ基礎特性データとに基づいて、ＳＳＯノイズ量を算出する処理を実行する。この部分の動作の詳細については後述するが、「本発明の実施形態の基本原理」にて前述した基本原理に従って動作する。
【００５０】
このＳＳＯノイズ算出部７０２でのチェック結果がＯＫとなると、図６のＬＳＩ配置決定部６１１及びＬＳＩ間結線決定部６１２での前述した動作の後に、ＰＣＢの実装置設計がひとまず確定する。
【００５１】
これを受けて、図７の実装置ＰＣＢでの回路解析制御部７０３が、上述の確定した実装置ＰＣＢ設計情報に基づき、特には図示しない汎用の回路解析シミュレータソフトを実行させることにより、その実装置ＰＣＢに対応するＳＳＯノイズ基礎特性データを取得し、ＳＳＯノイズ基礎特性データ記憶部７０４に記憶されているＳＳＯノイズ基礎特性データを補正する。
【００５２】
その上で再度、ＳＳＯノイズ算出部７０２が、ピン情報記憶部７０５に記憶されている各ピンの配置情報及びＩ／Ｏユーザ設定情報と、ＳＳＯノイズ基礎特性データ記憶部７０４に記憶されている実装置ＰＣＢに基づいて補正されたＳＳＯノイズ基礎特性データとに基づいて、ＳＳＯノイズ量を算出する処理を再実行する。
【００５３】
そして、この結果得られるＳＳＮチェック最終結果７０６が、図６のピン配置決定部６０６及び配置配線設計部６０７によるＬＳＩに関するピン配置とそれに基づく配線の設計、及びＬＳＩ配置決定部６１１によるＰＣＢ上でのＬＳＩ配置の設計を確定させる。
【００５４】
このように本発明の実施形態では、より実設計に近いＳＳＯノイズ基礎特性データに基づいてＳＳＯノイズ量が見積もられるため、その見積りに基づいて決定されたピン配置のＬＳＩとそれが実装されるＰＣＢとで構成される装置がＳＳＯノイズによって誤動作することを的確に防ぐことができる。
【００５５】
本発明の実施形態の動作
上述の構成を有する本発明の実施形態の動作について、以下に説明する。
図８は、図７のピン情報記憶部７０５のデータ構造の例を示す図である。
ＦＰＧＡによって構成される各ＬＳＩの各ピンごとに、ＬＳＩとピンを識別する識別子情報と、ピンのＬＳＩ上での行位置及び列位置を示す情報と、そのピンに適用されるＩ／Ｏユーザ設定情報とが記憶される。
【００５６】
これによって、「本発明の実施形態の基本原理」にて前述した、各ＬＳＩ上の各処理対象ピンごとに、図１のようなグルーピングと、図３のような、どのグループ内のどのピンがどのＩ／Ｏユーザ設定情報を有するかの特定が可能となる。
【００５７】
図９は、図７のＳＳＯノイズ基礎特性データ記憶部７０４のデータ構造の例を示す図である。
Ｉ／Ｏユーザ設定情報ごとに、同時動作信号数（１、８、２４、４８の何れか）と、それぞれに対応するＳＳＯノイズ量（単位はミリボルト＝ｍＶ）が記憶される。これらは、図２及び図４の横軸の各同時動作信号数と、それぞれにおける実Noise_1_1 、実Noise_2_1 ・・・等のＳＳＯノイズ量に対応している。図９中「サフィックス（参考）」列に、図２との関係を示している。
【００５８】
なお、図９では、各Ｉ／Ｏユーザ設定情報が設定されたピンが、グランド側（ＧＮＤ側）のピンとして動作した場合と、電源側（ＶＣＣ側）のピンとして動作した場合のそれぞれについて、ＳＳＯノイズ量が記憶される。
【００５９】
また、図２及び図４では、同時動作信号数＝１、即ち、処理対象ピンが単独で動作した場合のＳＳＯノイズ量はゼロになっているが、実際には若干のノイズがあるため、図９には、ＳＳＯ本数が１の場合のＳＳＯノイズ量も記憶されている。
【００６０】
図７のＳＳＯノイズ基礎特性データ記憶部７０４に記憶される図９に示される関数テーブルデータによって、図２や図４に示されるＳＳＯノイズ基礎特性が表現されることになる。
【００６１】
図１０は、図７に示される機能構成を有する図６のＳＳＮチェック部６１４の動作を示す動作フローチャートである。
まず、図１０のステップＳ１００１は、図７の評価基板での回路解析制御部７０１によって実行される。このステップでは、ＦＰＧＡ評価用ＰＣＢ環境の条件下で、汎用の回路解析シミュレータソフトウェアが実行され、全てのＩ／Ｏユーザ設定情報に対しＳＳＯノイズ基礎特性データが取得され、その関数テーブルデータが作成される。当該ソフトウェアとしては、エレクトロニクス研究所(Electronics Research Laboratory)の集積回路グループとカリフォルニア大学バークレー校の電気工学・コンピュータ・サイエンス学科(EECS)によって開発されたＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis ）ソフトウェア、又はそれから派生したＨＳＰＩＣＥ（Synopsys社製）ソフトウェア等を用いることができる。このとき回路解析シミュレータに与えられるパラメータとしては、下記のものが使用される。
【００６２】
１．評価用ＰＣＢのパターンデータ（Via 長）
２．評価用ＰＣＢの層数
３．デバイスのパッケージモデル
４．バッファモデル
上記動作の結果、図９に示されるＳＳＯノイズ量の各値が得られ、これが図７のＳＳＯノイズ基礎特性データ記憶部７０４に図９の関数テーブルデータの形式で記憶される。
【００６３】
次に、図１０のステップ１００２のＳＳＯノイズ算出サブルーチンは、図１１の動作フローチャートによって更に詳細に示され、図７のＳＳＯノイズ算出部７０２によって実行される。
【００６４】
図１１の動作フローチャートにおいて、まず、ピン情報記憶部７０５に記憶されている１つのＬＳＩの先頭ピンが処理対象ピンとして選択される（ステップＳ１１０１）。
次に、グループ番号を示す変数ｉの値が１にセットされる（ステップＳ１１０２）。
【００６５】
次に、ピン情報記憶部７０５に記憶されている処理対象ＬＳＩの各ピンの行位置と列位置、及びＩ／Ｏユーザ設定情報が判定されながら、処理対象ピンの近傍のグループｉ（= G_i ）＝グループ１(= G_1 )のエリア（図１の１０２）に属する８個のピンにつき、例えばＩ／Ｏユーザ設定情報Ａ、Ｂ、Ｃの各々ごとのピン本数が各同時動作信号本数として集計される（ステップＳ１１０３）（図３参照）。
【００６６】
例えば、G_1 エリアについて、Ｉ／Ｏユーザ設定情報Ａのピン本数=2本、Ｉ／Ｏユーザ設定情報Ｂのピン本数=4本、Ｉ／Ｏユーザ設定情報Ｃのピン本数=2本と算出される（図３のG_1 のエリアを参照）。
【００６７】
次に、G_i = G_1 （グループ１）のエリアについて、ＳＳＯノイズ基礎特性F_j(x)が大きい順のＩ／Ｏユーザ設定情報ｊごとに、その同時動作信号本数x_i_j に対応する始点位置s_i_j が下記数１式によって決定される（ステップＳ１１０４）。
［数１］
s_i_j = 1                                 （j = 1 かつ i = 1）
s_i_j = G_i 以下のピン総数（=8,24,or48）  （j = 1 かつ i > 1）
s_i_j = s_i_j-1 + x_i_j-1                 （j > 1 ）
今、i = 1 であり、Ｉ／Ｏユーザ設定情報ごとのＳＳＯノイズ基礎特性は、図２〜図４及び図９の例の場合、
Ｉ／Ｏユーザ設定情報Ａ＞Ｉ／Ｏユーザ設定情報Ｂ＞Ｉ／Ｏユーザ設定情報Ｃ
となるため、下記の計算がなされる。
【００６８】
Ｉ／Ｏユーザ設定情報１＝Ｉ／Ｏユーザ設定情報Ａ、x_1_1 = 2
Ｉ／Ｏユーザ設定情報２＝Ｉ／Ｏユーザ設定情報Ｂ、x_1_2 = 4
Ｉ／Ｏユーザ設定情報３＝Ｉ／Ｏユーザ設定情報Ｃ、x_1_3 = 2
この結果、始点位置は、数１式より、下記のように計算される。
【００６９】
s_1_1 = 1 
s_1_2 = s_1_1 + x_1_1 = 1 + 2 = 3
s_1_3 = s_1_2 + x_1_2 = s_1_1 + x_1_1 + x_1_2 = 1 + 2 + 4 = 7
と算出される。
【００７０】
次に、G_i = G_1 （グループ１）のエリアについて、SSOノイズ基礎特性F_j(x)が大きい順のＩ／Ｏユーザ設定情報ｊごとに、x_i_j 、s_i_j 、及びF_j(x)に基づいて、ノイズ量Noise_i_j が、下記数２式により算出される（ステップＳ１１０５）。
［数２］
Noise_i_j = F_j (s_i_j + x_i_j ) - F_j (s_i_j ) 
今、図２〜図４及び図９の例では、
Ｉ／Ｏユーザ設定情報１：x_1_1 = 2 、s_1_1 = 1
Ｉ／Ｏユーザ設定情報２：x_1_2 = 4 、s_1_2 = 3
Ｉ／Ｏユーザ設定情報３：x_1_3 = 2 、s_1_3 = 7
である。また、ＳＳＯノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図２又は図４からわかるように、G_i = G_1 のエリアにおいては、Ｉ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれについて、図９の関数テーブル上（ＧＮＤ側）上の同時動作信号本数（ＳＳＯ本数）＝１におけるＳＳＯノイズ量と、ＳＳＯ本数＝８におけるＳＳＯノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
【００７１】
F_1(x)= {(380-50)/(8-1)}x+ {(8*50-1*380)/(8-1)} = 47.143*x + 2.857
F_2(x)= {(305-40)/(8-1)}x+ {(8*40-1*305)/(8-1)} = 37.857*x + 2.143
F_3(x)= {(214-30)/(8-1)}x+ {(8*30-1*214)/(8-1)} = 26.286*x + 3.714
これらより、G_i = G_1 のエリアにおけるＩ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれにおけるＳＳＯノイズ量Noise_1_1 、Noise_1_2 、及びNoise_1_3 は、数２式より、以下のように計算される。
【００７２】
Noise_1_1 = F_1 (s_1_1 + x_1_1 ) - F_1 (s_1_1 ) 
={47.143*(1+2)+2.857}-(47.143*1+2.857)=47.143*2=94.286(mV)
Noise_1_2 = F_2 (s_1_2 + x_1_2 ) - F_2 (s_1_2 ) 
={35.857*(3+4)+2.143}-(35.857*3+2.143)=35.857*4=143.428(mV)
Noise_1_3 = F_3 (s_1_3 + x_1_3 ) - F_3 (s_1_3 ) 
={26.286*(7+2)+3.714}-(26.286*7+3.714)=26.286*2=52.572(mV)
前述の数２式と図４とからわかるように、G_i エリア内でのＩ／Ｏユーザ設定情報ｊごとのＳＳＯノイズ量Noise_i_j は、Ｉ／Ｏユーザ設定情報ｊごとのG_i エリア内での同時動作信号本数x_i_j の増分に対するSSOノイズ基礎特性F_j(x)の増分に等しい。従って、ＳＳＯノイズ基礎特性F_j(x)が一次直線によって表されるときには、数２式は、下記数３式のように簡略化してもよい。
［数３］
Noise_i_j = a_j * x_i_j 
ただし、a_j は、G_i エリア内でのSSOノイズ基礎特性の直線の傾きである。ＳＳＯノイズ基礎特性F_j(x)が一次直線によって表されないような場合には、数２式を厳密に計算するのがよい。
【００７３】
このようにして、G_i = G_1 のエリア内でのＩ／Ｏユーザ設定情報ｊごとのＳＳＯノイズ量Noise_i_j 、即ち、Noise_1_1 、Noise_1_2 、及びNoise_1_3 が計算できたら、それ
らの総和として、G_i = G_1 のエリア内の総ＳＳＯノイズ量Noise_i = Noise_1 が計算される（ステップＳ１１０６）。
【００７４】
Noise_1 = Noise_1_1 + Noise_1_2 + Noise_1_3 
= 94.286+143.428+52.572=290.03(mV)
以上のようにして、１つのグループエリアに対する処理が終了したら、全てのG_i エリアについての処理が終了したか否かが判定される（ステップＳ１１０７）。
【００７５】
今、例えばG_i = G_1 であって、図２〜図４に示されるように、他にG_2 エリアとG_3 エリアが存在するような場合には、ステップＳ１１０７の判定はＮＯとなって、グループ識別変数ｉの値が＋１されてi = 2 にされた後（ステップＳ１１０８）、ステップＳ１１０３の処理に戻って、G_2 のエリアに対する処理が繰り返し実行される。
【００７６】
G_2 エリアに関しては、まず、ステップＳ１１０３において、例えば、Ｉ／Ｏユーザ設定情報Ａのピン本数=5本、Ｉ／Ｏユーザ設定情報Ｂのピン本数=5本、Ｉ／Ｏユーザ設定情報Ｃのピン本数=5本と算出される（図３のG_2 のエリアを参照）。
【００７７】
次に、ステップＳ１１０４において、G_2 エリアに関しては、i = 2 であり、Ｉ／Ｏユーザ設定情報ごとのＳＳＯノイズ基礎特性は、図２〜図４及び図９の例の場合、
Ｉ／Ｏユーザ設定情報Ａ＞Ｉ／Ｏユーザ設定情報Ｂ＞Ｉ／Ｏユーザ設定情報Ｃ
となるため、下記の計算がなされる。
【００７８】
Ｉ／Ｏユーザ設定情報１＝Ｉ／Ｏユーザ設定情報Ａ、x_2_1 = 5
Ｉ／Ｏユーザ設定情報２＝Ｉ／Ｏユーザ設定情報Ｂ、x_2_2 = 5
Ｉ／Ｏユーザ設定情報３＝Ｉ／Ｏユーザ設定情報Ｃ、x_2_3 = 5
この結果、始点位置は、数１式より、下記のように計算される。
【００７９】
s_2_1 = G_1 のピン数 = 8
s_2_2 = s_2_1 + x_2_1 = 8 + 5 = 13
s_2_3 = s_2_2 + x_2_2 = s_2_1 + x_2_1 + x_2_2 = 8 + 5 + 5 = 18
と算出される。
【００８０】
次に、ステップ１１０５において、まず、ＳＳＯノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図２又は図４からわかるように、G_i = G_2 のエリアにおいては、Ｉ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれについて、図９の関数テーブル上（ＧＮＤ側）上の同時動作信号本数（ＳＳＯ本数）＝８におけるＳＳＯノイズ量と、ＳＳＯ本数＝２４におけるＳＳＯノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
【００８１】
F_1(x)= {(990-380)/(24-8)}x+ {(24*380-8*990)/(24-8)} = 38.125*x + 0.072
F_2(x)= {(786-305)/(24-8)}x+ {(24*305-8*786)/(24-8)} = 30.063*x + 0.073
F_3(x)= {(524-214)/(24-8)}x+ {(24*214-8*524)/(24-8)} = 19.375*x + 0.077
これらより、G_i = G_2 のエリアにおけるＩ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれにおけるＳＳＯノイズ量Noise_2_1 、Noise_2_2 、及びNoise_2_3 は、数２式より、以下のように計算される。
【００８２】
Noise_2_1 = F_1 (s_2_1 + x_2_1 ) - F_2 (s_2_1 ) 
=38.125*5=190.625(mV)
Noise_2_2 = F_2 (s_2_2 + x_2_2 ) - F_2 (s_2_2 ) 
=30.063*5=150.315(mV)
Noise_2_3 = F_3 (s_2_3 + x_2_3 ) - F_3 (s_2_3 ) 
=19.375*5=96.875(mV)
このようにして、G_i = G_2 のエリア内でのＩ／Ｏユーザ設定情報ｊごとのＳＳＯノイズ量Noise_i_j 、即ち、Noise_2_1 、Noise_2_2 、及びNoise_2_3 が計算できたら、それらの総和として、G_i = G_2 のエリア内の総ＳＳＯノイズ量Noise_i = Noise_2 が計算される（ステップＳ１１０６）。
【００８３】
Noise_2 = Noise_2_1 + Noise_2_2 + Noise_2_3 
= 190.625+150.315+96.875=437.82(mV)
以上のようにして、G_2 のエリアに対する処理が終了したら、まだ、G_3 のエリアの処理が残っているため、ステップＳ１１０７の判定はＮＯとなって、グループ識別変数ｉの値が＋１されてi = 3 にされたた後（ステップＳ１１０８）、ステップＳ１１０３の処理に戻って、G_3 のエリアに対する処理が繰り返し実行される。
【００８４】
G_3 エリアに関しては、まず、ステップＳ１１０３において、例えば、Ｉ／Ｏユーザ設定情報Ａのピン本数=7本、Ｉ／Ｏユーザ設定情報Ｂのピン本数=7本、Ｉ／Ｏユーザ設定情報Ｃのピン本数=7本と算出される（図３のG_3 のエリアを参照）。
【００８５】
次に、ステップＳ１１０４において、G_3 エリアに関しては、i = 3 であり、Ｉ／Ｏユーザ設定情報ごとのＳＳＯノイズ基礎特性は、図２〜図４及び図９の例の場合、
Ｉ／Ｏユーザ設定情報Ａ＞Ｉ／Ｏユーザ設定情報Ｂ＞Ｉ／Ｏユーザ設定情報Ｃ
となるため、下記の計算がなされる。
【００８６】
Ｉ／Ｏユーザ設定情報１＝Ｉ／Ｏユーザ設定情報Ａ、x_3_1 = 7
Ｉ／Ｏユーザ設定情報２＝Ｉ／Ｏユーザ設定情報Ｂ、x_3_2 = 7
Ｉ／Ｏユーザ設定情報３＝Ｉ／Ｏユーザ設定情報Ｃ、x_3_3 = 7
この結果、始点位置は、数１式より、下記のように計算される。
【００８７】
s_3_1 = G_2 以下のピン総数 = 8 + 16 = 24
s_3_2 = s_3_1 + x_3_1 = 24 + 7 = 31
s_3_3 = s_3_2 + x_3_2 = s_3_1 + x_3_1 + x_3_2 = 24 + 7 + 7 = 38
と算出される。
【００８８】
次に、ステップ１１０５において、まず、ＳＳＯノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図２又は図４からわかるように、G_i = G_3 のエリアにおいては、Ｉ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれについて、図９の関数テーブル上（ＧＮＤ側）上の同時動作信号本数（ＳＳＯ本数）＝２４におけるＳＳＯノイズ量と、ＳＳＯ本数＝４８におけるＳＳＯノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
【００８９】
F_1(x)= {(1455-990)/(48-24)}x+ {(48*990-24*1455)/(48-24)}
= 19.375*x + 0.057
F_2(x)= {(1245-786)/(48-24)}x+ {(48*786-24*1245)/(48-24)}
= 19.125*x + 0.053
F_3(x)= {(853-524)/(48-24)}x+ {(48*524-24*853)/(48-24)}
= 13.708*x + 0.051
これらより、G_i = G_3 のエリアにおけるＩ／Ｏユーザ設定情報１（＝Ａ）、Ｉ／Ｏユ
ーザ設定情報２（＝Ｂ）、Ｉ／Ｏユーザ設定情報３（＝Ｃ）のそれぞれにおけるＳＳＯノイズ量Noise_3_1 、Noise_3_2 、及びNoise_3_3 は、数２式より、以下のように計算される。
【００９０】
Noise_3_1 = F_1 (s_3_1 + x_3_1 ) - F_2 (s_3_1 ) 
=19.375*7=135.625(mV)
Noise_2_2 = F_2 (s_3_2 + x_3_2 ) - F_2 (s_3_2 ) 
=19.125*7=133.875(mV)
Noise_2_3 = F_3 (s_3_3 + x_3_3 ) - F_3 (s_3_3 ) 
=13.708*7=95.956(mV)
このようにして、G_i = G_3 のエリア内でのＩ／Ｏユーザ設定情報ｊごとのＳＳＯノイズ量Noise_i_j 、即ち、Noise_3_1 、Noise_3_2 、及びNoise_3_3 が計算できたら、それらの総和として、G_i = G_3 のエリア内の総ＳＳＯノイズ量Noise_i = Noise_3 が計算される（ステップＳ１１０６）。
【００９１】
Noise_3 = Noise_3_1 + Noise_3_2 + Noise_3_3 
= 135.625+133.875+95.956=365.46(mV)
以上のようにして、G_3 のエリアに対する処理が終了したら、全てのグループのエリアの処理が終了したため、ステップＳ１１０７の判定はＹＥＳとなって、全てのグループG_i のＳＳＯノイズ量Noise_i の総和が計算されることにより、最終的なNoise が算出される
Noise = Noise_1 + Noise_2 + Noise_3 
= 290.03 + 437.82 + 365.46 = 1093.31(mV)
以上のようにして計算された全グループに対する総ＳＳＯノイズ量Noise が算出されたら、それが予め設定された許容閾値よりも大きいか否かが判定される（ステップＳ１１１０）。
【００９２】
総ＳＳＯノイズ量Noise が許容閾値よりも大きくてステップＳ１１１０の判定がＹＥＳとなったら、設計変更を促すメッセージが特には図示しないディスプレイ装置、プリンタ装置、又はログファイル等に出力され、図１０のステップＳ１００２のＳＳＯノイズ算出サブルーチンを終了する。
【００９３】
一方、総ＳＳＯノイズ量Noise が許容閾値以下であってステップＳ１１１０の判定がＮＯならば、１つのＬＳＩ上の全てのピンを処理対象ピンとする処理が終了したか否かが判定される（ステップＳ１１１２）。
【００９４】
全てのピンに対する処理が終了していなければ、ピン情報記憶部７０５に記憶されている１つのＬＳＩの今までの処理対象ピンの次のピンが新たな処理対象ピンとして選択される（ステップＳ１１０１）。
【００９５】
その後、以下同様にして、その処理対象ピンに対するＳＳＯノイズ量の処理が同様にして実行され、その結果求まる総ＳＳＯノイズ量が許容閾値より大きいか否かが判定される。これらの処理の中で、１ピンでも総ＳＳＯノイズ量が許容閾値より大きいと判定されれば、ステップＳ１１１１の処理が実行されて、設計変更を促すメッセージが出力される。
【００９６】
全ての処理対象ピンに対して処理が終了し、ステップＳ１１１２の判定がＹＥＳとなった時点で、図１０のステップＳ１００２の処理が正常に終了し、図１０の次のステップＳ１００３の処理が実行される。
【００９７】
なお、以上の一連の処理は、実際には、ピン情報記憶部７０５に記憶されている全ての
ＬＳＩに対して繰り返し実行され、全てのＬＳＩに対するチェックが実行される。
また、図９の関数テーブル例では、各Ｉ／Ｏユーザ設定情報が設定されたピンが、グランド側（ＧＮＤ側）のピンとして動作した場合と、電源側（ＶＣＣ側）のピンとして動作した場合のそれぞれについて、ＳＳＯノイズ量が記憶されているため、グランド側と電源側のそれぞれのＩ／Ｏユーザ設定情報について、上記と同様の処理が繰り返し実行されることになる。
【００９８】
以上詳細に説明した図１０のステップＳ１００２のＳＳＯノイズ算出サブルーチンは、ステップＳ１００１において図７の評価基板での回路解析制御部７０１によって、図７のＳＳＯノイズ基礎特性データ記憶部７０４に図９の関数テーブルデータの形式で記憶された、評価用ＰＣＢについてのＳＳＯノイズ基礎特性データを用いてＳＳＯノイズ量のラフな解析を行うための処理である。
【００９９】
このサブルーチンでの処理がＯＫとなると、図６のＬＳＩ配置決定部６１１及びＬＳＩ間結線決定部６１２での前述した動作の後に、ＰＣＢの実装置設計がひとまず確定する（図１０のステップＳ１００３）。
【０１００】
この時点において、以下の条件が決まる（図１０のステップ１００４）。
・ＰＣＢのパターンデータ（Via 長）
・ＰＣＢの層数
これを受けて、図１０のステップ１００５が、図７の実装置ＰＣＢでの回路解析制御部７０３によって実行される。このステップでは、上述の確定した実装置ＰＣＢ環境の条件下で、汎用の回路解析シミュレータソフトウェア（ＳＰＩＣＥ、ＨＳＰＩＣＥ等）が実行され、全てのＩ／Ｏユーザ設定情報に対し再度ＳＳＯノイズ基礎特性データが取得され、その関数テーブルデータが作成される。このとき回路解析シミュレータに与えられるパラメータとしては、下記のものが使用される。
【０１０１】
１．実装置ＰＣＢのパターンデータ（Via 長）
２．実装置ＰＣＢの層数
３．デバイスのパッケージモデル
４．バッファモデル
上記動作の結果、図９に示されるＳＳＯノイズ量の各補正値が得られ、これらの補正値によって、図７のＳＳＯノイズ基礎特性データ記憶部７０４に記憶される図９の関数テーブルデータの形式の内容が書き換えられる（ステップＳ１００６）。
【０１０２】
以上のようにして、より実装状態に近い状態で得られたＳＳＯノイズ基礎特性データを使って、図１０のステップＳ１００７のＳＳＯノイズ算出サブルーチンが、再度、図７のＳＳＯノイズ算出部７０２によって実行される。この動作は、前述した図１１の動作フローチャートによるものと全く同じである。前述のステップＳ１００２と異なる点は、ＳＳＯノイズ基礎特性データとして補正された内容のものが使用されるという点である。
【０１０３】
このように、ＳＳＯノイズ量に関するラフ解析の後に、ＰＣＢの実設計シミュレーションに基づいてＳＳＯノイズ基礎特性データが補正され、ＳＳＯノイズ量に関する詳細解析が更に行われることにより、同時動作信号ノイズの非常に正確な見積りが可能となる。
【０１０４】
本発明の実施形態がコンピュータプログラムとして実現される場合の構成
図１２は、上記本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図１２に示されるコンピュータは、ＣＰＵ１２０１、メモリ１２０２、入力装置１２０３、出力装置１２０４、外部記憶装置１２０５、可搬記録媒体１２０９が挿入される可搬記録媒体駆動装置１２０６、及びネットワーク接続装置１２０７を有し、これらがバス１２０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０１０５】
ＣＰＵ１２０１は、当該コンピュータ全体の制御を行う。メモリ１２０２は、プログラムの実行、データ更新等の際に、外部記憶装置１２０５（或いは可搬記録媒体１２０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ１２０１は、プログラムをメモリ１２０２に読み出して実行することにより、全体の制御を行う。
【０１０６】
入力装置１２０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置１２０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１２０１に通知する。
【０１０７】
出力装置１２０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置１２０４は、ＣＰＵ１２０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０１０８】
外部記憶装置１２０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１２０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１２０９を収容するもので、外部記憶装置１２０５の補助の役割を有する。
【０１０９】
ネットワーク接続装置１２０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットサーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、それに必要な図５及び図６等で説明した機能を実現するプログラムをＣＰＵ１２０１が実行することで実現される。そのプログラムは、例えば外部記憶装置１２０５や可搬記録媒体１２０９に記録して配布してもよく、或いはネットワーク接続装置１２０７によりネットワークから取得できるようにしてもよい。
【０１１０】
本発明は下記構成でもよい。
（付記１）
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積り方法において、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第１のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第１のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第２のステップと、
該第２のステップで算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第３のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアにつ
いて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第３のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第４のステップと、
該第４のステップで再度算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計を修正する第５のステップと、
を含むことを特徴とする半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
（付記２）
前記第２のステップ又は前記第４のステップは、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出するステップを含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする付記１に記載の半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
（付記３）
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行するコンピュータに、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第１の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第１の機能で算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第２の機能と、
該第２の機能で算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第３の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第３の機能で補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第４の機能と、
該第４の機能で再度算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計を修正する第５の機能と、
を実行させるためのプログラム。
（付記４）
前記第２の機能又は前記第４の機能は、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ
量を算出する機能を含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする付記３に記載のプログラム。
【図面の簡単な説明】
【０１１１】
【図１】ＦＰＧＡチップ上の処理対象ピン近傍のピン配置のグループ分けの一例を示す図である。
【図２】ＳＳＯノイズ基礎特性の説明図である。
【図３】ＦＰＧＡチップ上の処理対象ピン近傍のＩ／Ｏユーザ設定情報ごとのピン配置の一例を示す図である。
【図４】ＳＳＯノイズ量の算出動作の原理説明図である。
【図５】回路解析シミュレーションに基づくＳＳＯノイズ基礎特性の補正動作の説明図である。
【図６】ＦＰＧＡによるＬＳＩとそれが搭載されるＰＣＢによって構成される装置を設計及び製造する機能を有する本発明の実施形態の全体ブロック図である。
【図７】本発明の実施形態においてＳＳＯノイズ量を見積る機能を有するＳＳＮチェック部のブロック図である。
【図８】ピン情報記憶部のデータ構造の例を示す図である。
【図９】ＳＳＯノイズ基礎特性データ記憶部のテーブル構造の例を示す図である。
【図１０】ＳＳＯノイズ算出処理の全体動作フローチャートである。
【図１１】ＳＳＯノイズ算出サブルーチンの動作フローチャートである。
【図１２】本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【０１１２】
６０１  装置仕様決定部
６０２  ＬＳＩ分割部
６０３  ＬＳＩ外部インタフェース（Ｉ／Ｆ）仕様決定部
６０４  ＬＳＩ仕様設計部
６０５  ＬＳＩ機能設計部
６０６  ピン配置決定部
６０７  配置配線設計部
６０８  タイミング検証部
６０９  ＬＳＩ製造部
６１０  ＰＣＢ基本設計部
６１１  ＬＳＩ配置決定部
６１２  ＬＳＩ間結線決定部
６１３  ＰＣＢ製造部
６１４  ＳＳＮチェック部
６１５  外部インタフェース（Ｉ／Ｆ）タイミング検証部
６１６  装置製造部
７０１  評価基板での回路解析制御部
７０２  ＳＳＯノイズ算出部
７０３  実装置ＰＣＢでの回路解析制御部
７０４  ＳＳＯノイズ基礎特性データ記憶部
７０５  ピン情報記憶部
【図１】
0005071081.tif 000002
【図２】
0005071081.tif 000003
【図３】
0005071081.tif 000004
【図４】
0005071081.tif 000005
【図５】
0005071081.tif 000006
【図７】
0005071081.tif 000007
【図８】
0005071081.tif 000008
【図９】
0005071081.tif 000009
【図１０】
0005071081.tif 000010
【図１１】
0005071081.tif 000011
【図１２】
0005071081.tif 000012
【図６】
0005071081.tif 000013