(57)【要約】【課題】シグナルパッドおよびリングパッドを半導体パッケージの基板面上において偏りのないように配置する設計処理を演算処理装置により効率的に実行するボンディングパッド配置方法を実現する。【解決手段】半導体パッケージの基板面上におけるシグナルパッドもしくはリングパッドの位置を半導体パッケージの基板面上に相当する仮想平面上において設計する配置処理を、演算処理装置により実行するボンディングパッド配置方法は、仮想平面上の位置を決定すべき位置決定対象シグナルパッドが、設計データにより規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドとは設計データの規定上異なる列に属するか否かを判定する判定ステップＳ１００と、判定ステップＳ１００の判定結果に基づき、位置決定対象シグナルパッドの仮想平面上の位置を決定する決定ステップＳ２００と、を備える。【選択図】図１
2008306041.tif 000002
【特許請求の範囲】
【請求項１】
半導体パッケージの基板面上におけるボンディングパッドであるシグナルパッドもしくはリングパッドの位置を前記基板面上に相当する仮想平面上において設計する配置処理を、演算処理装置により実行するボンディングパッド配置方法であって、設計データによりその配置順および配置すべき列が予め規定されたシグナルパッドおよびリングパッドの、前記仮想平面上の位置を、当該配置順で順次決定していくボンディングパッド配置方法において、
仮想平面上の位置を決定すべき位置決定対象シグナルパッドが、前記配置順に従って前記位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した第１の位置決定済シグナルパッドとは設計データの規定上異なる列に属するか否かを判定する第１の判定ステップと、
前記第１の判定ステップの判定結果に基づき、前記位置決定対象シグナルパッドの仮想平面上の位置を決定する決定ステップと、
を備えることを特徴とするボンディングパッド配置方法。
【請求項２】
前記決定ステップは、
前記第１の判定ステップにおいて前記位置決定対象シグナルパッドが異なる列に属すると判定された場合に、前記配置順に従って前記位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドが、前記位置決定対象シグナルパッドと設計データの規定上同じ列に属するか否かを判定する第２の判定ステップと、
前記第２の判定ステップにおいて前記位置決定対象シグナルパッドと同じ列に属すると判定された場合に、前記第１の位置決定済シグナルパッドと前記位置決定対象シグナルパッドのワイヤとの間隔が所定の距離を有するよう、設計データで規定された列上に前記位置決定対象シグナルパッドを仮配置する第１の仮配置ステップと、
前記第１の仮配置ステップで仮配置された前記位置決定対象シグナルパッドと設計データの規定上同じ列に属しかつ当該位置決定対象シグナルパッドに隣接するような、前記配置順に従って前記位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した第２の位置決定済シグナルパッドが存在するか否かを判定する第３の判定ステップと、
前記第３の判定ステップにおいて前記第２の位置決定済シグナルパッドが存在しないと判定された場合に、前記第１の仮配置ステップで仮配置された位置を、前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第１の確定ステップと、
を備える請求項１に記載のボンディングパッド配置方法。
【請求項３】
前記第３の判定ステップにおいて前記第２の位置決定済シグナルパッドが存在すると判定された場合に、前記第２の位置決定済シグナルパッドと前記位置決定対象シグナルパッドとの間隔が所定の距離を有するか否かを判定する第４の判定ステップと、
前記第４の判定ステップにおいて前記所定の距離を有すると判定された場合に、前記第１の仮配置ステップで仮配置された位置を、前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第２の確定ステップと、
を備える請求項３に記載のボンディングパッド配置方法。
【請求項４】
前記第４の判定ステップにおいて前記所定の距離を有さないと判定された場合に、前記第２の位置決定済シグナルパッドと前記位置決定対象シグナルパッドとの間隔が所定の距離を有するよう、設計データで規定された列上を移動させ、その移動後の位置を前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第３の確定ステップと、
前記第３の確定ステップにおいて仮想平面上の位置が確定された前記位置決定対象シグナルパッドのワイヤと前記第２の位置決定済シグナルパッドのワイヤとの中間に位置するよう、前記第１の位置決定済シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記第１の位置決定済シグナルパッドの仮想平面上の位置として確定し直す第４の確定ステップと、
を備える請求項２に記載のボンディングパッド配置方法。
【請求項５】
前記第２の判定ステップにおいて前記位置決定対象シグナルパッドとは異なる列に属すると判定された場合に、前記配置順に従って前記位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドを、前記第１の位置決定済シグナルパッドに対する間隔が所定の距離を有するよう、設計データで規定された列上を移動させ、その移動後の位置を前記次に位置を決定すべきシグナルパッドの仮想平面上の位置として確定する第５の確定ステップと、
設計データで規定された列上に前記位置決定対象シグナルパッドを仮配置する第２の仮配置ステップと、
前記第２の仮配置ステップで仮配置された前記位置決定対象シグナルパッドのワイヤと前記第１の位置決定済シグナルパッドとの間隔が所定の距離を有するか否かを判定する第６の判定ステップと、
前記第６の判定ステップにおいて前記所定の距離を有すると判定された場合に、前記第２の仮配置ステップで仮配置された位置を、前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第６の確定ステップと、
を備える請求項２に記載のボンディングパッド配置方法。
【請求項６】
前記第６の判定ステップにおいて前記所定の距離を有さないと判定された場合に、前記第１の位置決定済シグナルパッドと前記位置決定対象シグナルパッドのワイヤとの間隔が所定の距離を有するよう、前記位置決定対象シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記位置決定対象シグナルパッドの仮想平面上の位置として仮配置する第３の仮配置ステップと、
前記第３の仮配置ステップにおいて仮配置された前記位置決定対象シグナルパッドのワイヤと、前記次に位置を決定すべきシグナルパッドと、の間隔が所定の距離を有するよう、前記次に位置を決定すべきシグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記次に位置を決定すべきシグナルパッドの仮想平面上の位置として確定する第７の確定ステップと、
前記位置決定対象シグナルパッドと設計データの規定上同じ列に属しかつ前記位置決定対象シグナルパッドに隣接するような、前記配置順に従って前記位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した第２の位置決定済シグナルパッドが存在するか否かを判定する第７の判定ステップと、
前記第７の判定ステップにおいて前記第２の位置決定済シグナルパッドが存在しないと判定された場合に、前記第３の仮配置ステップで仮配置された位置を、前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第８の確定ステップと、
を備える請求項５に記載のボンディングパッド配置方法。
【請求項７】
前記第７の判定ステップにおいて前記第２の位置決定済シグナルパッドが存在すると判定された場合に、前記第２の位置決定済シグナルパッドと前記位置決定対象シグナルパッドとの間隔が所定の距離を有するか否かを判定する第８の判定ステップと、
前記第８の判定ステップにおいて前記所定の距離を有すると判定された場合に、前記第３の仮配置ステップで仮配置された位置を、前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第９の確定ステップと、
を備える請求項６に記載のボンディングパッド配置方法。
【請求項８】
前記第８の判定ステップにおいて前記所定の距離を有さないと判定された場合に、前記第２の位置決定済シグナルパッドと前記位置決定対象シグナルパッドとの間隔が所定の距離を有するよう、前記位置決定対象シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記位置決定対象シグナルパッドの仮想平面上の位置として確定する第１０の確定ステップと、
前記第１０の確定ステップにより仮想平面上の位置が確定された前記位置決定対象シグナルパッドのワイヤと前記第２の位置決定済シグナルパッドのワイヤとの中間に位置するよう、前記第１の位置決定済シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記第１の位置決定済シグナルパッドの仮想平面上の位置として確定し直す第１１の確定ステップと、
前記第１０の確定ステップにより仮想平面上の位置が確定された前記位置決定対象シグナルパッドのワイヤと、前記次に位置を決定すべきシグナルパッドと、の間隔が所定の距離を有するよう、前記次に位置を決定すべきシグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を前記次に位置を決定すべきシグナルパッドの仮想平面上の位置として確定する第１２の確定ステップと、
を備える請求項７に記載のボンディングパッド配置方法。
【請求項９】
前記決定ステップは、
前記第１の判定ステップにおいて前記位置決定対象シグナルパッドが同じ列に属すると判定された場合に、前記位置決定対象シグナルパッドと前記第１の位置決定済シグナルパッドとの間隔が所定の距離を有するよう、設計データで規定された列上に前記位置決定対象シグナルパッドの仮想平面上の位置を確定する第１３の確定ステップを備える請求項１に記載のボンディングパッド配置方法。
【請求項１０】
前記第１、第２、第４、第６、第８、第９、第１２および第１３の確定ステップのいずれかにより仮想平面上の位置が確定された２つのシグナルパッドのワイヤ間に、仮想平面上の位置を決定すべきリングパッドが存在するか否かを判定する第９の判定ステップを備える請求項４、８または９のいずれか一項に記載のボンディングパッド配置方法。
【請求項１１】
前記第９の判定ステップにおいて、前記２つのシグナルパッドのワイヤ間に、仮想平面上の位置を決定すべきリングパッドが１つ存在すると判定された場合に、前記２つのシグナルパッドのワイヤ間の中間の位置を、当該リングパッドの仮想平面上の位置として確定する第１４の確定ステップを備える請求項１０に記載のボンディングパッド配置方法。
【請求項１２】
前記第９の判定ステップにおいて、前記２つのシグナルパッドのワイヤ間に、仮想平面上の位置を決定すべきリングパッドが複数存在すると判定された場合に、１段もしくは複数段のリングにおける前記２つのシグナルパッドのワイヤ間の間隔であるシグナルパッドワイヤ間隔のうち少なくとも最小のシグナルパッドワイヤ間隔が、設計データで規定されたシグナルパッドのワイヤとリングパッドとの最小許容間隔である第１の最小許容間隔の２倍と、設計データで規定されたリングパッドのワイヤとリングパッドとの最小許容間隔である第２の最小許容間隔と、の総和である指定間隔よりも大きいか否かを判定する第１０の判定ステップを備える請求項１１に記載のボンディングパッド配置方法。
【請求項１３】
前記第１０の判定ステップにおいて前記最小のシグナルパッドワイヤ間隔が前記指定間隔よりも大きいと判定された場合に、前記最小のシグナルパッドワイヤ間隔を、前記第１の最小許容間隔、前記第２の最小許容間隔、および前記指定間隔、の各値を用いて比例配分演算することにより、各前記リングパッドの仮想平面上の位置を確定する第１５の確定ステップを備える請求項１２に記載のボンディングパッド配置方法。
【請求項１４】
前記第１５の確定ステップは、前記の比例配分演算をすることにより、各前記リングパッドについて、前記２つのシグナルパッドのワイヤのうちの１つのワイヤから距離を、それぞれ算出し、この算出結果に基づいて、各前記リングパッドの仮想平面上の位置を確定する請求項１３に記載のボンディングパッド配置方法。
【請求項１５】
前記第１０の判定ステップにおいて前記最小のシグナルパッドワイヤ間隔が前記指定間隔よりも小さいと判定された場合に、前記第１の最小許容間隔、前記第２の最小許容間隔、および、設計データで規定されたリングパッド同士の最小許容間隔である第３の最小許容間隔の各値を用いて、前記２つのシグナルパッドのワイヤのうちの１つのワイヤからの各前記リングパッドの仮想平面上の位置を確定する第１６の確定ステップと、
前記第１６の確定ステップにより仮想平面上の位置が確定されたリングパッドのうちの、前記２つのシグナルパッドのワイヤのうちの１つのワイヤから最遠に位置するリングパッドと、前記最遠に位置するリングパッドに隣接する前記第１、第２、第４、第６、第８、第９、第１２および第１３の確定ステップのいずれかにより仮想平面上の位置が確定されたシグナルパッドと、の間隔が、所定の間隔を有するよう、当該シグナルパッドの仮想平面上の位置を確定し直す第１７の確定ステップと、
を備える請求項１２に記載のボンディングパッド配置方法。
【請求項１６】
前記第１７の確定ステップにより仮想平面上の位置が確定し直されて得られた当該シグナルパッドについて、前記第８の判定ステップの処理を実行することにより、前記第１７の確定ステップにより仮想平面上の位置が確定し直されて得られた当該シグナルパッドの仮想平面上の位置をさらに確定し直す請求項１５に記載のボンディングパッド配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体パッケージの基板面上におけるシグナルパッドもしくはリングパッドの配置位置を、基板面上に相当する仮想平面上で設計するボンディングパッド配置方法に関する。
【背景技術】
【０００２】
ＰＢＧＡやＥＢＧＡなどの半導体パッケージにおいて半導体チップの電極端子と電気的に接続されるボンディングパッドは、シグナルパッドとリングパッドとから構成される（例えば、特許文献１参照）。
【０００３】
半導体パッケージの基板面上におけるシグナルパッドもしくはリングパッドの配置位置は、ＣＡＤシステムを用いて、半導体パッケージの基板面上に相当する仮想平面上において設計する。図２６は、ＣＡＤシステムによって作成された半導体パッケージの基板面上に相当する仮想平面上におけるシグナルパッドおよびリングパッドの配置例を示す図であり、図２７は、図２６の拡大図である。ここでは、１２０個のシグナルパッドＳＰと４０個のリングパッドＲＰが、シグナルパッド２列、リングパッド３列で構成される一例を示す。なお、図示されたシグナルパッドＳＰが配置される列の数およびリングパッドＲＰが配置される列の数はあくまでも一例である。
【０００４】
シグナルパッドＳＰについては、配置される列が設計データにより予め規定されており、図示の例では、外側および内側の円弧状の２列（それぞれＡ列、Ｂ列と称する。以下、本明細書では、特に言及のない限り、外側の列をＡ列、内側の列をＢ列とする。）上に配置される。またリングパッドＲＰについては、リングの位置が設計データにより予め規定されており、図示の例では、外側から内側に向けてＣ列、Ｄ列およびＥ列の順で３列が示されており、これらリング上にリングパッドＲＰが配置される。なお、図示の例ではシグナルパッドＳＰおよびリングパッドＲＰの配置可能範囲を、半径２０ｍｍ、右方向に開始角４５度、終了角１３５度の円弧内としている。
【０００５】
図２８および２９は、従来技術によるシグナルパッドの配置処理について説明する図である。各シグナルパッドが外側のＡ列および内側のＢ列のどちらの列上に配置されるかの割り振りについては、設計データにより予め規定されている。図示の例では、シグナルパッドＳＰ１がＡ列上に、シグナルパッドＳＰ２がＢ列上に配置されると設計データにより予め規定されているものとする。
【０００６】
図２８（ａ）に示すように、まず、全てのシグナルパッドＳＰ１およびＳＰ２が、基準となる列（例えばＢ列）上において、隣接するシグナルパッド間が一定の間隔となるよう、仮配置される。この仮配置について、図２９を参照して詳細に説明すると次のとおりである。すなわち、図２９に示すように、各シグナルパッドＳＰは、設計データで規定された円弧状の補助線Ｑ上に、互いに隣接するシグナルパッドの輪郭の間の距離が所定の距離を保つよう順次仮配置される。
【０００７】
次に、このうちＡ列に配置すべきと設計データにより規定されたシグナルパッドＳＰ１が、図２８（ｂ）に示すように引き出されてＡ列上に再配置される。このとき外側であるＡ列上のシグナルパッドＳＰ１の間隔は、内側であるＢ列上のシグナルパッドＳＰ２の間隔とは異なったものになる。この理由は、円弧状である外側のＡ列の円弧の中心に、チップとシグナルパッドとを結ぶ線が通過しないからである。なお、図示の例では基準となる列をＢ列としたが、この代わりに、基準となる列をＡ列とした場合には、Ｂ列に配置すべきと設計データにより規定されたシグナルパッドＳＰ２が、引き戻されてＢ列上に配置されることになる。
【０００８】
一方、リングパッドの配置処理は、上述のシグナルパッドの配置処理を実行してシグナルパッドの仮想平面上の位置が確定した後、実行される。シグナルパッドの場合と異なり、リングパッドについて、隣接するリングパッド間の配置間隔については特に考慮されることはない。なぜなら、リングパッドは、シグナルパッドのワイヤ間に存在していれば良く、またシグナルパッドのワイヤ間にリングパッドが複数存在する場合は、これらリングパッド同士が重なって電気的に導通していても問題ないからである。
【０００９】
上述のシグナルパッドおよびリングパッドの各配置処理は、シグナルパッドおよびリングパッドが円弧状の配置可能範囲で最も広く配置できるまで繰り返し実行される。
【００１０】
【特許文献１】特開２００５−３０３０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来技術によれば、上述のように、シグナルパッドの配置処理においては、まず、全てのシグナルパッドを、基準となる列上において、隣接するシグナルパッド間が一定の間隔となるよう仮配置し、そして、各シグナルパッドを設計データで予め規定されている列に割り振って配置する。このため、基準となる列以外に配置されることになるシグナルパッドの間隔は不均一になるので、図２６および２７に示すように、シグナルパッドは部分的に偏って配置される。
【００１２】
また、上述の従来技術に従うと、チップパッドの位置によっては、シグナルパッドの間隔が狭くなりすぎることもある。図３０は、従来技術によるシグナルパッドの配置処理の結果、隣接するシグナルパッドが交差した場合を例示する図である。図示のようにシグナルパッドＳＰ３とシグナルパッドＳＰ４とが交差し、いわゆる「逆ハの字」形状を形成している。このような場合は、「逆ハの字」形状を解消するよう、当該「逆ハの字」形状に関連するシグナルパッドおよびそれの付近に位置するシグナルパッドの配置を設計しなおさなければならない。
【００１３】
さらには、リングパッドの配置処理においては、隣接するリングパッド間の配置間隔については特に考慮されていないので、リングパッドにワイヤを打つ場所を確保することができない場合は、シグナルパッドの配置処理に戻って再度、各配置処理をやり直さなければならない。
【００１４】
従って本発明の目的は、上記問題に鑑み、シグナルパッドおよびリングパッドを半導体パッケージの基板面上において偏りのないように配置する設計処理を演算処理装置により効率的に実行するボンディングパッド配置方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を実現するために、本発明においては、半導体パッケージの基板面上におけるボンディングパッドであるシグナルパッドもしくはリングパッドの位置を半導体パッケージの基板面上に相当する仮想平面上において設計する配置処理を、演算処理装置により実行するボンディングパッド配置方法は、設計データによりその配置順および配置すべき列が予め規定されたシグナルパッドおよびリングパッドの、仮想平面上の位置を、当該配置順で順次決定していくものであるが、この方法は、仮想平面上の位置を決定すべき位置決定対象シグナルパッドが、設計データにより規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した第１の位置決定済シグナルパッドとは設計データの規定上異なる列に属するか否かを判定する第１の判定ステップと、第１の判定ステップの判定結果に基づき、位置決定対象シグナルパッドの仮想平面上の位置を決定する決定ステップと、を備える。
【発明の効果】
【００１６】
本発明によれば、半導体パッケージの基板面上にシグナルパッドおよびリングパッドを偏りなく配置する設計を、演算処理装置を用いて自動化することができる。従って、半導体パッケージの設計者の作業時間が大幅に短縮され、負担も低減される。その結果、半導体パッケージの製造コストも低減できる。
【００１７】
また、本発明によれば、シグナルパッドの配置処理の結果、隣接するシグナルパッドが交差して「逆ハの字」形状を形成することはなく、また、リングパッドにワイヤを打つ場所を確保することができないといったことも生じない。したがって、従来のように設計し直すこともない。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明によるボンディングパッド配置方法の基本的な動作を示すフローチャートである。本発明によるボンディングパッド配置方法は、仮想平面上の位置を決定すべき位置決定対象シグナルパッドが、設計データにより規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した第１の位置決定済シグナルパッドとは設計データの規定上異なる列に属するか否かを判定する第１の判定ステップＳ１００と、第１の判定ステップＳ１００の判定結果に基づき、位置決定対象シグナルパッドの仮想平面上の位置を決定する決定ステップＳ２００と、を備える。
【００１９】
以下、本発明の実施例によるボンディングパッド配置処理について、具体例を挙げて説明する。ボンディングパッド配置処理を実行するに先立ち、シグナルパッドおよびリングパッドに関する各種設計データを予め規定しておく必要がある。
【００２０】
図２は、本発明の実施例において、設計データの１つとして予め規定されるシグナルパッドとこのシグナルパッドに隣接するシグナルパッドのワイヤとの間隔を説明する図である。互いに隣接するシグナルパッドがそれぞれ異なる列に配置される場合、一方のシグナルパッドは、もう一方のシグナルパッドのワイヤと近接することになるが、これらの短絡を防ぐために、所定のクリアランスをもって配置される必要がある。すなわち、図２に示すように、シグナルパッドＳＰ２の輪郭とシグナルパッドＳＰ１のワイヤＷ１の輪郭との間には最小許容間隔ｍが少なくとも確保されなければならないとして、この最小許容間隔ｍを、設計データの１つとして予め規定しておく。
【００２１】
図３は、本発明の実施例において、設計データの１つとして予め規定されるリングパッド同士の間隔を説明する図である。図３に示すように、同じリング上に位置するリングパッドＲＰ１とリングパッドＲＰ２との最小許容間隔γを、設計データの１つとして予め規定しておく。
【００２２】
図４は、本発明の実施例において、設計データの１つとして予め規定されるシグナルパッドのワイヤとリングパッドとの間隔を説明する図である。図４に示すように、シグナルパッドＳＰのワイヤＷとリングパッドＲＰとの最小許容間隔αを、設計データの１つとして予め規定しておく。
【００２３】
本発明の実施例によるボンディングパッド配置処理では、先にシグナルパッドの配置処理が実行され、その次にリングパッドの配置処理が実行されるが、具体的処理について図５〜２２を参照して説明する。設計データは、シグナルパッドおよびリングパッドの仮想平面上の配置順および配置すべき列が予め規定されており、この配置順に従ってシグナルパッドおよびリングパッドの仮想平面上の位置をで順次決定していく。
【００２４】
図５は、本発明の実施例における、１番目のシグナルパッドの配置について説明する図であり、図６は、図５の拡大図である。シグナルパッドの配置処理において、１番最初に配置すべきシグナルパッド（１番目のシグナルパッド）を、図示のように、シグナルパッドを配置すべき列として設計データで規定された円弧状の列（図示の例ではＢ列）上の一番端の位置に配置する。半導体チップＣのチップパッドＣＰからシグナルパッドＳＰまでワイヤＷが引かれる。
【００２５】
図７〜１２は、本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャートである。また、図１３〜２２は、本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例を示す図である。
【００２６】
なお、図１３〜１９においては、理解を容易にするために、設計データにより予め規定されたシグナルパッドの配置順に基づいて各シグナルパッドに番号を割り振り、この番号に対応して参照符号を付することにする。例えば「ｉ番目のシグナルパッド」の参照番号ＳＰiで表される。ここで、ｉは正の整数である。また、仮想平面上の位置を決定すべきシグナルパッドである位置決定対象シグナルパッドを、ｉ＋１番目のシグナルパッドＳＰi+1とする。したがって、ｉ＋１番目のシグナルパッドである位置決定対象シグナルパッドＳＰi+1よりも１つ先に（前に）その配置処理において既に仮想平面上の位置を決定したシグナルパッドは位置決定済シグナルパッドＳＰiとなり、２つ先に（前に）その配置処理において既に仮想平面上の位置を決定したシグナルパッドは位置決定済シグナルパッドＳＰi-1となる。一方、位置決定対象シグナルパッドＳＰi+1の次にその配置処理において仮想平面上の位置を決定すべきシグナルパッド参照符号ＳＰi+2で表される。
【００２７】
まず、図７の第１の判定ステップＳ１００において、仮想平面上の位置を決定すべき位置決定対象シグナルパッドが、設計データで予め規定されたシグナルパッドの配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した第１の位置決定済シグナルパッドとは設計データの規定上異なる列に属するか否かを判定する。図１４（ａ）に示すように、位置決定対象シグナルパッドＳＰi+1が、位置決定対象シグナルパッドＳＰi+1よりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰiと異なる列に属するものであると判定された場合には第２の判定ステップＳ１０１へ進む。図１３に示すように、位置決定対象シグナルパッドＳＰi+1が、位置決定対象シグナルパッドＳＰi+1よりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰiと同じ列に属するものであると判定された場合には第１３の確定ステップＳ１０５へ進む。
【００２８】
第１２の判定ステップＳ１０５では、位置決定対象シグナルパッドとこの位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドとの間隔が所定の距離を有するよう、設計データで規定された列上に位置決定対象シグナルパッドの仮想平面上の位置を確定する。図１３に示す例では、位置決定対象シグナルパッドＳＰi+1が、位置決定対象シグナルパッドＳＰi+1よりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰiと間で、設計データで予め規定された所定の距離を有するよう、設計データで規定された列であるＢ列上に、仮想平面上の位置が確定される。第１３の確定ステップＳ１０５の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００２９】
第２の判定ステップＳ１０１では、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドが、位置決定対象シグナルパッドと設計データの規定上同じ列に属するか否かを判定する。図１４（ｂ）に示すように、設計データで予め規定された配置順に従って位置決定対象シグナルパッドＳＰi+1の次に位置を決定すべきシグナルパッドＳＰi+2が、位置決定対象シグナルパッドＳＰi+1と設計データの規定上同じ列に属すると判定された場合には第１の仮配置ステップＳ１０２へ進む。一方、図１４（ｂ）に示すように、設計データで予め規定された配置順に従って位置決定対象シグナルパッドＳＰi+1の次に位置を決定すべきシグナルパッドＳＰi+2が、位置決定対象シグナルパッドＳＰi+1と設計データの規定上同じ列に属さないすなわち異なる列に属すると判定された場合には図９の第５の確定ステップＳ１１０へ進む。
【００３０】
第１の仮配置ステップＳ１０２では、位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと位置決定対象シグナルパッドのワイヤとの間隔が所定の距離を有するよう、設計データで規定された列上に位置決定対象シグナルパッドを仮配置する。図１４（ｂ）に示す例では、位置決定済シグナルパッドＳＰiと位置決定対象シグナルパッドＳＰi+1のワイヤＷとの間隔が所定の距離を有するよう、設計データで規定された列であるＡ列上に位置決定対象シグナルパッドＳＰi+1を仮配置する。
【００３１】
次いで第３の判定ステップＳ１０３において、第１の仮配置ステップＳ１０２で仮配置された位置決定対象シグナルパッドと設計データの規定上同じ列に属しかつ当該位置決定対象シグナルパッドに隣接するような、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドが存在するか否かを判定する。図１５に示すように、第１の仮配置ステップＳ１０２で仮配置された位置決定対象シグナルパッドＳＰi+1と設計データの規定上同じ列（図示の例ではＡ列）に属しかつ当該位置決定対象シグナルパッドＳＰi+1に隣接するような、設計データで予め規定された配置順に従って位置決定対象シグナルパッドＳＰi+1よりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドが存在しない場合には、第１の確定ステップＳ１０４へ進む。一方、図１６（ａ）に示すように、第１の仮配置ステップＳ１０２で仮配置された位置決定対象シグナルパッドＳＰi+1と設計データの規定上同じＡ列に属しかつ位置決定対象シグナルパッドＳＰi+1に隣接するような、設計データで予め規定された配置順に従って位置決定対象シグナルパッドＳＰi+1よりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰi―1が存在する場合には、図８の第４の判定ステップＳ１０６へ進む。
【００３２】
第１の確定ステップＳ１０４では、第１の仮配置ステップＳ１０２で仮配置された位置決定対象シグナルパッドの位置を、位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば、図１５に示されたように位置決定対象シグナルパッドＳＰi+1の位置が仮配置されていた場合には、この位置を、位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定する。第１の確定ステップＳ１０４の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００３３】
図８の第４の判定ステップＳ１０６では、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと位置決定対象シグナルパッドとの間隔が所定の距離を有するか否かを判定する。図１６（ａ）に示す例でいえば、位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が設計データで予め規定された所定の距離を有するか否かを判定することになる。当該間隔が所定の距離を有すると判定された場合は第２の確定ステップＳ１０７へ進み、当該間隔が所定の距離を有さないと判定された場合は第３の確定ステップＳ１０８へ進む。
【００３４】
第２の確定ステップＳ１０７では、図７の第１の仮配置ステップＳ１０２で仮配置された位置決定対象シグナルパッドの位置を、位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば、図１６（ａ）に示されたように位置決定対象シグナルパッドＳＰi+1の位置が仮配置されていた場合には、この位置を、位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定する。第２の確定ステップＳ１０７の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００３５】
第３の確定ステップＳ１０８では、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと位置決定対象シグナルパッドとの間隔が所定の距離を有するよう、設計データで規定された列上を移動させ、その移動後の位置を位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば図１６（ａ）に示す位置の位置決定対象シグナルパッドＳＰi+1は、図１６（ｂ）に示すように、位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が所定の距離を有するよう、設計データで規定された列であるＡ列上を移動させられ、その移動後の位置が、当該位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定される。
【００３６】
次いで、第４の確定ステップＳ１０９において、第３の確定ステップＳ１０８において仮想平面上の位置が確定された位置決定対象シグナルパッドのワイヤと、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドのワイヤと、の中間に位置するよう、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドの仮想平面上の位置として確定し直す。例えば図１６（ｂ）に示す位置の位置決定済シグナルパッドＳＰiは、図１６（ｃ）に示すように、第３の確定ステップＳ１０８において仮想平面上の位置が確定された位置決定対象シグナルパッドＳＰi+1のワイヤＷ１と、位置決定済シグナルパッドＳＰi-1のワイヤＷ２と、の中間に位置するよう、設計データで規定された列であるＢ列上を移動させられ、その移動後の位置が、位置決定済シグナルパッドＳＰiの仮想平面上の位置として確定し直される。第４の確定ステップＳ１０９の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００３７】
図９の第５の確定ステップＳ１１０は、図７の第２の判定ステップＳ１０１において設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドが、位置決定対象シグナルパッドとは設計データの規定上異なる列に属すると判定された場合に実行される。この第５の確定ステップＳ１１０では、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドを、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドに対する間隔が所定の距離を有するよう、設計データで規定された列上を移動させ、その移動後の位置を、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドの、仮想平面上の位置として確定する。例えば、図１４（ｂ）に示すように、設計データで予め規定された配置順に従って位置決定対象シグナルパッドＳＰi+1の次に位置を決定すべきシグナルパッドＳＰi+2が、位置決定対象シグナルパッドＳＰi+1と設計データの規定上同じ列に属さないすなわち異なる列に属すると第２の判定ステップＳ１０１において判定された場合には、図１７（ａ）に示すように、シグナルパッドＳＰi+2は、位置決定済シグナルパッドＳＰiに対する間隔が所定の距離を有するよう、設計データで規定された列であるＢ列上を移動させられ、その移動後の位置が、シグナルパッドＳＰi+2の仮想平面上の位置として確定される。
【００３８】
次いで、第２の仮配置ステップＳ１１１において、設計データで規定された列上に位置決定対象シグナルパッドを仮配置する。図１７（ａ）に示すように第５の確定ステップＳ１１０によりシグナルパッドＳＰi+2の仮想平面上の位置が確定された場合は、図１７（ｂ）に示すように、設計データで規定された列であるＡ列上に位置決定対象シグナルパッドＳＰi+1が仮配置される。
【００３９】
次いで、第６の判定ステップＳ１１２において、第２の仮配置ステップＳ１１１で仮配置された位置決定対象シグナルパッドのワイヤと、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと、の間隔が所定の距離を有するか否かを判定する。図１７（ｂ）で示す例では、第２の仮配置ステップＳ１１１で仮配置されていた位置決定対象シグナルパッドＳＰi+1のワイヤＷと、位置決定対象シグナルパッドＳＰi+1よりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰiと、の間隔が所定の距離を有するか否かが判定される。該所定の間隔については図２を参照して説明したとおりである。当該間隔が所定の距離を有すると判定された場合は第６の確定ステップＳ１１３へ進み、当該間隔が所定の距離を有さないと判定された場合は図１０の第３の仮配置ステップＳ１１４へ進む。
【００４０】
第６の確定ステップＳ１１３では、第２の仮配置ステップＳ１１１で仮配置されていた位置決定対象シグナルパッドの位置を、位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば第２の仮配置ステップＳ１１１によって図１７（ｂ）に示すように位置決定対象シグナルパッドＳＰi+1が仮配置されていた場合には、この位置が位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定される。第５の確定ステップＳ１１３の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００４１】
図１０の第３の各配置ステップＳ１１４は、図９の第６の判定ステップＳ１１２において、第２の仮配置ステップＳ１１１で仮配置された位置決定対象シグナルパッドのワイヤと、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと、の間隔が所定の距離を有しないと判定された場合に実行される。この第３の仮配置ステップＳ１１４では、設計データで予め規定された配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと、位置決定対象シグナルパッドのワイヤと、の間隔が所定の距離を有するよう、位置決定対象シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を位置決定対象シグナルパッドの仮想平面上の位置として仮配置する。例えば図１７（ｃ）で示す例において、第２の仮配置ステップＳ１１１で仮配置されていた位置決定対象シグナルパッドＳＰi+1のワイヤＷと、位置決定対象シグナルパッドＳＰi+1よりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドＳＰiと、の間隔が所定の距離を有しない場合には、第３の仮配置ステップＳ１１４により、位置決定済シグナルパッドＳＰiと、位置決定対象シグナルパッドＳＰi+1のワイヤＷと、の間隔が所定の距離を有するよう、位置決定対象シグナルパッドＳＰi+1を、設計データで規定された列上を移動させ、その移動後の位置を位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として仮配置する。
【００４２】
次いで、第７の確定ステップＳ１１５において、第３の仮配置ステップＳ１１４において仮配置された位置決定対象シグナルパッドのワイヤと、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドと、の間隔が所定の距離を有するよう、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドの仮想平面上の位置として確定する。例えば図１８（ａ）に示すように、位置決定対象シグナルパッドＳＰi+1のワイヤと、位置決定対象シグナルパッドＳＰi+1の次に位置を決定すべきシグナルパッドＳＰi+2と、の間隔が所定の距離を有するよう、シグナルパッドＳＰi+2を、設計データで規定された列であるＢ列上を移動させ、その移動後の位置を、シグナルパッドＳＰi+2の仮想平面上の位置として確定する。
【００４３】
次いで、第７の判定ステップＳ１１６において、位置決定対象シグナルパッドと設計データの規定上同じ列に属しかつ位置決定対象シグナルパッドに隣接するような、配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドが存在するか否かを判定する。位置決定対象シグナルパッドＳＰi+1と同じＡ列に属しかつ位置決定対象シグナルパッドＳＰi+1に隣接するような、図１８（ａ）に示す位置決定済シグナルパッドＳＰi+2が存在するか否かが判定される。そのようなシグナルパッドが存在する場合には第８の確定ステップＳ１１７へ進み、存在しない場合には図１１の第８の判定ステップＳ１１８へ進む。
【００４４】
第８の確定ステップＳ１１７では、第３の仮配置ステップＳ１１４で仮配置されていた位置決定対象シグナルパッドの位置を、位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば第３の仮配置ステップＳ１１４によって図１７（ｃ）で示す位置に位置決定対象シグナルパッドＳＰi+1が仮配置されていた場合には、その位置が位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定される。第８の確定ステップＳ１１７の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００４５】
図１１の第８の判定ステップＳ１１８では、配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと、位置決定対象シグナルパッドと、の間隔が所定の距離を有するか否かを判定する。例えば図１８（ａ）に示す場合では、位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が所定の距離を有するか否かが判定される。当該所定の間隔を有する場合には第９の確定ステップＳ１１９へ進み、有しない場合は第１０の確定ステップＳ１２０へ進む。
【００４６】
第９の確定ステップＳ１１９では、図１０の第３の仮配置ステップＳ１１４で仮配置されていた位置決定対象シグナルパッドの位置を、位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば図１８（ａ）に示す場合では、位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が所定の距離を有する場合は、この位置を、位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定する。第９の確定ステップＳ１１９の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００４７】
第１０の確定ステップＳ１２０では、配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドと、位置決定対象シグナルパッドと、の間隔が所定の距離を有するよう、位置決定対象シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を位置決定対象シグナルパッドの仮想平面上の位置として確定する。例えば図１８（ａ）に示す位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が所定の距離を有しない場合は、図１８（ｂ）に示すように、位置決定対象シグナルパッドＳＰi+1は、位置決定済シグナルパッドＳＰi-1と位置決定対象シグナルパッドＳＰi+1との間隔が所定の距離を有するよう、設計データで規定された列上を移動させられ、その移動後の位置を位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置として確定される。
【００４８】
次いで、第１１の確定ステップＳ１２１では、第１０の確定ステップＳ１２０により仮想平面上の位置が確定された位置決定対象シグナルパッドのワイヤと、配置順に従って位置決定対象シグナルパッドよりも２つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドのワイヤと、の中間に位置するよう、配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を、配置順に従って位置決定対象シグナルパッドよりも１つ先に既に仮想平面上の位置を決定した位置決定済シグナルパッドの仮想平面上の位置として確定し直す。図１８（ｂ）に示す位置に位置決定対象シグナルパッドＳＰi+1の仮想平面上の位置が確定された場合は、図１８（ｃ）に示すように、位置決定済シグナルパッドＳＰiは、位置決定対象シグナルパッドＳＰi+1のワイヤＷ１と位置決定済シグナルパッドＳＰi-1のワイヤＷ２との中間に位置するよう、設計データで規定された列であるＢ列上を移動させられ、その移動後の位置を、位置決定済シグナルパッドＳＰiの仮想平面上の位置として確定し直される。
【００４９】
次いで、第１２の確定ステップＳ１２２では、第１０の確定ステップＳ１２０により仮想平面上の位置が確定された位置決定対象シグナルパッドのワイヤと、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドと、の間隔が所定の距離を有するよう、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドを、設計データで規定された列上を移動させ、その移動後の位置を、設計データで予め規定された配置順に従って位置決定対象シグナルパッドの次に位置を決定すべきシグナルパッドの仮想平面上の位置として確定する。図１８（ｃ）に示す位置に位置決定済シグナルパッドＳＰiの仮想平面上の位置が確定し直された場合は、図１９に示すように、シグナルパッドＳＰi+2は、位置決定対象シグナルパッドＳＰi+1のワイヤＷ１とシグナルパッドＳＰi+2との間隔が所定の距離を有するよう、設計データで規定された列であるＢ列上を移動させられ、その移動後の位置が、シグナルパッドＳＰi+2の仮想平面上の位置として確定される。第１２の確定ステップＳ１２２の処理完了後は、図１２の第９の判定ステップＳ１２３へ進む。
【００５０】
以上の処理により、シグナルパッドの仮想平面上の位置が確定される。次にリングパッドの配置処理について説明する。リング上に配置されるリングパッドが、どのシグナルパッドのワイヤ間に配置されるかについては設計データにより予め規定される。したがって、リングパッドが全く配置されない２つのシグナルパッドのワイヤ間や、１つまたはそれより多く配置される２つのシグナルパッドのワイヤ間がある。図２０に例示されるように、リングパッドが配置可能な位置は、仮想平面上の位置が確定されたシグナルパッドＳＰ１のワイヤＷ１とシグナルパッドＳＰ２のワイヤＷ２と間のリング（図中、Ｃ列およびＤ列として表す。）上にある。
【００５１】
本発明の実施例においては、リングパッドの配置処理を実行するに先立ち、図２１に示すようなリングパッドのクリアランスに関する各種設計データを予め規定しておく必要がある。なお、リングパッドからの距離は、シグナルパッドの場合と異なり、図２１に示すように、リングパッドにワイヤを打つ中心点から計測されるものとする。
【００５２】
まず、図２１（ａ）に示すように、シグナルパッドＳＰのワイヤＷ１とリングパッドＲＰとの間には、最小許容間隔αが少なくとも確保されなければならないとして、この最小許容間隔αを、設計データの１つとして予め規定しておく。
【００５３】
また、図２１（ｂ）に示すように、リングパッドＲＰ１のワイヤＷ２とリングパッドＲＰ２との間には、最小許容間隔βが少なくとも確保されなければならないとして、この最小許容間隔βを、設計データの１つとして予め規定しておく。
【００５４】
また、図２１（ｃ）に示すように、リングパッドＲＰ１とリングパッドＲＰ２との間には、最小許容間隔γが少なくとも確保されなければならないとして、この最小許容間隔γを、設計データの１つとして予め規定しておく。
【００５５】
上述のように最小許容間隔α、βおよびγを予め設定した上で、本発明の実施例におけるシグナルパッドの配置処理を実行する。
【００５６】
まず、図１２の第９の判定ステップＳ１２３において、図７の第１の確定ステップＳ１０４もしくは第１３の確定ステップＳ１０５、図８の第２の確定ステップＳ１０７もしくは第４の確定ステップＳ１０９、図９の第６の確定ステップＳ１１３、図１０の第８の確定ステップＳ１１７、図１１の第９の確定ステップＳ１１９もしくは第１２の確定ステップＳ１２２、のいずれかにより仮想平面上の位置が確定された２つのシグナルパッドのワイヤ間に、仮想平面上の位置を決定すべきリングパッドが存在するか否かを判定する。
【００５７】
第９の判定ステップＳ１２３において、２つのシグナルパッドのワイヤ間に仮想平面上の位置を決定すべきリングパッドが存在しないと判定された場合は、リングパッドの配置処理を終了する。この後、仮想平面上の位置を決定すべきシグナルパッドを、ｉ＋１番目のシグナルパッドからｉ＋２番目のシグナルパッドに変更し、ｉ＋２番目のシグナルパッドについて、図７の第１の判定ステップＳ１００からのシグナルパッド配置処理を改めて実行していく。
【００５８】
第９の判定ステップＳ１２３において、２つのシグナルパッドのワイヤ間に仮想平面上の位置を決定すべきリングパッドが１つ存在すると判定された場合は、第１４の確定ステップＳ１２４へ進む。この第１４の確定ステップＳ１２４では、当該２つのシグナルパッドのワイヤ間の中間の位置を、リングパッドの仮想平面上の位置として確定する。これによりリングパッド配置処理が終了する。この後、仮想平面上の位置を決定すべきシグナルパッドを、ｉ＋１番目のシグナルパッドからｉ＋２番目のシグナルパッドに変更し、ｉ＋２番目のシグナルパッドについて、図７の第１の判定ステップＳ１００からのシグナルパッド配置処理を改めて実行していく。
【００５９】
第９の判定ステップＳ１２３において、２つのシグナルパッドのワイヤ間に仮想平面上の位置を決定すべきリングパッドが複数存在すると判定された場合は、第１０の判定ステップＳ１２５へ進む。この第１０の判定ステップＳ１２５では、１段もしくは複数段のリングにおける当該２つのシグナルパッドのワイヤ間の間隔であるシグナルパッドワイヤ間隔のうち少なくとも最小のシグナルパッドワイヤ間隔（以下、「Ｌmin」とする。）が、設計データで規定されたシグナルパッドのワイヤとリングパッドとの最小許容間隔αの２倍と、設計データで規定されたリングパッドのワイヤとリングパッドとの最小許容間隔βと、の総和である指定間隔「２α＋β」よりも大きいか否かを判定する。ここで、第１０の判定ステップＳ１２５において、１段もしくは複数段のリングにおけるシグナルパッドワイヤ間隔のうち少なくとも最小のシグナルパッドワイヤ間隔Ｌminを上記判定の処理に用いるのは、少なくとも最小のシグナルパッドワイヤ間隔Ｌminを有するリングについてリングパッドを配置できるだけの領域が確保できてさえいれば、最小のシグナルパッドワイヤ間隔Ｌminを有するリング以外のリングにおける２つのシグナルパッドのワイヤ間についても、リングパッドを配置するのに十分な領域が確保できているはずだからである。
【００６０】
指定間隔「２α＋β」は、２つシグナルパッドのワイヤ間との間に、仮想平面上の位置を決定すべきリングパッドが一例として２つ存在するとした場合における指定間隔である。例えば図２２に示すように、シグナルパッドＳＰ１のワイヤＷ１とシグナルパッドＳＰ２のワイヤＷ２と間に、仮想平面上の位置を決定すべき２つのリングパッドＲＰ１およびＲＰ２が存在する場合を考える。ここで、リングパッドＲＰ１はＣ列のリング上に存在すべきものとして、リングパッドＲＰ２はＤ列のリング上に存在すべきものとして、それぞれ設計データで予め規定されているものとする。図示のように、リングパッドＲＰ１のワイヤＷ３およびリングパッドＲＰ２におけるが存在しているＤ列のリングにおける、シグナルパッドＳＰ１のワイヤＷ１とシグナルパッドＳＰ２のワイヤＷ２と間に、少なくとも「α＋β＋α」だけの距離が確保されていなければ、この間にリングパッドＲＰ１およびＲＰ２を通すことができない。したがって、本発明の実施例では、最小のシグナルパッドワイヤ間隔Ｌminが、指定間隔「２α＋β」よりも大きいか否かで場合分けをしてその後の処理を実行する。
【００６１】
このように、指定間隔は、２つシグナルパッドのワイヤ間との間に存在する仮想平面上の位置を決定すべきリングパッドの数に依存してα、βおよび／またはγの各パラメータを用いて決まるものである。例えば、シグナルパッドＳＰ１のワイヤＷ１とシグナルパッドＳＰ２のワイヤＷ２と間に、仮想平面上の位置を決定すべきリングパッドが３つ存在し、このうちの２つが同一リング上に存在し、残りの１つが別のリング上に存在する場合は、シグナルパッドＳＰ１のワイヤＷ１とシグナルパッドＳＰ２のワイヤＷ２と間に、少なくとも「α＋β＋γ＋α」だけの距離が確保されていなければ、この間にリングパッドＲＰ１およびＲＰ２を通すことができない。したがって、この場合は、最小のシグナルパッドワイヤ間隔Ｌminが、指定間隔「２α＋β＋γ」よりも大きいか否かで場合分けをしてその後の処理を実行する。
【００６２】
第１０の判定ステップＳ１２５において最小のシグナルパッドワイヤ間隔Ｌminが指定間隔「２α＋β」よりも大きいと判定された場合は、第１５の確定ステップＳ１２６を実行する。
【００６３】
第１５の確定ステップＳ１２６では、最小のシグナルパッドワイヤ間隔Ｌminを、最小許容間隔α、最小許容間隔β、および指定間隔「２α＋β」、の各値を用いて比例配分演算することにより、各リングパッドの仮想平面上の位置を確定する。より具体的には、この比例配分演算処理をすることにより、各リングパッドについて、２つのシグナルパッドのワイヤのうちの１つのワイヤから距離を、それぞれ算出し、この算出結果に基づいて、各リングパッドの仮想平面上の位置を確定する。このように比例配分演算するのは、各リングパッドを２つのシグナルパッドのワイヤ間で均等に配置したほうが電気的特性が良いからである。例えば図２２に示す例では、リングパッドＲＰ１については、リングパッドＲＰ１のワイヤＳ３が距離「Ｌmin×（α／（２α＋β））」だけシグナルパッドＳＰ１のワイヤＷ１から離れるような位置を仮想平面上の位置として確定し、リングパッドＲＰ２については、距離「Ｌmin×（（α＋β）／（２α＋β））」だけシグナルパッドＳＰ１のワイヤＷ１から離れるような位置（換言すれば、距離「Ｌmin×（β／（２α＋β））」だけリングパッドＲＰ１のワイヤＷ３から離れるような位置）を仮想平面上の位置として確定する。これによりリングパッド配置処理が終了する。この後、仮想平面上の位置を決定すべきシグナルパッドを、ｉ＋１番目のシグナルパッドからｉ＋２番目のシグナルパッドに変更し、ｉ＋２番目のシグナルパッドについて、図７の第１の判定ステップＳ１００からのシグナルパッド配置処理を改めて実行していく。
【００６４】
第１０の判定ステップＳ１２５において最小のシグナルパッドワイヤ間隔Ｌminが指定間隔「２α＋β」よりも小さいと判定された場合は、第１６の確定ステップＳ１２７を実行する。この第１６の確定ステップＳ１２７では、最小許容間隔α、最小許容間隔β、および、最小許容間隔γの各値を用いて、２つのシグナルパッドのワイヤのうちの１つのワイヤを基準にしてこのワイヤからの各リングパッドの仮想平面上の位置を順次確定していく。
【００６５】
次いで第１７の確定ステップＳ１２８において、第１６の確定ステップＳ１２７により仮想平面上の位置が確定されたリングパッドのうちの、２つのシグナルパッドのワイヤのうちの１つのワイヤから最遠に位置するリングパッドと、この最遠に位置するリングパッドに隣接する図７の第１の確定ステップＳ１０４もしくは第１３の確定ステップＳ１０５、図８の第２の確定ステップＳ１０７もしくは第４の確定ステップＳ１０９、図９の第６の確定ステップＳ１１３、図１０の第８の確定ステップＳ１１７、図１１の第９の確定ステップＳ１１９もしくは第１２の確定ステップＳ１２２、のいずれかにより仮想平面上の位置が確定されたシグナルパッドと、の間隔が、所定の間隔を有するよう、当該シグナルパッドの仮想平面上の位置を確定し直す。なお、第１７の確定ステップＳ１２８により確定しなおされたシグナルパッドについては、図１１の第８の判定ステップＳ１１８へ戻って配置処理を再度実行する。
【００６６】
図２３は、本発明の実施例によるボンディングパッド配置方法によって作成された半導体パッケージの基板面上に相当する仮想平面上におけるシグナルパッドおよびリングパッドの配置を示す図であり、図２４は、図２３の拡大図である。図２３および２４は、従来技術に係る図２６および２７で用いた設計データと同様の設計データに基づいて、本発明の実施例によるボンディングパッド処理を実行したものである。図２３および２４に示すように、本発明の実施例により、図２６および２７に示した従来技術の場合に比べて、半導体パッケージの基板面上にシグナルパッドおよびリングパッドを偏りなく配置できていることが分かる。
【００６７】
上述した本発明の実施例によるボンディングパッド配置処理は、コンピュータやＣＡＤシステムなどの演算処理装置を用いて実現される。図２５は、記録媒体に格納された、本発明によるボンディングパッド配置処理を実行するためのコンピュータプログラムの、コンピュータ上の動作を説明するシステム構成図である。
【００６８】
コンピュータに本発明によるボンディングパッド配置処理を実行させるコンピュータプログラムは、図２５に示すように、記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ等の外部記録媒体）１０に格納されており、一例として、次に説明するような構成によるコンピュータにインストールされてＣＡＤシステムとして動作する。
【００６９】
ＣＰＵ１１は、ボンディングパッド配置処理全体を制御する。このＣＰＵ１１に、バス１２を介してＲＯＭ１３、ＲＡＭ１４、ＨＤ（ハードディスク装置）１５、マウスやキーボード等の入力装置１６、外部記録媒体ドライブ装置１７およびＬＣＤ、ＣＲＴ等の表示装置１８が接続されている。ＣＰＵ１１の制御プログラムはＲＯＭ１３に格納されている。
【００７０】
ボンディングパッド配置処理を実行するコンピュータプログラム（ボンディングパッド配置処理プログラム）は、記録媒体１０からＨＤ１５にインストール（記憶）される。また、ＲＡＭ１４には、ボンディングパッド配置処理をＣＰＵ１１が実行する際の作業領域や、ボンディングパッド配置処理を実行するコンピュータプログラムの一部が記憶される領域が確保されている。また、ＨＤ１５には、入力データ、最終データ、さらにＯＳ（オペレーティングシステム）等が予め記憶される。
【００７１】
まず、コンピュータの電源を投入すると、ＣＰＵ１１がＲＯＭ１０から制御プログラムを読み出し、さらにＨＤ１５からＯＳを読み込み、ＯＳを起動させる。これによりコンピュータはボンディングパッド配置処理プログラムを記録媒体１０からインストール可能な状態となる。
【００７２】
次に、記録媒体１０を外部記録媒体ドライブ装置１７に装着し、入力装置１６から制御コマンドをＣＰＵ１１に入力し、記録媒体１０に格納されたボンディングパッド配置処理プログラムを読み取ってＨＤ１５等に記憶する。つまりボンディングパッド配置処理プログラムをコンピュータにインストールする。
【００７３】
その後、オペレータの指示により、本発明によるボンディングパッド配置処理プログラムがコンピュータ上で動作する。ボンディングパッド配置処理の結果は、所定のデータ形式で記録すればよい。このデータは、結合可能なボンディングパッドを結合して１つのボンディングパッドを合成し、基板上に配置するためのデータであり、例えば、ＨＤ１５に記憶しておき必要なときに利用できるようにしたり、あるいは、処理結果を表示装置１８に視覚的に表示するのに用いてもよい。
【００７４】
なお、図２５のコンピュータでは、記録媒体１０に記憶されたボンディングパッド配置処理プログラムをＨＤ１５にインストールするようにしたが、これに限らず、ＬＡＮ等の情報伝送媒体を介して、コンピュータにインストールされてもよいし、予めコンピュータに内蔵のＨＤ１５に格納されていてもよい。
【００７５】
まず、コンピュータの電源を投入すると、ＣＰＵ１１１がＲＯＭ１１０から制御プログラムを読み出し、さらにＨＤ１１５からＯＳを読み込み、ＯＳを起動させる。これによりコンピュータは自動配線決定処理プログラムを記憶媒体１１０からインストール可能な状態となる。
【００７６】
次に、記憶媒体１１０を外部記憶媒体ドライブ装置１１７に装着し、入力装置１１６から制御コマンドをＣＰＵ１１１に入力し、記憶媒体１１０に格納された自動配線決定処理プログラムを読み取ってＨＤ１１５等に記憶する。つまり自動配線決定処理プログラムがコンピュータにインストールされる。
【００７７】
その後は、自動配線決定処理プログラムを起動させると、コンピュータは自動配線決定装置として動作する。オペレータは、表示装置１１８に表示される対話形式による作業内容と手順に従って、入力装置１１６を操作することで、上述した自動配線決定処理を実行することができる。処理の結果得られた「配線の最適ルートに関するデータ」は、例えば、ＨＤ１１５に記憶しておいて後日利用できるようにしたり、あるいは、処理結果を表示装置１１８に視覚的に表示するのに用いてもよい。
【００７８】
なお、図２５のコンピュータでは、記憶媒体１１０に記憶されたプログラムをＨＤ１１５にインストールするようにしたが、これに限らず、ＬＡＮ等の情報伝送媒体を介して、コンピュータにインストールされてもよいし、コンピュータに内蔵のＨＤ１１５に予めインストールされておいてもよい。
【産業上の利用可能性】
【００７９】
本発明は、半導体パッケージの基板面上におけるシグナルパッドおよびリングパッドの配置位置の設計に適用することができる。本発明によれば、半導体パッケージの基板面上にシグナルパッドおよびリングパッドを偏りなく配置する設計を、演算処理装置を用いて自動化することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明によるボンディングパッド配置方法の基本的な動作を示すフローチャートである。
【図２】本発明の実施例において、設計データの１つとして予め規定されるシグナルパッドとこのシグナルパッドに隣接するシグナルパッドのワイヤとの間隔を説明する図である。
【図３】本発明の実施例において、設計データの１つとして予め規定されるリングパッド同士の間隔を説明する図である。
【図４】本発明の実施例において、設計データの１つとして予め規定されるシグナルパッドのワイヤとリングパッドとの間隔を説明する図である。
【図５】本発明の実施例における、１番目のシグナルパッドの配置について説明する図である。
【図６】図５の拡大図である。
【図７】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その１）である。
【図８】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その２）である。
【図９】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その３）である。
【図１０】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その４）である。
【図１１】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その５）である。
【図１２】本発明の実施例によるボンディングパッド配置方法の具体的動作を示すフローチャート（その６）である。
【図１３】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その１）を示す図である。
【図１４】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その２）を示す図である。
【図１５】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その３）を示す図である。
【図１６】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その４）を示す図である。
【図１７】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その５）を示す図である。
【図１８】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その６）を示す図である。
【図１９】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その７）を示す図である。
【図２０】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その８）を示す図である。
【図２１】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その９）を示す図である。
【図２２】本発明の実施例によるボンディングパッド配置方法に基づくシグナルパッドおよびリングパッドの配置の具体例（その１０）を示す図である。
【図２３】本発明の実施例によるボンディングパッド配置方法によって作成された半導体パッケージの基板面に相当する仮想平面上におけるシグナルパッドおよびリングパッドの配置を示す図である。
【図２４】図２３の拡大図である。
【図２５】記録媒体に格納された、本発明によるボンディングパッド配置処理を実行するためのコンピュータプログラムの、コンピュータ上の動作を説明するシステム構成図である。
【図２６】ＣＡＤシステムによって半導体パッケージの基板面上に相当する仮想平面上に配置されたシグナルパッドおよびリングパッドを例示する図である。
【図２７】図２６の拡大図である。
【図２８】従来技術によるシグナルパッドの配置処理について説明する図（その１）である。
【図２９】従来技術によるシグナルパッドの配置処理について説明する図（その２）である。
【図３０】従来技術によるシグナルパッドの配置処理の結果、隣接するシグナルパッドが交差した場合を例示する図である。
【符号の説明】
【００８１】
１０    記録媒体
１１    ＣＰＵ
１２    バス
１３    ＲＯＭ
１４    ＲＡＭ
１５    ハードディスク装置
１６    入力装置
１７    外部記憶媒体ドライブ装置
１８    表示装置
【図１】
2008306041.tif 000003
【図２】
2008306041.tif 000004
【図３】
2008306041.tif 000005
【図４】
2008306041.tif 000006
【図５】
2008306041.tif 000007
【図６】
2008306041.tif 000008
【図７】
2008306041.tif 000009
【図８】
2008306041.tif 000010
【図９】
2008306041.tif 000011
【図１０】
2008306041.tif 000012
【図１１】
2008306041.tif 000013
【図１２】
2008306041.tif 000014
【図１３】
2008306041.tif 000015
【図１４】
2008306041.tif 000016
【図１５】
2008306041.tif 000017
【図１６】
2008306041.tif 000018
【図１７】
2008306041.tif 000019
【図１８】
2008306041.tif 000020
【図１９】
2008306041.tif 000021
【図２０】
2008306041.tif 000022
【図２１】
2008306041.tif 000023
【図２２】
2008306041.tif 000024
【図２３】
2008306041.tif 000025
【図２４】
2008306041.tif 000026
【図２５】
2008306041.tif 000027
【図２６】
2008306041.tif 000028
【図２７】
2008306041.tif 000029
【図２８】
2008306041.tif 000030
【図２９】
2008306041.tif 000031
【図３０】
2008306041.tif 000032