(57)【要約】【課題】接続端子の端子配置によりクロストークの発生を抑制するとともに、Ｉ／Ｏセルの同時動作に伴う同時スイッチングノイズを抑制する、半導体パッケージの設計方法、及び、設計装置を提供する。【解決手段】半導体パッケージに配列された複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する。【選択図】図２６
2016045613.tif 000002
【特許請求の範囲】
【請求項１】
半導体パッケージに配列された複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、
前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【請求項２】
請求項１において、
前記計算は、パラレルインターフェースの差動信号を割り当てる前記接続端子と、シングルエンド信号を割り当てる前記接続端子との距離に応じた半導体パッケージの伝送路の等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【請求項３】
請求項１または２において、
前記決定は、前記第１の遅延変動量と前記第２の遅延変動量との演算に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記計算は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第１、第２の遅延変動量を計算する、半導体パッケージの設計方法。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記計算は、前記距離に応じて、電源端子が割り当てられる接続端子の数と、前記距離に応じて、グランド端子が割り当てられる接続端子の数とに基づいた、前記等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記計算は、複数の前記距離の前記出力信号の第１、第２遅延変動量を計算し、
前記決定は、前記第１の遅延変動量と前記第２の遅延変動量との演算が最小となる前記距離に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【請求項７】
請求項５において、
前記計算は、前記電源端子が割り当てられる接続端子の数に基づいて第１の電気特性を取得し、前記グランド端子が割り当てられる接続端子の数に基づいて第２の電気特性を取得し、前記第１、第２の電気特性を入力した前記等価回路モデルに基づく第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記計算、前記決定は、パラレルインターフェースのバイトごとに実行する、半導体パッケージの設計方法。
【請求項９】
請求項７において、
前記計算は、前記半導体パッケージの伝送路長に応じて異なる前記第１、第２の電気特性を取得する、半導体パッケージの設計方法。
【請求項１０】
請求項１乃至９のいずれかにおいて、さらに、
前記半導体パッケージと接続するプリント基板内の前記出力信号の伝送路長と、前記出力信号の第３の遅延変動量との対応情報に基づいて、前記プリント基板の伝送路長を計算する、半導体パッケージの設計方法。
【請求項１１】
請求項１０において、
前記伝送路長の計算は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第３の遅延変動量を計算する、半導体パッケージの設計方法。
【請求項１２】
半導体パッケージに配列された複数の接続端子の端子配置を記憶する記憶部と、
前記複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する処理部と、
を有する半導体パッケージの設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体パッケージの設計方法、及び、設計装置に関する。
【背景技術】
【０００２】
集積回路装置は、集積回路チップと半導体パッケージとを備える。集積回路チップの端子は、半導体パッケージが備える配線パターンを介して、半導体パッケージの接続端子と接続する。半導体パッケージの一形態に、ＰＧＡ（Pin Grid Array：ＰＧＡ）半導体パッケージや、ＢＧＡ（Ball grid Array：ＢＧＡ）半導体パッケージ等がある。
【０００３】
ＰＧＡ半導体パッケージやＢＧＡ半導体パッケージでは、底面にグリッド状に配置された接続端子を備える。半導体パッケージが備える接続端子のそれぞれには、信号が割り当てられる（例えば、特許文献１〜３）。
【０００４】
また、集積回路チップは、例えば、ＤＤＲ（Double-Data-Rate：ＤＤＲ）等のパラレルインターフェースを有する。パラレルインターフェースは、伝送源である集積回路チップの入出力（Ｉ／Ｏ）セルから発せられる信号を、半導体パッケージを介して、プリント基板を伝播し、相手側のデバイスに伝達する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３２８２４０号公報
【特許文献２】特開平１１−９７６１３号公報
【特許文献３】特開２００６−１２８６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
パラレルインターフェースを採用する場合、Ｉ／Ｏセルから相手側のデバイスに到達する配線は併走する。配線が併走することにより、両隣の配線に対してクロストーク、及び同時スイッチングノイズが発生する。クロストーク及び同時スイッチングノイズにより、信号の伝播遅延変動が発生する。クロストーク及び同時スイッチングノイズによる、信号の伝搬遅延変動が抑制されることが望ましい。
【０００７】
１つの側面は、本発明は、接続端子の端子配置によりクロストークの発生を抑制するとともに、Ｉ／Ｏセルの同時動作に伴う同時スイッチングノイズを抑制する、半導体パッケージの設計方法、及び、設計装置を提供する。
【課題を解決するための手段】
【０００８】
半導体パッケージに配列された複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する。
【発明の効果】
【０００９】
第１の側面によれば、接続端子の端子配置によりクロストークの発生を抑制するとともに、Ｉ／Ｏセルの同時動作に伴う同時スイッチングノイズを抑制する。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態例における、集積回路装置及びプリント基板の構成を説明する図である。
【図２】シリコンチップが有するメモリコントローラのＩ／Ｏセルと、バンプ、ＢＧＡボールとの間の配線のイメージを模式的に示す図である。
【図３】はんだボールとＢＧＡボールとの配線パターンを模式的に説明する図である。
【図４】半導体パッケージの伝送路を模式的に表す図である。
【図５】ＢＧＡボールへの信号の割り当て例を示す図である。
【図６】半導体パッケージにおける、バイトごとの信号群の伝送路の一例を説明する図である。
【図７】差動−シングルエンド間距離（ｌｅｎ）が値「６」である場合のＢＧＡボールへの信号群の割り当て例を説明する図である。
【図８】差動−シングルエンド間距離（ｌｅｎ）が別の値である場合の信号群の４つの割り当て例を説明する図である。
【図９】本実施の形態例における設計装置のハードウェア構成を説明する図である。
【図１０】本実施の形態例における設計装置のソフトウェアモジュール構成を説明する図である。
【図１１】信号・電源ボール割り当て草案情報の一例を示す図である。
【図１２】図１０に示した領域確定モジュールの処理を説明するフローチャート図である。
【図１３】図１１の信号・電源ボール割り当て草案情報を処理した、１バイト分の信号群の信号・電源ボール割り当て初期化情報を示す図である。
【図１４】領域確定モジュールが出力する、信号・電源ボール割り当て初期化情報の一例を示す図である。
【図１５】半導体パッケージの伝送路の等価回路を説明する図である。
【図１６】Ｉ／Ｏ電源ボール「Ｐ」の数、及び、グランドボール「Ｇ」の数を説明する図である。
【図１７】Ｉ／Ｏ電源ボール「Ｐ」の数に対応する、インダクタンス及び抵抗を説明する図である。
【図１８】グランドボール「Ｇ」の数に対応する、インダクタンス及び抵抗を説明する図である。
【図１９】Ｉ／Ｏセルの同時スイッチングノイズを模式的に説明する図である。
【図２０】入力信号が値「Ｌ」から値「Ｈ」に変化する場合に発生する同時スイッチングノイズを説明する図である。
【図２１】入力信号が値「Ｈ」から値「Ｌ」に変化する場合に発生する同時スイッチングノイズを説明する図である。
【図２２】同時スイッチングノイズが発生する場合の電圧波形を示す図である。
【図２３】３本の伝送路におけるクロストークを説明する図である。
【図２４】シミュレーション結果を判定するアイパターンの一例を示す図である。
【図２５】データストローブ信号（差動信号）のスキューを説明する図である。
【図２６】差動-シングル間距離依存性解析モジュールの処理を説明するフローチャート図である。
【図２７】等価回路モデルの一例を示す図である。
【図２８】差動−シングルエンド間距離に応じた、データ信号の遅延ペナルティとデータストローブ信号のスキューとを示す図である。
【図２９】図１０で説明した、ボール割り当て構成モジュールの処理を説明するフローチャート図である。
【図３０】ボール割り当て構成モジュールが出力する、信号・電源ボール割り当て結果情報（ＪＥＤＥＣ-ネット名記述）の一例を示す図である。
【図３１】図３０で説明したＪＥＤＥＣ-ネット名記述に対応するＢＧＡボールの割り当てイメージを表す図である。
【図３２】シングルエンド信号ボール「Ｓ」の内側寄りに、ＢＧＡボールが３つ分配置される場合を説明する図である。
【図３３】シングルエンド信号ボール「Ｓ」の内側寄りに、ＢＧＡボールが４つ分配置される場合を説明する図である。
【図３４】第２の実施の形態例における設計装置のソフトウェアモジュール構成を説明する図である。
【図３５】ＳＳＮ遅延変動解析結果情報の一例を示す図である。
【図３６】第１の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。
【図３７】第２の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。
【図３８】第３の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。
【図３９】ＰＣＢクロストーク遅延変動解析結果の一例を説明する図である。
【図４０】ＰＣＢ線路長依存性検索モジュールの処理を説明するフローチャート図である。
【発明を実施するための形態】
【００１１】
以下、図面にしたがって本発明の実施の形態を説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１２】
［集積回路装置、プリント基板の構成］
図１は、本実施の形態例における、集積回路装置及びプリント基板の構成を説明する図である。図１では、集積回路装置、及び、プリント基板の断面図を示す。
【００１３】
図１に示す集積回路装置は、半導体パッケージ１００と、半導体パッケージ１００に搭載された集積回路チップ（以下、シリコンチップ３００と称する）とを有する。シリコンチップ３００の表面には、バンプ３０１が規則的に配置される。バンプ３０１上には、はんだボール２５０が配置され、シリコンチップ３００と半導体パッケージ１００とを接合する。シリコンチップ３００と半導体パッケージ１００との接合は、例えば、Ｃ４（Controlled. Collapse Chip Connection）フリップ実装技術によって実現する。本実施の形態例におけるシリコンチップ３００は、例えば、ＤＤＲ（Double-Data-Rate：ＤＤＲ）メモリインターフェースを備えるＳＯＣ（System-on-a-chip：ＳＯＣ）である。
【００１４】
図１では、半導体パッケージ１００の一例として、ＢＧＡ（Ball grid Array：ＢＧＡ)半導体パッケージ１００を例示する。ＢＧＡ半導体パッケージ１００は、シリコンチップ３００を搭載する面とは反対の面に、グリッド状に配置されたボール状の接続端子（以下、ＢＧＡボールと称する）１５１の電極を有する。パラレルインターフェースでは、ＢＧＡボール１５１のそれぞれに、シングルエンド信号、差動信号、グランド、Ｉ／Ｏ電源等の端子名を割り当てる。
【００１５】
図１に示す半導体パッケージ１００は、例えば、４層の半導体パッケージ１００の場合を示す。したがって、図１の半導体パッケージ１００は４層の配線層（Ｌ１〜Ｌ４）を有する。配線層Ｌ１は、シリコンチップ３００と接合する信号線配線領域である。配線層Ｌ２は、グランド用の配線層であって、絶縁層を介して配線層Ｌ１と対向する。また、配線層Ｌ３は、電源用の配線層であって、Ｉ／Ｏ電源を半導体パッケージ１００に供給するための導体層である。配線層Ｌ４は、ＢＧＡボール１５１と接続する信号線配線領域である。複数層の配線層は、各配線層の配線パターン１０２を、ビア（ＶＩＡ）１０１を介して接続する。これにより、バンプ３０１とＢＧＡボール１５１とを電気的に接続する、半導体パッケージ１００上の伝送路が形成される。
【００１６】
次に、図１のプリント基板２００の構成を説明する。図１に示すプリント基板２００は、例えば、６層のプリント基板２００の場合を示す。したがって、図１のプリント基板２００は、６層の配線層Ｌ１１〜Ｌ１６を有する。６層の配線層Ｌ１１〜Ｌ１６は、電源用の配線層、及び、グランド用の配線層を内層に含む。配線層Ｌ１１は、ＢＧＡボール１５１と接合する領域である。半導体パッケージ１００と同様にして、複数層の配線層Ｌ１１〜Ｌ１６は、各配線層の配線パターン２０２を、ＶＩＡ２０１を介して接続する。
【００１７】
これにより、ＢＧＡボール１５１から入出力する信号は、プリント基板２００の各層の配線パターン２０２及びビア（ＶＩＡ）２０１を介して、外部の他の集積回路装置（図示せず）に伝送される。本実施の形態例における外部の他の集積回路装置は、例えば、ＤＲＡＭ（Dynamic Random Access Memory ：ＤＲＡＭ）である。
【００１８】
図１において、シリコンチップ３００のシングルエンド信号端子は、バンプ３０１及びはんだボール２５０を介して、半導体パッケージ１００の配線層Ｌ１と接続する。そして、シングルエンド信号は、各配線層を経由して配線層Ｌ４に到達し、シングルエンド信号を割り当てたＢＧＡボール１５１に到る。また、シングルエンド信号は、プリント基板２００の配線層Ｌ１６を経由して、外部の他の集積回路装置（ＤＲＡＭ）に伝送される。
【００１９】
また、シリコンチップ３００の複数のグランド端子は、バンプ３０１及びはんだボール２５０を介して半導体パッケージ１００の配線層Ｌ１と接続する。そして、複数のグランドはグランド用の配線層Ｌ２で束ねられる。束ねられたグランド用の配線パターンは、配線層Ｌ４のグランドを割り当てたＢＧＡボール１５１と接続する。また、グランドは、プリント基板２００の配線層Ｌ１２を経由して、グランドと接地する。
【００２０】
同様にして、シリコンチップ３００の複数のＩ／Ｏ電源端子は、バンプ３０１及びはんだボール２５０を介して半導体パッケージ１００の配線層Ｌ１と接続する。そして、複数のＩ／Ｏ電源は、電源用の配線層Ｌ３で束ねられ、配線層Ｌ４のＩ／Ｏ電源を割り当てたＢＧＡボール１５１に到達する。また、Ｉ／Ｏ電源端子は、プリント基板２００の配線層Ｌ１５を経由して、Ｉ／Ｏ電源と接続する。
【００２１】
次に、図１に示すシリコンチップ３００が備えるＩ／Ｏセルと、図１に示したはんだボール２５０（バンプ３０１）、ＢＧＡボール１５１との間の配線イメージを、図２にしたがって説明する。
【００２２】
図２は、シリコンチップ３００が有するメモリコントローラのＩ／Ｏセルと、バンプ３０１、ＢＧＡボール１５１との間の配線のイメージを模式的に示す図である。図２は、図１で示した集積回路装置の半導体パッケージ１００の最上層である配線層Ｌ１方向からのイメージを示す。また、図２は、半導体パッケージ１００の最下層である配線層Ｌ４が備えるＢＧＡボール１５１（図２では、１５１ｇ、１５１ｐ、１５１ｓ）を透過的に表す。図２において、図１で示したものと同一のものは、同一の記号で示す。
【００２３】
図２のシリコンチップ３００は、伝送源であるメモリコントローラの入出力（Ｉ／Ｏ）セル３１１と、電源Ｉ／Ｏセル３１３と、グランドＩ／Ｏセル３１２を備える。Ｉ／Ｏセル３１１は、シリコンチップ３００の出力信号を増幅し、バッファリングする。Ｉ／Ｏセル３１１で増幅され、バッファリングされた出力信号は、半導体パッケージ１００を経由してプリント基板２００へ伝送される。図２において、Ｉ／Ｏセル３１１は白い矩形によって表わされる。また、電源Ｉ／Ｏセル３１３は、左上がりの点線斜線によって、グランドＩ／Ｏセル３１２は、右上がりの斜線によって表される。
【００２４】
また、図２において、「Ｓ」で示すＢＧＡボール１５１ｓは、シングルエンド信号を割り当てたＢＧＡボール１５１である。「Ｐ」で示す、左上がりの点線斜線で表すＢＧＡボール１５１ｐは、Ｉ／Ｏ電源を割り当てたＢＧＡボール１５１である。「Ｇ」で示す、右上がりの斜線で表すＢＧＡボール１５１ｇは、グランドを割り当てたＢＧＡボール１５１である。
【００２５】
図２に示すように、シリコンチップ３００が備える各セル３１１〜３１３は、はんだボール２５０と、シリコンチップ内のシリコン再配線３１０を介して接続する。シングルエンド信号に対応するはんだボール２５０は、半導体パッケージ１００のＢＧＡボール１５１ｓと１対１に接続する。したがって、図２に示すラッツネット表示（点線）１６０によると、シングルエンド信号の点線は、他の点線と交わることなく、はんだボール２５０とＢＧＡボール「Ｓ」１５１ｓとを対応付ける。
【００２６】
一方、Ｉ／Ｏ電源とグランドについては、はんだボール２５０を同数のＢＧＡボール１５１ｐ、１５１ｇと１：１に対応付けることは物理的なサイズの違いにより現実的ではない。このため、図１で前述したとおり、はんだボール２５０から出力される複数のＩ／Ｏ電源の伝送路は束ねられ、ＢＧＡボール「Ｐ」１５１ｐと接続する。したがって、図２に示すラッツネット表示（点線）１６０によると、Ｉ／Ｏ電源の点線は、複数のはんだボール２５０と１つのＢＧＡボール「Ｐ」１５１ｐとを対応付ける。
【００２７】
また、グランドについても、図１で前述したとおり、はんだボール２５０から出力される複数のグランドの伝送路は束ねられ、ＢＧＡボール「Ｇ」１５１ｇと接続する。したがって、図２に示すラッツネット表示（点線）１６０によると、グランドの点線は、複数のはんだボール２５０と１つのＢＧＡボール「Ｇ」１５１ｇとを対応付ける。
【００２８】
次に、図１、図２に示したはんだボール２５０とＢＧＡボール１５１（１５１ｇ、１５１ｐ、１５１ｓ）との配線パターンのイメージを、図３にしたがって説明する。
【００２９】
図３は、はんだボール２５０とＢＧＡボール１５１との配線パターンを模式的に説明する図である。また、図３の例では、半導体パッケージ１００の配線層Ｌ１の第１の配線パターン１０２ａと、配線層Ｌ４の第４の配線パターン１０２ｂのみを例示する。ただし、実際には、半導体パッケージ１００の他の配線層Ｌ２、Ｌ３についても、第２、第３の配線パターンが形成される。図３において、図１、図２で示したものと同一のものは、同一の記号で示す。
【００３０】
また、図３において、左上がりの斜線で示す第１の配線パターン１０２ａは、半導体パッケージ１００の配線層Ｌ１の第１の配線パターンである。また、右上がりの点線の斜線で示す配線パターン１０２ｂは、半導体パッケージ１００の配線層Ｌ４の第４の配線パターンである。
【００３１】
図２で説明したとおり、シングルエンド信号は、はんだボール２５０とＢＧＡボール「Ｓ」１５１ｓとが１対１で接続する。したがって、図３において、ＢＧＡボール「Ｓ」１５１ｓと接続する第１の配線パターン１０２ａは、他の第１の配線パターン１０２ａと交わらない。また、前述したとおり、Ｉ／Ｏ電源やグランドの配線パターンは、束ねられてＢＧＡボール１５１と接続する。したがって、図３において、ＢＧＡボール「Ｐ」１５１ｐと接続する第４の配線パターン１０２ｂ、及び、ＢＧＡボール「Ｇ」１５１ｇと接続する第１の配線パターン１０２ａは、他の配線パターンと交わっている。
【００３２】
図１〜図３で説明してきたとおり、シリコンチップ３００が入出力する信号は、はんだボール２５０を介して半導体パッケージ１００と接続し、ＢＧＡボール１５１を介してプリント基板２００に伝送される。次に、半導体パッケージ１００における信号の伝送路の説明を、図４にしたがって説明する。半導体パッケージ１００における伝送路は、配線パターン１０２及びＶＩＡ１０１に対応する。
【００３３】
図４は、半導体パッケージ１００の伝送路を模式的に表す図である。図示していないが、図４の左端にはシリコンチップ３００（図１、ＤＤＲメモリインターフェース回路）が位置し、図４の右端には、外部の集積回路装置（ＤＤＲメモリ回路）が位置する。図４において、図１〜図３で示したものと同一のものは、同一の記号で示す。
【００３４】
図２で前述したシリコンチップ３００は、図４で示す信号を入出力するＩ／Ｏセル３１１を有する。ＤＤＲメモリインターフェースのような高速パラレル伝送の場合、Ｉ／Ｏセル３１１が入出力する信号は、１バイトを単位として管理される。１バイトの信号群は、データストローブ信号（ＤＱＳ/ＤＱＳ＃）と呼ばれる差動信号、８ビットのデータ信号ＤＱ、及び、１ビットのデータマスク信号ＤＭによって構成される。以下、データストローブ信号を差動信号と称する。また、８ビットのデータ信号ＤＱ、及び、１ビットのデータマスク信号ＤＭを、シングルエンド信号と称する。
【００３５】
差動信号は、９つのシングルエンド信号に対する基準ストローブ信号である。このため、シングルエンド信号のタイミングは、差動信号に対して外部ＡＣ（Alternating Current：ＡＣ）タイミングで規定されるセットアップタイム、及び、ホールドタイム範囲に含まれる必要がある。したがって、差動信号の伝送路１２１は、シングルエンド信号の伝送路１２２と、等長、等遅延になるように設計されることが望ましい。また、パラレルインターフェース（例えば、ＤＤＲメモリインターフェース）の場合、差動信号の伝送路１２１と、シングルエンド信号の伝送路１２２とが近接して位置する。
【００３６】
図４は、半導体パッケージ１００における、Ｉ／Ｏセル３１１が入出力する、差動＋隣接２ビットの出力信号の伝送路を説明する。図４において、Ｉ／Ｏセル３１１とＢＧＡボール１５１ｐ、１５１ｇを介して接続するプリント基板２００から、電源ＶＤＥ、及び、グランドＧＮＤが与えられる。インダクタンスＰｐ、Ｐｇは、電源ＶＤＥ、グランドＧＮＤにかかるプリント基板２００の伝送路の等価インダクタンスを示す。また、インダクタンスＬｐ、Ｌｇは、電源ＶＤＥ、グランドＧＮＤにかかる半導体パッケージ１００の伝送路の等価インダクタンスを示す。等価インダクタンスについては、後述する。
【００３７】
図４の例では、差動信号は、半導体パッケージ１００の配線層Ｌ４の配線パターン１２１を経由し、半導体パッケージ１００の内側寄りに位置するＢＧＡボール１５１ｘを介して、プリント基板２００と接続する。そして、差動信号は、プリント基板２００のＶＩＡ２０１を介して、配線層Ｌ１６（図１参照）の配線パターン２１０と接続する。伝送路長ｔｒ１は、半導体パッケージ１００内の差動信号の伝送路の長さを示す。つまり、伝送路長ｔｒ１は、はんだボール２５０（図１参照）から差動信号を割り当てたＢＧＡボール１５１ｘまでの配線パターン１２１及びＶＩＡ１０１（図１参照）の長さに該当する。
【００３８】
差動信号の配線パターン１２１は、ノイズ対策のためにシールドされる。グランド及びＩ／Ｏ電源は、電圧レベルが信号に比べれば安定である。このため、差動信号の配線パターン１２１に隣接して、右上がりの斜線で示す、グランド、あるいはＩ／Ｏ電源の配線パターン１２９が形成される。（なお、本明細書の文章および図面には、Ｉ／Ｏおよびコアトランジスタに供給するコア電源（ＶＤＤ）についての記載は省略している。）
また、図４の例では、Ｉ／Ｏセル３１１が出力するシングルエンド信号は、半導体パッケージ１００の配線パターン１２２を経由し、エッジ１１０寄りに位置するＢＧＡボール１５１ｓと接続する。そして、シングルエンド信号は、ＢＧＡボール１５１ｓを介して、プリント基板２００の配線層の配線パターン２１３と接続する。半導体パッケージ１００内のシングルエンド信号の伝送路全体の長さは、伝送路長ｔｒ１と伝送路長ｔｒ２との合算値である。つまり、シングルエンド信号の伝送路長は、はんだボール２５０（図示せず）からシングルエンド信号を割り当てたＢＧＡボール１５１ｓまでの配線パターン１２２及びＶＩＡ１０１の長さに該当する。
【００３９】
図４に示すように、差動＋隣接２ビットを構成する差動信号の伝送路１２１、及び、シングルエンド信号の伝送路１２２は併走する。伝送路１２１、１２２が併走することにより、伝送路の間でクロストークが発生する。クロストークは、伝送路１２１、１２２の併走距離が長いほど大きくなる。本実施の形態例は、ＢＧＡボール１５１への信号の割り当て、即ち、端子配置によって、適切な併走距離を設定する。
【００４０】
次に、図５にしたがって、本実施の形態例のＢＧＡボール１５１への信号の割り当て（端子配置）に応じた、クロストーク及び同時スイッチングノイズの抑圧動作を説明する。
【００４１】
［ＢＧＡボールへの信号の割り当て］
図５は、半導体パッケージ１００（図１〜図４）のＢＧＡボール１５１への信号の割り当て例を示す図である。図５は、半導体パッケージ１００を上面から透視した場合における、ＢＧＡボール１５１の配置を示す模式図である。図５において、図１〜図４で示したものと同一のものは、同一の記号で示す。
【００４２】
図５の例において、「Ｘ」で示すＢＧＡボール１５１は、差動信号を割り当てたＢＧＡボール１５１（以下、差動信号ボール「Ｘ」と称する）を示す。また、「Ｓ」で示すＢＧＡボール１５１は、シングルエンド信号を割り当てたＢＧＡボール１５１（以下、シングルエンド信号ボール「Ｓ」と称する）を示す。また、「Ｐ」で示すＢＧＡボール１５１は、Ｉ／Ｏ電源を割り当てたＢＧＡボール１５１（以下、Ｉ／Ｏ電源ボール「Ｐ」と称する）を示す。
【００４３】
「ＶＳＳ」で示すＢＧＡボール１５１は、シングルエンド信号ボール「Ｓ」と差動信号ボール「Ｘ」との間に配置し、グランドを割り当てたＢＧＡボール１５１（以下、グランドボール「ＶＳＳ」と称する）を示す。また、「Ｇ」で示すＢＧＡボール１５１は、シングルエンド信号ボール「Ｓ」と差動信号ボール「Ｘ」との間に配置していない、グランドを割り当てたＢＧＡボール１５１（以下、グランドボール「Ｇ」と称する）を示す。ここで、「ＶＳＳ」と「Ｇ」のボールは説明の上で違う端子名にしてあるが同一のネットとなる。
【００４４】
本実施の形態例では、配線効率を考慮し、バイト単位にＢＧＡボールの領域を割り当てる。図５の例では、１バイトの信号群に対して、半導体パッケージ１００の水平方向の１行、１２個のＢＧＡボールを、２行分割り当てる。即ち、図５に示す半導体パッケージ１００の配列の上から１行目と２行目のＢＧＡボール１５１は、１バイトの信号群に対応する。同様にして、配列の上から３行目と４行目のＢＧＡボール１５１は、別の１バイトの信号群に対応する。他の行のＢＧＡボール１５１についても同様である。
【００４５】
図５に示すように、１バイト分のＢＧＡボール群は、９つのシングルエンド信号ボール「Ｓ」、２つの差動信号ボール「Ｘ」を有する。また、差動信号ボール「Ｘ」と、シングルエンド信号ボール「Ｓ」の間には、グランドボール「Ｇ」を有する。また、点線で囲む矩形領域Ｅ１に示すように、差動信号ボール「Ｘ」の内側寄りのＢＧＡボール１５１には、Ｉ／Ｏ電源ボール「Ｐ」とグランドボール「Ｇ」とが、千鳥状の配置関係になるように、ネット名が割り当てられる。これにより、電源の低インピーダンス化が実現される。
【００４６】
ここで、列Ｌａ〜Ｌｄに応じた、ＢＧＡボール１５１のプリント基板２００への配線パターンの引き回しを説明する。ＢＧＡボール１５１の間隔は、ＪＥＤＥＣ（Joint Electron Device Engineering Council：ＪＥＤＥＣ）準拠となる。したがって、安定に量産できるプリント基板のデザインルールに従う場合、配線パターンを１本通すことが限界となる。
【００４７】
例えば、半導体パッケージ１００のエッジ１１０から１列目及び２列目ＬａのＢＧＡボール１５１の配線パターンが、プリント基板２００の配線層Ｌ１１（図１）に形成される場合を想定する。これにより、半導体パッケージ１００のエッジ１１０から３列目及び４列目ＬｂのＢＧＡボール１５１の配線パターンは、配線層Ｌ１１に形成されず、例えば、プリント基板２００の配線層Ｌ１３（図１）に形成される。
【００４８】
また、５列目及び６列目ＬｃのＢＧＡボール１５１の配線パターンは、例えば、プリント基板２００の配線層Ｌ１４（図１）に形成される。そして、７列目及び８列目ＬｄのＢＧＡボール１５１の配線パターンは、例えば、プリント基板２００の配線層Ｌ１６（図１）に形成される。このように、ＢＧＡボール１５１は、配置に応じて、プリント基板２００の配線層Ｌ１１〜Ｌ１６に配線パターンが引き回される。
【００４９】
一般的には、図５に示すような半導体パッケージ１００のエッジ１１０寄りに位置するＢＧＡボール１５１と接続する、プリント基板２００の配線パターンの引き回しは容易である。そこで、配線パターンの引き回しを容易にするために、例えば、エッジ１１０寄りのＢＧＡボール１５１に差動信号が割り当てられる。即ち、半導体パッケージ１００のエッジ１１０に沿って、縦方向、あるいは、横方向に並んだＢＧＡボール１５１（Ｌa）に、差動信号が割り当てられる。
【００５０】
しかし、エッジ１１０寄りのＢＧＡボール１５１に差動信号を割り当てる場合、半導体パッケージ１００の差動信号の伝送路長ｔｒ１（図４）は長くなる。つまり、図４で説明した、差動信号の伝送路１２１とシングルエンド信号の伝送路１２２との併走距離（図４のｔｒ１）は長くなる。これにより、クロストークが大きくなり、信号の遅延が大きくなる。
【００５１】
これに対し、差動信号の伝送路１２１とシングルエンド信号の伝送路１２２の併走距離（ｔｒ１）を短くすると、クロストークを抑えることができる。即ち、半導体パッケージ１００の内側寄りに位置するＢＧＡボール１５１（例えば、Ｌｄ）に、差動信号が割り当てられる。上述の場合、プリント基板２００の配線パターンの引き回しは困難になるものの、クロストークは抑えられる。
【００５２】
しかし、内側寄りのＢＧＡボール１５１に差動信号を割り当てる場合、図５の領域Ｅ１に配置できる、ＢＧＡボール「Ｇ」とＢＧＡボール「Ｐ」数は少なくなる。このため、グランド及びＩ／Ｏ電源のインダクタンスが増加する。インダクタンスの増加に伴い、シングルエンド信号の同時スイッチングノイズが大きくなる。同時スイッチングノイズにしたがって、信号の遅延が発生する。
【００５３】
したがって、差動信号を割り当てるＢＧＡボール１５１の位置（列深さ）に応じて、発生するクロストーク、及び、同時スイッチングノイズの影響度は異なる。つまり、差動信号をエッジ１１０寄りのＢＧＡボール１５１に割り当てることにより、配置可能なＢＧＡボール「Ｇ」とＢＧＡボール「Ｐ」の数が増加する。これにより、インダクタンスは小さくなり、同時スイッチングノイズは小さくなる。しかしながら、この場合、併走距離（ｔｒ１）が長くなることにより、クロストークによる遅延が大きくなる。
【００５４】
これに対し、差動信号を内側寄りのＢＧＡボール１５１に割り当てることにより、配置可能なＢＧＡボール「Ｇ」とＢＧＡボール「Ｐ」の数が減少する。これにより、インダクタンスが大きくなるため、同時スイッチングノイズが増加する。しかしながら、この場合、併走距離（ｔｒ１）が短くなることにより、クロストークは小さくなる。
【００５５】
このように、併走距離（ｔｒ１）を短くしてクロストークを抑えることと、配置可能なＢＧＡボール「Ｇ」とＢＧＡボール「Ｐ」の数を増加させて同時スイッチングノイズを抑えることとは、トレードオフの関係にある。
【００５６】
本実施の形態例における接続端子の端子配置方法、即ち、ＢＧＡボールへのネット名の割り当て方法は、ＢＧＡボール（接続端子）１５１への端子名の割り当てにより、クロストーク及び同時スイッチノイズの最適化を実現する。つまり、ＢＧＡボールへの端子名の割り当て方法は、クロストーク及び同時スイッチングノイズによる遅延変動量が最小化されるように、端子名をＢＧＡボール１５１に割り当てる。これにより、クロストーク及びスイッチングノイズによる信号の遅延変動が小さくなる。
【００５７】
ここで、遅延変動量とは、クロストーク及び同時スイッチングノイズが発生していない理想状態における信号の遅延量に対する差分の量を意味する。
【００５８】
図６は、半導体パッケージ１００における、バイトごとの信号群の伝送路の一例を説明する図である。図６において、図１〜図５で示したものと同一のものは、同一の記号で示す。図６に示す点線で囲む矩形１２０ｘ、１２０ｙは、１バイトの信号群が割り当てられるＢＧＡボール１５１の集合を示す。シリコンチップ３００がＤＤＲメモリインターフェースである場合、制御する対象のバイト数分の信号群の伝送路が形成される。
【００５９】
図６に示すように、シリコンチップ３００のはんだボール（図１参照）２５０からＢＧＡボール１５１の集合までの伝送路１２３、１２４の長さは、対応するＢＧＡボール１５１の集合の位置に応じて異なることが多い。伝送路１２３、１２４の長さが異なる場合、差動信号の配線パターン１２１の長さ（伝送路長ｔｒ１、図４）が異なる。これにより、伝送路１２３と伝送路１２４とでは、発生するクロストークの大きさ、及び、同時スイッチングノイズの大きさが異なるために遅延変動量が異なる。
【００６０】
したがって、本実施の形態例におけるＢＧＡボールへの端子名の割り当て方法は、バイトごとに、クロストーク及び同時スイッチノイズが最小化されるように、ＢＧＡボールへの信号の割り当てを行う。これにより、ＢＧＡボールへの端子名の割り当て方法は、バイトごとに最適な、ＢＧＡボール１５１への端子名の割り当てを行う。
【００６１】
本実施の形態例において、ＢＧＡボール１５１への端子名の割り当ては、差動信号を割り当てるＢＧＡボール１５１の位置に基づいて決定する。また、ＢＧＡボール１５１への信号の割り当ては、差動信号を割り当てるＢＧＡボール１５１の位置を、差動信号ボール「Ｘ」１５１と、シングルエンド信号ボール「Ｓ」１５１との間の距離にしたがって定義する。以下、差動信号ボール「Ｘ」１５１とシングルエンド信号ボール「Ｓ」１５１との間の距離を、差動−シングルエンド間距離（ｌｅｎ）と称する。ここで、図７にしたがって、差動−シングルエンド間距離を説明する。
【００６２】
図７は、差動−シングルエンド間距離（ｌｅｎ）が値「６」である場合のＢＧＡボール１５１への信号群の割り当て例を説明する図である。図７において、図１〜図６で示したものと同一のものは、同一の記号で示す。図７では、図５で示したＢＧＡボール「ＶＳＳ」についても、グランドボール「Ｇ」１５１ｇとして表す。
【００６３】
図７の例では、差動信号ボール「Ｘ」１５１ｘとシングルエンド信号ボール「Ｓ」１５１ｓとの間のグランドボール「Ｇ」１５１ｇの数は、６つである。したがって、図７の例における差動−シングルエンド間距離（ｌｅｎ）は、値「６」である。
【００６４】
差動−シングルエンド間距離は、差動信号を、半導体パッケージ１００のエッジ１１０寄りのＢＧＡボール１５１に割り当てるほど小さくなる。また、差動−シングルエンド間距離は、差動信号を、半導体パッケージ１００の内側寄りのＢＧＡボール１５１に割り当てるほど大きくなる。
【００６５】
図８は、差動−シングルエンド間距離（ｌｅｎ）が別の値である場合の信号群の４つの割り当て例を説明する図である。図８において、図７で示したものと同一のものは、同一の記号で示す。
【００６６】
なお、図８では、プリント基板２００は、図１で示した６層の配線層を有するプリント基板２００を例示して説明する。なお、図８の例では、半導体パッケージ１００のエッジ１１０から内側方向に、シングルエンド信号ＢＧＡボール「Ｓ」１５１ｓを、７列配置している。したがって、図８の例では、６層以上の配線層を有するプリント基板２００を想定している。
【００６７】
初めに、図８の１−２行目（最上段）ｇｒ１に示す、１バイト分のＢＧＡボール１５１群を説明する。１−２行目ｇｒ１は、差動−シングルエンド間距離（ｌｅｎ）が、値「０」である場合を示す。この場合、差動信号ボール「Ｘ」１５１ｘとシングルエンド信号ボール「Ｇ」１５１ｇとが隣接する。差動信号ボール「Ｘ」１５１ｘは、半導体パッケージ１００のエッジ側から３−４列目に位置する。差動信号ボール「Ｘ」１５１ｘより内側のＢＧＡボール１５１には、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇが千鳥状の配置関係になるように、端子名が割り当てられる。
【００６８】
なお、図８の例では、差動−シングルエンド間距離（ｌｅｎ）が値「０」の場合、エッジ側から１−２列目シングルエンド信号ボール「Ｓ」１５１ｓの配線パターンは、例えば、プリント基板２００の配線層Ｌ１１（図１参照）で引き回される。また、図８の例では、３−４列目差動信号ボール「Ｘ」１５１ｘの配線パターンは、ＶＩＡ２０１（図１参照）を介してプリント基板２００の裏面の配線層Ｌ１６（図１参照）で引き回される。これにより、差動インピーダンスを規定の値でデザインすることが可能となる。また、図８の例では、５−６列目シングルエンド信号ボール「Ｓ」１５１ｓの配線パターンは、プリント基板２００の配線層Ｌ１１から配線層Ｌ１３（図１参照）にＶＩＡ２０１を介して引き出される。
【００６９】
次に、３−４行目ｇｒ２のＢＧＡボール１５１群を説明する。３−４行目ｇｒ２は、差動−シングルエンド間距離（ｌｅｎ）が値「２」の場合を示す。この場合、差動信号ボール「Ｘ」１５１ｘは、半導体パッケージ１００のエッジ側から５−６列目に位置する。差動−シングルエンド間距離（ｌｅｎ）が値「０」である場合と同様にして、５−６列目の差動信号ボール「Ｘ」１５１ｘの配線パターンは、ＶＩＡ２０１を介して、プリント基板２００の配線層Ｌ１６で引き出される。
【００７０】
また、図８の例では、差動信号ボール「Ｘ」１５１ｘと、シングルエンド信号ボール「Ｓ」１５１ｓとの間に位置するＢＧＡボール１５１に、グランドを割り当てる。これにより、差動信号ボール「Ｘ」１５１ｘの配線パターンの引き出しを阻害するＶＩＡ１０１の形成を抑制する。また、差動信号ボール「Ｘ」１５１ｘの内側寄りの領域では、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇが千鳥状の配置関係となっている。
【００７１】
次に、５−６行目ｇｒ３のＢＧＡボール１５１群を説明する。５−６行目ｇｒ３では、差動−シングルエンド間距離（ｌｅｎ）が値「６」である場合を示す。この場合、差動信号ボール「Ｘ」１５１ｘは、半導体パッケージ１００のエッジ側から９−１０列目に位置し、差動信号ボール「Ｘ」１５１ｘの配置位置は、シングルエンド信号ボール「Ｓ」１５１ｓの配置領域外に該当する。これにより、差動信号ボール「Ｘ」１５１ｘが、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇの千鳥配置領域を侵食している。
【００７２】
次に、７−８行目ｇｒ４の信号群を説明する。７−８行目ｇｒ４では、差動−シングルエンド間距離（ｌｅｎ）が値「１２」である場合を示す。この場合、差動信号ボール「Ｘ」１５１ｘは、半導体パッケージ１００のエッジ側から１５−１６列目に位置し、差動信号ボール「Ｘ」１５１ｘの配置位置は、シングルエンド信号ボール「Ｓ」１５１ｓの配置領域外に該当する。また、差動信号ボール「Ｘ」１５１ｘがＩ／Ｏ電源ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇの千鳥配置領域を侵食することにより、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇの対配置は１列分しか確保できない。
【００７３】
本実施の形態例では、図７、図８で説明した差動−シングルエンド間距離（ｌｅｎ）を可変させて、同時スイッチングノイズ、及び、クロストークによる遅延変動量を計算することで、最適な端子配置を得る。次に、本実施の形態例における設計装置のハードウェア構成（図９）、及び、ソフトウェアモジュール構成（図１０）を説明する。
【００７４】
［設計装置のハードウェア構成］
図９は、本実施の形態例における設計装置１０のハードウェア構成を説明する図である。設計装置１０は、ＣＰＵ（Central Processing Unit：ＣＰＵ）１１、メモリ１２、通信インタフェース部１３、表示部１４、入力部１５を有する。各部は、バス１６を介して相互に接続する。
【００７５】
また、メモリ１２は、ＲＡＭ（Random Access Memory：ＲＡＭ）２１、不揮発性メモリ２２を有する。不揮発性メモリ２２は、ＨＤＤ（Hard disk drive：ＨＤＤ）、不揮発性半導体メモリ等で構成される。表示部１４は、例えば、ディスプレイ等の表示画面を示し、入力部１５は、例えば、キーボードやマウス等を示す。
【００７６】
ＣＰＵ１１は、バス１６を介してメモリ１２等と接続すると共に、設計装置１０全体の制御を行う。通信インタフェース部１３は、ネットワーク３０を介して、外部の通信機器と接続する。ＲＡＭ２１は、ＣＰＵ１１が処理を行うデータ等を記憶する。不揮発性メモリ２２は、ＣＰＵ１１が実行するＯＳ（Operating System：ＯＳ）のプログラムを格納する領域（図示せず）や、ボール割り当てプログラム格納領域２３を備える。また、不揮発性メモリ２２は、信号・電源ボール割り当て草案情報格納領域２４、電磁界解析情報格納領域２５を備える。
【００７７】
ボール割り当てプログラム格納領域２３に記憶されたボール割り当てプログラム（以下、ボール割り当てプログラム２３と称する）は、ＣＰＵ１１の実行によって、本実施の形態例におけるＢＧＡボールへの信号の割り当て処理を実現する。
【００７８】
また、ボール割り当てプログラム２３は、信号・電源ボール割り当て草案情報格納領域２４に記憶された信号・電源ボール割り当て草案情報（以下、信号・電源ボール割り当て草案情報２４と称する）を参照する。信号・電源ボール割り当て草案情報２４の詳細については、図１１で後述する。また、ボール割り当てプログラム２３は、電磁界解析情報格納領域２５に記憶された電磁界解析情報（以下、電磁界解析情報２５と称する）を参照する。電磁界解析情報２５の詳細については、図１７、図１８にしたがって後述する。
【００７９】
［設計装置のソフトウェア構成］
図１０は、本実施の形態例における設計装置１０のソフトウェアモジュール構成を説明する図である。図９で説明したボール割り当てプログラム２３は、領域確定モジュール２３１、ボール割り当て構成モジュール２３２、差動-シングル間距離依存性解析モジュール２３３を有する。ボール割り当てプログラム２３は、信号・電源ボール割り当ての草案情報２４を入力として、信号・電源ボール割り当て結果情報２６を出力する。
【００８０】
領域確定モジュール２３１は、図１２で後述するように、図１１に示す、信号・電源ボール割り当て草案情報２４を入力として、信号・電源ボール割り当て草案情報２４の初期化処理を行う。これにより、領域確定モジュール２３１は、図１３、図１４に示す、信号・電源ボール割り当て初期化情報２４−１を出力する。
【００８１】
差動-シングル間距離依存性解析モジュール２３３は、図１４に示す、信号・電源ボール割り当て初期化情報２４−１を入力とする。差動-シングル間距離依存性解析モジュール２３３は、図１５〜図１８で後述する電磁界解析情報２５を参照し、差動−シングルエンド間距離を可変させた場合の信号の遅延変動量を取得する。差動-シングル間距離依存性解析モジュール２３３は、遅延変動量が最小となる差動−シングルエンド間距離を取得する。
【００８２】
ボール割り当て構成モジュール２３２は、図２９で後述するように、すべてのバイトを対象として、差動-シングル間距離依存性解析モジュール２３３の処理を行う。これにより、ボール割り当て構成モジュール２３２は、信号・電源ボール割り当て結果情報２６を出力する。
【００８３】
次に、ボール割り当てプログラム２３の入力となる、信号・電源ボール割り当て草案情報２４を説明する。
【００８４】
［信号・電源ボール割り当ての草案情報］
図１１は、図１０の信号・電源ボール割り当て草案情報２４の一例を示す図である。図１１では、信号・電源ボール割り当て草案情報２４として、ＪＥＤＥＣのボール配列コード命名規約にしたがって記述された、ＪＥＤＥＣ-ネット名記述２４を示す。また、図１１は、ＪＥＤＥＣ-ネット名記述２４に対応するＢＧＡボール１５１の割り当てイメージ２４ＩＭを表す。
【００８５】
ＪＥＤＥＣ-ネット名記述２４は、ＢＧＡボール１５１のコード識別情報と、ネット名との対応関係を示す。ＢＧＡボール１５１のコード識別情報は、ＢＧＡボール１５１の位置を示している。また、ＪＥＤＥＣ-ネット名記述２４の例において、ネット名「Ｖ」は、Ｉ／Ｏ電源、または、グランドのいずれかを示す。また、ネット名「Ｎ」は、差動信号、または、シングルエンド信号のいずれかを示す。
【００８６】
具体的に、ＪＥＤＥＣ-ネット名記述２４によると、ＢＧＡボール識別情報「ＡＥ２５」「ＡＦ２５」「ＡＧ２５」に、ネット名「Ｖ」が対応する。これは、ボール位置「ＡＥ２５」「ＡＦ２５」「ＡＧ２５」のＢＧＡボール１５１に、Ｉ／Ｏ電源、または、グランドが割り当てられることを示す。また、ＪＥＤＥＣ-ネット名記述２４によると、ＢＧＡボール識別情報「ＡＨ２５」に、ネット名「Ｎ」が対応する。これは、ボール位置「ＡＨ２５」のＢＧＡボール１５１に、差動信号、または、シングルエンド信号が割り当てられることを示す。
【００８７】
図１１のＢＧＡボール１５１の割り当てイメージ２４ＩＭは、ＪＥＤＥＣ-ネット名記述２４に基づくイメージである。割り当てイメージ２４ＩＭの右端は、半導体パッケージ１００のエッジ１１０である。割り当てイメージ２４ＩＭにおける点線で囲む領域Ｅ２は、ボール割り当て最適化の対象となるＢＧＡボール１５１の配置領域を示す。
【００８８】
具体的に、ＢＧＡボール識別情報「ＡＥ２５」は、割り当てイメージ２４ＩＭにおける、ＡＥ列の２５行目のＢＧＡボール１５１を示す。割り当てイメージ２４ＩＭによると、ボール位置「ＡＥ２５」のＢＧＡボール１５１には、ＪＥＤＥＣ-ネット名記述２４で指定されるとおり、ネット名「Ｖ」が割り当てられている。同様にして、イメージ２４ＩＭによると、ボール位置「ＡＦ２５」「ＡＧ２５」のＢＧＡボール１５１についても、ネット名「Ｖ」が割り当てられている。また、ボール位置「ＡＨ２５」のＢＧＡボール１５１には、ＪＥＤＥＣ-ネット名記述２４で指定されるとおり、ネット名「Ｎ」が割り当てられている。
【００８９】
次に、図１０で説明した各モジュール２３１〜２３３の処理の詳細を、順に説明する。初めに、領域確定モジュール２３１を処理を図１２〜図１４にしたがって説明する。
【００９０】
［領域確定モジュール］
図１２は、図１０に示した領域確定モジュール２３１の処理を説明するフローチャート図である。
【００９１】
Ｓ１０１：領域確定モジュール２３１は、図１１に示した信号・電源ボール割り当て草案情報２４を入力として、１バイト分の信号群のＢＧＡボール１５１への割り当て情報の初期化処理を行う。具体的に、領域確定モジュール２３１は、１バイト分の信号群を構成する、シングルエンド信号、差動信号、Ｉ／Ｏ電源、グランドのＢＧＡボール１５１への割り当ての初期化処理を行う。処理の詳細は、図１３にしたがって後述する。
【００９２】
Ｓ１０２：領域確定モジュール２３１は、工程Ｓ１０１で行った１バイト分の信号群のＢＧＡボール１５１への割り当ての初期化処理を、すべてのバイトを対象として行う。これにより、領域確定モジュール２３１は、信号・電源ボール割り当て初期化情報２４−１を出力する。
【００９３】
図１３は、図１１の信号・電源ボール割り当て草案情報２４を処理した、１バイト分の信号群の信号・電源ボール割り当て初期化情報２４−１を示す図である。図１３では、信号・電源ボール割り当て初期化情報２４−１として、ＪＥＤＥＣ-ネット名記述２４−１を示す。また、図１３は、ＪＥＤＥＣ-ネット名記述２４−１に対応するＢＧＡボール１５１の割り当てイメージ２４−１ＩＭを示す。図１３において、図１１で示したものと同一のものは、同一の記号で示す。
【００９４】
図１３のＪＥＤＥＣ-ネット名記述２４−１は、１バイト分の信号群の情報を示し、ＢＧＡボール１５１の割り当てイメージ２４−１ＩＭの行「２４−２５」に対応する。また、ＪＥＤＥＣ-ネット名記述２４−１における、ネット名「Ｐ」はＩ／Ｏ電源を、ネット名「Ｇ」はグランドを表す。また、ネット名「Ｓ」はシングルエンド端子を、ネット名「Ｘ」は差動端子を表す。
【００９５】
図１３の例では、領域確定モジュール２３１は、差動−シングルエンド間距離（ｌｅｎ）（図７、図８）の初期値「２」に基づいて、シングルエンド端子、差動端子、Ｉ／Ｏ電源、及び、グランドを、ＢＧＡボール１５１にネット名を割り当てる。したがって、シングルエンド端子のボール「Ｓ」１５１ｓと差動端子のボール「Ｘ」１５１ｘとの間に、グランドボール「Ｇ」１５１ｇが２つ配置されるように、差動端子「Ｘ」が割り当てられる。ＪＥＤＥＣ-ネット名記述２４−１によると、ＢＧＡボール識別情報「ＡＪ２４」「ＡＫ２４」に差動信号「Ｘ」が対応する。
【００９６】
また、差動端子が割り当てられるＢＧＡボール識別情報「ＡＪ２４」「ＡＫ２４」と、シングルエンド端子が割り当てられるＢＧＡボール識別情報「ＡＮ２４」「ＡＰ２４」との間のＢＧＡボール１５１には、グランドが割り当てられる。したがって、ボール位置「ＡＬ２４」「ＡＭ２４」のＢＧＡボール１５１に端子「Ｇ」が対応する。
【００９７】
また、差動端子が割り当てられるボール位置「ＡＪ２４」「ＡＫ２４」のＢＧＡボール１５１の内側寄りのＢＧＡボール１５１には、グランドボール「Ｇ」１５１ｇと、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐとが千鳥状の位置関係になるように割り当て処理が行われる。したがって、ボール位置「ＡＥ２４」「ＡＦ２５」「ＡＧ２４」のＢＧＡボール１５１にネット名「Ｐ」が対応し、ボール位置「ＡＥ２５」「ＡＦ２４」「ＡＧ２５」「ＡＨ２４」のＢＧＡボール１５１にネット名「Ｇ」が対応する。
【００９８】
他の信号群（行「１８−１９」、行「２０−２１」、行「２２−２３」）についても同様に、差動−シングルエンド間距離（ｌｅｎ）の初期値「２」に基づいて、ＢＧＡボール１５１への信号の割り当てが行われる。
【００９９】
図１４は、領域確定モジュール２３１が出力する、信号・電源ボール割り当て初期化情報２４−１の一例を示す図である。図１４に示すＪＥＤＥＣ-ネット名記述２４−１は、４バイト分の情報を有する。図１４に示すＪＥＤＥＣ-ネット名記述２４−１の左端の情報は、図１３に示したＪＥＤＥＣ-ネット名記述２４−１と同一の情報である。
【０１００】
図１４に示すＪＥＤＥＣ-ネット名記述２４−１の他の情報は、図１３に示したＢＧＡボール１５１の割り当てイメージ２４−１ＩＭの行「１８−１９」、「２０−２１」、「２２−２３」に対応する。図１４に示すように、領域確定モジュール２３１は、対象とするバイト数分のＪＥＤＥＣ-ネット名記述２４−１を、信号・電源ボール割り当て初期化情報２４−１として出力する。
【０１０１】
次に、図１０で示した、電磁界解析情報２５を、図１５〜図１８にしたがって説明する。
【０１０２】
［電磁界解析情報］
電磁界解析情報２５は、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数に対応した、Ｉ／Ｏ電源のインダクタンス、抵抗（図１７で後述する）を有する。また、電磁界解析情報２５は、グランドボール「Ｇ」１５１ｇの数に対応した、グランドのインダクタンス、抵抗（図１８で後述する）を有する。まず、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数、及び、グランドボール「Ｇ」１５１ｇの数に応じてインダクタンスが変化することを、図１５にしたがって説明する。
【０１０３】
図１５は、図４等で示した半導体パッケージ１００の伝送路の等価回路を説明する図である。図１５は、Ｉ／Ｏ電源、グランド、シングルエンド信号の伝送路の等価回路を有する。図１５では、はんだボール２５０からＢＧＡボール１５１までのインダクタンス（図４のＬｐ、Ｌｇ）を２つに分けて説明する。
【０１０４】
まず、Ｉ／Ｏ電源のインダクタンスＬｐを説明する。図１で説明したように、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐから入力された複数のＩ／Ｏ電源は、ＶＩＡ１０１のインダクタンスｈ１、及び、配線パターンのインダクタンスｈ２を介して、電源用の配線層（電源プレーン）Ｌ３に到達する。Ｉ／Ｏ電源は、配線層Ｌ３のインダクタンスｈ３を介して、ＶＩＡ１０１のインダクタンスｈ４、及び、配線パターンのインダクタンスｈ５を経てはんだボール２５０に到達する。
【０１０５】
図１５に示す矢印Ｌｐ１は、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐと電源用の配線層Ｌ３との間のインダクタンスを示し、インダクタンスｈ１〜ｈ３に対応する。配線層Ｌ３とＩ／Ｏ電源ボール「Ｐ」１５１ｐと間のインダクタンスＬｐ１は、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数に応じて変動する。
【０１０６】
また、矢印Ｌｐ２は、はんだボール２５０と電源用の配線層Ｌ３との間のインダクタンスを示し、インダクタンスｈ４、ｈ５に対応する。はんだボール２５０と配線層Ｌ３との間のインダクタンスＬｐ２は、はんだボール２５０と配線層Ｌ３との距離に応じて変動する。
【０１０７】
次に、グランドのインダクタンスＬｇを説明する。図１で説明したように、複数のグランドは、配線パターンのインダクタンスｈ１５、及び、ＶＩＡ１０１のインダクタンスｈ１４を介して、グランド用の配線層（グランドプレーン）Ｌ２に到達する。グランドは、配線層Ｌ２のインダクタンスｈ１３を介して、配線パターンのインダクタンスｈ１２、及び、ＶＩＡ１０１のインダクタンスｈ１１を介して、グランドボール「Ｇ」１５１ｇに到達する。
【０１０８】
図１５に示す矢印Ｌｇ１は、グランドボール「Ｇ」１５１ｇとグランド用の配線層Ｌ２との間のインダクタンスを示し、インダクタンスｈ１１〜ｈ１３に対応する。配線層Ｌ２とグランドボール「Ｇ」１５１ｇとの間のインダクタンスＬｇ１は、グランドボール「Ｇ」１５１ｇの数に応じて変動する。
【０１０９】
また、矢印Ｌｐ２は、はんだボール２５０とグランド用の配線層Ｌ２との間のインダクタンスＬｇ２は、インダクタンスｈ１４、ｈ１５に対応する。はんだボール２５０と配線層Ｌ２との間のインダクタンスＬｇ２は、はんだボール２５０と配線層Ｌ２との距離に応じて異なる。
【０１１０】
また、図１５において、Ｉ／Ｏセル３１１が出力するシングルエンド信号は、シングルエンド信号ボール「Ｓ」１５１ｓと１対１で接続する。したがって、Ｉ／Ｏセル３１１が出力するシングルエンド信号は、複数の配線層の配線パターンのインダクタンス、及び、ＶＩＡ１０１に対応するインダクタンスを介して、シングルエンド信号ボール「Ｓ」１５１ｓに到達する（４０３）。
【０１１１】
図１６は、図７における、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数、及び、グランドボール「Ｇ」１５１ｇの数を説明する図である。図１６において、図７で示したものと同一のものは、同一の記号で示す。
【０１１２】
図５で前述したとおり、差動信号ボール「Ｘ」１５１ｘの内側寄りの領域Ｅ３は、電源Ｉ／Ｏ信号ボール「Ｐ」１５１ｐとグランドボール「Ｇ」１５１ｇとが千鳥状の配置関係になるように、信号が割り当てられる。図１６に示す奥行き「ｈｐ」は、領域Ｅ３の奥行きを示し、幅「ｗｐ」は、領域Ｅ３の幅を示す。シリコンチップ３００の中心から放射状に信号群が入出力することを想定した場合、奥行き「ｈｐ」は、電流パスの進行方向である。また、幅「ｗｐ」は、電流パスと直交する方向である。
【０１１３】
Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐは、領域Ｅ３内のＩ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐを示す。図１６の例では、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐは、６つである。同様にして、グランドボール「Ｇ」１５１ｇの数Ｎｇは、領域Ｅ３内のグランドボール「Ｇ」１５１ｇの数Ｎｇを示す。図１６の例では、グランドボール「Ｐ」１５１ｐの数Ｎｇは、６つである。
【０１１４】
次に、図１７、図１８にしたがって、電磁界解析情報２５の一例を説明する。図１７、図１８に示す電磁界解析情報２５は、ボールの数（Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐ、グランドボール「Ｇ」１５１ｇの数Ｎｇ）と、電気特性との対応関係を有する。電気特性は、例えば、インダクタンス、抵抗、容量を有する。図１７、図１８は、電気特性として、インダクタンスと抵抗を示す。
【０１１５】
図１７は、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐに対応する、インダクタンスＬｐ及び抵抗Ｒｐを説明する図である。電磁界ソルバーは、半導体パッケージ１００の面積、材質、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐ等の入力情報に基づいて、インダクタンスＬｐ及び抵抗Ｒｐ等を解析する。Ｉ／Ｏ電源のインダクタンスＬｐは、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐと反比例の関係にある。したがって、インダクタンスＬｐは、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐが増加するにしたがって小さくなる。抵抗Ｒｐについても、同様にして、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐが増加するにしたがって小さくなっている。
【０１１６】
図１８は、グランドボール「Ｇ」１５１ｇの数Ｎｇに対応する、インダクタンスＬｇ及び抵抗Ｒｇを説明する図である。電磁界ソルバーは、半導体パッケージ１００の面積、材質、グランドボール「Ｇ」１５１ｇの数Ｎｇ等の入力情報に基づいて、インダクタンスＬｇ及び抵抗Ｒｇ等を解析する。グランドのインダクタンスＬｇは、グランドボール「Ｇ」１５１ｇの数Ｎｇと反比例の関係にある。したがって、インダクタンスＬｇは、グランドボール「Ｇ」１５１ｇの数Ｎｇが増加するにしたがって小さくなる。抵抗Ｒｇについても、同様にして、グランドボール「Ｇ」１５１ｇの数Ｎｇが増加するにしたがって小さくなっている。
【０１１７】
また、図１５で説明したとおり、はんだボール２５０と電源用の配線層Ｌ３との間のインダクタンスＬｐ２は、はんだボール２５０と配線層Ｌ３との距離に応じて異なる。はんだボール２５０と配線層Ｌ３との距離は、バイトごとに異なる場合がある。したがって、図１７に示す電磁界解析情報２５は、例えば、バイトごとに生成される。同様にして、はんだボール２５０とグランド用の配線層Ｌ２との間のインダクタンスＬｇ２は、はんだボール２５０と配線層Ｌ２との距離に応じて異なる。したがって、図１８に示す電磁界解析情報２５についても、例えば、バイトごとに生成される。
【０１１８】
次に、図１０の差動-シングル間距離依存性解析モジュール２３３の処理を説明する前に、差動-シングル間距離依存性解析モジュール２３３が使用する半導体パッケージ１００の伝送路のモデリングを説明する。モデリングした等価回路モデルにしたがって、同時スイッチングノイズ、及び、クロストークによる遅延変動が解析される。したがって、ここで、同時スイッチングノイズ、及び、クロストークを説明する。
【０１１９】
［伝送路のモデリング］
図１９は、Ｉ／Ｏセル３１１の同時スイッチングノイズを模式的に説明する図である。図１９において、図１５で示したものと同一のものは、同一の記号で示す。図１９は、図１５に対して、さらに、プリント基板２００、ＤＲＡＭ等のメモリーデバイス５００の回路を模式的に説明する。
【０１２０】
同時スイッチングノイズは、複数の信号が同時同方向に切り替わった場合に発生する電圧変動によって発生するノイズである。図１９の例では、複数のＩ／Ｏセル３１１が出力状態で外部負荷５１０を駆動する場合に、同時スイッチングノイズが発生する。シリコンチップ３００から、プリント基板の伝送路２２０を介して外部負荷５１０を駆動する場合の電流駆動能力は、Ｉ／Ｏセル３１１が入力状態である場合に比べて大きく、発生するノイズ量も入力状態よりも相対的に大きい。
【０１２１】
図１９に示すＩ／Ｏセル３１１は、双方向Ｉ／Ｏセル、または、出力専用Ｉ／Ｏセルである。入力専用Ｉ／Ｏセルの同時スイッチングノイズは、前述のとおり、出力Ｉ／Ｏセル、双方向Ｉ／Ｏセルに比べて小さい。したがって、本実施の形態例では、入力専用Ｉ／Ｏセルの同時スイッチングノイズを対象外としている。
【０１２２】
図１９に示す、電流「ＩＬＣ」は、外部負荷５１０を充電する電流である。また、電流「ＩＬＤ」は、外部負荷５１０を放電する電流である。電流「ＩＳＣ」は、ｎＭＯＳ、ｐＭＯＳの双方が一時的に同時にオンすることにより流れる貫通電流（Short Circuit Current）を示す。図１９に示す、Ｉ／Ｏ電源に流れる電流「ＩＰ」については、図２０にしたがって後述する。また、図１９に示す、グランドに流れる電流「ＩＧ」は、図２１にしたがって後述する。
【０１２３】
次に、同時スイッチングノイズによる電圧の変動を図２０、図２１にしたがってより詳細に説明する。図２０、図２１の回路図は、図１９の回路図と対応する。同時スイッチングノイズの発生ケースには、Ｉ／Ｏセル３１１に入力される信号ＩＳによって、負荷に流れる充放電電流が、Ｉ／Ｏ電源を変動させる場合（図２０）と、グラウンドを変動させる場合（図２１）とがある。
【０１２４】
図２０は、入力信号ＩＳが値「Ｌ」から値「Ｈ」に変化する場合に発生する同時スイッチングノイズを説明する図である。図２０において、図１９で示したものと同一のものは、同一の記号で示す。
【０１２５】
入力信号ＩＳが値「Ｌ」から値「Ｈ」に変化する場合、Ｉ／Ｏセル３１１の初段のインバータが、ｐＭＯＳからｎＭＯＳに動作が切り替わる。これにより、Ｉ／Ｏセル内部の負荷とみなされている最終段トランジスタを放電させる。また、最終段トランジスタについては、ｎＭＯＳからｐＭＯＳ側に動作が切り替わることにより、外部負荷５１０につながる伝送路２２０、及び、外部負荷５１０が充電される。
【０１２６】
最終段のトランジスタ（大きなインバータ）の電流駆動能力は大きい。したがって、Ｉ／Ｏ電源ＶＤＥから伝送路、外部負荷５１０に向かって流れる充電電流「ＩＬＣ」は、半導体パッケージ１００のインダクタンスを介して流れる。これにより、逆起電力△Ｖが生じ、Ｉ／Ｏ電源ＶＤＥの電圧が逆起電力Ｖ１分、減少する。この場合、Ｉ／Ｏ電源ＶＤＥに流れる電流「ＩＰ」は、式「ＩＬＣ＋ＩＳＣ」の合計電流が流れる。式における値「ＩＬＣ」、及び、値「ＩＳＣ」は、図１９で前述したとおりである。
【０１２７】
図２１は、入力信号ＩＳが値「Ｈ」から値「Ｌ」に変化する場合に発生する同時スイッチングノイズを説明する図である。入力信号ＩＳが値「Ｈ」から値「Ｌ」に変化する場合、Ｉ／Ｏセル３１１の初段のインバータが、ｎＭＯＳからｐＭＯＳに動作が切り替わる。これにより、Ｉ／Ｏセル内部の負荷とみなされている最終段トランジスタを充電させる。最終段トランジスタについては、ｐＭＯＳからｎＭＯＳ側に動作が切り替わることにより、外部につながる伝送路２２０、及び、外部負荷５１０が放電される。
【０１２８】
最終段のトランジスタ（大きなインバータ）の電流駆動能力は大きい。したがって、Ｉ／Ｏ電源ＶＤＥから伝送路、外部負荷５１０に向かって流れる放電電流「ＩＬＤ」は、半導体パッケージ１００のインダクタンスを介して流れる。これにより、逆起電力△Ｖが生じるとともに、グランドＧＮＤの電圧が逆起電力Ｖ２分、上昇する。この場合、グランド（ＧＮＤ）に流れる電流「ＩＧ」は、式「ＩＬＤ＋ＩＳＣ」の合計電流が流れる。式における値「ＩＬＤ」、及び、値「ＩＳＣ」は、図１９で前述したとおりである。
【０１２９】
図２２は、同時スイッチングノイズが発生する場合の電圧波形を示す図である。図２２の横軸は過渡解析時間（秒）を示し、縦軸は電圧（Ｖ）を示す。図２２は、例えば電源・グランドのインダクタンスが「５ｎＨ（nano Henry：ｎＨ）」の場合であって、電源電圧が「１．５Ｖ」、グランド電位が「０Ｖ」の回路を、入力信号を変化させてシミュレーションした場合の解析結果である。図２２の実線ｐ１１はＩ／Ｏ入力の波形を、破線ｐ１２はＩ／Ｏ出力の波形を示す。また、一点鎖線ｐ１３はＩ／Ｏセルの位置におけるＩ／Ｏ電源端子の波形を、点線ｐ１４はＩ／Ｏセルの位置におけるグランド端子の波形を示す。
【０１３０】
図２０、図２１で説明したとおり、Ｉ／Ｏ入力の信号ＩＳが変化した場合に、逆起電力Ｖ１、Ｖ２が生じる。具体的に、波形ｐ１１に示すように、入力信号ＩＳが値「Ｌ」から値「Ｈ」に遷移する場合、逆起電力Ｖ１が生じる（図２０）。逆起電力Ｖ１は、Ｉ／Ｏセル３１１と電源ＶＤＥの間に入るＩ／Ｏ電源のインダクタンスによって生じる。逆起電力Ｖ１によって、波形ｐ１３に示すように、Ｉ／Ｏセルの位置におけるＩ／Ｏ電源は電圧レベルが一時的に減少してしまう。
【０１３１】
また、波形ｐ１１に示すように、入力信号ＩＳが値「Ｈ」から値「Ｌ」に遷移する場合、逆起電力Ｖ２が生じる（図２１）。逆起電力Ｖ２は、Ｉ／Ｏセル３１１とグランド（ＧＮＤ）との間に発生するグランドのインダクタンスによって生じる。逆起電力Ｖ２によって、波形ｐ１４に示すように、Ｉ／Ｏセルの位置におけるグランドは電圧レベルが一時的に増加してしまう。
【０１３２】
逆起電力Ｖ１、Ｖ２の大きさは、Ｉ／Ｏセル３１１と接続する、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐ及びグランドボール「Ｇ」１５１ｇの数に関連する。Ｉ／Ｏ電源ボール「Ｐ」１５１ｐ、グランドボール「Ｇ」１５１ｇの数が少ないほど、電源ＶＤＥ、グランド（ＧＮＤ）に寄生的に生じるインダクタンスは大きくなる。これにより、逆起電力Ｖ１、Ｖ２が大きくなる。なお、逆起電力Ｖ１、Ｖ２の大きさは、電源Ｉ／Ｏセル３１３、あるいは、グランドＩ／Ｏセル３１２の数にも関係する。
【０１３３】
また、図２２のＩ／Ｏ入力の波形ｐ１１と、対向デバイスで観測されるＩ／Ｏ出力の波形ｐ１２によると、Ｉ／Ｏ入力とＩ／Ｏ出力との間で遅延が発生している。図２２は、電源・グランドのインダクタンス値が「５ｎＨ」の場合の各波形を示すが、遅延変動量は、インダクタンスの増加に伴って増加する。前述したとおり、配置可能なＩ／Ｏ電源ボール「Ｐ」、及び、グランドボール「Ｇ」の数が少ない場合、インダクタンスが増加する。したがって、配置可能なＩ／Ｏ電源ボール「Ｐ」、及び、グランドボール「Ｇ」の数が少ない場合、同時スイッチングノイズによる遅延変動量が大きくなる。
【０１３４】
次に、クロストークについて説明する。クロストークは、伝送路が併走する場合に、併走する伝送路間で影響し合うことにより発生するノイズである。図４（差動＋隣接２ビットしか図示していないが）で前述したとおり、１バイト分の出力信号の伝送路は併走するため、伝送路間でクロストークが発生する。クロストークは、相互誘導及び誘電カップリングを含む。
【０１３５】
図２３は、基本形となる３本の伝送路におけるクロストークを説明する図である。隣接する伝送路を通る信号からのクロストークの影響を受ける信号は「ヴィクティム（Victim）」Ｖｃと呼ばれる。また、クロストークの影響を及ぼす側の信号は「アグレッサ（Aggressor）」Ａｇ１、Ａｇ２と呼ばれる。図２３に示す３本の導体の場合、真ん中の伝送路「ヴィクティム」Ｖｃに対して、両隣の伝送路を「アグレッサ１、アグレッサ２」Ａｇ１、Ａｇ２と定義できる。
【０１３６】
図２３の値「Ｌｓ」は自己インダクタンスを示し、値「Ｌｍ」は相互インダクタンスを示す。また、値「Ｃｃ」はカップリング容量を示し、値「Ｃｇ」は対地容量を示す。クロストークは、伝送路の長さと伝送路の間隔に依存する。伝送路の長さと伝送路の間隔のうち、単位長さの値で考えると、自己インダクタンス「Ｌｓ」、相互インダクタンス「Ｌｍ」、対地容量「Ｃｇ」、カップリング容量「Ｃｃ」は伝送路の長さに比例する。また、相互インダクタンス「Ｌｍ」、カップリング容量「Ｃｃ」は伝送線路の間隔に対して、およそ反比例の傾向を示す。
【０１３７】
クロストークは、３つの伝送モード（ＳＴＡＴＩＣモード、ＯＤＤモード、ＥＶＥＮモード）に基づいて観測される。図１５に示した伝送路の等価回路モデルの回路シミュレーションを行うことによって、出力信号のシミュレーションが行われる（波形の観測点は外部負荷の入力端子位置）。
【０１３８】
ＳＴＡＴＩＣモードは、真ん中の伝送路「ヴィクティム」Ｖｃのみがスイッチングを行い、静止している伝送路「アグレッサ１、２」Ａｇ１、Ａｇ２に対しての影響を考える。ＳＴＡＴＩＣモードのインピーダンス「Ｚｓｔａｔｉｃ」は、Ｚ関数式「√（Ｌｓ/Ｃｇ）」で考える事が出来る。
【０１３９】
ＯＤＤモードは、真ん中の伝送路を通る伝送路「ヴィクティム」Ｖｃに対して、両隣の伝送路「アグレッサ１、２」Ａｇ１、Ａｇ２が逆相である場合のモードである。ＯＤＤモードでは、インダクタンスは相互インダクタンスＬｍ分だけ減少する。また、容量は、カップリング容量の２倍だけ大きくなる。容量の分母が大きく、インダクタンスの分子が小さいため、ＯＤＤモードのインダクタンスは小さくなる（負荷の軽い伝送路）。ＯＤＤモードのインピーダンス「Ｚｏｄｄ」は、Ｚ関数式「√[（Ｌｓ−２×Ｌｍ）／（Ｃｇ＋２×Ｃｃ）]」にしたがって算出される。
【０１４０】
ＥＶＥＮモードは、真ん中の伝送路を通る伝送路「ヴィクティム」Ｖｃに対して、両隣の伝送路「アグレッサ１、２」Ａｇ１、Ａｇ２が同相である場合のモードである。ＥＶＥＮモードでは、インダクタンスは相互インダクタンスＬｍ分だけ増加し、容量は、カップリング容量Ｃｃの２倍だけ小さくなる。容量の分母が小さく、インダクタンスの分子が大きいため、ＯＤＤモードのインピーダンスは大きくなる（負荷の重たい伝送路）。ＥＶＥＮモードのインピーダンス「Ｚｅｖｅｎ」は、Ｚ関数式「√[（(Ｌｓ＋２×Ｌｍ）／（Ｃｇ−２×Ｃｃ）]」にしたがって算出される。
【０１４１】
回路シミュレーション結果として、例えば、図２４、図２５に示すアイパターンが取得される。アイパターンは、上述した、ＯＤＤモードと、ＥＶＥＮモードになる入力信号の組み合わせを伝送路に与えた場合の応答波形を示す。図２４、図２５にしたがって、アイパターンを説明する。
【０１４２】
図２４は、回路シミュレーション結果を判定するアイパターンの一例を示す図である。実線で表す第１のアイパターンｗ１は、パラレル伝送路にＥＶＥＮモードのデータ信号（シングルエンド信号）が出力された場合の波形である。また、破線で表す第２のアイパターンｗ２は、ＯＤＤモードの信号が出力された場合の波形である。図２４に示すように、同相の場合に観測される第１のアイパターンｗ１は、逆相の場合に観測される第２のアイパターンｗ２に比べて、時間軸上遅い側にずれる。このように、パラレル伝送路を通る信号間の位相関係によりスキューが生じる。
【０１４３】
図２４のアイパターンにおいて、セットアップ側のエッジを計測する場合、最も外側の入力閾値電圧ＶＩＨ＿ＡＣ、ＶＩＬ＿ＡＣを超えるまでの遅延（データ側）が計測される。一方、ホールド側のエッジを計測する場合、最も内側の入力閾値電圧ＶＩＨ＿ＤＣ、ＶＩＬ＿ＤＣを超えるまでの遅延（データ側）が計測される。遅延ペナルティは、値「Ｉｄｅａｌ Ｗｉｎｄｏｗ」ＩＷから、値「Ｅｙｅ Ｗｉｄｔｈ」ＥＷを減算することによって算出される。また、値「Ｉｄｅａｌ Ｗｉｎｄｏｗ」は、１シンボルの幅である。値「Ｅｙｅ Ｗｉｄｔｈ」ＥＷは、セットアップ側の遅延と、ホールド側の遅延との差である。
【０１４４】
図２５は、データストローブ信号（差動信号）のスキューを説明する図である。図２５において、図２４で示したものと同一のものは、同一の記号で示す。図２５において、一点鎖線で表される第２のアイパターンｗ３は、データストローブ信号の波形である。また、図２５の例において、差動信号は振幅がポジ−ネガで表現することにより、中心が０Ｖで振幅がシングルエンドの２倍となる。したがって、図２５の例では、シングルエンドと同時にプロットするために、振幅を２で除算し、Ｉ／Ｏ電源電圧の中点（ＶＲＥＦ）までオフセットして表示している。
【０１４５】
図２５に示すように、データストローブ信号についても、スキューｓｋが生じる。ＤＤＲメモリの、データストローブ信号は、データ信号に対して位相が４分の１サイクルずれている。したがって、設計では、データ信号のアイパターンの中央付近にデータストローブ信号のクロスポイントがあたるように設計する。クロスポイントとは、データストローブ信号のポジティブ及びネガティブの交点である。
【０１４６】
ここで、図１０で示した、差動-シングル間距離依存性解析モジュール２３３の処理を図２６のフローチャート図にしたがって説明する。
【０１４７】
［差動-シングル間距離依存性解析モジュール］
図２６は、差動-シングル間距離依存性解析モジュール２３３の処理を説明するフローチャート図である。
【０１４８】
Ｓ３０１：差動-シングル間距離依存性解析モジュール２３３は、差動−シングルエンド間距離（ｌｅｎ）を可変させながら、工程Ｓ３０１〜Ｓ３０８の工程を行う。本実施の形態例では、差動-シングル間距離依存性解析モジュール２３３は、初めに、差動−シングルエンド間距離を値「２」を初期値としている。
【０１４９】
Ｓ３０２：差動-シングル間距離依存性解析モジュール２３３は、差動−シングルエンド間距離を、値「２」に設定した場合における、幅「ｗｐ」及び奥行き「ｈｐ」の値を取得する。幅「ｗｐ」及び奥行き「ｈｐ」の値は、図１６で前述したとおりである。図１３、図１４で説明した、信号・電源ボール割り当て初期化情報２４−１によると、差動−シングルエンド間距離を値「２」に設定した場合、幅「ｗｐ＝２」、奥行き「ｈｐ＝３」となる。
【０１５０】
Ｓ３０３：差動-シングル間距離依存性解析モジュール２３３は、幅「ｗｐ」及び奥行き「ｈｐ」の値に基づいて、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐ、及び、グランドボール「Ｇ」１５１ｇの数Ｎｇを取得する。そして、差動-シングル間距離依存性解析モジュール２３３は、図１７に示す電磁界解析情報２５を参照し、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐに基づいて、電源インダクタンスＬｐ及び抵抗Ｒｐを取得する。また、差動-シングル間距離依存性解析モジュール２３３は、図１８に示す電磁界解析情報２５を参照し、グランドボール「Ｇ」１５１ｇの数Ｎｇに基づいて、電源インダクタンスＬｇ及び抵抗Ｒｇを取得する。
【０１５１】
図１３、図１４に示した信号・電源ボール割り当て初期化情報２４−１によると、幅「ｗｐ＝２」、奥行き「ｈｐ＝３」の領域は、列ＡＥ〜ＡＧに対応する。列ＡＥ〜ＡＧに含まれるＩ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐは、３つである。差動-シングル間距離依存性解析モジュール２３３は、図１７に示す電磁界解析情報２５を参照し、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐの値「３」に基づいて、電源インダクタンス値Ｌｐ「１．０２ｎＨ」及び抵抗Ｒｐを取得する。
【０１５２】
図１３に示した信号・電源ボール割り当て初期化情報２４−１によると、列ＡＥ〜ＡＧに含まれるグランドボール「Ｇ」１５１ｇの数Ｎｇは、３つである。差動-シングル間距離依存性解析モジュール２３３は、図１８に示す電磁界解析情報２５を参照し、グランドボール「Ｇ」１５１ｇの数Ｎｇの値「３」に基づいて、電源インダクタンス値Ｌｇ「０．４８ｎＨ」及び抵抗Ｒｇを取得する。
【０１５３】
Ｓ３０４：差動-シングル間距離依存性解析モジュール２３３は、取得したＩ／Ｏ電源のインダクタンスＬｐ及び抵抗Ｒｐに基づいて、半導体パッケージ１００のＩ／Ｏ信号の等価回路モデルを生成する。また、差動-シングル間距離依存性解析モジュール２３３は、取得したグランドのインダクタンスＬｇ及び抵抗Ｒｇに基づいて、半導体パッケージ１００のグランドの等価モデルを生成する。等価回路モデルの例は、図２７にしたがって後述する。
【０１５４】
Ｓ３０５：差動-シングル間距離依存性解析モジュール２３３は、半導体パッケージ１００のＩ／Ｏセル３１１の信号モデルを選択する。差動−シングルエンド間距離（ｌｅｎ）の可変により、Ｉ／Ｏセル３１１の信号モデルが有するインダクタンス及び抵抗も増減する。したがって、差動-シングル間距離依存性解析モジュール２３３は、予め、差動−シングルエンド間距離ごとに生成されたＩ／Ｏセル３１１の信号モデルから、差動−シングルエンド間距離に基づいてＩ／Ｏセル３１１の信号モデルを選択する。
【０１５５】
Ｉ／Ｏセル３１１の信号モデルは、１バイト分のクロストークを評価する信号モデルである。したがって、信号モデルは、１１ポート入力、１１ポート出力の結合容量および相互インダクタンスを有する等価回路モデルである。１１ポートとは、８本のデータ信号と、２本のデータストローブ信号と、１本のデータマスク信号に対応する。
【０１５６】
Ｓ３０６：差動-シングル間距離依存性解析モジュール２３３は、半導体パッケージ１００のクロストークを解析する等価回路モデルを構築する。等価回路モデルは、差動−シングルエンド間距離（ｌｅｎ）に応じた電気特性を有する、Ｉ／Ｏ電源、グランド、出力信号（シングルエンド信号、差動信号）の等価回路モデルを有する。
【０１５７】
差動-シングル間距離依存性解析モジュール２３３は、Ｉ／Ｏ電源とＩ／Ｏセル３１１の間に半導体パッケージ１００のＩ／Ｏ電源のモデルを、グランドとＩ／Ｏセル３１１の間に半導体パッケージ１００のグランドのモデルを結合する。また、差動-シングル間距離依存性解析モジュール２３３は、Ｉ／Ｏセル３１１の出力に、Ｉ／Ｏセル３１１の信号モデルを結合する。
【０１５８】
なお、Ｉ／Ｏセル３１１の信号モデル、Ｉ／Ｏ電源のモデル、グランドのモデルをカップリングさせて、モデリングすることも可能である。カップリングすることにより精度が向上するものの、解析時間を要する。したがって、カップリングについては、解析時間と精度とのトレードオフに応じて決定される。
【０１５９】
図２７は、半導体パッケージ１００の伝送路を含む構成の等価回路モデルの一例を示す図である。図２７の等価回路モデルは、図１５に示した、半導体パッケージ１００の伝送路の等価回路を有する。また、図２７の等価回路モデルは、さらに、プリント基板２００の信号モデル６０１、ＤＲＡＭと接続する半導体パッケージの信号モデル６０２、及び、ＤＲＡＭの負荷モデル６０３を有する。
【０１６０】
プリント基板２００の信号モデル６０１、ＤＲＡＭの半導体パッケージの信号モデル６０２、及び、負荷モデル６０３は、差動−シングルエンド間距離（ｌｅｎ）に応じて変化しない。モデル６０１〜６０３は、プリント基板２００の線路長、ＤＲＡＭの半導体パッケージ、及び、ＤＲＡＭの電気特性の規格等にしたがって、予め、構築される。
【０１６１】
図２７において、Ｉ／Ｏ電源のモデル４０１が、Ｉ／Ｏ電源ＶＤＥとＩ／Ｏセル３１１との間に結合する。また、グランドのモデル４０２が、グランドＧＮＤとＩ／Ｏセル３１１との間に結合する。Ｉ／Ｏ電源のモデル４０１及びグランドのモデル４０２は、差動−シングルエンド間距離（ｌｅｎ）に応じた電気特性を有する。つまり、Ｉ／Ｏ電源のモデル４０１及びグランドのモデル４０２は、Ｉ／Ｏ電源ボール「Ｐ」、グランドボール「Ｇ」の数、及び、伝送路長ｔｒ１に応じた電気特性を有する。
【０１６２】
また、図２７において、Ｉ／Ｏセル３１１の信号モデル４０３が、プリント基板２００とＩ／Ｏセル３１１との間に結合する。Ｉ／Ｏセル３１１の信号モデル４０３は、１バイト分の信号群（１１本の信号）の半導体パッケージ１００の伝送路長に基づく、インダクタンス、抵抗及びコンデンサに基づく等価回路である。図２７に示すように、差動-シングル間距離依存性解析モジュール２３３は、複数のＩ／Ｏセル３１１の信号モデル４０３から、差動−シングルエンド間距離（ｌｅｎ）に応じた信号モデル４０３を１つ選択する。
【０１６３】
Ｉ／Ｏセル３１１の信号のモデル４０３は、差動−シングルエンド間距離（ｌｅｎ）に応じた電気特性を有する。つまり、Ｉ／Ｏセル３１１の信号のモデル４０３は、Ｉ／Ｏ電源ボール「Ｐ」、グランドボール「Ｇ」の数、及び、伝送路長ｔｒ１に応じた電気特性を有する。図２６のフローチャート図に戻る。
【０１６４】
Ｓ３０７：差動-シングル間距離依存性解析モジュール２３３は、回路シミュレーション（例えばSimulation Program with Integrated Circuit Emphasis：ＳＰＩＣＥ）を実行する。例えば、図９に示す設計装置１０は、例えば、ネットワーク３０を介して、回路シミュレーション装置（図示せず）と接続する。設計装置１０は、回路シミュレーション装置にシミュレーションの実行を指示することにより、回路シミュレーションを実現する。回路シミュレーション装置は、図２７に示した等価回路モデルに、疑似ランダムパターンを基本として、「ヴィクティム」Ｖｃに信号を入力する場合の過渡応答特性情報を出力する。回路シミュレーション装置は、隣接の「アグレッサ」の配線に「ヴィクティム」Ｖｃと同相、逆相の信号（ＯＤＤモード、ＥＶＥＮモード）を入力した場合の過渡応答特性情報を出力する。
【０１６５】
Ｓ３０９：差動-シングル間距離依存性解析モジュール２３３は、シミュレーション結果に基づいて、差動−シングルエンド間距離（ｌｅｎ）ごとの遅延変動量を取得する。回路シミュレーション装置は、シミュレーション結果である過渡応答特性情報に基づいて、図２４、図２５に示したような、アイパターンを出力する。差動-シングル間距離依存性解析モジュール２３３は、アイパターンに基づいて、シングルエンド信号の遅延変動量≒遅延ペナルティ（図２４の「ＩＷ−ＥＷ」）を取得する。また、差動-シングル間距離依存性解析モジュール２３３は、アイパターンに基づいて、差動信号のスキュー（図２５のｓｋ）を取得する。
【０１６６】
続いて、差動-シングル間距離依存性解析モジュール２３３は、シングルエンド信号の遅延ペナルティと、差動信号のスキューとを合計した遅延変動量を計算する。また、差動-シングル間距離依存性解析モジュール２３３は、差動−シングルエンド間距離（ｌｅｎ）ごとの遅延変動量を比較する。差動-シングル間距離依存性解析モジュール２３３は、遅延変動量が最小となる差動−シングルエンド間距離（ｌｅｎ）を探索し、配列または変数に格納する。
【０１６７】
［シミュレーション結果］
図２８は、差動−シングルエンド間距離に応じた、データ信号の遅延ペナルティとデータストローブ信号のスキューとを示す図である。図２８の横軸は、差動−シングルエンド間距離（ｌｅｎ）を示し、縦軸は、遅延ペナルティ、スキュー、及び、遅延変動量を示す。点線ｄｐ１はデータ信号の遅延ペナルティを示し、一点鎖線ｓｋ１はデータストローブ信号のスキューを示す。また、実線ｘｔ１は、データ信号の遅延ペナルティｄｐ１とデータストローブ信号のスキューｓｋ１とを演算した遅延変動量を示す。図２８では、データ信号の遅延ペナルティｄｐ１とデータストローブ信号のスキューｓｋ１とを合計した遅延変動量をｘｔ１としているが、演算の手法は、単純な加算だけに限定されない。
【０１６８】
図２８によると、データ信号の遅延ペナルティｄｐ１は、差動−シングルエンド間距離の変動に応じて、大きく変化する。また、図２８によると、差動−シングルエンド間距離がある長さを超えた場合に、遅延ペナルティｄｐ１が急激に増加している。
【０１６９】
具体的に、範囲Ｂ１では、差動−シングルエンド間距離（ｌｅｎ）の増加に応じて、遅延ペナルティｄｐ１が減少している。範囲Ｂ１では、差動−シングルエンド間距離（ｌｅｎ）の増加に応じて、図４で示した差動信号の伝送路ｔｒ１は短くなる。差動信号の伝送路ｔｒ１が短くなることにより、シングルエンド信号（データ信号）と差動信号（データストローブ信号）との併走距離が短くなり、クロストークが減少している。これにより、遅延ペナルティｄｐ１が小さくなっている。
【０１７０】
また、範囲Ｂ２では、差動−シングルエンド間距離（ｌｅｎ）の増加に応じて、遅延ペナルティｄｐ１が最小に遷移した後は、増加に転じている。範囲Ｂ２では、差動−シングルエンド間距離（ｌｅｎ）の増加に応じて、差動信号の伝送路ｔｒ１がさらに短くなる。つまり、シングルエンド信号と差動信号との併走距離が短くなる。差動信号の伝送路と併走しない領域では、シングルエンド信号の伝送路が差動配線およびそのシールド配線に邪魔されずに、まとまって配線される。これにより、シングルエンド信号の配置密度（≒単位面積当たりの配線本数）が高くなり、シングルエンド信号のクロストークが増加する。
【０１７１】
したがって、範囲Ｂ２では、併走距離の短縮による差動−シングルエンド間のクロストークの減少に対し、シングルエンド信号同士の配置密度の上昇によるクロストークの増加が勝った、差動−シングルエンド間距離で、遅延ペナルティｄｐ１が増加に転じている。
【０１７２】
また、範囲Ｂ３では、差動−シングルエンド間距離（ｌｅｎ）がさらに増加することにより、遅延ペナルティｄｐ１が急増している。範囲Ｂ３では、差動−シングルエンド間距離（ｌｅｎ）の増加により、図１６に示す、電源Ｉ／Ｏ信号ボール「Ｐ」１５１ｐと、グランドボール「Ｇ」１５１ｇの配置数が減少する。これにより、Ｉ／Ｏ電源、及び、グランドのインダクタンスが増加し、同時スイッチングノイズによる遅延度合いが増加している。したがって、範囲Ｂ３では、遅延ペナルティｄｐ１が急増している。
【０１７３】
図２８によると、範囲Ｂ１、Ｂ２では、データ信号の遅延ペナルティｄｐ１の減少に連動して、遅延変動ｘｔ１が減少している。ただし、範囲Ｂ３では、データストローブ信号のスキューｓｋ１が減少するものの、遅延ペナルティｄｐ１が急増する。したがって、図２８の例では、データ信号の遅延ペナルティｄｐ１に応じて、遅延変動量ｘｔ１が最小となる差動−シングルエンド間距離が決まる。図２８の例では、遅延変動量ｘｔ１が最小となる差動−シングルエンド間距離は、値「２」であり、遅延変動量は「１００ｐｓ」である。したがって、差動-シングル間距離依存性解析モジュール２３３は、値「２」を取得する。
【０１７４】
このように、本実施の形態例における設計装置１０は、差動−シングルエンド間距離を変動させ、差動−シングルエンド間距離に応じた電気特性を有する等価回路モデルにしたがってシミュレーションする。これにより、設計装置１０は、シミュレーション結果としてクロストークによる遅延とＩ／Ｏセルの同時スイッチングノイズの双方を取得し、遅延が最小となる差動−シングルエンド間距離を取得することができる。
【０１７５】
［ボール割り当て構成モジュール］
図２９は、図１０で説明した、ボール割り当て構成モジュール２３２の処理を説明するフローチャート図である。図２６のフローチャート図で説明したとおり、差動-シングル間距離依存性解析モジュール２３３は、すべてのバイトを対象として、遅延変動量（図２８）ｘｔ１が最小となる差動−シングルエンド間距離（ｌｅｎ）を取得する。
【０１７６】
Ｓ４０１：ボール割り当て構成モジュール２３２は、図２６〜図２８にしたがって説明した差動-シングル間距離依存性解析モジュール２３３の処理を、対象のバイト数分、行う。
【０１７７】
Ｓ４０２：ボール割り当て構成モジュール２３２は、バイトごとの最適な差動−シングルエンド間距離を、変数、あるいは、配列から読み出す。そして、ボール割り当て構成モジュール２３２は、読み出した差動−シングルエンド間距離に基づいて、ＢＧＡボール１５１に信号を割り当て、信号・電源ボール割り当て結果情報２６を生成する。
【０１７８】
具体的に、ボール割り当て構成モジュール２３２は、バイトごとの最適な差動−シングルエンド間距離に基づいて、差動信号を割り当てるＢＧＡボール１５１の位置を決定する。そして、ボール割り当て構成モジュール２３２は、差動信号を割り当てるＢＧＡボール１５１と、シングルエンド信号を割り当てるＢＧＡボール１５１との間のＢＧＡボール１５１に、グランドを割り当てる。また、ボール割り当て構成モジュール２３２は、差動信号を割り当てるＢＧＡボール１５１より内側に位置するＢＧＡボール１５１に、Ｉ／Ｏ電源、及び、グランドを割り当てる。
【０１７９】
［信号・電源ボール割り当て結果情報］
図３０は、ボール割り当て構成モジュール２３２が出力する、信号・電源ボール割り当て結果情報（ＪＥＤＥＣ-ネット名記述）２６の一例を示す図である。図２５のＪＥＤＥＣ-ネット名記述２６は、図１４に示した信号・電源ボール割り当て初期化情報２４−１に対応する。また、図２５のＪＥＤＥＣ-ネット名記述２６は、４バイト分のＢＧＡボール１５１の割り当て情報を有する。
【０１８０】
図３１は、図３０で説明したＪＥＤＥＣ-ネット名記述２６に対応するＢＧＡボール１５１の割り当てイメージ２６ＩＭを表す図である。図３１において、図１３で示したものと同一のものは、同一の記号で示す。
【０１８１】
図６で前述したとおり、バイトごとに、はんだボール２５０から配線層までの伝送路長は異なることが多い。伝送路長が異なる場合、Ｉ／Ｏ電源とグランドのインダクタンス（Ｌｐ、Ｌｇ）及び抵抗（Ｒｐ、Ｒｇ）が異なる。したがって、遅延変動量（図２８）ｘｔ１が最小となる差動−シングルエンド間距離（ｌｅｎ）も、バイトごとに異なることがある。これにより、図３１に示すように、バイト間で、差動信号ボール「Ｘ」１５１ｘの位置が同一、または異なっている。
【０１８２】
このように、本実施の形態例における設計装置１０は、バイト単位に、クロストーク及びＩ／Ｏセルの同時スイッチングノイズによる遅延変動が最小となる差動−シングルエンド間距離を取得する。バイトごとに、Ｉ／Ｏセルの同時スイッチングノイズ、及び、クロストークを抑える、最適な差動−シングルエンド間距離は異なる。したがって、本実施の形態例における設計装置１０によると、バイトごとに最適な差動−シングルエンド間距離に基づいて、ＢＧＡボールの信号の割り当て処理を行うことが可能になる。
【０１８３】
図３２、図３３は、半導体パッケージ１００に対するボール割り当て結果の相違を説明する図である。図３２と、図３３とでは、例えば、パッケージ外形の違う２つを考える。シリコンチップ３００の外側に図３２では１０ボール、図３３では１１ボール並んでいる。シングルエンド信号ボール「Ｓ」１５１ｓの内側寄りに位置する、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐ、グランドボール「Ｇ」１５１ｇが千鳥配置されている部分のボール数が異なっている。これにより、図３２と図３３とでは、取得する電磁界解析結果（工程Ｓ３０３）が異なり、差動−シングルエンド間距離（ｌｅｎ）に応じた遅延変動量の最小値を迎える遷移傾向の曲線も異なっている。
【０１８４】
図３２は、シングルエンド信号ボール「Ｓ」１５１ｓの内側寄りに、３つのＢＧＡボール１５１が位置する場合を説明する図である。図３２の（Ａ）は、差動−シングルエンド間距離（ｌｅｎ）に応じたＢＧＡボール１５１の割り当て例を示す。図３２の（Ｂ）は、差動−シングルエンド間距離（ｌｅｎ）に応じた遅延変動量ｘｔ２を示す。図３２において、図１６で示したものと同一のものは、同一の記号で示す。
【０１８５】
図３２（Ｂ）における、点線ｄｐ２は、データ信号の遅延ペナルティを示し、一点鎖線ｓｋ２は、データストローブ信号のスキューを示す。また、実線ｘｔ２は、データ信号の遅延ペナルティｄｐ２とデータストローブ信号のスキューｓｋ２とを演算した遅延変動量を示す。図３２の（Ｂ）によると、矢印ｙ１に示すように、遅延変動量ｘｔ２が最小となる差動−シングルエンド間距離は、値「２」である。したがって、図３２の（Ａ）において、差動−シングルエンド間距離（ｌｅｎ）が値「２」の配置１５２が、最適なＢＧＡボールの割り当て配置となる。
【０１８６】
図３３は、シングルエンド信号ボール「Ｓ」１５１ｓの内側寄りに、４つのＢＧＡボール１５１が位置する場合を説明する図である。図３３の（Ａ）は、差動−シングルエンド間距離（ｌｅｎ）に応じたＢＧＡボール１５１の割り当て例を示す。図３３の（Ｂ）は、差動−シングルエンド間距離（ｌｅｎ）に応じた遅延変動量ｘｔ２を示す。図３３において、図３２で示したものと同一のものは、同一の記号で示す。
【０１８７】
図３３（Ｂ）における、点線ｄｐ３は、データ信号の遅延ペナルティを示し、一点鎖線ｓｋ３は、データストローブ信号のスキューを示す。また、実線ｘｔ３は、データ信号の遅延ペナルティｄｐ３とデータストローブ信号のスキューｓｋ３とを演算した遅延変動量を示す。図３３の（Ｂ）によると、矢印ｙ２に示すように、遅延変動量ｘｔ３が最小となる差動−シングルエンド間距離は、値「４」である。したがって、図３３の（Ａ）において、差動−シングルエンド間距離（ｌｅｎ）が値「４」の配置１５３が、最適なＢＧＡボールの割り当て配置となる。
【０１８８】
このように、半導体パッケージ１００の外形サイズやＩ／Ｏ電源ボール「Ｐ」１５１ｐ、グランドボール「Ｇ」１５１ｇが千鳥配置されている部分のボール数に応じて、最適となる、差動−シングルエンド間距離は異なる。本実施の形態例の設計装置１０は、Ｉ／Ｏ電源ボール「Ｐ」、及び、グランドボール「Ｇ」の数に基づいて、ＢＧＡボール１５１への最適な信号の割り当てを行う。したがって、設計装置１０は、半導体パッケージ１００の外形毎に最適な、ＢＧＡボール１５１への信号の割り当てを行うことができる。
【０１８９】
以上のように、本実施の形態例における半導体パッケージの設計方法では、複数の接続端子（ＢＧＡボール）１５１に出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、出力信号間のクロストークによる第２の遅延変動量を計算する。そして、半導体パッケージの設計方法では、第１の遅延変動量と第２の遅延変動量とに基づいて、接続端子の端子配置を決定する。
【０１９０】
これにより、クロストーク及び同時スイッチングノイズによる信号の遅延変動量を抑えた、ＢＧＡボール１５１への信号の割り当てが可能になる。つまり、ＢＧＡボールへの信号の割り当てによって、クロストーク及び同時スイッチングノイズを抑え、信号の遅延変動量を抑えることが可能になる。本実施の形態例における半導体パッケージの設計方法は、ＤＤＲ１、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４および、その低消費電力版となるＭｏｂｉｌｅ−ＤＤＲメモリインターフェースに適用可能である。本実施例では１．６Ｇｂｐｓ（Giga bit per second）のデザインでも実現可能である。
【０１９１】
また、本実施の形態例における半導体パッケージの設計方法の計算工程は、パラレルインターフェースの差動信号を割り当てる接続端子と、シングルエンド信号を割り当てる接続端子との距離を使用する。また、計算工程は、距離応じた半導体パッケージの伝送路の等価回路モデルに基づき、出力信号の第１、第２遅延変動量を計算する。
【０１９２】
これにより、差動信号ＢＧＡボール「Ｘ」１５１と、シングルエンド信号ボール「Ｓ」１５１との間の距離（ｌｅｎ）に応じた、出力信号の遅延変動量を取得可能になる。これにより、距離（ｌｅｎ）に基づいた遅延変動量にしたがって、ＢＧＡボールへの信号の割り当てを行うことが可能になる。
【０１９３】
また、本実施の形態例における半導体パッケージの設計方法の決定工程は、第１の遅延変動量と第２の遅延変動量との演算（例えば加算）に基づいて、接続端子の端子配置を決定する。これにより、クロストーク及び同時スイッチングノイズのトレードオフを考慮した、ＢＧＡボール１５１への信号の割り当てが可能になる。
【０１９４】
また、本実施の形態例における半導体パッケージの設計方法において、計算は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを合計して、第１、第２の遅延変動量を計算する。これにより、差動信号の遅延変動量と、シングルエンド信号の遅延変動量との演算（例えば加算）が小さくなるような、ＢＧＡボール１５１への信号の割り当てが可能になる。
【０１９５】
また、本実施の形態例における半導体パッケージの設計方法の計算工程は、距離（ｌｅｎ）に応じて、電源が割り当てられる接続端子数及びグランドが割り当てられる接続端子数に基づいた、等価回路モデルに基づき出力信号の第１、第２遅延変動量を計算する。これにより、距離に応じて配置される電源ボール「Ｐ」とグランドボール「Ｇ」の数に応じて、遅延変動量が計算可能になる。
【０１９６】
また、本実施の形態例における半導体パッケージの設計方法の計算工程は、複数の距離の前記出力信号の第１、第２遅延変動量を計算する。また、決定は、第１の遅延変動量と第２の遅延変動量との演算（例えば加算）値が最小となる距離に基づいて、接続端子の端子配置を決定する。これにより、差動信号ＢＧＡボール「Ｘ」１５１と、シングルエンド信号ボール「Ｓ」１５１との間の距離ごとの遅延変動量に基づいて、遅延変動量が最小となるＢＧＡボール１５１への信号の割り当てが可能になる。
【０１９７】
また、本実施の形態例における半導体パッケージの設計方法の計算工程は、電源が割り当てられる接続端子の数に基づいて、第１の電気特性を取得し、グランドが割り当てられる接続端子の数に基づいて、第２の電気特性を取得する。そして、計算工程は、第１、第２の電気特性を入力した前記等価回路モデルに基づく第１、第２遅延変動量を計算する。
【０１９８】
これにより、差動信号ＢＧＡボール「Ｘ」１５１と、シングルエンド信号ボール「Ｓ」１５１との間の距離に応じた電気特性を有する等価回路モデルを生成可能になる。また、等価回路モデルにしたがって、簡易に、第１、第２遅延変動量が計算可能となる。
【０１９９】
また、本実施の形態例における半導体パッケージの設計方法では、計算工程、決定工程を、パラレルインターフェースのバイトごとに実行する。バイトに応じて、半導体パッケージの伝送路長は異なることがある。このため、最適な、ＢＧＡボール１５１への信号の割り当ては、バイトごとに異なる。これにより、バイトごとに、クロストーク及び同時スイッチングノイズによる信号の遅延変動量を最小にする、ＢＧＡボール１５１への信号の割り当てが可能になる。
【０２００】
また、本実施の形態例における半導体パッケージの設計方法の計算工程は、半導体パッケージ１００の伝送路長に応じて異なる第１、第２の電気特性を取得する。これにより、バイトごとに異なる電気特性を有する等価回路モデルにしたがって、第１、第２遅延変動量を計算可能にする。
【０２０１】
［第２の実施の形態例］
第２の実施の形態例における設計装置１０は、第１の実施の形態例で説明した半導体パッケージ１００のＢＧＡボール１５１の信号の割り当ての最適化に加え、プリント基板２００の伝送路の長さを算出する。これにより、第２の実施の形態例における設計装置１０は、さらに、最適な、プリント基板２００な伝送路長を取得できる。プリント基板２００の伝送路は、プリント基板２００の配線パターン２０２（図１）及びＶＩＡ２０１（図１）に対応する。
【０２０２】
第２の実施の形態例における不揮発性メモリ２２（図９）は、さらに、ＳＳＮ遅延変動解析結果情報２７を格納する領域と、ＰＣＢクロストーク遅延変動解析結果２８を格納する領域とを有する。ＳＳＮ遅延変動解析結果情報２７の詳細については、図３５にしたがって後述する。ＰＣＢクロストーク遅延変動解析結果２８の詳細については、図３６〜図３９にしたがって後述する。
【０２０３】
図３４は、第２の実施の形態例における設計装置１０のソフトウェアモジュール構成を説明する図である。図３４において、図１０で示したものと同一のものは、同一の記号で示す。第２の実施の形態例におけるボール割り当てプログラム２３は、第１の実施の形態例で説明した各モジュール２３１〜２３３に加えて、ＰＣＢ線路長依存性検索モジュール２３４を有する。
【０２０４】
ＰＣＢ線路長依存性検索モジュール２３４は、所定の差動−シングルエンド間距離（ｌｅｎ）に基づいて電磁界解析情報２５を参照し、図１７、図１８で示した電磁界解析結果を出力する。そして、ＰＣＢ線路長依存性検索モジュール２３４は、電磁界解析結果に基づいてＳＳＮ遅延変動解析結果情報２７を参照し、同時スイッチングノイズ（ＳＳＮ）による遅延ペナルティを取得する。また、ＰＣＢ線路長依存性検索モジュール２３４は、ＰＣＢクロストーク遅延変動解析結果２８を参照し、プリント基板２００の伝送路長を可変させた場合の、クロストークによる遅延変動が最小となる伝送路長の最適値を取得する。
【０２０５】
なお、この例では、差動-シングル間距離依存性解析モジュール２３３の処理の前に、ＰＣＢ線路長依存性検索モジュール２３４の処理が行われる。ただし、この例に限定されるものではない。差動-シングル間距離依存性解析モジュール２３３の処理の後に、ＰＣＢ線路長依存性検索モジュール２３４の処理が行われてもよい。
【０２０６】
電磁界解析情報２５（図１７、図１８）は、第１の実施例と同様である。ＳＳＮ遅延変動解析結果情報２７、及び、ＰＣＢクロストーク遅延変動解析結果２８は、予め、シミュレーションにしたがって生成される。プリント基板２００で発生するクロストークは、半導体パッケージ１００で発生するクロストークに比べると小さい。したがって、ＰＣＢ線路長依存性検索モジュール２３４は、予め生成された、ＳＳＮ遅延変動解析結果情報２７及びＰＣＢクロストーク遅延変動解析結果２８を参照して、最適なプリント基板２００の伝送路長を取得する。
【０２０７】
ここで、図３５にしたがって、ＳＳＮ遅延変動解析結果情報２７を説明する。
【０２０８】
［ＳＳＮ遅延変動解析結果情報］
図３５は、ＳＳＮ遅延変動解析結果情報２７の一例を示す図である。図３５の横軸は電源インダクタンス（ｎＨ）を示し、縦軸は遅延ペナルティを示す。ＳＳＮ遅延変動解析結果情報２７は、Ｉ／Ｏ電源、グランドに生じる１パッドあたりのインダクタンスの値を変化させた場合の、同時スイッチングノイズによる遅延ペナルティとの対応関係を有する。図３５に示すＳＳＮ遅延変動解析結果情報２７は、インダクタンスに応じて生成した等価回路を模擬的にシミュレーションした場合の遅延ペナルティを観測することによって生成される。
【０２０９】
図３５のＳＳＮ遅延変動解析結果情報２７によると、Ｉ／Ｏ電源・ＧＮＤのインダクタンスが大きくなるにつれて、初めは、遅延ペナルティが急速に大きくなり、その後は、インダクタンンスの増加に伴い、遅延ペナルティの一定の増加が生じる。
【０２１０】
このように、ＳＳＮ遅延変動解析結果情報２７は、Ｉ／Ｏ電源・ＧＮＤのインダクタンスに対応して対数関数的な増加を示す。この傾向は、Ｉ／Ｏセル３１１の駆動能力、伝送路の外部負荷条件、半導体パッケージ１００の電源・ＧＮＤインダクタンス等に依存する。したがって、数多くのシミュレーションを行うことによって、ＳＳＮ遅延変動解析結果情報２７が生成される。
【０２１１】
次に、図３６〜図３９にしたがって、ＰＣＢクロストーク遅延変動解析結果２８を説明する。
【０２１２】
［ＰＣＢクロストーク遅延変動解析結果］
ＰＣＢクロストーク遅延変動解析結果２８は、プリント基板２００の伝送路長とクロストークに基づく遅延ペナルティとの関係を有する。ＰＣＢクロストーク遅延変動解析結果２８は、プリント基板２００の伝送路長ごとに生成した等価回路を、回路シミュレーションすることによって生成される。まず、図３６〜図３８に示すアイパターンにしたがって、シミュレーションの結果を説明する。
【０２１３】
図３６〜図３８に示すアイパターンは、それぞれ異なる、プリント基板２００の伝送路長（第１〜第３の伝送路長）に応じたアイパターンである。図３６〜図３８に示すアイパターンは、第１の実施の形態例と同様に、ＯＤＤモード、ＥＶＥＮモードに応じて観測される。また、データ信号のアイパターンの幅は、反射波の影響を受ける。反射波はインピーダンスが不連続になる部分で発生し、反射波の影響を受けるタイミングは、プリント基板２００の伝送路長に応じて異なる。インピーダンスが不連続になる部分は、例えば、ボールやＶＩＡ、および対抗デバイスのパッケージ、対向デバイスの負荷容量などである。これにより、プリント基板２００の伝送路長に応じて、遅延ペナルティの値も異なる。
【０２１４】
図３６は、第１の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。図３６において、実線で表される第１のアイパターンｗ２１は、パラレル伝送路にＯＤＤモードのデータ信号（シングルエンド信号）が出力された場合の波形である。また、破線で表される第２のアイパターンｗ２２は、ＥＶＥＮモードのデータ信号が出力された場合の波形である。また、矢印ｙ２１は、第１の伝送路長の場合に発生する遅延ペナルティを示す。第１の伝送路長の場合、ＥＶＥＮモードのアイパターンの最も膨らむアイの中央よりも後方（ホールドより）に反射波が戻ってくる形となる。反射波によるアイのすぼまりの反動により、その後続のセットアップのエッジが遅れてしまうことにより、次のアイパターンのセットアップタイミングが厳しくなってくる。
【０２１５】
図３７は、第２の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。図３７において、実線で表される第１のアイパターンｗ３１は、パラレル伝送路にＯＤＤモードのデータ信号（シングルエンド信号）が出力された場合の波形である。また、破線で表される第２のアイパターンｗ３２は、ＥＶＥＮモードのデータ信号が出力された場合の波形である。また、矢印ｙ３１は、第２の伝送路長の場合に発生する遅延ペナルティを示す。
【０２１６】
第２の伝送路長は、第１の伝送路長より長い。第２の伝送路長の場合、アイパターンがこれから膨らもうとしている時刻で反射波が戻ってくる。したがって、第２の伝送路長の場合、反射波の戻りの影響によって、セットアップ側のアイの開き具合が鈍くなり、遅延ペナルティが大きくなってしまう。
【０２１７】
図３８は、第３の伝送路長に基づいてシミュレーションを行った場合のシミュレーション結果を判定するアイパターンの一例を示す。図３８において、実線で表される第１のアイパターンｗ４１、パラレル伝送路にＯＤＤモードのデータ信号（シングルエンド信号）が出力された場合の波形である。また、破線で表される第２のアイパターンｗ４２は、ＥＶＥＮモードのデータ信号が出力された場合の波形である。また、矢印ｙ４１は、第３の伝送路長の場合に発生する遅延ペナルティを示す。
【０２１８】
第３の伝送路長は、第２の伝送路長よりさらに長い。第３の伝送路長の場合、アイパターンが膨らんだ後に反射波が戻ってくる。これにより、アイパターンのセットアップ側のエッジがアイの外側に膨らみ（波形的には進める方向）アイパターンが最も開く。したがって、第３の伝送路長の場合、遅延ペナルティは小さくなる。
【０２１９】
図３６〜図３８に示すように、負荷に行って戻ってくる反射波が、アイパターンの開口の形状に対して、どの時間で帰ってくるかによってアイパターンの形状が決定される。アイパターンの形状が変化することによって、遅延ペナルティも変動する。反射波の影響によるアイパターンの波形を予測することは容易ではない。したがって、伝送路長を変化させた回路シミュレーションを行って解析し、伝送路長に応じたデータ信号の遅延ペナルティ（図３６〜図３８）に基づいてＰＣＢクロストーク遅延変動解析結果２８を作成する。
【０２２０】
また、図示していないが、データストローブ信号についても、シミュレーションによって、伝送路長に応じたデータストローブ信号のスキューが観測される。ＰＣＢクロストーク遅延変動解析結果２８は、さらに、伝送路に応じた、データストローブ信号のスキューの値を有する。
【０２２１】
図３９は、ＰＣＢクロストーク遅延変動解析結果２８の一例を説明する図である。図３９の横軸は、プリント基板２００の伝送路長（ｍｍ）を示し、縦軸は、遅延ペナルティ、及び、スキューを示す。また、点線ｄｐ１１はデータ信号の遅延ペナルティを示し、一点鎖線ｓｋ１１はデータストローブ信号のスキューを示す。また、実線ｘｔ１１は、データ信号の遅延ペナルティｄｐ１１とデータストローブ信号のスキューｓｋ１１とを合計した遅延変動量を示す。
【０２２２】
図３９によると、プリント基板２００の伝送路長が「３０ｍｍ」の場合に、データ信号のアイパターンが最も開くため、データ信号の遅延ペナルティｄｐ１１が最も抑えられる。ただし、伝送路長が「３０ｍｍ」の場合、データストローブ信号のスキューｓｋ１１は大きくなる。図３９の例によると、プリント基板２００の伝送路長が「３０ｍｍ」、「５５ｍｍ」の場合、反射波の影響によって、データストローブ信号のスキューｓｋ１１が大きくなってしまう。データストローブ信号のトグルは、データ信号のアイパターンの中央のタイミングで生じることが望ましい。これは、データ信号の受信側のＤＤＲメモリにおいて、セットアップとホールドのタイミングマージンの均衡を保つためにも、重要となる。
【０２２３】
図３９によると、プリント基板２００の伝送路長が「２０ｍｍ」、「４０ｍｍ」の場合に、データ信号の遅延ペナルティｄｐ１１が大きくなる。また、伝送路長が「３０ｍｍ」、「５０ｍｍ」の場合に、データストローブ信号のスキューｓｋ１１が大きくなる。したがって、遅延変動量は、伝送路長が「１５ｍｍ」、「３０ｍｍ」、「４５ｍｍ」の場合ｒ１〜ｒ３の位置で大きく変動する。
【０２２４】
次に、図３４で説明したＰＣＢ線路長依存性検索モジュール２３４の処理を、図４０にしたがって説明する。
【０２２５】
［ＰＣＢ線路長依存性検索モジュール］
図４０は、図３４に示したＰＣＢ線路長依存性検索モジュール２３４の処理を説明するフローチャート図である。
【０２２６】
Ｓ５０１：ＰＣＢ線路長依存性検索モジュール２３４は、幅「ｗｐ」及び奥行き「ｈｐ」の値を取得する。幅「ｗｐ」及び奥行き「ｈｐ」の値は、図１６で前述したとおりである。ＰＣＢ線路長依存性検索モジュール２３４は、差動−シングルエンド間距離を所定の値に設定した場合の、幅「ｗｐ」及び奥行き「ｈｐ」の値を取得する。この例では、「ｌｅｎ＝２」とする。「ｌｅｎ＝２」に設定した場合、幅「ｗｐ＝２」、奥行き「ｈｐ＝３」となる。
【０２２７】
Ｓ５０２：ＰＣＢ線路長依存性検索モジュール２３４は、幅「ｗｐ」及び奥行き「ｈｐ」の値に基づいて、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐ、及び、グランドボール「Ｇ」１５１ｇの数Ｎｇを取得する。そして、ＰＣＢ線路長依存性検索モジュール２３４は、図１７に示す電磁界解析情報２５を参照し、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数Ｎｐに基づいて、電源インダクタンスＬｐ及び抵抗Ｒｐを取得する。また、ＰＣＢ線路長依存性検索モジュール２３４は、図１８に示す電磁界解析情報２５を参照し、グランドボール「Ｇ」１５１ｇの数Ｎｇに基づいて、電源インダクタンスＬｇ及び抵抗Ｒｇを取得する。工程Ｓ５０２の処理は、第１の実施の形態例における工程Ｓ３０３（図２６）と同様である。
【０２２８】
第１の実施の形態例で説明したとおり、ＰＣＢ線路長依存性検索モジュール２３４は、例えば、Ｉ／Ｏ電源ボール「Ｐ」１５１ｐの数「Ｎｐ＝３」、及び、グランドボール「Ｇ」１５１ｇの数「Ｎｇ＝３」を取得する。ＰＣＢ線路長依存性検索モジュール２３４は、図１７に示す電磁界解析情報２５を参照し、「Ｎｐ＝３」に基づいて、電源インダクタンスＬｐ「１．０２ｎＨ」及び抵抗Ｒｐを取得する。また、ＰＣＢ線路長依存性検索モジュール２３４は、図１８に示す電磁界解析情報２５を参照し、「Ｎｇ＝３」に基づいて、電源インダクタンスＬｇ「０．４８ｎＨ」及び抵抗Ｒｇを取得する。
【０２２９】
Ｓ５０３：ＰＣＢ線路長依存性検索モジュール２３４は、Ｉ／Ｏ電源の電源インダクタンスＬｐと、グランドの電源インダクタンスＬｇとの合計値「１．５ｎＨ」に基づいて、図３５に示したＳＳＮ遅延変動解析結果情報２７を参照し、遅延ペナルティを取得する。図３５のＳＳＮ遅延変動解析結果情報２７によると、インダクタンス値「１．５ｎＨ」に対応する、同時スイッチングノイズに基づく遅延ペナルティは、値「１５０ｐｓ」である。
【０２３０】
Ｓ５０４：ＰＣＢ線路長依存性検索モジュール２３４は、プリント基板２００の伝送路長に基づいて、クロストークに基づく遅延ペナルティを取得する。ＰＣＢ線路長依存性検索モジュール２３４は、図３９に示した、ＰＣＢクロストーク遅延変動解析結果２８を参照し、遅延変動量ｘｔ１１を取得する。
【０２３１】
また、遅延変動量ｘｔ１１には、工程Ｓ５０３で取得した遅延ペナルティ（この例では、１５０ｐｓ）が合算される。なお、工程Ｓ５０３で取得した、同時スイッチングノイズに基づく遅延ペナルティｘｔ１１は、プリント基板２００の伝送路長に応じて変動しない。したがって、遅延ペナルティが最小となる伝送路長は、実質的に、ＰＣＢクロストーク遅延変動解析結果２８に基づく遅延ペナルティが最小となる伝送路長となる。
【０２３２】
ＰＣＢ線路長依存性検索モジュール２３４は、伝送路長を変動させて、遅延ペナルティが最小となる伝送路長を取得する。図３９のＰＣＢクロストーク遅延変動解析結果２８の例によると、遅延変動量ｘｔ１１が最小となる伝送路長は、３５ｍｍである。したがって、ＰＣＢ線路長依存性検索モジュール２３４は、プリント基板２００の伝送路長「３５ｍｍ」を取得する。
【０２３３】
以上のように、第２の実施の形態例における半導体パッケージの設計方法では、半導体パッケージと接続するプリント基板内の出力信号の伝送路長と、出力信号の第３の遅延変動量との対応情報に基づいて、プリント基板の伝送路長を取得する。これにより、第１の実施の形態例における効果に加えて、同時スイッチングノイズ及びクロストークによる遅延変動量を最小にするプリント基板２００の伝送路長を取得することが可能になる。
【０２３４】
また、第２の実施の形態例における半導体パッケージの設計方法において、第３の遅延変動量は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量との演算（例えば加算）である。これにより、差動信号の遅延変動量と、シングルエンド信号の遅延変動量との演算（例えば加算）が小さくなるような、プリント基板２００の伝送路長を取得可能になる。
【０２３５】
［他の実施の形態例例］
第１、第２の実施の形態例では、Ｉ／Ｏセルの同時スイッチングノイズに基づく遅延変動量を取得する場合を説明した。同一のＩ／Ｏ電源と接続する出力専用Ｉ／Ｏセル、または、双方向Ｉ／Ｏセルが出力状態であって、入力専用Ｉ／Ｏセル、または、双方向Ｉ／Ｏセルが入力状態の場合、双方向、出力専用Ｉ／Ｏセルが発生するノイズによって遅延変動が発生する。したがって、同時スイッチングノイズによる遅延変動量に加えて、さらに、ＳＳＩ（Simultaneous Switching Interference／Simultaneous Switching Input：ＳＳＩ）による遅延変動量を計算してもよい。
【０２３６】
また、第１、第２の実施の形態例では、ＢＧＡ半導体パッケージを例示しているが、この例に限定されるものではない。本実施の形態例における割り当て処理は、ＰＧＡ（Pin Grid Array：ＰＧＡ）半導体パッケージ等の他の種類の半導体パッケージにも適用可能である。
【０２３７】
また、第１、第２の実施の形態例では、繰り返しの規則性のない信号が割り当てられるＢＧＡボール１５１については説明していない。繰り返しの規則性のない信号は、例えば、ＤＤＲメモリインターフェースにおいて、アドレス、コマンド、コントロールおよびクロック信号等である。繰り返しの規則性のない信号に対しても、本実施の形態例におけるＢＧＡボール１５１の割り当て処理は適用可能である。この場合、クロック信号は差動信号に対応し、アドレス、コマンド、コントロール信号は、シングルエンド信号に対応する。
【０２３８】
以上の実施の形態をまとめると、次の付記のとおりである。
【０２３９】
（付記１）
半導体パッケージに配列された複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、
前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【０２４０】
（付記２）
付記１において、
前記計算は、パラレルインターフェースの差動信号を割り当てる前記接続端子と、シングルエンド信号を割り当てる前記接続端子との距離に応じた半導体パッケージの伝送路の等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【０２４１】
（付記３）
付記１または２において、
前記決定は、前記第１の遅延変動量と前記第２の遅延変動量との演算に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【０２４２】
（付記４）
付記１乃至３のいずれかにおいて、
前記計算は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第１、第２の遅延変動量を計算する、半導体パッケージの設計方法。
【０２４３】
（付記５）
付記２乃至４のいずれかにおいて、
前記計算は、前記距離に応じて、電源端子が割り当てられる接続端子の数と、前記距離に応じて、グランド端子が割り当てられる接続端子の数とに基づいた、前記等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【０２４４】
（付記６）
付記２乃至５のいずれかにおいて、
前記計算は、複数の前記距離の前記出力信号の第１、第２遅延変動量を計算し、
前記決定は、前記第１の遅延変動量と前記第２の遅延変動量との演算が最小となる前記距離に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計方法。
【０２４５】
（付記７）
付記５において、
前記計算は、前記電源端子が割り当てられる接続端子の数に基づいて第１の電気特性を取得し、前記グランド端子が割り当てられる接続端子の数に基づいて第２の電気特性を取得し、前記第１、第２の電気特性を入力した前記等価回路モデルに基づく第１、第２遅延変動量を計算する、半導体パッケージの設計方法。
【０２４６】
（付記８）
付記１乃至７のいずれかにおいて、
前記計算、前記決定は、パラレルインターフェースのバイトごとに実行する、半導体パッケージの設計方法。
【０２４７】
（付記９）
付記７において、
前記計算は、前記半導体パッケージの伝送路長に応じて異なる前記第１、第２の電気特性を取得する、半導体パッケージの設計方法。
【０２４８】
（付記１０）
付記１乃至９のいずれかにおいて、さらに、
前記半導体パッケージと接続するプリント基板内の前記出力信号の伝送路長と、前記出力信号の第３の遅延変動量との対応情報に基づいて、前記プリント基板の伝送路長を計算する、半導体パッケージの設計方法。
【０２４９】
（付記１１）
付記１０において、
前記伝送路長の計算は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第３の遅延変動量を計算する、半導体パッケージの設計方法。
【０２５０】
（付記１２）
半導体パッケージに配列された複数の接続端子の端子配置を記憶する記憶部と、
前記複数の接続端子のそれぞれに出力される出力信号の同時スイッチングノイズによる第１の遅延変動量と、前記出力信号間のクロストークによる第２の遅延変動量を計算し、前記第１の遅延変動量と前記第２の遅延変動量とに基づいて、前記接続端子の端子配置を決定する処理部と、
を有する半導体パッケージの設計装置。
【０２５１】
（付記１３）
付記１２において、
前記処理部は、パラレルインターフェースの差動信号を割り当てる前記接続端子と、シングルエンド信号を割り当てる前記接続端子との距離に応じた半導体パッケージの伝送路の等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計装置。
【０２５２】
（付記１４）
付記１２または１３において、
前記処理部は、前記第１の遅延変動量と前記第２の遅延変動量との演算に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計装置。
【０２５３】
（付記１５）
付記１２乃至１４のいずれかにおいて、
前記処理部は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第１、第２の遅延変動量を計算する、半導体パッケージの設計装置。
【０２５４】
（付記１６）
付記１３乃至１５のいずれかにおいて、
前記処理部は、前記距離に応じて、電源端子が割り当てられる接続端子の数と、前記距離に応じて、グランド端子が割り当てられる接続端子の数とに基づいた、前記等価回路モデルに基づき、前記出力信号の第１、第２遅延変動量を計算する、半導体パッケージの設計装置。
【０２５５】
（付記１７）
付記１３乃至１６のいずれかにおいて、
前記処理部は、複数の前記距離の前記出力信号の第１、第２遅延変動量を計算し、前記第１の遅延変動量と前記第２の遅延変動量との演算が最小となる前記距離に基づいて、前記接続端子の端子配置を決定する、半導体パッケージの設計装置。
【０２５６】
（付記１８）
付記１６において、
前記処理部は、前記電源端子が割り当てられる接続端子の数に基づいて第１の電気特性を取得し、前記グランド端子が割り当てられる接続端子の数に基づいて第２の電気特性を取得し、前記第１、第２の電気特性を入力した前記等価回路モデルに基づく第１、第２遅延変動量を計算する、半導体パッケージの設計装置。
【０２５７】
（付記１９）
付記１２乃至１８のいずれかにおいて、
前記処理部は、パラレルインターフェースのバイトごとに実行する、半導体パッケージの設計装置。
【０２５８】
（付記２０）
付記１８において、
前記処理部は、前記半導体パッケージの伝送路長に応じて異なる前記第１、第２の電気特性を取得する、半導体パッケージの設計装置。
【０２５９】
（付記２１）
付記１２乃至２０のいずれかにおいて、
前記処理部は、さらに、前記半導体パッケージと接続するプリント基板内の前記出力信号の伝送路長と、前記出力信号の第３の遅延変動量との対応情報に基づいて、前記プリント基板の伝送路長を計算する、半導体パッケージの設計装置。
【０２６０】
（付記２２）
付記２１において、
前記処理部は、差動信号の遅延変動量と、シングルエンド信号の遅延変動量とを演算して、前記第３の遅延変動量を計算する、半導体パッケージの設計装置。
【符号の説明】
【０２６１】
１００：半導体パッケージ、１５１：ＢＧＡボール、２００：プリント基板、２５０：はんだボール、３００：シリコンチップ、３０１：バンプ
【図１】
2016045613.tif 000003
【図２】
2016045613.tif 000004
【図３】
2016045613.tif 000005
【図４】
2016045613.tif 000006
【図５】
2016045613.tif 000007
【図６】
2016045613.tif 000008
【図７】
2016045613.tif 000009
【図８】
2016045613.tif 000010
【図９】
2016045613.tif 000011
【図１０】
2016045613.tif 000012
【図１１】
2016045613.tif 000013
【図１２】
2016045613.tif 000014
【図１３】
2016045613.tif 000015
【図１４】
2016045613.tif 000016
【図１５】
2016045613.tif 000017
【図１６】
2016045613.tif 000018
【図１７】
2016045613.tif 000019
【図１８】
2016045613.tif 000020
【図１９】
2016045613.tif 000021
【図２０】
2016045613.tif 000022
【図２１】
2016045613.tif 000023
【図２２】
2016045613.tif 000024
【図２３】
2016045613.tif 000025
【図２４】
2016045613.tif 000026
【図２５】
2016045613.tif 000027
【図２６】
2016045613.tif 000028
【図２７】
2016045613.tif 000029
【図２８】
2016045613.tif 000030
【図２９】
2016045613.tif 000031
【図３０】
2016045613.tif 000032
【図３１】
2016045613.tif 000033
【図３２】
2016045613.tif 000034
【図３３】
2016045613.tif 000035
【図３４】
2016045613.tif 000036
【図３５】
2016045613.tif 000037
【図３６】
2016045613.tif 000038
【図３７】
2016045613.tif 000039
【図３８】
2016045613.tif 000040
【図３９】
2016045613.tif 000041
【図４０】
2016045613.tif 000042