(57)【要約】【課題】  本発明の課題は、チップ内配線とパッケージ内配線とを考慮した効率的なエリアバンプアサインを実現し、ＩＯ部の電源配線抵抗を低く抑えた半導体装置の設計を行うことを目的とする。【解決手段】  上記課題は、チップの複数のＩＯ部にバンプを割り当て、前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する処理をコンピュータが行うことを特徴とする半導体装置の設計方法により達成される。【選択図】  図１２
2016110205.tif 000002
【特許請求の範囲】
【請求項１】
チップの複数のＩＯ部にバンプを割り当て、
前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、
前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する
処理をコンピュータが行うことを特徴とする半導体装置の設計方法。
【請求項２】
前記コンピュータは、
電流ループ面積の基準が前記ボイド内の前記ビアの基準個数で与えられた基準レベルを参照して、前記パッケージの品質を満たすか否かを判断し、
前記ボイド内の前記ビアの個数が前記基準レベルを満たさない場合、該ボイド内及び該ボイド周辺のビアの配置を変更して、該ボイド内で隣接する前記電源のビアの本数を少なくする
ことを特徴とする請求項１記載の半導体装置の設計方法。
【請求項３】
前記コンピュータは、
前記電源のビアと前記グランドのビアとが交互になるように前記バンプの割り当てを変更する
ことを特徴とする請求項２記載の半導体装置の設計方法。
【請求項４】
前記コンピュータは、
前記ボイド内の前記電源のビアと該ボイド外の前記グランドのビアとを入れ替えて前記バンプの割り当てを変更する
ことを特徴とする請求項３記載の半導体装置の設計方法。
【請求項５】
前記コンピュータは、
前記複数のＩＯ部のうち、前記電源のＩＯ部及び前記グランドのＩＯ部とに対して、最短距離で前記バンプを割り当てる
ことを特徴とする請求項１乃至４のいずれか一項記載の半導体装置の設計方法。
【請求項６】
チップの複数のＩＯ部にバンプを割り当て、
前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、
前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する
処理をコンピュータに行わせることを特徴とする半導体装置の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法及びプログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路（以下、「チップ」と言う）は、電極数の増加、実装面積の制約等からＢＧＡ（Ball Grid Array）により基板に実装されるようになっている。
【０００３】
ＢＧＡは、リード端子を部品周辺に持つＱＦＰ（Quad Flat Package）等に比べて実装面積を小さくできる一方で、構造上の違いから、チップ上のバンプからパッケージ基板の外部端子までの配線及び接続に関して、種々の技術が提案されている。
【０００４】
例えば、チップ上のバンプからパッケージ基板の外部端子までの接続ネットが所定の設計ルールに違反しているか否かを検証する技術が知られている。
【０００５】
また、電極パッドのインダクタンス及び各ＩＯ（Input/Output）セルのドライブファクタを用いて、入出力パッドの各々についてノイズリスクを算出し、ノイズリスクの分布に基づき電極パッドの追加、削除、位置変更等を行う技術が提案されている。
【０００６】
更に、半導体パッケージのボール間のピッチ、パッド径、及びボール列をもとに予定のプリント基板において配線がピン間を通せるか否かを判定して、各ピンのＩＯセルに関する情報をピン定義表に反映する技術等が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−４７８２９号公報
【特許文献２】特開２００９−１４０２２５号公報
【特許文献３】特開２００５−２５９０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＦＣＢＧＡ（Flip Chip BGA）等でよく用いられるエリアバンプ構造においては、ＩＯ数の増加により、コア側のバンプ奥深くまで（コア中心方向の奥深くまで）、ＩＯ信号、電源などが配置されるようになっている。その為、バンプからＩＯ間配線が細長くなり抵抗が増加する傾向にある。その抵抗増によるＩＲ−Ｄｒｏｐに起因する電源ノイズの影響で、波形品質劣化や遅延変動によるタイミング違反が発生しやすくなってきている。
【０００９】
また、回路設計では、パッケージ設計と、チップ設計とを別々のツールを用いて個別にバンプをアサインしている為、配線が高密度化する状況において、効率的な配線を行うことが困難である。また、ＩＯ数の増加により、ＩＯ部の電源配線抵抗の増加を抑えることが困難である。
【００１０】
上述した技術では、チップ内配線とパッケージ内配線とを考慮したエリアバンプアサインを行うことが困難であるため、上述した課題を解決することが難しい。
【００１１】
したがって、１つの側面では、本発明は、チップ内配線とパッケージ内配線とを考慮した効率的なエリアバンプアサインを実現し、ＩＯ部の電源配線抵抗を低く抑えた半導体装置の設計を行うことを目的とする。
【課題を解決するための手段】
【００１２】
一態様によれば、チップの複数のＩＯ部にバンプを割り当て、前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する処理をコンピュータが行うことを特徴とする半導体装置の設計方法が提供される。
【００１３】
また、上記課題を解決するための手段として、コンピュータに上記処理を実行させるためのプログラム等とすることもできる。
【発明の効果】
【００１４】
チップ内配線とパッケージ内配線とを考慮した効率的なエリアバンプアサインを実現し、ＩＯ部の電源配線抵抗を低く抑えた半導体装置の設計を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】ＦＣＢＧＡのパッケージ断面図である。
【図２】配線例を示す図である。
【図３】関連技術におけるバンプアサイン処理を説明するためのフローチャート図である。
【図４】グランド及びＩＯ電源バンプをスクライブ側に配置した場合のチップ内配線例を示す図である。
【図５】図４のバンプ配置におけるパッケージ内配線例を示す図である。
【図６】第１層目及び第２層目でのパッケージ内配線例を示す図である。
【図７】第２層での迂回したパッケージ内配線例を示す図である。
【図８】領域の例を示す図である。
【図９】本実施例におけるバンプアサイン方法の概要を説明するための図である。
【図１０】設計装置のハードウェア構成を示す図である。
【図１１】設計装置の機能構成例を示す図である。
【図１２】バンプ配置処理の全体処理を説明するためのフローチャート図である。
【図１３Ａ】ステップＦ１のチップ側での処理を説明するための図である。
【図１３Ｂ】ステップＦ１のパッケージ側での処理を説明するための図である。
【図１４Ａ】ステップＦ２のチップ側の処理を説明するための図である。
【図１４Ｂ】ステップＦ３のパッケージ側の処理を説明するための図である。
【図１５Ａ】ステップＦ４のチップ側での処理を説明するための図である。
【図１５Ｂ】ステップＦ４のパッケージ側での処理を説明するための図である。
【図１６】ステップＦ５のチップ側の処理を説明するためのフローチャート図である。
【図１７】ステップＦ５〜Ｆ７での処理結果例を示す図である。
【図１８】電流ループ面積判断基準レベルの例を示す図である。
【図１９Ａ】ステップＦ８及びＦ９のパッケージ側の処理を説明するためのフローチャート図である。
【図１９Ｂ】ステップＦ１０のチップ側の処理を説明するためのフローチャート図である。
【図２０】レベルの改善例を示す図である。
【図２１】バンプアサインの比較例を示す図である。
【図２２】パッケージ内配線の配置方法を説明するための図である。
【図２３】チップのレイアウト表示例を示す図である。
【図２４】バンプアサインに対応した、パッケージのレイアウト表示例を示す図である。
【図２５】重ね合せのレイアウト表示例を示す図である。
【図２６】他の表示例を示す図である。
【図２７】レイアウト表示処理を説明するための図（続く）である。
【図２８】レイアウト表示処理を説明するための図（続き）である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例では、図１に示すようなＦＣＢＧＡ(Flip Chip Ball Grid Array)を半導体パッケージ１の一例として示し、以下、半導体パッケージ１の設計方法について説明する。
【００１７】
図１は、ＦＣＢＧＡのパッケージ断面図である。図１に示す半導体パッケージ１では、ＦＣＢＧＡのチップ２を実装した状態を示している。チップ２は、インターポーザ５に電気的に接合され、チップ２とインターポーザ５との隙間はアンダーフィル４で補強される。
【００１８】
チップ２は、バンプ３を介してパッケージ内配線８ｐ（図２（Ａ））に接合され、パッケージ１０は、ボール７（半田ボール）を介して種々の基板に実装される。インターポーザ５は、複数の配線層（第１層、第２層、第３層、・・・）を有し、層間の配線は、ビア６により接続される。インターポーザ５の各層の配線が、パッケージ内配線８ｐに相当する。
【００１９】
以下、チップ２の側面を境界として、チップ２の内側をコア側、チップ２の外側をスクライブ側と言う。
【００２０】
図２は、配線例を示す図である。図２（Ａ）では、パッケージ内の配線例を示し、図２（Ｂ）では、チップ内の配線例を示している。以下、バンプ３を、信号バンプ３ａ、グランドバンプ３ｂ、及びＩＯ電源バンプ３ｃで区別する場合がある。
【００２１】
通常、パッケージ設計では、信号配線の結線を優先する為、信号バンプ３ａをスクライブ側に集中配置し、第１層で信号線を引き出す。それに伴い、ＩＯ電源バンプ３ｃは、コア側に集中配置され、ビア６を経由して第２層以下の内層に接続するインターポーザ５の端子に接続される。
【００２２】
上述したようなバンプアサインは、チップ２及びパッケージ１０の夫々において、ＥＤＡ（electronic design automation）ツール等により行われる。その一例を本実施例の関連技術として図３に示す。
【００２３】
図３は、関連技術におけるバンプアサイン処理を説明するためのフローチャート図である。図３において、関連技術では、チップ側ＥＤＡツール２ｔと、パッケージ側ＥＤＡツール１０ｔとによって、個別にバンプアサイン処理が行われる。
【００２４】
チップ側ＥＤＡツール２ｔは、チップ２を上面から見た視点（チップトップビュー）でバンプアサイン処理を行う。パッケージ側ＥＤＡツール１０ｔは、パッケージ１０を上面から見た視点（パッケージトップビュー）で、チップ側ＥＤＡツール２ｔによるバンプアサイン処理の結果に基づいて、バンプとボール間を接続する。
【００２５】
チップ側ＥＤＡツール２ｔは、チップ設計ルールを設定し、電源、グランド、及び信号を設定する（ステップＳ１１）。そして、チップ側ＥＤＡツール２ｔは、ＩＯ９の配置を定めたＩＯアサインを取り込み、バンプレイアウトを作成する（ステップＳ１２）。
【００２６】
そして、チップ側ＥＤＡツール２ｔは、チップ２にバンプをアサインする（ステップＳ１３）。信号バンプ３ａは、スクライブ側へ集中配置し、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂは、コア側へ集中配置する（ステップＳ１３）。
【００２７】
次に、チップ側ＥＤＡツール２ｔは、ＩＯ９とバンプ３間を接続する（ステップＳ１４）。その後、チップ側ＥＤＡツール２ｔは、ＩＯ９とＩＯ電源バンプ３ｃ間の抵抗が、設計ルールを満たすか否かを判断する（ステップＳ１５）。抵抗が設計ルールを満たさない場合（ステップＳ１５のＮＯ）、チップ側ＥＤＡツール２ｔは、ステップＳ１２へ戻り、上述同様の処理を繰り返す。一方、抵抗が設計ルールを満たす場合（ステップＳ１５のＹＥＳ）、チップ側ＥＤＡツール２ｔは、バンプアサインを出力する。バンプアサインが仮決めされる。
【００２８】
一方、パッケージ側ＥＤＡツール１０ｔは、パッケージ設計ルールを設定し、電源、グランド、及び信号を設定する（ステップＳ２１）。そして、パッケージ側ＥＤＡツール１０ｔは、ボールアサインを取り込む（ステップＳ２２）。
【００２９】
更に、パッケージ側ＥＤＡツール１０ｔは、チップ側ＥＤＡツール２ｔが出力したバンプアサインを取り込む（ステップＳ２３）。次に、信号バンプ３ａとボール７間を接続し（ステップＳ２４）、ＩＯ電源バンプ及びグランドバンプとボール７間を接続する（ステップＳ２５）。
【００３０】
そして、パッケージ側ＥＤＡツール１０ｔは、ＩＯ電源バンプ３ｃとボール７間の抵抗が、パッケージ設計ルールを満たすか否かを判断する（ステップＳ２６）。抵抗がパッケージ設計ルールを満たす場合（ステップＳ２６のＹＥＳ）、設計完了となる（ステップＳ３０）。
【００３１】
一方、抵抗がパッケージ設計ルールを満たさない場合（ステップＳ２６のＮＯ）、チップ２側のステップＳ１２から処理を行い、バンプ３ａのアサインをやり直す。チップ２側のステップＳ１２へ戻りは、処理時間を相当に費やすこととなる。
【００３２】
信号数がそれほど多くない場合、上述したバンプアサインでも配線抵抗の問題が顕著になることは無いが、近年の信号数急増に伴い、ＩＯ電源バンプ３ｃがチップ２の中心方向へ押しやられ、結果的に、チップ２内のＩＯとバンプ間の配線が長くなりＩＯ電源の抵抗が増大している。チップ２側のステップＳ１２へ戻りが繰り返される可能性がある。
【００３３】
チップ２内の配線（以下、チップ内配線８ｃという）は、パッケージ内配線８ｐのように平坦化したり、太幅化できない為、配線抵抗は、バンプ３とＩＯ９間の距離でほぼ決まってしまう。チップ内配線８ｃを短くするために、グランドバンプ３ｂとＩＯ電源バンプ３ｃとをスクライブ側に、信号バンプ３ａをコア側に配置した場合について以下に考察する。
【００３４】
図４は、グランド及びＩＯ電源バンプをスクライブ側に配置した場合のチップ内配線例を示す図である。図４に示す例では、信号バンプ３ａよりもグランドバンプ３ｂ及びＩＯ電源バンプ３ｃがよりスクライブ側に配置される。
【００３５】
このような場合、グランドバンプ３ｂのチップ内配線８ｃは短くなり、配線抵抗を低減させることができる。一方、信号バンプ３ａが、コア側の奥に押しやられる。
【００３６】
図５は、図４のバンプ配置におけるパッケージ内配線例を示す図である。図５において、第１層がパッケージ１０の表面層に相当し、第２層がパッケージ１０のグランド層に相当し、第３層が電源層に相当する。また、上方をコア側、下方をスクライブ側とする。
【００３７】
図５（Ａ）は、パッケージ１０の第１層の配線例を示す。図５（Ａ）に示すように、４つの信号バンプ３ａ−１、３ａ−２、３ａ−３、及び３ａ−４からの信号配線は第１層で引き出せているのに対して、信号バンプ３ａ'からの信号配線が第１層では引き出せない。引き出せない信号配線を破線で示している。この場合、信号バンプ３ａ'からの信号配線を第２層で行う。
【００３８】
図５（Ｂ）は、パッケージ１０の第２層における、信号バンプ３ａ'の配置位置周辺を示している。図５（Ｂ）において、信号ビア６ａ'は、第１層で信号バンプ３ａ'と接続されるビアである。
【００３９】
図５（Ｂ）に示すように、信号バンプ３ａ'から信号ビア６ａ'を介して第２層で信号線を引き出そうとしても、第１層において、信号バンプ３ａ'よりスクライブ側に配置された３つのＩＯ電源バンプ３ｃにより、第２層では、ＩＯ電源バンプ３ｃに接続されるＩＯ電源ビア６ｃが壁のようになり、信号配線を引き出せない。引き出せない信号配線を破線で示している。更に、信号バンプ３ａ'からの信号配線を第３層で行うことを試みる。
【００４０】
図５（Ｃ）は、パッケージ１０の第３層における、信号バンプ３ａ'の配置位置周辺を示している。図５（Ｃ）に示すように、第３層においても、信号バンプ３ａ'から信号ビア６ａ'を介して第３層で信号線を引き出そうとしても、ＩＯ電源ビア６ｃが壁のようになり、信号配線を引き出せない。引き出せない信号配線を破線で示している。
【００４１】
このように、スクライブ側に配置されたＩＯ電源バンプ３ｃ及びグランドバンプ３ｂの配置によっては、これらＩＯ電源バンプ３ｃ及びグランドバンプ３ｂの夫々と接続されるＩＯ電源ビア６ｃ及びグランドビア６ｂが壁のようになり信号配線を引き出せない可能性がある。
【００４２】
更に、このように連なったＩＯ電源ビア６ｃ及び／又はグランドビア６ｂの配置は、第１層の信号リターンパスを大きく損なうこととなり、信号の特性劣化を招く。
【００４３】
図６は、第１層目及び第２層目でのパッケージ内配線例を示す図である。図６では、第１層の各信号バンプ３ａ−１、３ａ−２、３ａ−３、３ａ−４、及び３ａ'と、各信号バンプ３ａ−１、３ａ−２、３ａ−３、及び３ａ−４からの信号配線と、第２層（グランド層）の信号ビア６ａ'、グランドビア６ｂ、ＩＯ電源ビア６ｃの配置とを重ねて示している。
【００４４】
連なったＩＯ電源ビア６ｃの為、第１層のリターンパス９ｒが大きく迂回し、信号品質が劣化する可能性がある。所望のリターンパスは点線で示している。大きく迂回するリターンパス９ｒにより、電気学的にループの面積が大きくなり、インダクタンスの値が大きくなってしまう。即ち、ノイズが大きくなる。
【００４５】
上述したように、通常、チップ２の設計者は、パッケージ１０の設計状況（ビア６の配置を含む）は分からない。また、パッケージ１０の設計者は、チップ２の設計状況（信号バンプ３ａの配置を含む）は分からない。
【００４６】
上述したような、チップ２とパッケージ１０とが別々で設計される環境では、今後さらなるＩＯ数の増加に伴うＩＯ電源の抵抗増加に対応するためには、互いの設計の確認を行うイタレーションが多発し、十分に対応することが困難である。
【００４７】
第１層又は第２層で信号ビア６ａ'を介して配線する場合について図７及び図８で説明する。図７は、第２層での迂回したパッケージ内配線例を示す図である。図７では、信号バンプ３ａ'からの信号線を、信号ビア６ａ'を介して第２層まで引き出し、連なるＩＯ電源ビア６ｃを迂回して配線した場合を示している。
【００４８】
迂回するパッケージ内配線８ｐにより、前述したように、第１層の信号バンプ３ａ−３のパッケージ内配線８ｐに対するリターンパス９ｒが発生し、信号の特性が劣化する恐れがある。
【００４９】
図８は、領域の例を示す図である。図８（Ａ）では、第２層（グランド層）における、信号ビア６ａ'を含む領域９ａの例を示す。図８（Ａ）に示すように、領域９ａにおいて、連なるＩＯ電源ビア６ｃの左右に余裕がないため、信号ビア６ａ'から信号線を迂回させて配線することができない。
【００５０】
図８（Ｂ）では、第３層（電源層）における、信号ビア６ａ'を含む領域９ｂの例を示す。図８（Ｂ）に示すように、第３層においても、領域９ｂにおいて、連なるＩＯ電源ビア６ｃの左右に余裕がないため、信号ビア６ａ'から信号線を迂回させて配線することができない。
【００５１】
図８（Ａ）及び図８（Ｂ）で例示したように、マクロによっては、パッケージ１０側の特定の領域を超えて信号線を配置してはならない場合がある。そのような制限において、ＩＯ電源ビア６ｃ及び／又はグランドビア６ｂが邪魔になり、信号線の引き回しが困難になる場合がある。
【００５２】
本実施例では、バンプアサインをチップ内配線８ｃとパッケージ内配線８ｐとを同一ＥＤＡツールで行い、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂの配置を入れ替えて、ＩＯ電源ビア６ｃに係る電流ループ面積を小さくすることで、信号線の配線性を改善する。配線性の良いバンプアサインによって、ＩＯ数が増加した場合であっても、ＩＯ電源の配線抵抗の増加を低減できる。
【００５３】
図９は、本実施例におけるバンプアサイン方法の概要を説明するための図である。図９において、下方をスクライブ側、上方をコア側とする。また、ＩＯアサインとボールアサインとは、既に、決まっている、又は、仮決めされているとする。
【００５４】
本実施例では、ＩＯ９から最短距離のバンプ３にＩＯ電源とグランドとを配置させる。ＩＯ電源を配置したバンプ３をＩＯ電源バンプ３ｃで示し、グランドを配置したバンプ３をグランドバンプ３で示す。以下の説明において、信号バンプ３ａ、グランドバンプ３ｂ、及び電源バンプ３ｃを総称してバンプ３と言う。
【００５５】
チップ２側のＩＯ電源とグランドの配置に応じて、パッケージ１０側において、電流ループ面積１０ｑ（（図９（Ｂ））が基準以下になっているか否かを確認する。
【００５６】
基準以下でない場合、ＩＯ９と、電源バンプ３ｃ及びグランドバンプ３ｂとの距離を離し、電源バンプ３ｃとグランドバンプ３ｂとが交互になるように配置する。ＩＯ電源とグランド間の電流ループ面積１０ｑが基準以下になるようにバンプアサインにおいて入れ替えを行う。
【００５７】
図９（Ａ）は、チップ内配線の例を示している。図９（Ａ）では、ＩＯ９を１段目と２段目のみを例示しているが、ＩＯ９は３段以上に配置されていてもよい。図９（Ａ）では、パッケージ１０側の判定結果に応じて、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂのＩＯ９からの距離、及び、入れ替えによって調整されたバンプアサインの結果例を示す。
【００５８】
図９（Ｂ）は、パッケージ側のプレーンの例を示す。図９（Ｂ）では、電流ループ面積が基準以下となるバンプアサインに対応した第２層のプレーン（グランドプレーン）の例が示される。電源バンプ３ｃとグランドバンプ３ｂとが交互に配置される。
【００５９】
図９（Ｃ）は、チップ配線とパッケージのプレーンとを重ね合せて表示した例である。本実施例では、チップ配線とパッケージ配線とが同一ＥＤＡツールで行われることで、チップ側でのバンプアサインに応じて、逐次、パッケージ側で電流ループ面積を検証できる。
【００６０】
チップ２側のバンプ３の配置に応じて、パッケージ１０側では、ビア６の配置及び電流ループ面積の検証が行われ、チップ２側ではその検証結果に基づきバンプアサインの調整を行う。調整後のバンプアサインに応じて、パッケージ１０側では、再度、ビア６の配置及び電流ループ面積の検証を行う。本実施例では、このような処理を、同一ＥＤＡツール内で連続したコンピュータ処理で実現するため、電流ループ面積が基準以下とするバンプアサインを効率的に行う。上述した処理を行う設計装置について以下に説明する。
【００６１】
図１０は、設計装置のハードウェア構成を示す図である。図１０において、設計装置１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central Processing Unit）１１と、ＲＡＭ１２と、ＨＤＤ（Hard Disk Drive）１３と、グラフィック処理装置１４と、入力インターフェース１５と、通信インターフェース１６と、ドライブ装置１７とを有し、バス１９に接続される。
【００６２】
ＣＰＵ１１は、ＲＡＭ１２に格納されたプログラムに従って設計装置１００を制御するプロセッサである。ＲＡＭ１２は、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００６３】
ＨＤＤ１３は、各種処理を実行するためのプログラム等のデータを格納する。ＨＤＤ１３に格納されているプログラムの一部がＲＡＭ１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。
【００６４】
グラフィック処理装置１４は、ＣＰＵ１１の制御のもとに、グラフィック処理装置１４に接続されるモニタ１４ａ（表示装置）に各種情報を表示するためのグラフィック処理を行う。
【００６５】
入力インターフェース１５は、入力インターフェース１５に接続されるキーボード１５ａ、マウス１５ｂ等を用いて、ユーザが設計装置１００に入力した、各種情報を受信する。キーボード１５ａ、マウス１５ｂ等は、入力装置１５ｃに相当する。
【００６６】
通信インターフェース１６は、有線又は無線などのネットワーク１６ａを通じて通信を行う。
【００６７】
設計装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって設計装置１００に提供される。
【００６８】
ドライブ装置１７は、ドライブ装置１８にセットされた記憶媒体１７ａと設計装置１００とのインターフェースを行う。
【００６９】
また、記憶媒体１７ａに、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１７ａに格納されたプログラムは、ドライブ装置１７を介して設計装置１００にインストールされる。インストールされたプログラムは、設計装置１００により実行可能となる。
【００７０】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００７１】
図１１は、設計装置の機能構成例を示す図である。図１１において、設計装置１００は、バンプ配置処理部３０を有する。バンプ配置処理部３０は、ＥＤＡツール３００（図１２）の一部分に相当する。バンプ配置処理部３０は、取得部Ｂ１と、変換部Ｂ２と、入力部Ｂ３と、表示部Ｂ４と、特定部Ｂ５と、判断部Ｂ６と、出力部Ｂ７とを有する。
【００７２】
ＨＤＤ１３には、設計ルールＤ１、配線設定テーブルＤ２、ＩＯアサインデータＤ３、ボールアサインデータＤ４、制約条件データＤ５、バンプアサインデータＤ６等が記憶される。
【００７３】
取得部Ｂ１は、バンプ配置処理を行うための種々のデータを取得する。取得部Ｂ１によって、設計ルールＤ１、配線設定テーブルＤ２、ＩＯアサインデータＤ３、ボールアサインデータＤ４、制約条件データＤ５等が、種々の処理に応じて、バンプ配置処理部３０に読み込まれる。
【００７４】
変換部Ｂ２は、ＩＯアサインデータＤ３からＩＯ割当図２ｇ（図１４Ａ）を作成し、ＩＯ座標を変換（Drawing->Actual）してＩＯ９の実際の座標を求める。また、変換部Ｂ２は、ボールアサインデータＤ４からボール割当図１０ｇ（図１４Ｂ）を作成し、バンプ座標を変換（Drawing->Actual）してバンプ３の実際の座標を求める。
【００７５】
入力部Ｂ３は、設計者からバンプレイアウトの指示を受け付ける。入力部Ｂ３は、モニタ１４ａに、バンプレイアウトの設定画面を表示し、設計者によって入力されたバンプレイアウトに係る設定情報をキーボード１５ａ又はマウス１５ｂの入力装置１５ｃから取得する。
【００７６】
表示部Ｂ４は、チップ２のＩＯ９の配置を示すＩＯ配置図２ｇ（図１４Ａ）、パッケージ１０のボール７の配置を示すボール割当図１０ｇ（図１４Ｂ）等をモニタ１４ａに表示する。ＩＯ割当図２ｇ（図１４Ａ）及びボール割当図１０ｇ（図１４Ｂ）は、パッケージ１０の上面から見た視点（パッケージトップビュー）に基づく。
【００７７】
特定部Ｂ５は、ＩＯ９とバンプ３間の距離が最短となるバンプ３を特定する。また、特定部Ｂ５は、制約条件データＤ５の電流ループ面積判断基準レベルＤ５ｃを超過したビア６を含むボイド（VOID）を特定する。
【００７８】
判断部Ｂ６は、特定部Ｂ５によって特定されたボイド内のビア６の配置を変更する。
【００７９】
出力部Ｂ７は、バンプ配置処理による結果を出力する。バンプアサインデータＤ６がＨＤＤ１３に出力され格納される。
【００８０】
設計ルールＤ１は、チップ２の設計ルールＤ１ａ（図１３Ａ）と、パッケージ１０の設計ルールＤ１ｂ（図１３Ｂ）とを含む。
【００８１】
配線設定テーブルＤ２は、ネット名と、ネットの分類とを対応付けたテーブルであり、チップ２の配線に係る配線設定テーブルＤ２ａ（図１３Ａ）と、パッケージ１０の配線に係る配線設定テーブルＤ２ｂ（図１３Ｂ）とを含む。
【００８２】
配線設定テーブルＤ２ａ（図１３Ａ）は、配線設定テーブルＤ２から、分類に文字列「チップ」を含むレコードを抽出して得たテーブルに相当する。配線設定テーブルＤ２ｂ（図１３Ｂ）は、配線設定テーブルＤ２から、分類に文字列「パッケージ」を含むレコードを抽出して得たテーブルに相当する。
【００８３】
ＩＯアサインデータＤ３は、チップ２に配置したＩＯ９毎の配置情報を示す（図１４Ａ）。
【００８４】
ボールアサインデータＤ４は、パッケージ１０に配置したボール７の配置情報を示す（図１４Ｂ）。
【００８５】
制約条件データＤ５は、チップ２のＩＯ−バンプ間の抵抗閾値Ｄ５ａ、パッケージ１０のバンプ−ボール間の抵抗閾値Ｄ５ｂ、電流ループ面積判断基準レベルＤ５ｃ等を有する。
【００８６】
バンプ配置処理部３０によるバンプ配置処理について図１２で説明する。図１２は、バンプ配置処理の全体処理を説明するためのフローチャート図である。図１２及び後述されるフローチャートにおいて、配置は、パッケージトップビューで行われる。
【００８７】
図１２において、バンプ配置処理部３０の取得部Ｂ１は、ＨＤＤ１３から、チップ２及びパッケージ１０の設計ルールＤ１を用いて設計ルールを設定し、配線設定テーブルＤ２を用いて電源、グランド、及び信号を設定し、及び制約条件データＤ５を用いてＩＯとバンプ間の抵抗閾値Ｄ５ａ、バンプとボール間の抵抗閾値Ｄ５ｂ、及び電流ループ面積を判断するために基準とするレベルを設定する（ステップＦ１）。
【００８８】
取得部Ｂ１はＩＯアサインデータＤ３を取り込んで、変換部Ｂ２がＩＯ割当図２ｇ（図１４Ａ）を作成し、表示部Ｂ４がモニタ１４ａにＩＯ割当図２ｇ（図１４Ａ）を表示する（ステップＦ２）。ステップＦ２において、変換部Ｂ２は、ＩＯ座標を変換（Drawing->Actual）してＩＯ９の実際の座標を求める。
【００８９】
また、取得部Ｂ１はボールアサインデータＤ３を取り込んで、変換部Ｂ２がボール割当図１０ｇ（図１４Ｂ）を作成し、表示部Ｂ４がモニタ１４ａにボール割当図１０ｇ（図１４Ｂ）を表示する（ステップＦ３）。
【００９０】
そして、入力部Ｂ３は、入力装置１５ｃから、設計者が設定したバンプレイアウト情報Ｄ７（図１５Ａ）を含む指示を受け付けると、バンプレイアウト情報Ｄ７に基づいてバンプレイアウト２ｕ（図１５Ａ）を作成する（ステップＦ４）。表示部Ｂ４によって、バンプレイアウト２ｕがモニタ１４ａに表示される。
【００９１】
特定部Ｂ５は、ＩＯ電源及びグランドをＩＯ９からの最短距離でバンプ３にアサインする（ステップＦ５）。表示部Ｂ４によって、アサイン状態が表示される。更に、特定部Ｂ５は、ステップＦ５で特定したＩＯ９とバンプ３との間を接続する（ステップＦ６）。表示部Ｂ４によって、接続状態が表示される。
【００９２】
次に、特定部Ｂ５は、ＩＯ電源及びグランドのＩＯ９とバンプ３間の抵抗が抵抗閾値Ｄ５ａを満たすか否かを判断する（ステップＦ７）。閾値抵抗Ｄ５ａを超過したバンプ３があるか否かが確認される。超過したバンプ３がある場合（ステップＦ７のＮＧ）、バンプ配置処理部３０は、ステップＦ２へと戻り、上述同様の処理を繰り返す。設計者によりＩＯアサインデータＤ３が見直されてもよい。
【００９３】
一方、超過したバンプ３がない場合（ステップＦ７のＯＫ）、同一ＥＤＡルール３００にて、パッケージ１０側のビアの配置が行われる。
【００９４】
特定部Ｂ５は、ＩＯ電源及びグランドのバンプ３の位置にビア６を配置する（ステップＦ８）。そして、特定部Ｂ５は、電流ループ面積が電流ループ面積判断基準レベルＤ５以下であるか否かを確認する（ステップＦ９）。
【００９５】
電流ループ面積が電流ループ面積判断基準のレベルを超過している場合（ステップＦ９のＮＯ）、チップ２側での処理に戻り、特定部Ｂ５は、特定したボイド内のビア６に関して、ＩＯ電源とグランドとが交互になるようにバンプ３を再度割り当てる（ステップＦ１０）。
【００９６】
この場合、電流ループ面積判断基準レベルＤ５ｃを超過したビアを含むボイドが特定され、表示部Ｂ４によって、特定したボイドが識別可能にモニタ１４ａに表示される。また、表示部Ｂ４によって、ＩＯ電源バンプ３ｃとグランドバンプ３ｂとが交互になったバンプ３の再度割り当ての結果がモニタ１４ａに表示される。
【００９７】
一方、電流ループ面積が電流ループ面積判断基準のレベル以下である場合（ステップＦ９のＹＥＳ）、チップ２でのバンプアサインと、パッケージ１０でのビア配置とが完了し、バンプ配置処理部３０によるバンプ配置処理を終了する。
【００９８】
ＥＤＡツール３００は、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂ各々とボール７間を接続し（ステップＦ１１）、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂとボール７間の抵抗が抵抗閾値Ｄ５ａを満たしているか否かを判断する（ステップＦ１２）。
【００９９】
抵抗が抵抗閾値Ｄ５ａを満たしていない場合（ステップＦ１２のＮＧ）、ＥＤＡツール３００は、ステップＦ１１へ戻り、抵抗が抵抗閾値Ｄ５ａを満たすまで、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂ各々とボール７間の接続をやり直す。
【０１００】
抵抗が抵抗閾値Ｄ５ａを満たす場合（ステップＦ１２のＯＫ）、ＥＤＡツール３００は、チップ２において、信号バンプ３ａをアサインし、ＩＯ９と信号バンプ３ａとの間を接続する（ステップＦ１３）。
【０１０１】
そして、パッケージ１０において、信号バンプ３ａとボール７との間を接続する（ステップＦ１４）。そして、ＥＤＡツール３００による設計が完了する。パッケージ配線データＤ７が出力される。
【０１０２】
パッケージ配線データＤ７には、チップ２内配線データとパッケージ１０内配線データとが含まれる。パッケージ配線データＤ７は、配線設定テーブルＤ２のネット名で接続情報が示される。チップ２内配線データは、分類に「チップ」を含むネット名を抽出した配線設定テーブルＤ２ａ（図１３Ａ）に含まれるネット名を用いて、パッケージ配線データから抽出できる。同様に、パッケージ１０内配線データは、分類に「パッケージ」を含むネット名を抽出した配線設定テーブルＤ２ｂ（図１３Ｂ）に含まれるネット名を用いて、パッケージ配線データＤ７から抽出できる。
【０１０３】
上述したバンプ配置処理部３０によるバンプ配置処理において、第一に、ステップＦ７にて、ＩＯ電源及びグランドのＩＯ９とＩＯ電源バンプ３ｃ及びグランドバンプ３ｂの各々との間の抵抗を確認することで、チップ２内の配線を短くし抵抗を下げることができる。
【０１０４】
第二に、ステップＦ８にて、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂのアサインに応じて電流ループ面積を検証することで、パッケージ１０の配線抵抗も下げることができる。
【０１０５】
第三に、ステップＦ１０にて、特定したボイド内のビア６に関して、ＩＯ電源とグランドとが交互になるようにバンプ３へ再アサインすることで、チップ２内の配線抵抗は増加するが、パッケージ配線抵抗とのバランスをとることができる。
【０１０６】
以下に、図１２のバンプ配置処理部３０が行う各ステップでの処理を詳述する。ステップＦ１について、図１３Ａ及び図１３Ｂで説明する。図１３Ａは、ステップＦ１のチップ２側での処理を説明するための図である。図１３Ｂは、ステップＦ１のパッケージ１０側での処理を説明するための図である。
【０１０７】
図１２のステップＦ１において、取得部Ｂ１によって、チップ２に関する、設計ルールＤ１ａ、配線設定テーブルＤ２ａ、及び、ＩＯ−バンプ間の抵抗閾値Ｄ５ａが設定される。
【０１０８】
図１３Ａでは、バンプ割当図２ｄを例示し、チップ２に係る種々の設定を説明する。バンプ割当図２ｄは、チップ１の一部を示し、上方をコア側、下方をスクライブ側とする。
【０１０９】
設計ルールＤ１ａは、チップ２の設計ルールを規定し、設計ルールＤ１の一部に相当する。この例では、配線は２０μｍ幅、間隔は２μｍ、４５°配線は使用不可、バンプピッチは１８０μｍ千鳥等が規定される。１８０μｍ千鳥とは、１８０μｍのバンプピッチで千鳥格子にバンプ３を配置することを規定する。千鳥格子の他、正方格子が規定されてもよい。
【０１１０】
配線設定テーブルＤ２ａは、配線設定テーブルＤ２のうちチップ２の配線設定を規定する。配線設定テーブルＤ２ａは、ネット名、分類等の項目を有する。ネット名は、ＩＯ９とバンプ３を接続する配線名に相当し、分類は、ネット名の配線の分類を示す。この例では、ネット名「Sig11」は「チップ内信号」に分類され、ネット名「VDE11」は「チップ内電源」に分類され、ネット名「VSS11」は「チップ内グランド」に分類される、ことを示している。
【０１１１】
ＩＯ−バンプ間抵抗の抵抗閾値Ｄ５ａは、制約条件データＤ５のうちチップ２のＩＯ９とバンプ３間で許容される抵抗値を規定する。ＩＯ−バンプ間抵抗の抵抗閾値Ｄ５ａは、ステップＦ７で参照される。この例では、５０ｍ０ｈｍを超過した場合、チップ２の制約条件を満たさないと判断する。
【０１１２】
バンプ割当図２ｄで示される接続は、設計ルールＤ１ａ、配線設定テーブルＤ２ａ、及びＩＯ−バンプ間抵抗の抵抗閾値Ｄ５ａに従って行われる。信号バンプ３ａは信号のＩＯ９と接続されたバンプ３に相当し、グランドバンプ３ｂはグランドのＩＯ９と接続されたバンプ３に相当し、また、ＩＯ電源バンプ３ｃはＩＯ電源のＩＯ９に接続されるバンプ３に相当する。バンプアサインでは、バンプ３をどのＩＯ種別のＩＯ９に接続するか（割り当てるか）が決められる。
【０１１３】
図１３Ｂでは、第２層のプレーン１０ｄを例示し、パッケージ１０に係る種々の設定を説明する。プレーン１０ｄは、パッケージ１０の第２層の一部を示し、上方をコア側、下方をスクライブ側とする。
【０１１４】
設計ルールＤ１ｂは、パッケージ１０の設計ルールを規定し、設計ルールＤ１の一部に相当する。設計ルールＤ１ｂは、層毎に、配線の幅、間隔、ビアの径等が規定される。この例では、配線の幅は２５μｍ、間隔は２５μｍ、ビアの径は１００μｍ等が規定される。
【０１１５】
配線設定テーブルＤ２ｂは、配線設定テーブルＤ２のうちパッケージ１０の配線設定を規定する。配線設定テーブルＤ２ａは、ネット名、分類等の項目を有する。ネット名は、ビア６を介してバンプ３と接続する配線名に相当し、分類は、ネット名の配線の分類を示す。この例では、ネット名「Sig11」は「パッケージ内信号」に分類され、ネット名「VDE11」は「パッケージ内電源」に分類され、ネット名「VSS11」は「パッケージ内グランド」に分類される、ことを示している。
【０１１６】
バンプ−ボール間抵抗の抵抗閾値Ｄ５ｂは、制約条件データＤ５のうちパッケージ１０のバンプ３とボール７間で許容される抵抗値を規定する。バンプ−ボール間抵抗の抵抗閾値Ｄ５ｂは、ステップＦ１２で参照される。この例では、２０ｍ０ｈｍを超過した場合、パッケージ１０の制約条件を満たさないと判断する。
【０１１７】
電流ループ面積判断基準Ｄ５ｃは、制約条件データＤ５のうちパッケージ１０の電流ループ面積の大きさのレベルを示す。電流ループ面積判断基準Ｄ５ｃは、ステップＦ８で参照される。この例では、レベル２が指定されている。レベル２を超える電流ループ面積の場合、パッケージ１０の制約条件を満たさないと判断する。レベルについては、後述される。
【０１１８】
ステップＦ２及びＦ３について、図１４Ａ及び図１４Ｂで説明する。図１４Ａは、ステップＦ２のチップ２側の処理を説明するための図である。図１４Ｂは、ステップＦ３のパッケージ１０側の処理を説明するための図である。
【０１１９】
図１２のステップＦ２のチップ２側の処理では、変換部Ｂ２によって、配線設定テーブルＤ３のＩＯ座標を変換してＩＯ割当図２ｇが生成される。ＩＯ割当図２ｇは、表示部Ｂ４によって、モニタ１４ａに表示される。ＩＯ割当図２ｇは、パッケージトップビューに基づく。
【０１２０】
図１４Ａでは、配線設定テーブルＤ３から変換されたＩＯ割当図２ｇの例が示される。配線設定テーブルＤ３は、チップ２のＩＯ９毎に、座標、ネット名等を示し、ＩＯ番号、Ｘ座標、Ｙ座標、ネット名等を有する。
【０１２１】
ＩＯ番号は、各ＩＯ９に一意に与えた番号を示す。ＩＯ番号によって、ＩＯ９が一意に特定される。Ｘ座標は、チップ２の中心を原点とした場合のＩＯ９のＸ軸の座標を示す。Ｙ座標は、チップ２の中心を原点とした場合のＩＯ９のＹ軸の座標を示す。ネット名は、ＩＯ９に割り当てられたネット名を示す。
【０１２２】
この例では、ＩＯ番号「１」のＩＯ９は、Ｘ座標「-4000」及びＹ座標「4000」に位置し、ネット名「Sig11」に対応する、ことを示している。ＩＯ番号「２」のＩＯ９は、Ｘ座標「-4000」及びＹ座標「3900」に位置し、ネット名「VSS11」に対応する、ことを示している。また、ＩＯ番号「６」のＩＯ９は、Ｘ座標「-4000」及びＹ座標「3500」に位置し、ネット名「VDE11」に対応する、ことを示している。
【０１２３】
モニタ１４ａに表示されたＩＯ割当図２ｇでは、チップ２上に配置した各ＩＯ９に対して、割り当てたＩＯ種別がネット名に応じて視認可能に示される。即ち、各ＩＯ９に、電源、グランド、又は信号のいずれが割り当てられているかを示す。
【０１２４】
図１２のステップＦ３のパッケージ１０側の処理では、表示部Ｂ４によって、ボールアサインデータＤ４に基づくボール割当図１０ｇがモニタ１４ａに表示される。ボール割当図１０ｇは、パッケージトップビューに基づく。
【０１２５】
図１４Ｂでは、ボールアサインデータＤ４に基づくボール割当図１０ｇの例が示される。ボールアサインデータＤ４は、例えば、パッケージ１０のボール７の配置イメージを示す表形式のデータである。
【０１２６】
ステップＦ４について、図１５Ａ及び図１５Ｂで説明する。図１５Ａは、ステップＦ４のチップ２側での処理を説明するための図である。図１５Ｂは、ステップＦ４のパッケージ１０側での処理を説明するための図である。
【０１２７】
図１２のステップＦ４におけるチップ２側の処理では、入力部Ｂ３によって、入力装置１５ｃから受信した、設計者が設定したバンプレイアウト情報Ｄ７を含む指示に従って、バンプレイアウト２ｕが生成される。バンプレイアウト２ｕは、表示部Ｂ４によって、モニタ１４ａに表示される。バンプレイアウト２ｕは、パッケージトップビューに基づく。
【０１２８】
図１５Ａでは、バンプレイアウト情報Ｄ７に基づいて作成されたバンプレイアウト２ｕの例が示される。バンプレイアウト情報Ｄ７は、バンプ３を配置するルールを示す。この例では、バンプピッチは１８０μｍ千鳥、及び、エッジ端部ルールは１５０μｍ、であることが指定される。
【０１２９】
図１２のステップＦ４におけるパッケージ１０側の処理では、入力部Ｂ３によって、バンプレイアウト２ｕが、ステップＦ３で生成されたボール割当図１０ｇに取り込まれる。バンプレイアウト２ｕが取り込まれたボール割当図１０ｇが、表示部Ｂ４によって、モニタ１４ａに表示される。ボール割当図１０ｇは、パッケージトップビューに基づく。
【０１３０】
図１５Ｂでは、バンプレイアウト２ｕが取り込まれたボール割当図１０ｇの例を示す。バンプレイアウト２ｕは、ボール割当図１０ｇの中心部に取り込まれる。
【０１３１】
ステップＦ５〜Ｆ７について、図１６及び図１７で説明する。図１６は、ステップＦ５のチップ２側の処理を説明するためのフローチャート図である。図１６において、特定部Ｂ５は、ＩＯ電源及びグランドの各ＩＯ座標（ＸＩｎ、ＹＩｎ）を取得する（ステップＦ５−１）。ステップＦ２で変換した各ＩＯ座標を取得すればよい。また、特定部Ｂ５は、バンプ座標（ＸＢｎ、ＹＢｎ）を取得する（ステップＦ５−２）。ステップＦ３で変換した各バンプ座標を取得すればよい。
【０１３２】
そして、特定部Ｂ５は、ＩＯ９とバンプ３の距離が最小となるバンプ座標（ＸＢｎ、ＹＢｎ）を算出する（ステップＦ５−３）。ＩＯ９とバンプ３の距離は、
【０１３３】
【数１】
2016110205.tif 000003
により求める。
【０１３４】
特定部Ｂ５は、バンプ座標（ＸＢｎ、ＹＢｎ）のバンプ３へＩＯ電源又はグランドを割り当てる（ステップＦ５−４）。ＩＯアサインデータＤ３に基づいて、ＩＯ９のネット名と、バンプ３とが関連付けられる。
【０１３５】
特定部Ｂ５は、ＩＯ９と、割り当てられたバンプ３との間をチップ２内の配線で接続し（ステップＦ６）、ＩＯ電源及びグランドのＩＯ９とバンプ３との間の抵抗は抵抗閾値Ｄ５ａ以下であるか否かを判断する（ステップＦ７−１）。
【０１３６】
抵抗が抵抗閾値Ｄ５ａ以下である場合（ステップＦ７−１のＹＥＳ）、特定部Ｂ５は、更に、全てのＩＯ９に対して処理を行ったか否かを判断する（ステップＦ７−２）。全てのＩＯ９に対して処理を終了していない場合（ステップＦ７−２のＮＯ）、特定部Ｂ５は、ステップＦ５−１へと戻り、上述同様の処理を繰り返す。一方、全てのＩＯ９に対して処理を行った場合（ステップＦ７−２のＹＥＳ）、特定部Ｂ５は、ステップＦ８へと進む。
【０１３７】
一方、抵抗が抵抗閾値Ｄ５ａを超過している場合（ステップＦ７−１のＮＯ）、特定部Ｂ５は、ＩＯ９とバンプ３間の抵抗閾値Ｄ５ａを満たさないＩＯ電源及びグランドのＩＯ９の位置を設計者へ通知する（ステップＦ７−３）。表示部Ｂ４によって、モニタ１４ａにＩＯ９の位置に関する情報が表示される。設計者によってＩＯアサインが再検討された後、変換部Ｂ２によるステップＦ２から、上述した同様の処理が行われる。
【０１３８】
図１７は、ステップＦ５〜Ｆ７での処理結果例を示す図である。図１７（Ａ）に示すバンプ割当図２ｄは、チップ２の一部分における結果例に相当する。図１７（Ｂ）は、バンプ割当図２ｄの部分Ａを拡大した図である。
【０１３９】
各ＩＯ９のＩＯ座標と、各バンプのバンプ座標との距離が算出される。この例では、グランドＩＯ９ｂ−１のＩＯ座標（ＸＩ１，ＹＩ１）に最も近いバンプ座標は、バンプ座標（ＸＢ１，ＹＢ１）であるため、バンプ３−１がグランドに割り当てられ、グランドＩＯ９ｂ−１と接続される。バンプ３−１は、グランドバンプ３ｂに相当する。
【０１４０】
また、電源ＩＯ９ｃ−２のＩＯ座標（ＸＩ２，ＹＩ２）に最も近いバンプ座標は、バンプ座標（ＸＢ１，ＹＢ１）であるため、バンプ３−２がグランドに割り当てられ、ＩＯ９ｂ−１と接続される。バンプ３−２は、ＩＯ電源バンプ３ｃに相当する。
【０１４１】
一方、バンプ３−３及び３−４は、グランドＩＯ９ｂ−１及び電源ＩＯ９ｃ−２のいずれに対しても最短の距離ではないため、除外されている。
【０１４２】
ステップＦ８〜Ｆ１０について、図１８、図１９Ａ、及び図１９Ｂで説明する。図１８は、電流ループ面積判断基準レベルの例を示す図である。図１８において、レベル１、２、及び３が設定された例を示すが、レベル４以上が設定されてもかまわない。
【０１４３】
レベル１は、ボイド１１ｖがＩＯ電源ビア６ｃを１つのみ含む状態に相当する。レベル２は、ボイド１１ｖがＩＯ電源ビア６ｃを２つ含む状態に相当する。レベル３は、ボイド１１ｖがＩＯ電源ビア６ｃを３つ含む状態に相当する。
【０１４４】
ボイド１１ｖ内のＩＯ電源ビア６ｃの個数が少ないほど、ループ面積１０ｑは小さくなり、電流パスは多くなる。従って、インダクタンスが小さくなりノイズが抑制され、パッケージプレーンの品質は高くなる。一方、ボイド１１ｖ内のＩＯ電源ビア６ｃの個数が多いほど、電流ループ面積１０ｑは大きくなり、電流パスは少なくなる。従って、インダクタンスが大きくなりノイズの増大を招き、パッケージプレーンの品質は低くなる。
【０１４５】
発明者は、電流ループ面積１０ｑの大きさに起因するパッケージプレーンの品質と、ボイド１１ｖが含むＩＯ電源ビア６ｃの個数との関係に着目し、パッケージプレーンの品質をボイド１１ｖ内の電源ビア６ｃの個数で判断することを見出した。
【０１４６】
大規模化した半導体パッケージ１において、ボイド１１ｖ毎の電流ループ面積１０ｑの演算処理は負荷が大きいのに対して、ボイド１１ｖ内の電源ビア６ｃの個数に基づく判断では処理負荷が非常に少ない。
【０１４７】
簡単な処理によって、ボイド１１ｖ内の電源ビア６ｃの個数を取得できる。一例として、ビア６を配置して生成したプレーンのレイアウトを参照し、ビア６の位置に基づいて、ボイド１１ｖ毎にボイド１１ｖの領域に配置されたビア６の個数をカウントすればよい。ボイド１１ｖの領域に含まれるビア６の個数がカウントされる。
【０１４８】
制約条件データＤ５の電流ループ面積判断基準レベルＤ５ｃは、上述のように定めたレベル１〜３の１つを指定する。そして、ボイド１１ｖ内のビア６の個数からレベルを判定し、電流ループ面積判断基準レベルＤ５ｃを満たすか否かを判断するのみで、パッケージプレーンの品質を満たすか否かを判断することができる。
【０１４９】
また、ボイド１１ｖが大きい程、信号線の配線を困難にするため（図５、図６、及び図８）、ボイド１１ｖを小さくすることで、即ち、ボイド１１ｖ内のビア６の個数を少なくすることで、信号線の配線をより容易に行なえる。
【０１５０】
従って、発明者は、電流ループ面積判断基準レベルＤ５ｃを与えることで、信号線の配線性を改善できることを見出した。電流ループ面積判断基準レベルＤ５ｃを用いた処理について説明する。
【０１５１】
図１９Ａは、ステップＦ８及びＦ９のパッケージ１０側の処理を説明するためのフローチャート図である。図１９Ａにおいて、特定部Ｂ５は、ＩＯ電源バンプ３ｃ及びグランドバンプ３ｂの位置にビア６ｃ及び６ｂを夫々配置する（ステップＦ８）。
【０１５２】
次に、特定部Ｂ５は、電源層及びグランド層にプレーンを形成する（ステップＦ９−１）。図１の例では、２層（グランド層）及び３層（電源層）にプレーンが形成される。プレーンの形成によりボイド１１ｖが形成される。そして、特定部Ｂ５は、プレーンのボイド１１ｖの繋がりを確認する（ステップＦ９−２）。
【０１５３】
そして、特定部Ｂ５は、電流ループ面積判断基準レベルＤ５ｃを満たすか否かを判断する（ステップＦ９−３）。電流ループ面積判断基準レベルＤ５ｃに基づいて、一つのボイド１１ｖ内に含まれるビア６の数で判断する。
【０１５４】
電流ループ面積判断基準レベルＤ５ｃが図１８のレベル２を指定する場合に、形成されたプレーンがレベル１又はレベル２に相当するときは、特定部Ｂ５は、電流ループ面積判断基準レベルＤ５ｃを満たすと判断する。形成されたプレーンがレベル３のときは、特定部Ｂ５は、電流ループ面積判断基準レベルＤ５ｃを満たさないと判断する。
【０１５５】
電流ループ面積判断基準レベルＤ５ｃが図１８のレベル１を指定する場合に、形成されたプレーンがレベル１に相当するときは、特定部Ｂ５は、電流ループ面積判断基準レベルＤ５ｃを満たすと判断する。形成されたプレーンがレベル２又はレベル３のときは、特定部Ｂ５は、電流ループ面積判断基準レベルＤ５ｃを満たさないと判断する。
【０１５６】
電流ループ面積判断基準レベルＤ５ｃを満たさない場合（ステップＦ９−３のＮＯ）、特定部Ｂ５は、ステップＦ１０（図１９Ｂ）へと進む。一方、電流ループ面積判断基準レベルＤ５ｃを満たす場合（ステップＦ９−３のＹＥＳ）、特定部Ｂ５は、ステップＦ１１（図１２）へと進む。
【０１５７】
図１９Ｂは、ステップＦ１０のチップ２側の処理を説明するためのフローチャート図である。図１９Ｂにおいて、特定部Ｂ５は、第２層のプレーンを参照して、電流ループ面積判断基準レベルを超えたボイドを検索する（ステップＦ１０−１）。電流ループ面積判断基準レベルＤ５ｃがレベル２を指定する場合、レベル３のボイド１１ｖが検索される。
【０１５８】
特定部Ｂ５は、検索されたボイド１１ｖに関して、ＩＯ電源ビア６ｃ及びボイドビア６ｂを変更する（ステップＦ１０−２）。ボイド１１ｖ内及びボイド１１ｖ周辺のビア６の配置を変更して、隣接するＩＯ電源ビア６ｃの本数を少なくする。
【０１５９】
好ましくは、ボイド１１ｖ内でＩＯ電源ビア６ｃとボイドビア６ｂとが交互になるように、ボイド１１ｖ内及びボイド１１ｖ周辺のビア６を変更する。レベル３のボイド１１ｖの場合には、少なくともレベル２を満たすようにボイド１１ｖ内及びボイド１１ｖ周辺のビア６を変更して、隣接するＩＯ電源ビア６ｃの本数を少なくする。
【０１６０】
検索されたボイド１１ｖが電流ループ面積判断基準レベルＤ５ｃを満たすように、検索されたボイド１１ｖ内のＩＯ電源ビア６ｃと、検索されたボイド１１ｖ周辺のグランドビア６ｂの配置を変更して、検索されたボイド１１ｖ内のＩＯ電源ビア６ｃの数を減らす。検索されたボイド１１ｖが３つのＩＯ電源ビア６ｃを含む場合、検索されたボイド１１ｖのＩＯ電源ビア６ｃの数を２又は１つに減らすようにＩＯ電源ビア６ｃ及びグランド６ｂの配置を変更する。即ち、検索されたボイド１１ｖがレベル３の場合、検索されたボイド１１ｖがレベル２又はレベル１になるようにビア６ｃ及び６ｂの配置が変更される。ビア６ｃ及び６ｂのビア座標が変更される。
【０１６１】
その後、特定部Ｂ５は、変更したビア座標上のバンプアサインを変更する（ステップＦ６）。ステップＦ１０−１からＦ１０−３により、ボイド１１ｖが小さくなることで、ビア６ｃ及び６ｂがよりレベル１に近い配置となる。即ち、ＩＯ電源ビア６ｃ及びグランドビア６ｂ交互に配置される。
【０１６２】
上述したように、本実施例では、電流ループ面積の大きさを算出する代わりに、ボイド１１ｖ内のＩＯ電源ビア６ｃの数を判定するといった簡単な処理を行う。従って、複雑な電流ループ面積を算出する場合に比べて、処理効率を改善することができる。
【０１６３】
図２０は、レベルの改善例を示す図である。図２０において、３つの数珠を繋いだようなボイド１１ｖがステップＦ１０−１から検索された場合で説明する。また、電流ループ面積判断基準レベルＤ５ｃは、レベル２を指定しているとする。
【０１６４】
ボイド１１ｖの周辺のグランドビア６ｂ−１とＩＯ電源ビア６ｃ−２とを入れ替える。ボイド１１ｖは、メガネ形状のボイド１１ｖ−２と小さくなる。従って、レベル３からレベル２へと改善できる。
【０１６５】
また、ボイド１１ｖの周辺のグランドビア６ｂ−２とＩＯ電源ビア６ｃ−２とを入れ替える。ボイド１１ｖの代わりに、ボイド１１ｖ−２とボイド１１ｖ−３とが形成されるが、ボイド１１ｖ−２は、１つのＩＯ電源ビア６ｃ−１のみを含み、同様に、ボイド１１ｖ−４は、１つのＩＯ電源ビア６ｃ−３のみを含む。従って、レベル３からレベル１へと改善できる。
【０１６６】
従って、上述した入れ替えに相当するバンプ６の割り当てを行うことで、所定のパッケージプレーンの品質の保持することができる。また、入れ替えによって信号線の配線性を改善できる。
【０１６７】
電流ループ面積１０ｑを考慮しないバンプアサインと、電流ループ面積１０ｑを考慮したバンプアサインとの違いを比較例で説明する。
【０１６８】
図２１は、バンプアサインの比較例を示す図である。図２１中、上方をコア側、下方をスクライブ側とする。また、チップ２の一部分、及び、パッケージ１０の各プレーンの一部分を示す。信号バンプ３ａ、３ａ−９、グランドバンプ３ｂ−５〜３ｂ−６、及びＩＯ電源バンプ３ｃ−５〜３ｃ−７を総称してバンプ３という場合がある。また、信号ビア６ａ−９、グランドビア６ｂ−５及び６ｂ−６、及びＩＯ電源ビア６ｃ−５〜６ｃ−７を総称してビア６という場合がある。
【０１６９】
図２１（ａ）、図２１（ｂ）、図２１（ｃ）、及び図２１（ｄ）は、電流ループ面積１０ｑを考慮しないバンプアサインの結果例を示し、図２１（ｅ）、図２１（ｆ）、図２１（ｇ）、及び図２１（ｈ）は、電流ループ面積１０ｑを考慮したバンプアサインの結果例を示す。
【０１７０】
図２１（ａ）のバンプ割当図２ｄ−１では、チップ２側の初回のステップＦ５及びＦ６によるチップ２内の配線例を示す。ＩＯ電源バンプ３ｃ−８及び３ｃ−７がＩＯ電源のＩＯ９に最も近く割り当てられ、次に、グランドバンプ３ｂ−５、３ｂ−６、及び３ｂ−７が割り当てられ、そして、信号バンプ３ａ及び３ａ−９が割り当てられる。
【０１７１】
図２１（ｂ）、図２１（ｃ）、及び図２１（ｄ）は、このバンプ割当図２ｄ−１に基づいて行われる、パッケージ１０側のステップＦ８のビア６の配置によるプレーン１１１、１１２、及び１１３の配線例を示す。プレーン１１１、１１２、及び１１３は、第１層、第２層、及び第３層の夫々に相当する。
【０１７２】
図２１（ｂ）では、チップ２のバンプ割当図２ｄ−１に対応するパッケージ内配線を示すプレーン１１１を示している。信号バンプ３ａ−９に対する信号ビア６ａ−９への配線が、第１層ではできないことを点線で表している。第２層での配線を試みる。
【０１７３】
図２１（ｃ）に示すように、第２層のプレーン１１２では、ＩＯ電源ビア６ｃ−５〜６ｃ−７が隣接して一列に配置されるため、ＩＯ電源ビア６ｃ−５〜６ｃ−７間が接続された数珠状のボイド１１ｖ−５が形成される。ボイド１１ｖ−５が、信号バンプ３ａ−９よりスクライブ方向に形成されるため、信号バンプ３ａ−９の信号ビア６ａ−９への配線がパッケージ１０の第２層においても行えないことを点線で表している。第３層での配線を試みる。
【０１７４】
図２１（ｄ）に示すように、第３層においても、ＩＯ電源ビア６ｃ−５〜６ｃ−７により、信号ビア６ａ−９への配線が行えない。信号ビア６ａ−９への配線がパッケージ１０の第３層においても行えないことを点線で表している。このような場合、設計者によってＩＯアサインデータＤ３及びボールアサインデータＤ４等の設計の見直しが行われる。設計の見直し等による処理負担が発生する。
【０１７５】
本実施例における電流ループ面積１０ｑを考慮したバンプアサインについて説明する。本実施例では、図２１（ｃ）の第２層におけるビア配置時に、ボイド１１ｖ−５の電流ループ面積１０ｑが考慮される。電流ループ面積判断基準レベルＤ５ｃと、ボイド１１ｖ−５に含まれるビア数とによる簡潔化した処理により、電流ループ面積１０ｑを考慮する（ステップＦ９）。
【０１７６】
ボイド１１ｖ−５内にはビア６ｃ−５、６ｃ−６、及び６ｃ−７を含むためビア数は３となる。ボイド１１ｖ−５のレベルは、レベル３である。
【０１７７】
電流ループ面積判断基準レベルＤ５ｃがレベル２（図１８）を指定した場合、ＩＯ電源ビア６ｃ−６をグランドビア６ｂ−５又は６ｂ−６と入れ替えることで、ボイド１１ｖ−５のレベルを改善できる。例えば、ステップＦ１０−２において、ＩＯ電源ビア６ｃ−６とグランドビア６ｂ−６とが入れ替えられる。
【０１７８】
この入れ替えによる変更に応じて、ステップＦ１０−３では、変更したＩＯ電源ビア６ｃ−６とグランドビア６ｂ−６の座標上のバンプアサインが変更される。
【０１７９】
図２１（ｅ）では、バンプアサイン変更後のバンプ割当図２ｄ−２を示す。図２１（ａ）のバンプ割当図２ｄ−１において、ＩＯ電源バンプ３ｂ−６とグランドバンプ３ｃ−５とが入れ替えられている。このチップ２でのバンプ入替は、パッケージ１０のビア入替に対応する。ビア入替に応じて、ＩＯ９と各バンプ３との配線接続が行われる。
【０１８０】
図２１（ｆ）は、バンプ割当図２ｄ−２に基づくパッケージ１０のプレーン１２１を示す。パッケージ１０の第１層では、チップ２側のグランドバンプ３ｂ−５、及びＩＯ電源バンプ３ｃ−５〜３ｃ−７が壁となり、信号バンプ３ａ−９に対してスクライブ側へ配線できない。第１層で配線できなかった信号バンプ３ａ−９に対するパッケージ内配線８ｐ−９が、他の層で配線されている状態を点線で表している。第２層での配線を試みる。
【０１８１】
図２１（ｇ）に示すようにビア６を配置したプレーン１２２が生成される。信号バンプ３ａ−９の信号ビア６ａ−９への配線は、ボイド１１ｖ−６及び１１ｖ−７及びグランドビア６ｂ−６によって行えない。
【０１８２】
しかしながら、図２１（ｃ）のプレーン１１２と異なり、ビア６を配置した第２層のプレーン１２２に形成されるボイド１１ｖ−６及び１１ｖ−７は、電流ループ面積判断基準レベルＤ５ｃを満たす。
【０１８３】
電流ループ面積判断基準レベルＤ５ｃに基づく判断により、図２１（ｈ）に示すように、信号バンプ３ａ−９は、パッケージ１０の第３層において、ビア６ａ−９を介して接続できる。プレーン１２３において、パッケージ内配線８ｐ−９がなされる。
【０１８４】
プレーン１２３において、パッケージ内配線８ｐ−９を図２２に示すように配置してもよい。図２２は、パッケージ内配線の配置方法を説明するための図である。図２２において、パッケージ内配線８ｐ−９を、所定の基準に基づいて、電源６ｗとの間隔を空けながら配置してもよい。所定の基準は、制約条件データＤ５で与えられればよい。
【０１８５】
以下に、バンプアサインに係るレイアウトの表示例について、図２３、図２４、及び図２５で説明する。
【０１８６】
図２３は、チップ２のレイアウト表示例を示す図である。図２３（Ａ）では、パッケージトップビューによるレイアウトを表示した画面Ｇ７１を示す。画面Ｇ７１は、アサイン結果表示域７ａ、対象表示域７ｂ、視点方向表示域７ｃ等を有する。
【０１８７】
アサイン結果表示域７ａは、チップ２側又はパッケージ１０側におけるアサイン結果を表示する領域である。
【０１８８】
対象表示域７ｂは、表示中の対象が、チップ２であるのか、パッケージ１０であるのか、チップ２とパッケージ１０の重ね合せであるのかを示す領域である。対象表示域７ｂは、対象が、チップ２であるとき「ＣＨＩＰ」を示し、パッケージ１０であるとき「ＰＫＧ」を示し、重ね合せ表示であるとき「ＣＨＩＰ／ＰＫＧ」を示す。設計者は、対象表示域７ｂをマウス１５ｂ等でクリックすることで、表示中の対象を変更する。
【０１８９】
視点方向表示域７ｃは、パッケージトップビューで表示しているのか、チップトップビューで表示しているのかを示す領域である。視点方向表示域７ｃをマウス１５ｂ等でクリックすると、アサイン結果表示域７ａの表示が、パッケージトップビューからチップトップビューに変更される。
【０１９０】
図２３（Ａ）の画面Ｇ７１の視点方向表示域７ｃを設計者がマウス１５ｂ等でクリックすると、図２３（Ｂ）で示されるように、画面Ｇ７１のアサイン結果表示域７ａは、チップトップビューで、チップ２のレイアウトを表示する。視点方向表示域７ｃを再度クリックした場合、図２３（Ａ）のように、画面Ｇ７１が表示される。初期表示では、パッケージトップビューを表示するデフォルト設定としてもよい。
【０１９１】
チップ２の設計者は、図２３（Ａ）のパッケージトップビューでレイアウトを確認でき、チップ２の設計者が、パッケージ１０の設計者と、チップ２のレイアウトを検討する際には、図２３（Ｂ）のチップトップビューで表示させる。視点方向表示域７ｃをクリックにより、チップトップビュー（図２３（Ｂ））からパッケージトップビュー（図２３（Ａ））への切り替えは自由である。以下の表示例においても、視点方向表示域７ｃの操作によるビューの切り替えは同様である。
【０１９２】
図２３（Ａ）及び図２３（Ｂ）において、バンプ種別（ＩＯ電源、グランド、及び信号）が識別可能に表示される。画面Ｇ７１の対象表示域７ｂのクリックにより、対象をパッケージ１０に切り替えることができる。
【０１９３】
次に、パッケージ１０のレイアウトの表示例について説明する。
【０１９４】
図２４は、バンプアサインに対応した、パッケージ１０のレイアウト表示例を示す図である。図２４（Ａ）では、パッケージトップビューによるパッケージ１０のレイアウトを表示した画面Ｇ７１を示している。
【０１９５】
図２４（Ａ）に示すように、画面Ｇ７１のアサイン結果表示域７ａには、パッケージ１０の第１層のプレーンのレイアウトが表示される。
【０１９６】
対象表示域７ｂは、対象がパッケージ１０側であることを示す。また、図２４（Ａ）の例では、視点方向表示域７ｃにより、パッケージトップビューで、アサイン結果表示域７ａにパッケージ１０のレイアウトが表示されていることが示される。
【０１９７】
視点方向表示域７ｃをクリックすることでチップトップビューを選択した場合を、図２４（Ｂ）で示す。図２４（Ｂ）では、画面Ｇ７１のアサイン結果表示域７ａに、チップトップビューで、パッケージ１０のレイアウトが第１層のプレーンで表示される。
【０１９８】
図２４（Ａ）及び図２４（Ｂ）において、チップ２のレイアウトに基づいて、バンプ種別（ＩＯ電源、グランド、及び信号）を識別可能に表示し、第１層で配置配線されたパッケージ内配線８ｐを実線で示し、他の層で配置されるパッケージ内配線８ｐ−９は破線で示す。
【０１９９】
更に、画面Ｇ７１の対象表示域７ｂのクリックにより、対象を重ね合せに切り替えることができる。重ね合せ表示例について説明する。
【０２００】
図２５は、重ね合せのレイアウト表示例を示す図である。図２５（Ａ）では、アサイン結果表示域７ａに、パッケージトップビューで、チップ２のレイアウトとパッケージ１０のレイアウトとを重ね合せて表示した画面Ｇ７１を示している。
【０２０１】
図２５（Ａ）に示すように、画面Ｇ７１のアサイン結果表示域７ａには、チップ２のレイアウトと、パッケージ１０の第１層のプレーンにおけるレイアウトとが、重ね合せて表示される。
【０２０２】
対象表示域７ｂは、対象が重ね合せであることを示す。また、図２５（Ａ）の例では、視点方向表示域７ｃにより、パッケージトップビューの重ね合せ表示であることが示される。
【０２０３】
視点方向表示域７ｃをクリックすることでチップトップビューを選択した場合を、図２５（Ｂ）で示す。図２５（Ｂ）では、アサイン結果表示域７ａに、チップトップビューで、チップ２のレイアウトとパッケージ１０のレイアウトとを重ね合せて表示した画面Ｇ７１を示している。
【０２０４】
図２５（Ｂ）に示すように、また、パッケージ１０のレイアウトが第１層のプレーンで表示される。第１層で配置されたパッケージ内配線８ｐは実線で示し、他の層で配置されるパッケージ内配線８ｐ−９は破線で示される。
【０２０５】
対象表示域７ｂは、対象が重ね合せであることを示す。また、図２５（Ａ）の例では、視点方向表示域７ｃにより、チップトップビューの重ね合せ表示であることが示される。
【０２０６】
図２５（Ａ）及び図２５（Ｂ）において、チップ２のレイアウトに基づいて、バンプ種別（ＩＯ電源、グランド、及び信号）を識別可能に表示し、第１層で配置配線されたパッケージ内配線８ｐを実線で示し、他の層で配置されるパッケージ内配線８ｐ−９は破線で示す。
【０２０７】
また、チップ２側及びパッケージ１０側の両方において、ＩＯ電源に関するＩＯ９、バンプ３ｃ、チップ内配線８ｃ、及びパッケージ内配線８ｐを同一色（例えば、赤）で表示する。更に、同一色の部分において、チップ２側とパッケージ１０側と異なるハッチングとしてもよい。又は、チップ２側とパッケージ１０側とで、同系色内で異なる色（例えば、赤とピンク等）で表示してもよく、更に、異なるハッチングとしてもよい。
【０２０８】
即ち、ＩＯ電源に係る部分と、グランド、信号等の他の部分とを区別可能であり、チップ２側とパッケージ１０側の配線が区別可能であることが好ましい。例えば、チップ内配線８ｃとパッケージ内配線８ｐとを、同一色の異なるハッチングで示すことで、視認性をよくすることができる。
【０２０９】
図２３〜図２５において、対象表示域７ｂの選択に応じて、信号線の配置を表示する場合には、選択時のビュー状態で表示してもよい。具体的には、チップトップビューで、対象をチップ２からパッケージ１０に変更した場合には、チップトップビューで信号線の配置を表示するようにしてもよい。又は、パッケージトップビューをデフォルトとし、対象の切り替え毎に、デフォルトのビューで信号線の配置を表示してもよい。対象をチップ２又は重ね合せへ切り替えた場合においても同様である。
【０２１０】
上述した表示例の他に、チップ２のレイアウトと、パッケージ１０のレイアウトとを並べて表示してもよい。図２６は、他の表示例を示す図である。図２６（Ａ）では、パッケージトップビューで、チップ２のレイアウトと、パッケージ１０のレイアウトとを並べて表示した画面Ｇ７２を示す。
【０２１１】
画面Ｇ７１との違いは、画面Ｇ７２は、アサイン結果表示域７ａ−１及びアサイン結果表示域７ａ−２を有し、更に、アサイン結果表示域７ａ−１側に対象表示域７ｂ−１と、アサイン結果表示域７ａ−２側に対象表示域７ｂ−２とを有する。視点方向表示域７ｃは、画面Ｇ７１と同様である。
【０２１２】
アサイン結果表示域７ａ−１には、パッケージ１０の第１層のプレーンのレイアウトがパッケージトップビューで表示され、対象表示域７ｂ−１はパッケージ１０であることを示す。また、アサイン結果表示域７ａ−２には、チップ２のレイアウトがパッケージトップビューで表示され、対象表示域７ｂ−２はチップ２であることを示す。
【０２１３】
設計者は、視点方向表示域７ｃをクリックすることで、パッケージトップビューからチップトップビューへと切り替えることができる。
【０２１４】
図２６（Ｂ）は、チップトップビューで、チップ２のレイアウトと、パッケージ１０のレイアウトとを並べて表示した画面Ｇ７２を示す。図２６（Ｂ）に示すように、アサイン結果表示域７ａ−１には、パッケージ１０の第１層のプレーンのレイアウトがチップトップビューで表示され、対象表示域７ｂ−１はパッケージ１０であることを示す。また、アサイン結果表示域７ａ−２には、チップ２のレイアウトがチップトップビューで表示され、対象表示域７ｂ−２はチップ２であることを示す。
【０２１５】
図２６（Ａ）及び図２６（Ｂ）において、対象表示域７ｂ−１又は対象表示域７ｂ−２の一方で表示している領域を移動させた場合に、その移動に追随してもう一方で表示している領域も移動させて表示するようにしてもよい。
【０２１６】
上述した図２３〜図２６のレイアウト表示では、パッケージ１０の第１層のプレーンを表示する例で説明したが、第２層又は第３層のプレーンであってもよい。表示する層を設計者が適宜選択可能としてもよい。更に、ＩＯ電源、グランド、信号線、ボイド等を識別可能に、それぞれに異なる色やハッチングを適用してもよい。
【０２１７】
上述したような種々のレイアウト表示は、表示部Ｂ４によって行われる。レイアウト表示処理について図２７及び図２８で説明する。図２７及び図２８は、レイアウト表示処理を説明するための図である。
【０２１８】
図２７において、表示部Ｂ４は、入力装置１５ｃからレイアウト表示の要求を受け付けると、レイアウト表示の設定値を取得する（ステップＳ１５１）。レイアウト表示時には、設定値には、デフォルトとして、ＥＤＡツール３００の初期設定として、又は、設計者によって設定された初期表示時の表示方法が指定される。
【０２１９】
設定値によって、表示形式と、視点方向とが指定される。例えば、「チップ表示；パッケージトップビュー」、「パッケージ表示；チップトップビュー」、「重ねて表示；チップトップビュー」、又は「並べて表示；パッケージトップビュー」のように指定される。
【０２２０】
表示部Ｂ４は、設定値によって表示形式に「並べて表示」を指定しているか否かを判断する（ステップＳ１５２）。表示形式に「並べて表示」が指定されている場合（ステップＳ１５２のＹＥＳ）、表示部Ｂ４は、ステップＳ２１（図２８）へと進む。
【０２２１】
一方、表示形式に「並べて表示」が指定されていない場合（ステップＳ１５２のＮＯ）、表示部Ｂ４は、更に、表示形式に「重ねて表示」が指定されているか否かを判断する（ステップＳ１５３−１）。
【０２２２】
表示形式に「重ねて表示」が指定されていない場合（ステップＳ１５３−１のＮＯ）、表示部Ｂ４は、表示形式に「チップ表示」か「パッケージ表示」のいずれが指定されているかを判断する（ステップＳ１５３−２）。
【０２２３】
表示形式に「チップ表示」が指定されている場合、表示部Ｂ４は、チップ２の配線設定テーブルＤ２ａから、チップ２のネット名を取得する（ステップＳ１５４−１）。又は、表示形式に「パッケージ表示」が指定されている場合、表示部Ｂ４は、パッケージ１０の配線設定テーブルＤ２ｂから、パッケージ１０のネット名を取得する（ステップＳ１５４−２）。
【０２２４】
表示形式が「チップ表示」又は「パッケージ表示」の場合、表示部Ｂ４は、パッケージ配線データＤ７から、取得したネット名の配線データを取得して表示用配線データＤ８とする（ステップＳ１５５）。そして、表示部Ｂ４は、ステップＳ１５６へと進む。
【０２２５】
表示形式に「重ねて表示」が指定されている場合（ステップＳ１５３−１のＹＥＳ）、表示部Ｂ４は、配線設定テーブルＤ２を、表示用配線データＤ８とし（ステップＳ１５４−３）、ステップＳ１５６へと進む。
【０２２６】
上述したステップＳ１５３−１及びＳ１５３−２によって、「重ねて表示」、「チップ表示」、又は「パッケージ表示」のいずれであるかの判断の順番を定めるものではない。適宜、その順番を変更可能である。
【０２２７】
表示部Ｂ４は、表示用配線データＤ８に基づいて、設定値の視点方向でレイアウトを作成して表示する（ステップＳ１５６）。
【０２２８】
その後、表示部Ｂ４は、対象が変更されたか否かを判断する（ステップＳ１５７）。表示部Ｂ４は、入力装置１５ｃから通知されるクリック操作を検出して、設計者が画面Ｇ７１の対象表示域７ｂのクリックにより表示する対象を変更したか否かを判断する。表示する対象が変更された場合（ステップＳ１５７のＹＥＳ）、表示部Ｂ４は、設定値の視点方向を一時的に変更して（ステップＳ１５７−２）、ステップＳ１５３へと進む。
【０２２９】
表示する対象が変更されなかった場合（ステップＳ１５７のＮＯ）、表示部Ｂ４は、視点方向が変更されたか否かを判断する（ステップＳ１５８）。表示部Ｂ４は、設計者が画面Ｇ７１の視点方向表示域７ｃのクリックにより視点方向を変更したか否かを判断する。
【０２３０】
視点方向が変更された場合（ステップＳ１５８のＹＥＳ）、表示部Ｂ４は、アサイン結果表示域７ａに表示中のレイアウトの左右を反転して表示する（ステップＳ１５９）。そして、表示部Ｂ４は、設計者の次の操作を検出するためにステップＳ１５７へ戻る。
【０２３１】
一方、視点方向が変更されなかった場合（ステップＳ１５８のＮＯ）、表示部Ｂ４は、終了か否かを判断する（ステップＳ１６０）。終了でない場合（ステップＳ１６０のＮＯ）、表示部Ｂ４は、設計者の次の操作を検出するためにステップＳ１５７へ戻る。
【０２３２】
一方、終了の場合（ステップＳ１６０のＹＥＳ）、表示部Ｂ４は、このレイアウト表示処理を終了する。設定値の表示形式及び視点方向は、レイアウト表示の終了によりデフォルトに戻る。
【０２３３】
図２８において、表示部Ｂ４は、チップ２の配線設定テーブルＤ２ａから、チップ２のネット名を取得する（ステップＳ１６１）。
【０２３４】
表示部Ｂ４は、パッケージ配線データＤ７から取得したネット名の配線データを取得して、表示用配線データＤ８とする（ステップＳ１６２）。そして、表示用配線データＤ８に基づいて、設定値の視点方向でチップ２のレイアウトを作成する（ステップＳ１６３）。
【０２３５】
次に、表示部Ｂ４は、パッケージ１０の配線設定テーブルＤ２ａから、パッケージ１０のネット名を取得する（ステップＳ１６４）。
【０２３６】
表示部Ｂ４は、パッケージ配線データＤ７から取得したネット名の配線データを取得して、表示用配線データＤ８とする（ステップＳ１６５）。そして、表示用配線データＤ８に基づいて、設定値の視点方向でパッケージ１０のレイアウトを作成する（ステップＳ１６６）。
【０２３７】
そして、表示部Ｂ４は、チップ２のレイアウトと、パッケージ１０のレイアウトとを並べて表示する（ステップＳ１６７）。
【０２３８】
その後、表示部Ｂ４は、視点方向が変更されたか否かを判断する（ステップＳ１６８）。表示部Ｂ４は、設計者が画面Ｇ７１の視点方向表示域７ｃのクリックにより視点方向を変更したか否かを判断する。
【０２３９】
視点方向が変更された場合（ステップＳ１６８のＹＥＳ）、表示部Ｂ４は、アサイン結果表示域７ａに表示中のレイアウトの左右を反転して表示する（ステップＳ１６９）。そして、表示部Ｂ４は、設計者の次の操作を検出するためにステップＳ１６８へ戻る。
【０２４０】
一方、視点方向が変更されなかった場合（ステップＳ１６８のＮＯ）、表示部Ｂ４は、終了か否かを判断する（ステップＳ１７０）。終了でない場合（ステップＳ１７０のＮＯ）、表示部Ｂ４は、設計者の次の操作を検出するためにステップＳ１６８へ戻る。
【０２４１】
一方、終了の場合（ステップＳ１６０のＹＥＳ）、表示部Ｂ４は、このレイアウト表示処理を終了する。設定値の視点方向は、レイアウト表示の終了によりデフォルトに戻る。
【０２４２】
本実施例では、一つのＥＤＡツール３００によって、チップ内配線８ｃと、パッケージ内配線８ｐとが同時に行われる。バンプアサイン（即ち、エリアバンプアサイン）において、ＩＯ９の電源配線抵抗を低く抑えた半導体装置の設計を行うことができる。
【０２４３】
また、本実施例では、ビア配置に基づく電流ループ面積による品質を、各ボイド１１ｖ内のビア６の数で判断するため、処理効率を改善することができる。信号線の配線が難しい場合であっても、品質を改善しつつ、信号線の配線ができるようにバンプアサインを調整することができる。
【０２４４】
更に、本実施例では、一つのＥＤＡツール３００で、チップ内配線８ｃ（即ち、チップ２のレイアウト）と、パッケージ内配線８ｐ（即ち、パッケージ１０のレイアウト）とを、切り替えて、又は、同時に表示可能である。
【０２４５】
従って、チップ２の設計者と、パッケージ１０の設計者とが、チップ２及びパッケージ１０の両方のレイアウトを容易に行なうことができる。このように、本実施例では、バンプアサインの検討に際し、利便性の良い表示を行うことができる。
【０２４６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０２４７】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
チップの複数のＩＯ部にバンプを割り当て、
前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、
前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する
処理をコンピュータが行うことを特徴とする半導体装置の設計方法。
（付記２）
前記コンピュータは、
電流ループ面積の基準が前記ボイド内の前記ビアの基準個数で与えられた基準レベルを参照して、前記パッケージの品質を満たすか否かを判断し、
前記ボイド内の前記ビアの個数が前記基準レベルを満たさない場合、該ボイド内及び該ボイド周辺のビアの配置を変更して、該ボイド内で隣接する前記電源のビアの本数を少なくする
ことを特徴とする付記１記載の半導体装置の設計方法。
（付記３）
前記コンピュータは、
前記電源のビアと前記グランドのビアとが交互になるように前記バンプの割り当てを変更する
ことを特徴とする付記２記載の半導体装置の設計方法。
（付記４）
前記コンピュータは、
前記ボイド内の前記電源のビアと該ボイド外の前記グランドのビアとを入れ替えて前記バンプの割り当てを変更する
ことを特徴とする付記３記載の半導体装置の設計方法。
（付記５）
前記コンピュータは、
前記複数のＩＯ部のうち、前記電源のＩＯ部及び前記グランドのＩＯ部とに対して、最短距離で前記バンプを割り当てる
ことを特徴とする付記１乃至４のいずれか一項記載の半導体装置の設計方法。
（付記６）
前記コンピュータは、
前記チップの第１のレイアウトと、前記パッケージの第２のレイアウトとを重ね合わせて又は並べて表示装置に表示する
処理を行うことを特徴とする付記１乃至５のいずれか一項記載の半導体装置の設計方法。
（付記７）
前記コンピュータは、
前記第１のレイアウトと、前記第２のレイアウトとを重ね合わせて又は並べて表示する際に、前記電源と前記グランドとに係る、前記ＩＯ部と、前記バンプと、該ＩＯ部と該バンプ間の配線とを識別可能に表示する
ことを特徴とする付記６記載の半導体装置の設計方法。
（付記８）
チップの複数のＩＯ部にバンプを割り当て、
前記チップを搭載するパッケージに対して、電源のＩＯ部とグランドのＩＯ部とに割り当てた前記バンプの位置にビアを配置してプレーンを形成し、
前記プレーンに形成されるボイド内の前記ビアの個数に基づいて、前記複数のＩＯ部のうち、前記電源及び前記グランドのＩＯ部に対する前記バンプの割り当てを変更する
処理をコンピュータに行わせることを特徴とする半導体装置の設計プログラム。
（付記９）
チップの第１のレイアウトと、前記チップを搭載するパッケージの第２のレイアウトの表示を制御する表示制御処理をコンピュータが行い、
前記表示制御処理は、
前記第１のレイアウトと、前記第２レイアウトとを重ねて表示する処理
を有することを特徴とする半導体装置のレイアウト表示方法。
（付記１０）
前記表示制御処理は、更に、
前記第１のレイアウトと、前記第２レイアウトとを並べて表示する処理
を有することを特徴とする付記９記載の半導体装置のレイアウト表示方法。
（付記１１）
前記表示制御処理は、更に、
前記第１のレイアウトと、前記第２のレイアウトとを個別に表示する処理
を有することを特徴とする付記１０記載の半導体装置のレイアウト表示方法。
（付記１２）
前記表示制御処理は、
電源とグランドとに係る、ＩＯ部と、バンプと、該ＩＯ部と該バンプ間の配線とを識別可能にして、前記第１のレイアウト及び／又は前記第２のレイアウトを表示する
ことを特徴とする付記１１記載の半導体装置のレイアウト表示方法。
（付記１３）
前記表示制御処理は、
パッケージトップビュー又はチップトップビューへの表示切り替えを可能にして、前記第１のレイアウト及び／又は前記第２のレイアウトを表示する
ことを特徴とする付記１２記載の半導体装置のレイアウト表示方法。
（付記１４）
前記表示制御処理は、
前記チップ及び／又は前記パッケージから表示するレイアウトの対象の切り替えを可能にして、前記第１のレイアウト及び／又は前記第２のレイアウトを表示する
ことを特徴とする付記１３記載の半導体装置のレイアウト表示方法。
【符号の説明】
【０２４８】
１      半導体パッケージ、          ２      チップ
３      バンプ、                    ４      アンダーフィル
５      インターポーザ              ６      ビア
７      ボール、                    １０    パッケージ
１１    ＣＰＵ、                    １２    ＲＡＭ
１３    ＨＤＤ
１４    グラフィック処理装置、      １４ａ  モニタ
１５    入力インターフェース、      １５ａ  キーボード
１６    通信インターフェース、      １６ａ  ネットワーク
１７    ドライブ装置、              １７ａ  記憶媒体
３０    バンプ配置処理部
１００  設計装置
３００  ＥＤＡツール
Ｂ１    取得部、                    Ｂ２    変換部
Ｂ３    入力部、                    Ｂ４    表示部
Ｂ５    特定部、                    Ｂ６    判断部
Ｂ７    出力部
Ｄ１    設計ルール、                Ｄ２    配線設定テーブル
Ｄ３    ＩＯアサインデータ、        Ｄ４    ボールアサインデータ
Ｄ５    制約条件データ、            Ｄ６    バンプアサインデータ
Ｄ７    バンプレイアウト情報、      Ｄ８    表示用配線データ
【図１】
2016110205.tif 000004
【図２】
2016110205.tif 000005
【図３】
2016110205.tif 000006
【図４】
2016110205.tif 000007
【図５】
2016110205.tif 000008
【図６】
2016110205.tif 000009
【図７】
2016110205.tif 000010
【図８】
2016110205.tif 000011
【図９】
2016110205.tif 000012
【図１０】
2016110205.tif 000013
【図１１】
2016110205.tif 000014
【図１２】
2016110205.tif 000015
【図１３Ａ】
2016110205.tif 000016
【図１３Ｂ】
2016110205.tif 000017
【図１４Ａ】
2016110205.tif 000018
【図１５Ａ】
2016110205.tif 000019
【図１５Ｂ】
2016110205.tif 000020
【図１６】
2016110205.tif 000021
【図１７】
2016110205.tif 000022
【図１８】
2016110205.tif 000023
【図１９Ａ】
2016110205.tif 000024
【図１９Ｂ】
2016110205.tif 000025
【図２０】
2016110205.tif 000026
【図２１】
2016110205.tif 000027
【図２２】
2016110205.tif 000028
【図２３】
2016110205.tif 000029
【図２４】
2016110205.tif 000030
【図２５】
2016110205.tif 000031
【図２６】
2016110205.tif 000032
【図２７】
2016110205.tif 000033
【図２８】
2016110205.tif 000034
【図１４Ｂ】
2016110205.tif 000035