(57)【要約】【課題】部品が搭載され積層される基板において、層間接続部を経由して接続される各部品の所定の端子間の接続距離が可及的短くなるような配線ルートを決定する配線ルート決定方法を提供する。【解決手段】端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備する。基板を層間接続部を含む複数の領域に分割して各領域毎に代表経由点を想定する。代表経由点を経由して各部品の所定の端子間を接続したときの端子間の距離を求めて、最短距離の仮想ルートを各端子毎に抽出する。代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数を越えないように調整し、全ての仮想ルートについて、各領域内の各層間接続部を個別に経由して、各端子間を最短距離で結ぶ実配線ルートを決定する。【選択図】      図１
2004341727.tif 000002
【特許請求の範囲】
【請求項１】
端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備し、
基板を層間接続部を含む複数の領域に分割し、
各領域毎に代表経由点を想定し、
代表経由点を経由して各部品の所定の端子間を接続したときの端子間の距離を求めて、最短距離の仮想ルートを各端子毎に抽出し、
代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数を超えたかどうかを判断し、
代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数よりも大きければ、この代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数以下となるように、１または複数の仮想ルートを、各領域に設けられている接続可能な層間接続部の数よりも、接続される仮想ルートの数が小さくなる他の代表経由点を経由する仮想ルートに含め、
全ての仮想ルートについて、各領域内の各層間接続部を個別に経由して、各端子間を最短距離で結ぶ実配線ルートを決定することを含むことを特徴とする配線ルート決定方法。
【請求項２】
各部品の所定の端子間を接続する順序を規定する優先順序を予め設定し、前記優先順序に基づいて実配線ルートを決定することを特徴とする請求項１記載の配線ルート決定方法。
【請求項３】
部品を、基板に垂直であって、かつこの部品の中心を通る軸線まわりに予め定める角度ずつ回転して、各部品の所定の端子間の距離の総和を求め、
前記端子間の距離の総和が最小となる位置に部品を配置することを特徴とする請求項１または２記載の配線ルート決定方法。
【請求項４】
複数の部品が搭載される基板について、基板に垂直であり、かつ基板の中心を通る予め定める軸線まわりに、前記複数の部品を予め定める角度ずつ回転したときに、この複数の部品を基板上の予め定める領域内に配置できるかどうかを求め、
前記予め定める角度ずつ回転したときに、複数の部品を基板上の予め定める領域に配置できる場合に、各部品の中心と、この各部品と接続されるべき他の基板の各部品の所定の端子との間の距離の総和を求め、
前記部品の中心と、この部品と接続される前記所定の端子との間の距離の総和が最小となる位置に各部品を配置することを特徴とする請求項１〜３のいずれかに記載の配線ルート決定方法。
【請求項５】
複数の部品が搭載される一方の基板と、所定位置に部品が搭載された他方の基板とを準備し、
前記一方の基板を、複数の部品のいずれか１つの第１部品を基板に乗載したときの占有面積とほぼ同じ面積または前記占有面積よりも大きな面積を有する複数の配置想定領域に均等に分割し、
前記複数の部品のうち前記第１部品を除く他の部品のうちの１つの第２部品を、一方の基板に乗載して、各配置想定領域における前記第２部品の占有面積を除いた残余の面積を求め、
前記第１部品を各配置想定領域に乗載したとき、この第１部品の各端子と、他方の基板に搭載された第３部品の前記第１部品の各端子に接続されるべき各端子間の距離の総和をそれぞれ求め、
前記各配置想定領域における前記面積と、前記第１部品の各端子および第３部品の各端子間の距離の総和とに基づいて、前記面積がなるべく大きくかつ前記距離の総和がなるべく小さくなるような配置想定領域を各配置想定領域のうちから抽出し、
一方の基板の前記抽出された配置想定領域に前記第１部品を配置して、第１および第２部品間に積重領域が発生するか否かを判断し、積重領域が発生すると判断したときには、その積重領域が発生しない位置まで第１および第２部品を相対的に変位させることを特徴とする部品配置方法。
【請求項６】
前記複数の基板のうち少なくとも１つは、請求項５記載の部品配置方法によって第１および第２部品が配置されることを特徴とする請求項１〜４のいずれかに記載の配線ルート決定方法。
【請求項７】
請求項１〜４および６のいずれかに記載の配線ルート決定方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項５記載の部品配置方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば半導体素子および受動素子などの部品を搭載し、層間接続部を介して積層される基板における配線ルート決定方法および部品配置方法ならびにプログラムに関する。
【０００２】
【従来の技術】
携帯電話機および携帯情報端末装置など電子機器の急速な普及の原動力として、ひとつにはこれらの電子機器の飛躍的な小形化がある。その背景には、複数のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によって構成されているシステムまたは機能を１つの半導体素子に集約するシステム・オン・チップ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ：略称ＳＯＣ）化の技術の進歩がある。以後、システム・オン・チップを単にＳＯＣと記載する。
【０００３】
その一方で、所定の半導体素子などの部品を複数組み合わせ、これらの部品をプリント配線基板に直接搭載することによって１パッケ―ジ化するシステム・イン・パッケージ（Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ：略称ＳＩＰ）化の技術が注目を集めている。以後、システム・イン・パッケージを単にＳＩＰと記載する。ＳＩＰの中でも、部品を実装したプリント配線基板を、はんだから成る層間接続部を介して複数枚積層する構造は、大規模な論理回路の回路基板への実装面積を小形化することができ、電子装置を小形化するにあたって特に有効である。
【０００４】
ＳＩＰでは、一部のシステムまたは機能を変更する場合では、プリント配線基板に実装される一部の部品および各部品間の配線を変更するだけでよく、ＳＯＣと比較して開発期間が短くなるというメリットがある。
【０００５】
前述したＳＩＰでは、複数の部品を組合せて１つのパッケージに集約するために、複数の部品の所定の端子を配線によって相互に接続する必要がある。前記複数の部品の所定の端子を接続するには、設計段階において各部品の所定の端子間の接続ルートを決定する必要がある。
【０００６】
部品の所定の端子間を接続する配線ルートを決定する従来の技術では、１つのプリント配線基板に搭載される部品の所定の内部端子を、各部品に設けられる入出力端子を経由して最短距離で接続するように、配線ルートを決定しているものがある（たとえば、特許文献１参照）。この従来の技術では、１つのプリント配線基板に搭載される２つの部品の接続されるべき内部端子を対角点とする矩形領域を想定し、この矩形領域に含まれる未使用の全ての入出力端子を各内部端子の割付け候補とする。
【０００７】
次に、割付け候補とされた各入出力端子を経由して各内部端子を接続する仮想ルートを想定し、すべての仮想ルートにおける端子間の距離を求めて、最短距離となる入出力端子を選択する。これによって選択された入出力端子を経由する配線ルートが決定される。
【０００８】
前述した回路部品を実装したプリント配線基板を、層間接続部を介して複数枚積層する場合、１つのプリント配線基板で搭載位置が決定されている部品の所定の端子に、所定の信号名が割付けられる。そして、前記部品の所定の端子と、前記プリント配線基板に積層される他のプリント配線基板に搭載される部品で、前記所定の信号名と同じ信号名が割付けられている所定の端子とを接続するように配線ルートを決定する必要がある。前記プリント配線基板に実装される部品は、設計者によって予め定める位置に配置されており、各部品の所定の端子間を接続する配線ルートは、前記層間接続部を経由するように設定する必要がある。
【０００９】
【特許文献１】
特公平４−１７４０７９号公報
【００１０】
【発明が解決しようとする課題】
前述の従来の技術では、１つの基板上に搭載される部品の内部端子間の配線ルートが最短となるように、部品が有する入出力端子を選択して、配線ルートを決定することができる。これによって、同一基板に搭載される部品同士の接続に関して、これらを接続する最短の配線ルートが決定される。
【００１１】
このように従来の技術では、１つのプリント配線基板に搭載される部品間での配線ルートを決定することはできる。しかしながら、前述した複数の基板を積層して構成されるＳＩＰのように、層間接続部を介し複数枚積層するプリント配線基板において、層間接続部を経由して、積層されるプリント配線基板に実装される各部品の所定の端子間の配線ルートを決定することができないという問題がある。
【００１２】
また部品間の信号の遅延を可及的短くするために、各部品の所定の端子間を接続する配線ルートの長さを可及的短くすることができる配線ルート決定方法が望まれている。
【００１３】
また前記各部品の所定の端子間の配線ルートが可及的短くなるように基板に部品を配置する方法が望まれている。
【００１４】
本発明の目的は、部品が搭載され積層される基板において、層間接続部を経由して接続される各部品の所定の端子間の接続距離が可及的短くなるような配線ルートを決定する配線ルート決定方法および部品配置方法ならびに、前記配線ルート決定方法をコンピュータによって実行可能なプログラムおよび前記部品配置方法をコンピュータによって実行可能なプログラムを提供することである。
【００１５】
【課題を解決するための手段】
本発明は、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備し、
基板を層間接続部を含む複数の領域に分割し、
各領域毎に代表経由点を想定し、
代表経由点を経由して各部品の所定の端子間を接続したときの端子間の距離を求めて、最短距離の仮想ルートを各端子毎に抽出し、
代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数を超えたかどうかを判断し、
代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数よりも大きければ、この代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数以下となるように、１または複数の仮想ルートを、各領域に設けられている接続可能な層間接続部の数よりも、接続される仮想ルートの数が小さくなる他の代表経由点を経由する仮想ルートに含め、
全ての仮想ルートについて、各領域内の各層間接続部を個別に経由して、各端子間を最短距離で結ぶ実配線ルートを決定することを含むことを特徴とする配線ルート決定方法である。
【００１６】
本発明に従えば、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板における層間接続部を介した部品間の配線ルートを決定する。まず基板を層間接続部を含む複数の領域に分割し、次に各領域毎に代表経由点を想定する。そして、前記代表経由点を経由して各部品の所定の端子間を接続したときの端子間の距離を求めて、最短距離の仮想ルートを各端子毎に抽出する。これによって、各部品の所定の端子間は、代表経由点を通る仮想ルートによって相互に接続される。
【００１７】
所定の端子間を層間接続部を介して単に最短となる実配線ルートを形成すると、１つの層間接続部に接続される配線ルートが複数存在する場合が発生する。この場合、実配線ルートを移動させる必要がある。このとき、実配線ルートの数が増加するほど、実配線ルートを移動させるための配線の変更が困難となる。これは、複数の実配線ルートが所定の領域に集中してしまう場合に顕著である。
【００１８】
本発明においては、１つの代表経由点に仮想ルートが集中する可能性がある。このため、次のように処理する。まず代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数を超えたかどうかを判断する。そして、代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数よりも大きければ、この領域に想定される仮想ルートの数が多いことがわかる。
【００１９】
したがって、この代表経由点に接続される仮想ルートの数が、各領域に設けられている接続可能な層間接続部の数以下となるように、１または複数の仮想ルートを変更する。つまり、この余剰の仮想ルートを各領域に設けられている接続可能な層間接続部の数よりも接続される仮想ルートの数が小さくなる他の代表経由点を経由する仮想ルートに含める。
【００２０】
このような処理によって、１つの代表経由点への仮想ルートの集中を防止することができ、さらに各領域における仮想ルートの数が制限されるので、特定の領域における実配線ルートの集中を防止することができる。
【００２１】
単に、個々の実配線ルートが最短となるように接続する場合では、信号線が集中する場合には、配線の変更に多大な労力が必要となる。つまり、単純に層間接続部を経由して最短経路で端子間を接続する場合、配線が混雑する場合があり、これらの混雑を避けるために、後から形成される配線が必要以上に長くなったり、他の配線のために配線できなったりする場合がある。しかしながら、本発明では、代表経由点を想定して、この代表経由点を経由するように配線を形成することによって、多数の接続部がある場合であっても、仮想ルートを大まかに振り分けることができ、簡単に配線ルートを分散させることができる。
【００２２】
最後に全ての仮想ルートについて、各領域内の各層間接続部を個別に経由して、各端子間を最短距離で結ぶ実配線ルートを決定する。これによって配線ルートの総和を可及的短くすることができる。したがって、部品間で伝送される信号の遅延を可及的低減することができる。
【００２３】
また本発明は、各部品の所定の端子間を接続する順序を規定する優先順序を予め設定し、前記優先順序に基づいて実配線ルートを決定することを特徴とする。
【００２４】
本発明に従えば、優先的に接続すべき部品の所定の端子から順番に実配線ルートを決定することができる。優先順序を設定することによって、端子間に接続する配線ルートで重要なものから順番に決定することができる。
【００２５】
所定の端子間を最短で接続するような配線ルートを決定することが最良であるが、部品の端子の配置位置および層間接続部の配置位置によっては、仮想ルートを移動させる必要がある。このような場合に、たとえば優先順位に従って配線を決定することができるので、重要な配線、信号の遅延が最も問題となる部品同士の接続する配線ルートを、可及的短く形成することができる。
【００２６】
また本発明は、部品を、基板に垂直であって、かつこの部品の中心を通る軸線まわりに予め定める角度ずつ回転して、各部品の所定の端子間の距離の総和を求め、
前記端子間の距離の総和が最小となる位置に部品を配置することを特徴とする。
【００２７】
本発明に従えば、部品を予め定める角度ずつ回転して、各部品の所定の端子間の距離の総和を求める。前記距離の総和が最小となる位置に部品を配置することによって、接続すべき端子間の距離を可及的短くすることができる。このように接続するべき端子間の距離を短くすることができるので、前述した方法に従って層間接続部を経由する実配線ルートを決定すると、層間接続部を経由して決定される実配線ルートをさらに短くすることができる。
【００２８】
また本発明は、複数の部品が搭載される基板について、基板に垂直であり、かつ基板の中心を通る予め定める軸線まわりに、前記複数の部品を予め定める角度ずつ回転したときに、この複数の部品を基板上の予め定める領域内に配置できるかどうかを求め、
前記予め定める角度ずつ回転したときに、複数の部品を基板上の予め定める領域に配置できる場合に、各部品の中心と、この各部品と接続されるべき他の基板の各部品の所定の端子との間の距離の総和を求め、
前記部品の中心と、この部品と接続される前記所定の端子との間の距離の総和が最小となる位置に各部品を配置することを特徴とする。
【００２９】
本発明に従えば、複数の部品を、基板に垂直であり、かつ基板の中心を通る予め定める軸線まわりに、予め定める角度ずつ回転させる。これによって、基板上に配置される部品の所定の端子の位置を変更することができる。前記複数の部品を前記軸線まわりに予め定める角度ずつ回転させたときに、すべての部品を基板上の予め定める領域に配置できる場合について、以下の処理を行う。まず、各部品の中心と、この各部品と接続される他の基板の各部品の所定の端子との間の距離の総和を求める。そして、前記距離の総和が最小となる位置に各部品を配置する。
【００３０】
これによって、接続すべき端子間の距離を可及的短くすることができる。このように接続するべき端子間の距離を短くすることができるので、前述した方法に従って層間接続部を経由する実配線ルートを決定すると、層間接続部を経由して決定される実配線ルートをさらに短くすることができる。
【００３１】
また本発明は、複数の部品が搭載される一方の基板と、所定位置に部品が搭載された他方の基板とを準備し、
前記一方の基板を、複数の部品のいずれか１つの第１部品を基板に乗載したときの占有面積とほぼ同じ面積または前記占有面積よりも大きな面積を有する複数の配置想定領域に均等に分割し、
前記複数の部品のうち前記第１部品を除く他の部品のうちの１つの第２部品を、一方の基板に乗載して、各配置想定領域における前記第２部品の占有面積を除いた残余の面積を求め、
前記第１部品を各配置想定領域に乗載したとき、この第１部品の各端子と、他方の基板に搭載された第３部品の前記第１部品の各端子に接続されるべき各端子間の距離の総和をそれぞれ求め、
前記各配置想定領域における前記面積と、前記第１部品の各端子および第３部品の各端子間の距離の総和とに基づいて、前記面積がなるべく大きくかつ前記距離の総和がなるべく小さくなるような配置想定領域を各配置想定領域のうちから抽出し、
一方の基板の前記抽出された配置想定領域に前記第１部品を配置して、第１および第２部品間に積重領域が発生するか否かを判断し、積重領域が発生すると判断したときには、その積重領域が発生しない位置まで第１および第２部品を相対的に変位させることを特徴とする部品配置方法である。
【００３２】
本発明に従えば、前記複数の部品のうち前記第１部品を除く他の部品のうちの１つの第２部品を、一方の基板に乗載して、各配置想定領域における前記第２部品の占有面積を除いた残余の面積が大きくなるほうが、前記配置想定領域に第１部品を配置したときに、第１および第２部品が積重する領域が発生しにくい。
【００３３】
また前記第１部品を各配置想定領域に乗載したとき、この第１部品の各端子と、他方の基板に搭載された第３部品の前記第１部品の各端子に接続されるべき各端子間の距離の総和が短くなるほうが、配線ルートを短くすることができる。
【００３４】
本発明では、第２部品を配置可能な面積がなるべく広い配置想定領域であって、かつ配線距離の総和がなるべく短くなるような位置に第１部品を搭載する。このような位置に第１部品を搭載することによって、もしも第１部品を前記配置想定領域に乗載したときに、第２部品に積重する、つまり各部品の基板への投影面が重なる場合が発生する場合でも、これらの第１および第２部品が積重する領域をなるべく小さくすることができる。これによって、第１部品および第２部品を相対的に移動するときに、この移動量をできるだけ小さくすることができ、さらに、第１部品および第２部品を相対的に移動させた場合でも、前記配線距離の総和をできるだけ短くすることができる。
【００３５】
また本発明は、前記複数の基板のうち少なくとも１つは、前記部品配置方法によって第１および第２部品が配置されることを特徴とする。
【００３６】
本発明に従えば、前述した部品配置方法によって部品を基板に配置し、その後前述した配線ルート決定方法によって、各部品の所定の端子間を接続する配線ルートを決定する。積層する基板での部品の位置を決定した後、前記配線ルートを決定することによって、配線の長さがさらに短くなるような配線ルートを決定することができる。
【００３７】
また本発明は、前記配線ルート決定方法をコンピュータに実行させるためのプログラムである。
【００３８】
本発明に従えば、前記プログラムを、コンピュータに実行させることによって、コンピュータは、前述の配線ルート決定方法に従って動作し、前述のような作用を達成することができる。またコンピュータに前記配線ルート決定方法の手順を実行させることによって、短時間で処理することができる。
【００３９】
また本発明は、前記部品配置方法をコンピュータに実行させるためのプログラムである。
【００４０】
本発明に従えば、前記プログラムを、コンピュータに実行させることによって、コンピュータは、前述の部品配置方法に従って動作し、前述のような作用を達成することができる。またコンピュータに前記部品配置方法の手順を実行させることによって、短時間で処理することができる。
【００４１】
【発明の実施の形態】
図１は、本発明の第１の実施の形態の配線ルート決定方法を示すフローチャートである。本実施の形態の配線ルート決定方法は、コンピュータによって実行可能なプログラムを、コンピュータに実行させることによって実現される。前記プログラムは、コンピュータのメモリに記憶され、中央演算処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：略称ＣＰＵ）によって実行される。つまり図１に示すフローチャートは、ＣＰＵの処理動作を示す。
【００４２】
本実施の形態の配線ルート決定方法では、部品が搭載される基板であって、かつ積層される基板において、層間接続部を経由して接続される各部品の所定の端子間の接続距離が可及的短くなるような配線ルートを決定する。前記基板は、絶縁性を有する基板であって、プリント配線基板の基材である。前記層間接続部は、はんだから成る。前記層間接続部は、基板の表面に設けられるはんだ電極、言い換えるとはんだバンプによって実現される。層間接続部は、基板が積層されたときに、積層された２枚の基板間に設けられる。以後、層間接続部をはんだ電極と記載する場合がある。
【００４３】
コンピュータによって配線ルート決定方法を実行させるために、まず、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備する。複数の基板のそれぞれに搭載される複数の部品は、予め定められる。前記部品は、電子素子である。電子素子は、集積回路（Ｉｎｔｅｇｒａｔｅｄ：略称ＩＣ）を有する半導体素子と、たとえば抵抗およびコンデンサなどの受動素子とを含む。これらの部品を組合せて、所定の回路が構成される。また複数の基板の寸法は、予め定められる。各基板を接続するはんだ電極の数および基板上での位置は、予め定められている。前記各部品は、複数の端子を有し、この端子の位置も予め定められている。
【００４４】
次に、回路図入力システムによって、半導体素子、抵抗およびコンデンサなどの部品の接続情報、および部品に関する情報など、配線ルートを決定するための入力する。具体的には、部品の接続情報であるネットリスト情報、部品の形状情報、はんだ電極が設けられる基板の表面のはんだ電極情報、各部品の配置情報、および積層する基板の数に関する情報などをコンピュータのメモリに入力する。前記回路図入力システムは、いわゆる電気図面を入力するＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムであり、コンピュータによって実行可能なプログラムによって実現される。コンピュータは、表示部と、マウスおよびキーボードによって実現される入力部と、演算処理部とを含んで構成される。演算処理部は、メモリとＣＰＵとを含む。
【００４５】
基板および部品は、実際は、所定の体積を有する３次元の形状であるが、本実施の形態では、これらをすべて２次元の形状として取り扱う。つまり、基板の厚み、および部品の厚みについては、考慮しない。これは、積層される基板間の距離は、ほぼ一定であるので、配線ルートを決定するときに前記厚みの長さを考慮する必要がないためである。これによって、演算処理部における演算処理の負担を軽減することができ、演算処理にかかる時間を可及的に短くすることができる。
【００４６】
本実施の形態では、基板の形状は矩形であるとし、またこの基板に搭載される部品を、基板に正投影したときの面の形状も矩形であるとする。このように、基板および部品を取り扱うことによって、演算処理部における演算処理の負担を低減することができ、演算処理にかかる時間を可及的短くすることができる。
【００４７】
ネットリスト情報とは、各部品の接続されるべき所定の端子を示す情報をリスト化したものである。ネットリスト情報には、接続すべき各部品、および接続すべき各部品の所定の端子とを表す情報が含まれる。接続すべき各部品の所定の端子を接続する経路を、ネットと記載する。
【００４８】
図３は、ネットリスト情報を示す図である。ネットリスト情報は、各ネットに付与されるネット名称１１と、このネットの属性情報１２と、前記各ネットに含まれる部品名称１３およびピン名称１４とを含む。前記ネットの属性情報１２は、このネットの端子間に信号線が設けられるのか、あるいは電力を供給するための電源・グランド線が設けられるのかを表す。部品名称１３は、基板に搭載される所定の部品を表す。ピン名称１４は、ネットに含まれる部品の所定の端子を示す。
【００４９】
部品の形状情報は、端子を含む部品の最大外形寸法の情報を含む。回路図入力システムによって入力される部品の形状は、実際の部品の形状よりもわずかに大きい形状とする。これによって、同一基板上に部品が隣接する場合であっても、各部品の間にクリアランスを設けるための演算処理を省略することができ、演算処理にかかる時間を可及的短くすることができる。
【００５０】
また部品の形状情報には、部品における端子の位置情報が含まれる。端子の位置情報は、部品に予め定める座標軸を設け、前記座標軸の基準点に対する座標によって定義される。
【００５１】
はんだ電極情報は、基板の表面に設けられるはんだ電極の位置を表す。はんだ電極は、複数設けられる。はんだ電極の位置情報は、基板に予め定める座標軸を設け、前記座標軸の基準点に対する座標によって定義される。はんだ電極は、所定の面積を有するが、はんだ電極の位置ははんだ電極の中心の座標によって特定される。はんだ電極情報には、はんだ電極の外形形状の情報が含まれる。
部品の配置情報を、表１に示す。
【００５２】
【表１】
2004341727.tif 000003
【００５３】
部品の配置情報は、部品名称、基板割付け名称、搭載面情報、座標情報および回転角度情報を含む。部品名称は、たとえば半導体素子であれば「ＩＣ１」および「ＩＣ２」など、抵抗であれば「Ｒ１」など、個別の部品に付与される名称を表す。
【００５４】
基板割付け名称は、前記部品名称に対応して、部品が搭載される基板を表す。基板割付け名称は、たとえば「第１基板」および「第２基板」など、基板に付与される名称を表す。表１に示すように、たとえば「ＩＣ１」は、「第１基板」に搭載されることを表す。
【００５５】
搭載面情報は、基板の一表面および他表面のいずれに部品が実装されるのかを表す。搭載面は、たとえば複数の基板が積層されて構成される積層回路モジュールが搭載される回路基板に臨む面を裏面とし、この裏面と反対に臨む面を表面として表す。
【００５６】
座標情報は、部品が搭載される基板に予め定める座標軸を設け、前記座標軸の基準点に対する座標によって表される。本実施の形態では、基板を２次元の形状として取り扱うので、座標情報は、２次元のＸＹ座標軸の座標で表され、ＸおよびＹ座標で表される。座標情報の座標は、部品の中心の位置を表す。表１に示すように、たとえば「ＩＣ１」は、「第１基板」の座標（Ｘ１，Ｙ１）に配置される。
【００５７】
回転角度情報は、各部品の基板上での、予め定める搭載位置からの部品の回転角度を表す。部品の回転角度は、部品の中心をとおり、基板に垂直な軸線まわりに、時計の回転方向に部品を回転させる角度を表す。
【００５８】
図１に示すフローチャートを開始すると、ステップａ０からステップａ１に移る。ステップａ１では、前記回路図入力システムで入力されたネットリスト情報、部品の形状情報、はんだ電極を搭載する基板上のはんだ電極情報および各部品配置の情報である各種データ入力して、メモリに記憶する。ステップａ１を終了すると、ステップａ２に移る。
【００５９】
ステップａ２では、ピン分割処理テーブル作成するとともに、最大ステップ数ＭＡＸＳＴＥＰを求める。ステップａ２の処理については、図２を参照して説明する。
【００６０】
図２は、図１のフローチャートのステップａ２の詳細を示すフローチャートである。前述した図１のステップａ１が終了すると、ステップｂ０からステップｂ１に移る。ステップｂ１では、回路図入力システムによって操作者が指定するはんだ電極における電源・グランド端子の比率を入力して、メモリに記憶する。つまり基板に設けられるはんだ電極のうち、電源およびグランド線の経路として用いられるものの比率が指定される。
【００６１】
電源・グランド端子は、各基板に搭載される部品に電力を供給するための端子である。電源・グランド端子は、複数設けられ、これら電源・グランド端子のうち、所定の端子が電源に接続され、残余の端子が接地される。
【００６２】
本発明の他の実施の形態において、前記はんだ電極における電源・グランド端子の比率を入力する代わりに、各基板における全てのはんだ電極に対する接続可能なはんだ電極の割合を入力してもよいし、また複数の端子に電源・グランド端子を個別に指定してもよい。ステップｂ１を終了すると、ステップｂ２に移る。
【００６３】
ステップｂ２では、予め定める分割ステップ数の変数ＭＡＸＳＴＥＰ、および領域を与える予め定める変数Ｉを初期化して、ステップｂ３に移る。具体的には、ＭＡＸＳＴＥＰ＝１、Ｉ＝０とする。以後、予め定める分割数を表す変数ＭＡＸＳＴＥＰを、単にＭＡＸＳＴＥＰと記載する。
【００６４】
ステップｂ３では、はんだ電極を含む複数の領域Ｒに基板を分割する。本実施の形態では、矩形状を有する基板の４辺ごとに領域を分割し、基板を４つの等しい領域Ｒに分割する。具体的には、基板の中心を通り、各頂点を通る２つの仮想線によって基板を４つの領域Ｒに分割する。ステップｂ３の処理を終了すると、ステップｂ４に移る。
【００６５】
ステップｂ４では、ステップｂ３において分割した領域Ｒごとに、所定の情報を求め、ピン分割処理テーブルを作成する。
【００６６】
図４は、ピン分割処理テーブル２１を示す図である。ビン分割処理テーブル２１には、前記ステップｂ４において求められた所定の情報が格納される。ピン分割処理テーブル２１には、分割ステップ格納領域２２と、分割数格納領域２３と、領域名格納領域２４と、代表経由点のＸ座標格納領域２５およびＹ座標格納領域２６と、電源・グランド割付け数格納領域２７と、端子数格納領域２８と、端子ポインタ格納領域２９と、ネット数格納領域３０と、ネットポインタ格納領域３１と、および分割前データへのポインタ格納領域３３とが設けられる。
【００６７】
分割ステップ格納領域２２には、基板を分割する処理回数を表す情報が格納される。分割数格納領域２３には、分割ステップ格納領域２２に格納される処理回数に対応して、分割された領域の数を表す情報が格納される。領域名格納領域２４には、各分割ステップで分割された各領域を表す情報が格納される。
【００６８】
代表経由点のＸ座標格納領域２５およびＹ座標格納領域２６には、領域名２４に対応する領域に想定される代表経由点の位置を表す情報が格納される。代表経由点とは、分割された領域に存在するはんだ電極の中心である。以後、代表経由点を仮想接続点と記載する場合がある。前記領域にはんだ電極が１つだけ存在する場合には、このはんだ電極の位置を表す情報が、代表経由点のＸ座標格納領域２５およびＹ座標格納領域２６にそれぞれ格納される。前記領域にはんだ電極が複数存在する場合には、複数のはんだ電極の座標の平均値となる位置を表す情報、つまり複数のはんだ電極の各Ｘ座標の平均値、および各Ｙ座標の平均値を算出することによって求められる情報が、代表経由点のＸ座標格納領域２５およびＹ座標格納領域２６にそれぞれ格納される。
【００６９】
電源・グランド割付け数格納領域２７には、領域名２４に対応する領域に設けられる電源・グランド端子の数を表す情報が格納される。
【００７０】
端子数格納領域２８には、領域名２４に対応する領域に含まれるはんだ電極の数を表す情報が格納される。はんだ電極の位置が、前記仮想線に重なる場合、仮想線を挟んで設けられる領域のうち、はんだ電極が多く設けられる領域に含まれるとし、前記領域のうちはんだ電極の数が同じ場合では、先にピン分割処理テーブルを作成するために処理された領域に含まれるとする。
【００７１】
端子ポインタ格納領域２９には、領域名２４に対応する領域に含まれるはんだ電極のそれぞれの位置を表す情報が格納される。前記位置を表す情報は、前述したＸＹ座標軸の座標で表される。
【００７２】
ネット数格納領域３０には、領域名２４に対応する領域の仮想接続点に接続されるネットの数が格納される。
【００７３】
ネットポインタ格納領域３１には、領域名２４に対応する領域の仮想接続点に接続されるネットの名称が格納される。
【００７４】
分割前データへのポインタ格納領域３２には、第ｎ分割ステップ時の分割前の第（ｎ−１）分割ステップ時のデータへのポインタ、言い換えれば第（ｎ−１）分割ステップ時の各領域が第ｎ分割ステップ時にどの領域に含まれているのかを示す情報が格納される。
【００７５】
図４に示される第ｎ分割ステップ時の分割前データへのポインタ格納領域から、第（ｎ−１）分割ステップ時の各領域にのびる矢符は、それぞれの情報が格納されているメモリのアドレスを示す情報を模式的に表現したものである。
【００７６】
ステップｂ４では、分割ステップ格納領域２２に格納される第１分割ステップに対応する各領域Ｒの所定の情報を求めて、前記ピン分割処理テーブルを作成する。作成したピン分割処理テーブルは、メモリに記憶される。ステップｂ４の処理を終了すると、ステップｂ５に移る。
【００７７】
ステップｂ５では、ＭＡＸＳＴＥＰを１増加し、ＭＡＸＳＴＥＰ＝ＭＡＸＳＴＥＰ＋１として、ステップｂ６に移る。このとき、新たなＭＡＸＳＴＥＰをメモリに記憶させる。
【００７８】
ステップｂ６では、複数の領域Ｒのうちの１つである領域Ｒ（Ｉ）に、はんだ電極が２つ以上存在するか否かを判断する。ステップｂ７において、はんだ電極が２つ以上存在すると判断した場合、ステップｂ７に移り、はんだ電極が２つ以上存在しないと判断した場合、ステップｂ９に移る。
【００７９】
ステップｂ７では、領域Ｒ（Ｉ）を２分割する。本実施の形態では、領域Ｒ（Ｉ）を、基板の中心を通る仮想線によって、分割される面積が等しくなるように２等分する。ステップｂ７の処理を終了すると、ステップｂ８に移る。
【００８０】
ステップｂ８では、領域Ｒ（Ｉ）の分割後の各領域における所定の情報を求め、前述したピン分割処理テーブルを作成する。ピン分割処理テーブルの作成は、前述のステップｂ４の処理と同様であるので、説明を省略する。ステップｂ８の処理を終了すると、ステップｂ９に移る。
【００８１】
ステップｂ９では、全ての領域Ｒの分割が終了したか否かを判断する、つまり各領域Ｒについて、ステップｂ６〜ステップｂ８の必要な処理を実行したか否かを判断する。ステップｂ９において、全ての領域の分割が終了したと判断した場合、ステップｂ１０移る。
【００８２】
ステップｂ１０では、はんだ電極の数と、分割数とが等しいか否かを判断する。前記分割数とは、基板を分割したときの領域の数であり、ここでは図４のピン分割処理テーブルの分割数格納領域２３に格納されている情報を用いて判断する。ステップｂ１０で、前記はんだ電極の数と分割数とが等しいと判断した場合、ステップｂ１１に移り、図２に示すフローチャートを終了し、図１のフローチャートのステップａ３に移る。
【００８３】
前述したステップｂ９において、全ての領域の分割が終了していないと判断した場合、ステップｂ１２に移る。ステップｂ１２では、変数Ｉを１増加し、つまりＩ＝Ｉ＋１として、ステップｂ６に移る。変数Ｉを増加させることによって、処理対象となる領域Ｒを変更する。
【００８４】
前記したステップｂ１０において、はんだ電極の数と、分割数とが等しくないと判断した場合、ステップｂ１３に移る。ステップｂ１３では、変数Ｉの初期化を行い、つまりＩ＝０として、ステップｂ５に移る。
【００８５】
このような処理を実行することによって、処理が終了したときのメモリに記憶されているＭＡＸＳＴＥＰが最大ステップ数ＭＡＸＳＴＥＰとなる。
【００８６】
図１を再び参照して、ステップａ３では、基板の最大数ＢＭＡＸを入力してメモリに記憶させるとともに、予め定める変数であって、対象となる基板を与える変数ｉを初期化して、ｉ＝１とする。前記基板の最大数ＢＭＡＸは、積層される基板の数を表す。ステップａ３の処理を終了すると、ステップａ４に移る。
【００８７】
ステップａ４では、予め定める変数である分割ステップ数ＳＴＥＰを初期化し、分割ステップ数ＳＴＥＰ＝１とする。以後、分割数ステップ数ＳＴＥＰを、単にＳＴＥＰと記載する場合がある。ステップａ４の処理を終了すると、ステップａ５に移る。
【００８８】
ステップａ５では、分割ステップ数ＳＴＥＰで分割された各領域Ｒごとに、配線可能数を求める。この配線可能数は、領域Ｒに設けられるはんだ電極の数から電源・グランド端子数を減算した数で表される。この配線可能数が、各領域に設けられる接続可能なはんだ電極の数である。ステップａ５を終了すると、ステップａ６に移る。
【００８９】
ステップａ６では、ステップａ２において作成されたピン分割処理テーブルを参照して、各領域のはんだ電極の座標の平均値を求め、この座標の平均値の位置に仮想接続点を想定する。ステップａ６を終了すると、ステップａ７に移る。
【００９０】
ステップａ７では、基板Ｂ（ｉ）と基板Ｂ（ｉ＋１）とを接続するネット名称ＮＥＴ（Ｊ）と、ネット数ＮＭＡＸとを抽出する。第ｉ段目に積層される基板を基板Ｂ（ｉ）で表し、基板Ｂ（ｉ＋１）は、第（ｉ＋１）段目に積層される基板を表す。以後、ネット名称ＮＥＴ（Ｊ）を、単にＮＥＴ（Ｊ）と記載する場合がある。以後、ネット数ＮＭＡＸを、単にＮＭＡＸと記載する場合がある。ステップａ７を終了すると、ステップａ８に移る。
【００９１】
ステップａ８では、予め定める変数Ｊを初期化し、Ｊ＝１として、ステップａ９に移る。
【００９２】
ステップａ９では、各仮想接続点を経由して各部品の所定の端子間を接続したときの端子間の距離を求めて、最短距離の仮想ルートを抽出する。つまり、相互に隣接して積層される２枚の基板のそれぞれに搭載される各部品の所定の端子を接続する仮想ルートを抽出する。このとき、基板Ｂ（ｉ）と基板Ｂ（ｉ＋１）とが同一の基板であるとし、言い換えると同一の基板上に基板Ｂ（ｉ）の部品と基板Ｂ（ｉ＋１）に搭載される部品が存在していると仮定する。
【００９３】
ステップａ９では、具体的には各部品の所定の端子間の距離が最小となるような仮想接続点を求めるため、ＮＥＴ（Ｊ）のマンハッタン長の仮想配線を生成する。前記マンハッタン長とは、ＸＹ座標軸で表される２点間の距離であり、マンハッタン長をＬＭとし、一方の点を原点（０、０）とし、他方の点Ａを（Ｘ、Ｙ）とすると、以下の式（１）で表される。
ＬＭ＝Ｘ＋Ｙ                                            …（１）
【００９４】
したがって、各部品の所定の端子間の距離は、第ｉ段の基板上の部品の所定の端子から仮想接続点までのマンハッタン長ＬＭ１と、前記第ｉ段の基板に積層される第（ｉ＋１）段の基板上の部品の所定の端子から、仮想接続点までのマンハッタン長ＬＭ２とを加算した値（ＬＭ１＋ＬＭ２）となる。
【００９５】
ステップａ９では、ＮＥＴ（Ｊ）について生成される仮想配線のうち、マンハッタン長が最も短くなるものが経由する仮想接続点を経由する仮想ルートを抽出する。またステップａ９では、たとえば積層される基板のうち、隣接しない基板に搭載される各部品の所定の端子間を接続する場合には、処理対象となっている基板の所定の端子と最短距離にある仮想接続点との間に仮想ルートを想定する。
【００９６】
ステップａ１０では、変数Ｊを１増加し、つまりＪ＝Ｊ＋１として、ステップａ１１に移る。
【００９７】
ステップａ１１では、変数Ｊが、ＮＭＡＸと等しいか否か、つまりＪ＝ＮＭＡＸであるか否かを判断する。ここでＪ＝ＮＭＡＸであると判断すると、ステップａ１２に移る。一方、ステップａ１１において、Ｊ＝ＮＭＡＸではないと判断すると、ステップａ９に移る。ステップａ９〜ステップａ１１までの処理を繰返すことによって、各部品の所定の端子間の仮想ルートが全て想定される。
【００９８】
ステップａ１２では、仮想接続点に接続される仮想ルートの数が、予め定める基準値以内か否か、つまり各領域に設けられている接続可能なはんだ電極の数を超えたか否かを判断する。ステップａ１２において、仮想接続点に接続される仮想ルートの数が、基準値以内ではない、つまり各領域に設けられている接続可能なはんだ電極の数を超えたと判断すると、ステップａ１３に移る。
【００９９】
ステップａ１３では、仮想ルートの変更処理を行う。仮想ルートの変更処理では、前記仮想接続点に接続される仮想ルートの数が、各領域に設けられている接続可能なはんだ電極の数以下となるように、１または複数の仮想ルートを、各領域に設けられている接続可能なはんだ電極の数よりも接続される仮想ルートの数が小さくなる他の仮想接続点を経由する仮想ルートに含める。つまり、所定の端子間を接続するために、複数の仮想接続点のうちの１つの仮想接続点を経由する仮想ルートを、前記１つの仮想接続点を除く残余の仮想接続点のいずれかを経由するように変更する。
【０１００】
仮想ルートを変更する場合、変更前の仮想接続点に隣接する仮想接続点に変更する。また分割ステップ数ｎ（ｎは、２以上の整数）ときには、分割ステップ数が（ｎ−１）のときに同じ領域に属し、この領域に想定される仮想接続点に含まれるはんだ電極から抽出される仮想接続点を経由するように仮想ルートを変更する。
【０１０１】
つまりステップａ１３では、１つの仮想接続点に仮想ルートが集中して、混雑している場合、１つまたは複数の仮想ルートを、前記仮想ルートが集中している仮想接続点に隣接ずる仮想接続点を経由する仮想ルートに含める。このような処理によって、１つの仮想接続点への仮想ルートの集中を防止することができ、さらに各領域における仮想ルートの数が制限されるので、特定の領域における実配線ルートの集中を防止することができる。
【０１０２】
ステップａ１４では、ＳＴＥＰを１増加し、ＳＴＥＰ＝ＳＴＥＰ＋１として、ステップａ１５に移る。
【０１０３】
ステップａ１５では、ＳＴＥＰがＭＡＸＳＴＥＰより大きいか、つまりＳＴＥＰ＞ＭＡＸＳＴＥＰであるか否かを判断する。ステップａ１５で、ＳＴＥＰがＭＡＸＳＴＥＰと大きいと判断した場合、ステップａ１６に移る。一方、ＳＴＥＰがＭＡＸＳＴＥＰ以下と判断した場合、ステップａ５に移る。
【０１０４】
ステップａ１６では、変数ｉを１増加させ、ｉ＝ｉ＋１として、ステップａ１７に移る。
【０１０５】
ステップａ１７では、全ての基板に関し処理を終了したか否かを判断する。具体的には、ｉ＝ＢＭＡＸであるか否かを判断する。ステップａ１７において、全ての基板に関し処理を終了したと判断した場合、ステップａ１８に移り、図１のフローチャートを終了する。一方、ステップａ１７において、全ての基板に関し処理を終了してはいないと判断した場合、ステップａ４に移る。
【０１０６】
前述した図１および図２に示す処理手順を、具体例を用いてさらに詳細に説明する。
【０１０７】
図５（１）〜図５（６）は、図２に示す処理手順を、具体的に説明するための図である。図５（１）は、はんだ電極４２を介して複数枚積層される基板４１の１枚を取り出して示す平面図である。基板４１には、一表面に５２個のはんだ電極４２が設けられている。はんだ電極４２は、矩形状の基板４１の周縁部に沿って配置されている。基板４１の平行に延びる一対の辺ＬＷ１に沿って１４個のはんだ電極４２がそれぞれ予め定める間隔をあけて配置され、前記一対の辺に直交する一対の辺ＬＷ２に沿って１２個のはんだ電極４２がそれぞれ予め定める間隔をあけて配置される。はんだ電極４２の位置情報については、図１のステップａ１で既に入力されている。
【０１０８】
ステップｂ１において、回路図入力システムによって操作者が指定するはんだ電極における電源・グランド端子の比率を入力して、メモリに記憶する。
【０１０９】
次にステップｂ２において、ＭＡＸＳＴＥＰ＝０およびｉ＝０とする。
次にステップｂ３において、前述したように基板４１の中心４３を通り、各頂点を通る２つの仮想線４４，４５によって基板４１を４つの領域（１）〜領域（４）に分割する。領域（１）〜領域（４）は、時計回りに順番に設けられる。図５（１）に示すように、領域（１）および領域（３）には、１４個のはんだ電極が設けられ、領域（２）および領域（３）には、１２個のはんだ電極が設けられる。
【０１１０】
次にステップｂ４において、ステップｂ３で分割された領域（１）〜領域（４）における所定の情報を求め、図４に示すピン分割処理テーブル２１を作成する。
【０１１１】
分割ステップ格納領域２２には、第１分割ステップであることを示す情報が格納される。分割数格納領域２３には、第１分割ステップの処理によって分割された領域の数４が格納される。領域名格納領域２４には、領域（１）〜領域（４）が名称として格納される。電源・グランド割付け数格納領域２７には、予め定める数が格納される。前記電源・グランド割付け数格納領域２７に格納される予め定める数は、はんだ電極に対する電源グランド割付け比率から求められる。
【０１１２】
領域（１）および領域（３）に対応する端子数格納領域２８には、この領域におけるはんだ電極４２の数１４が格納される。領域（２）および領域（４）に対応する端子数格納領域２８には、この領域におけるはんだ電極４２の数１２が格納される。領域（１）および領域（３）に対応する端子ポインタ格納領域２９には、それぞれ１４個の座標情報が格納され、領域（２）および領域（４）に対応する接続ポインタ格納領域２９には、それぞれ１２個の座標情報が格納される。
【０１１３】
各領域（１）〜（４）のはんだ電極４２の中心座標を求め、この座標を仮想接続点のＸ座標格納領域２５およびＹ座標格納領域２６にそれぞれ格納する。またネット数格納領域３０、ネットポインタ格納領域３１、および分割前データへのポインタ格納領域３３にも、それぞれの情報が格納される。
【０１１４】
図５（２）は、各領域（１）〜（４）のはんだ電極４２の中心に想定される仮想接続点４６を表す基板の平面図である。このように、各領域（１）〜（４）には、それぞれ１つの仮想接続点４６が想定される。
【０１１５】
次にステップｂ５において、ＭＡＸＳＴＥＰ＝２とする。
次にステップｂ６の条件判断において、領域（１）には、はんだ電極４２が１４個存在するため、ステップｂ７に移る。
【０１１６】
次にステップｂ７において、領域（１）を前述したように基板の中心を通る仮想線４７によって、分割される領域の面積が等しくなるように２分割する。これによって領域（１）は、領域（１の１）と領域（１の２）とに２分割される。領域（１の１）および領域（１の２）は、それぞれ７個のはんだ電極４２を含む。
【０１１７】
次にステップｂ８において、ステップｂ７で分割された領域（１の１）および領域（１の２）における所定の情報を求め、第２分割ステップに対応して、図４に示すピン分割処理テーブル２１を作成する。
【０１１８】
次にステップｂ９の条件判断において、全ての領域の分割が行われていない、つまり領域（２）〜領域（４）に関して処理が行われていないので、ステップｂ１２に移る。次に、領域（２）〜領域（４）を順番に対象として、ステップｂ６〜ステップｂ８の必要な処理を実行して、領域（２）〜領域（４）に対する処理が終了すると、ステップｂ１０に移る。
【０１１９】
図５（３）は、ステップｂ１０に移行する段階での、仮想接続点４６を示す基板４１の平面図である。つまり図５（３）は、各領域のはんだ電極４２の中心に想定される仮想接続点４６を表す基板４１の平面図である。このように各領域には、それぞれ１つの仮想接続点４６が想定される。前記処理によって、基板４１は８個の領域に分割され、これによって８個の仮想接続点４６が想定される。
【０１２０】
次にステップｂ１０の条件判断では、基板４１に設けられるはんだ電極４２の数が５２であるのに対し、分割した領域の数を表す分割数が８であるので、ステップｂ１３の処理を実行する。ステップｂ１３では、変数ｉ＝０とする。
【０１２１】
次に再びステップｂ５において、ＭＡＸＳＴＥＰ＝３にする。
次にステップｂ６の条件判断において、前記領域（１の１）には、はんだ電極４２が７個存在するため、ステップｂ７を実行する。
【０１２２】
ステップｂ７において、領域（１の１）を前述したように基板の中心を通る仮想線４８によって、分割される領域の面積が等しくなるように２分割する。これによって、領域（１の１）は、領域（１の１の１）と、領域（１の１の２）とに２分割される。領域（１の１の１）は、３個のはんだ電極を含み、領域（１の１の２）は、４個のはんだ電極を含む。
【０１２３】
次に、ステップｂ８において、ステップｂ７で分割された領域（１の１の１）および領域（１の１の２）における所定の情報を求め、分割ステップ３に対応して、図４に示すピン分割処理テーブル２１を作成する。
【０１２４】
次にステップｂ９の条件判断において、全ての領域分割が行われていないので、ステップｂ６〜ステップｂ８までの必要な処理を繰り返し、全ての領域に対する処理が終了すると、ステップｂ１０に移る。
【０１２５】
図５（４）は、ステップｂ１０に移行する段階での、仮想接続点４６を示す基板４１の平面図である。前記処理によって、基板４１は１６個の領域に分割され、各領域に１つの仮想接続点４６が想定される。
【０１２６】
次にステップｂ１０の判断条件では、基板４１に設けられるはんだ電極４６の数が５２であるのに対し、分割した領域の数を表す分割数が１６であるので、ステップｂ１３の処理を実行する。ステップｂ１３では、変数ｉ＝０とする。
【０１２７】
次に再びステップｂ５に移り、ＭＡＸＳＴＥＰ＝４にする。
次にステップｂ６の条件判断において、領域（１の１の１）には、はんだ電極４２が３個存在するため、ステップｂ７を実行する。
【０１２８】
次にステップｂ７において、領域（１の１の１）を前述したように基板の中心を通る仮想線４９によって、分割される領域の面積が等しくなるように２分割する。これによって、領域（１の１の１）は、領域（１の１の１の１）と領域（１の１の１の２）とに２分割される。領域（１の１の１の１）は、１個のはんだ電極を含み、領域（１の１の１の２）は、２個のはんだ電極を含む。
【０１２９】
次にステップｂ８において、ステップｂ７で分割された領域（１の１の１の１）および領域（１の１の１の２）における所定の情報を求め、分割ステップ３に対応して、図４に示すピン分割処理テーブル２１を作成する。
【０１３０】
次にステップｂ９の条件判断において、全ての領域の分割が行われていないので、ステップｂ６〜ステップｂ８までの必要な各処理を繰り返し、全ての領域に対する処理が終了すると、ステップｂ１０に移る。
【０１３１】
図５（５）は、ステップｂ１０に移行する段階での、仮想接続点４６を示す基板４１の平面図である。前記処理によって、基板４１は３２個の領域に分割され、各領域に１つの仮想接続点４６が想定される。
【０１３２】
次にステップｂ１０の条件判断では、基板４１に設けられるはんだ電極４２の数が５２であるのに対し、分割した領域の数を表す分割数が３２であるので、ステップｂ１３の処理を実行する。ステップｂ１３では、変数ｉ＝０とする。
【０１３３】
次に再びステップｂ５に移り、ＭＡＸＳＴＥＰ＝５にする。
次にステップｂ６の条件判断において、領域（１の１の１の１）には、はんだ電極数が１個存在するため、分割処理をしないで、ステップｂ９を実行する。
【０１３４】
次にステップｂ９の条件判断において、全ての領域分割が行われていないので、再びステップｂ６に移り、領域（１の１の１の２）が分割対象領となる。領域（１の１の１の２）には、はんだ電極が２個存在するので、ステップｂ７に移る。
【０１３５】
次にステップｂ７において、領域（１の１の１の２）を前述したように基板４１の中心４３を通る仮想線によって、分割される領域の面積が等しくなるように２分割する。これによって、領域（１の１の１の２）は、領域（１の１の１の２の１）と領域（１の１の１の２の２）に２分割される。領域（１の１の１の２の１）および領域（１の１の１の２の２）は、ともに１個のはんだ電極４２を含む。
【０１３６】
次にステップｂ８において、ステップｂ７で分割された領域（１の１の１の２の１）および領域（１の１の１の２の２）における所定の情報を求め、分割ステップ４に対応して、図４に示すピン分割処理テーブル２１を作成する。
【０１３７】
次にステップｂ９の条件判断において、全ての領域分割が行われていないので、ステップｂ６〜ステップｂ８までの必要な処理を繰り返し、全ての領域に対する処理が終了すると、ステップｂ１０に移る。
【０１３８】
図５（６）は、ステップｂ１０に移行する段階での、仮想接続点４６を示す基板の平面図である。前記処理によって、基板４１は５２個の領域に分割され、各領域に１つの仮想接続点４６が想定される。この仮想接続点４６の位置は、はんだ電極４２の位置と同じになる。
【０１３９】
次にステップａ１０の条件判断では、基板４１に設けられるはんだ電極４２の数が５２であるのに対し、分割した領域の数を表す分割数が５２であるので、ステップａ１１に移り処理を終了する。
【０１４０】
前記処理を実行することによって、図４に示すピン分割テーブル２１を生成し、ＭＡＸＳＴＥＰ＝５であることを求めることができる。
【０１４１】
図６〜図８は、図１に示す処理手順を、具体的に説明するための図である。図６は、部品が搭載される複数の基板を積層して構成する積層回路モジュール６０の回路図を示す図である。図６に示す積層回路モジュール６０を構成する基板に、前述した配線ルート決定方法を適用して説明する。
【０１４２】
積層回路モジュール６１は、第１〜第３基板６１〜６３および外部インタフェース（以後、Ｉ／Ｆと記載する）部６４を含む。第１〜第３基板６１〜６３には、それぞれ部品５８が搭載される。
【０１４３】
第１基板６１には、部品５８であり、半導体素子である第１半導体チップＩＣ１と、コンデンサＣ１と、第１〜第３抵抗Ｒ１，Ｒ２，Ｒ３とが搭載される。第２基板６２には、部品５８であり、半導体素子である第２および第３半導体チップＩＣ２，ＩＣ３が搭載される。第３基板６３には、部品５８であり、半導体素子である第４半導体チップＩＣ４と、第１および第２コイルＬ１，Ｌ２とが搭載される。
【０１４４】
前記第１〜第３基板６１〜６３に搭載される各部品５８の配置位置は、予め定められている。第１半導体チップＩＣ１は、複数の端子Ａ１，Ｂ１，Ｃ１，Ｄ１，Ｅ１，Ｆ１，Ｇ１，Ｈ１およびＩ１を有する。前記端子Ａ１，Ｂ１，Ｃ１およびＤ１は、外部Ｉ／Ｆ部６４に設けられる複数の端子を有する接続端子Ｐ１の各端子と相互に接続される。前記端子Ｄ１は、コンデンサＣ１を介して接地される。
【０１４５】
第１半導体チップＩＣ１の端子Ｅ１は、第３基板６３に搭載される第１コイルＬ１の一端部６５と相互に接続される。第１半導体チップＩＣ１の端子Ｆ１は、第３基板６３に搭載される第２コイルＬ２の一端部６６と相互に接続される。第１半導体チップＩＣ１の端子Ｇ１，Ｈ２，Ｉ３は、第１基板６１に搭載される第１〜第３抵抗Ｒ１〜Ｒ３の一端部６７，６８，６９と、それぞれが相互に接続される。
【０１４６】
第２半導体チップＩＣ２は、複数の端子Ａ２，Ｂ２，Ｃ２，Ｄ２，Ｅ２，Ｆ２およびＧ２を有する。第３半導体チップＩＣ３は、複数の端子Ａ３，Ｂ３，Ｃ３，Ｄ３，Ｅ３およびＦ３を有する。第４半導体チップＩＣ４は、複数の端子Ａ４，Ｂ４，Ｃ４，Ｄ４およびＥ４を有する。
【０１４７】
前記第１コイルＬ１の他端部７１は、第４半導体チップＩＣ４の端子Ｂ４と相互に接続される。第２コイルＬ２の他端部７２は、第４半導体チップＩＣ４の端子Ａ４と相互に接続される。
【０１４８】
第１抵抗Ｒ１の他端部７３は、第２半導体チップＩＣ２の端子Ａ２と相互に接続される。第２抵抗Ｒ２の他端部７４は、第３半導体チップＩＣ３の端子Ｂ３と相互に接続される。第３抵抗Ｒ３の他端部７５は、第３半導体チップＩＣ４の端子Ａ１と相互に接続される。
【０１４９】
第２半導体チップＩＣ２の端子Ｂ２は、第４半導体チップＩＣ４の端子Ｅ４と相互に接続される。第２半導体チップＩＣ２の端子Ｃ２は、第４半導体チップＩＣ４の端子Ｄ４と相互に接続される。第２半導体チップＩＣ２の端子Ｄ２は、外部Ｉ／Ｆ部６４の端子と相互に接続される。第２半導体チップＩＣ２の端子Ｅ２は、第３半導体チップＩＣ３の端子Ｅ３と相互に接続される。第２半導体チップＩＣ２の端子Ｆ２は、第３半導体チップＩＣ３の端子Ｄ３と相互に接続される。第２半導体チップＩＣ２の端子Ｇ２は、第３半導体チップＩＣ３の端子Ｃ３と相互に接続される。第３半導体チップＩＣ３の端子Ｆ３は、第２半導体チップＩＣ２の端子Ｄ２とともに、外部Ｉ／Ｆ部６３の端子と相互に接続される。第４半導体チップＩＣ４の端子Ｃ４は、外部Ｉ／Ｆ部６３の端子と相互に接続される。
【０１５０】
前記第１半導体チップＩＣ１の端子Ａ１と、外部Ｉ／Ｆ部６３の端子との間を接続するネットをＮｅｔ１とする。前記第１半導体チップＩＣ１の端子Ｂ１と、外部Ｉ／Ｆ部６３の端子との間を接続するネットをＮｅｔ２とする。前記第１半導体チップＩＣ１の端子Ｃ１と、外部Ｉ／Ｆ部６３の端子との間を接続するネットをＮｅｔ３とする。前記第１半導体チップＩＣ１の端子Ｄ１と、外部Ｉ／Ｆ部６３の端子と間を接続するネットをＮｅｔ４とする。
【０１５１】
前記第４半導体チップＩＣ４の端子Ｃ４と、外部Ｉ／Ｆ部６３の端子と間を接続するネットをＮｅｔ５とする。前記第１半導体チップＩＣ１の端子Ｅ１と、第４半導体チップＩＣ４の端子Ａ４との間を接続するネットをＮｅｔ６とする。前記第１半導体チップＩＣ１の端子Ｆ１と、第４半導体チップＩＣ４の端子Ｂ４との間を接続するネットをＮｅｔ７とする。
【０１５２】
前記第１半導体チップＩＣ１の端子Ｇ１と、第２半導体チップＩＣ２の端子Ａ２とを接続するネットをＮｅｔ８とする。前記第１半導体チップＩＣ１の端子Ｈ１と、第３半導体チップＩＣ３の端子Ｂ３とを接続するネットをＮｅｔ９とする。前記第１半導体チップＩＣ１の端子Ｉ１と、第３半導体チップＩＣ２の端子Ａ３とを接続するネットをＮｅｔ１０とする。
【０１５３】
前記第２半導体チップＩＣ２の端子Ｂ２と、第４半導体チップＩＣ４の端子Ｅ４とを接続するネットをＮｅｔ１１とする。前記第２半導体チップＩＣ２の端子Ｃ２と、第４半導体チップＩＣ４の端子Ｄ４とを接続するネットをＮｅｔ１２とする。第２半導体チップＩＣ２の端子Ｄ２および第３半導体チップＩＣ３の端子Ｆ３と、外部Ｉ／Ｆ部６４の端子とを接続するネットをＮｅｔ１３とする。
【０１５４】
前記第２半導体チップＩＣ２の端子Ｇ２と、第３半導体チップＩＣ３の端子Ｃ３とを接続するネットをＮｅｔ１４とする。前記第２半導体チップＩＣ２の端子Ｆ２と、第３半導体チップＩＣ３の端子Ｄ３とを接続するネットをＮｅｔ１５とする。前記第２半導体チップＩＣ２の端子Ｅ２と、第３半導体チップＩＣ３の端子Ｅ３とを接続するネットをＮｅｔ１６とする。
【０１５５】
図７は、前述した積層回路モジュール６０の側面図である。第１〜第３基板６１〜６３は、それぞれ同じ大きさであって、第１〜第３基板６１〜６３にはそれぞれ一表面に部品５８が搭載される。第１基板６１の部品５８が搭載される一表面側に第２基板６２が積層され、第２基板６２の部品５８が搭載される一表面側に第３基板６３が積層される。積層回路モジュール６０では、第１〜第３基板６１〜６３をフェースアップで積層する場合について示している。第１基板６１の他表面に、外部Ｉ／Ｆ部６４が設けられ、その端子Ｐ１が設けられる。図７では、前記端子Ｐ１を斜線で示す。
【０１５６】
第１〜第３基板６１〜６３には、所定の位置に図示しないスルーホールが形成され、このスルーホールを介してその一表面に搭載される各部品５８の所定の端子を相互に接続することができる。第１および第２基板６１，６２の一表面には、はんだ電極４２が設けられる。
【０１５７】
図８は、第１および第２基板６１，６２と、これら第１および第２基板６１，６２に設けられるはんだ電極４２を示す平面図である。第１および第２基板６１，６２は、同じ大きさであり、同様の位置にはんだ電極４２が配置される。
【０１５８】
第１および第２基板６１，６２には、周縁部に沿って１６個のはんだ電極４２が配置される。はんだ電極４２の位置は、予め定められる。本実施例では、矩形状の第１および第２基板６１，６２の周縁部に、それぞれの辺に沿って４個ずつはんだ電極４２が配置される。各辺に沿うはんだ電極４２は、予め定める間隔をあけて設けられ、本実施例ではそれぞれ等間隔に形成される。
【０１５９】
前述の図６〜図８に示す積層回路モジュール６０を構成するための情報が与えられた場合、図１に示す配線ルート決定方法を具体的に説明する。ここでは、積層回路モジュール６０の第１基板６１と第２基板６２と間の配線ルートを決定する、言い換えれば、第１基板６１と第２基板６２と間に設けられるはんだ電極４２のピン割付けについて説明する。
【０１６０】
図９は、第１基板６１の平面図であり、第１基板６１の部品５８が配置される位置と、仮想接続点Ｐ（１）〜Ｐ（４）およびＮｅｔ６〜Ｎｅｔ１０，Ｎｅｔ１３の接続情報を表す図である。図９では、Ｎｅｔ１３の接続位置として、外部Ｉ／Ｆ部６４の端子の位置が示されている。また図１０は、第２基板６２の平面図であり、第２基板６２の部品５８が配置される位置と、仮想接続点Ｐ（１）〜Ｐ（４）およびＮｅｔ６〜Ｎｅｔ１２およびＮｅｔ１３の接続情報を表す図である。図１０において、Ｎｅｔ６は、仮想接続点Ｐ（２）に含まれ、Ｎｅｔ７は、仮想接続点Ｐ（１）に含まれる。図１０に示す第２基板６２には、図９に示す第１基板６１に設けられるはんだ電極４２から抽出される仮想接続点４６を示す。
【０１６１】
前述した図１のフローチャートのステップａ１において、ネットリスト情報、部品の形状情報、はんだ電極を搭載する基板上のはんだ電極情報および各部品配置の情報を入力する。
【０１６２】
次にステップａ２において、図４に示すピン分割処理テーブルが作成されるとともに、ＭＡＸＳＴＥＰ＝３が求められる。
【０１６３】
次にステップａ３において、第１〜第３基板６１〜６３の３枚の基板を積層するので、基板の最大数ＢＭＡＸ＝３を入力する。
【０１６４】
次にステップａ４において、分割ステップ数ＳＴＥＰが初期化され、ＳＴＥＰ＝１とされる。
【０１６５】
次にステップａ５において、図４に示す第１分割ステップに対応する各領域に設けられる端子数格納領域２８に格納されるはんだ電極の数を表す情報と、電源グランド割付け数格納領域１７に格納される電源グランド端子に関する情報とから、配線可能数を求める。ここでの配線可能数は、たとえば３であるとする。
【０１６６】
次にステップａ６において、図１２に示す第１分割ステップに対応する各領域における仮想接続点Ｐ（１）〜Ｐ（４）の位置情報、つまり仮想接続点Ｐ（１）〜Ｐ（４）のＸ座標、Ｙ座標を求める。
【０１６７】
次にステップａ７において、第１基板６１と第２基板６２とを接続するＮＥＴを求めると、ＮＥＴ（１）＝Ｎｅｔ６、ＮＥＴ（２）＝Ｎｅｔ７、ＮＥＴ（３）＝Ｎｅｔ８、ＮＥＴ（４）＝Ｎｅｔ９、ＮＥＴ（５）＝Ｎｅｔ１０、ＮＥＴ（６）＝Ｎｅｔ１３になり、またＮＭＡＸ＝６になる。
【０１６８】
次にステップａ８において、予め定める変数Ｊ１の初期化を行い、Ｊ＝１とする。
【０１６９】
次にステップａ９において、ＮＥＴ（１）＝Ｎｅｔ６の仮想ルートを抽出する。Ｎｅｔ６は、第１基板６１と第３基板６３とを接続するネットであり、第１半導体チップＩＣ１の端子Ｅ１と、最短距離にある仮想接続点Ｐ２との間を接続する。
【０１７０】
次にステップａ１０において、予め定める変数Ｊ＝２になる。
次にステップａ１１の条件判断において、Ｊ＝２であり、ネット数は、Ｎｅｔ６〜Ｎｅｔ１０およびＮｅｔ１３の６つでありＮＭＡＸ＝６となるので、Ｊ≠ＮＭＡＸであると判断され、ステップａ９を実行する。
【０１７１】
次にステップａ９において、ＮＥＴ（２）＝Ｎｅｔ７の仮想ルートを抽出する。Ｎｅｔ７は、第１基板６１と第３基板６３とを接続するネットである。ここでは、第１半導体チップＩＣ１の端子Ｆ１と、最短距離にある仮想接続点Ｐ（１）との間に仮想ルートを想定する。
【０１７２】
次にステップａ１０において、予め定める変数Ｊ＝３になる。
次にステップａ１１の条件判断において、Ｊ＝３であり、ＮＭＡＸ＝６であるので、Ｊ≠ＮＭＡＸとなり、ステップａ９を実行する。
【０１７３】
次にステップａ９において、ＮＥＴ（３）＝Ｎｅｔ８の仮想ルートを抽出する。Ｎｅｔ８は、第１基板６１と第２基板６２とを接続するネットである。ここでは、第１抵抗Ｒ１の他端部７３と、第２半導体チップＩＣ２の端子Ａ２とを最短で接続する仮想接続点Ｐ３を経由する仮想ルートを生成する。
【０１７４】
以後、図１に示すフローチャートに従って、ＮＥＴ（４）＝Ｎｅｔ９、ＮＥＴ（５）＝Ｎｅｔ１０およびＮＥＴ（６）＝Ｎｅｔ１３についても同様な処理を繰返すことによって、図９および図１０に示す各部品５８の所定の端子間を接続する仮想ルートを生成する。Ｎｅｔ９およびＮｅｔ１０は、仮想接続点Ｐ３を経由する仮想ルートによって接続される。Ｎｅｔ１３は、仮想接続点Ｐ４を経由する仮想ルートによって接続される。
【０１７５】
次に、ステップａ１２の条件判断において、全ての仮想ルートの数が基準値以内であるため、ステップａ１４の処理を行う。
【０１７６】
次にステップａ１４において、ＳＴＥＰ＝２にする。
次にステップａ１５において、分割ステップ数ＳＴＥＰ＝２であり、最大ステップ数ＭＡＸＳＴＥＰ＝３であり、ＳＴＥＰ＞ＭＡＸＳＴＥＰの条件を満たさないため、ステップａ５の処理を行う。
【０１７７】
次にステップａ５において、図１２に示す第２分割ステップに対応する各領域に設けられる端子数格納領域２８に格納されるはんだ電極の数を表す情報と、電源グランド割付け数格納領域１７に格納される電源・グランド端子に関する情報とから、配線可能数を求める。
【０１７８】
次にステップａ６において、図１２に示す第２分割ステップに対応する各領域における仮想接続点Ｐ（１の１）〜Ｐ（４の２）の位置情報、つまり仮想接続点Ｐ（１の１）〜Ｐ（４の１）のＸ座標、Ｙ座標を求める。
【０１７９】
次にステップａ７において、第１基板６１と第２基板６２とを接続するＮＥＴを求めると、ＮＥＴ（１）＝Ｎｅｔ６，ＮＥＴ（２）＝Ｎｅｔ７，ＮＥＴ（３）＝Ｎｅｔ８，ＮＥＴ（４）＝Ｎｅｔ９，ＮＥＴ（５）＝Ｎｅｔ１０，およびＮＥＴ（５）＝Ｎｅｔ１３になり、またＮＭＡＸ＝６になる。
【０１８０】
次にステップａ８において、予め定める変数Ｊの初期化を行い、Ｊ＝１とする。
【０１８１】
次にステップａ９において、ＮＥＴ（１）＝Ｎｅｔ６の仮想ルートを抽出する。Ｎｅｔ６は、第１基板６１と第３基板６４とを接続するネットである。Ｎｅｔ６は、仮想接続点Ｐ（１）の子孫にあたり、つまり仮想接続点Ｐ（１）を抽出するためのはんだ電極の一部を含む仮想接続点Ｐ（１の１）および仮想接続点Ｐ（１の２）の接続候補の中で、配線長が最小になる仮想接続点Ｐ（１の１）を経由するような仮想ルートが抽出される。
【０１８２】
ステップａ９〜ステップａ１１の処理を、繰返すことによって、所定の端子間を接続する仮想ルートを決定される。
【０１８３】
図１１および図１２は、前述した処理によって求められた仮想接続点４６および仮想ルートを示す平面図である。図１１は、第１基板６１に想定される仮想接続点および配線ルートを示し、図１２は第２基板６２に想定される仮想接続点および配線ルートを示す。図１２に示す第２基板６２には、図１に示す第１基板６１に設けられるはんだ電極４２から抽出される仮想接続点４６を示す。
【０１８４】
次にステップａ１４において、ＳＴＥＰを１増加し、ＳＴＥＰ＝３とする。
次にステップａ１５の条件判断において、分割ステップ数ＳＴＥＰ＝３であり、最大ステップ数ＭＡＸＳＴＥＰ＝３であり、ＳＴＥＰ＞ＭＡＸＳＴＥＰの条件を満たさないため、ステップａ５の処理を行う。
【０１８５】
次にステップａ９において、ＮＥＴ（１）＝Ｎｅｔ６の仮想ルートを抽出する。Ｎｅｔ６は、第１基板６１と第３基板６３とを接続するネットである。ここでは、仮想接続点Ｐ（１の１）の子孫にあたる仮想接続点Ｐ（１の１の１）および仮想接続点Ｐ（１の１の２）の接続候補の中で、仮想配線長が最小になる仮想接続点Ｐ（１の１の２）を選択し、第１半導体チップＩＣ１のＥ端子との仮想ルートを抽出する。
【０１８６】
同様にステップａ９〜ステップａ１１の処理を繰返すことによって、実配線ルートを決定することができる。
【０１８７】
図１３および図１４は、前述した処理によって求められた実配線ルートを示す平面図である。図１３は、第１基板６１に決定された実配線ルートを示し、図１４は第２基板６２に決定された実配線ルートを示す図である。図１４に示す第２基板６２には、図１に示す第１基板６１に設けられるはんだ電極４２から抽出される仮想接続点を示す。図１３および図１４では、はんだ電極４２は、仮想接続点と一致する。
【０１８８】
次にステップａ１４において、ＳＴＥＰを１増加し、ＳＴＥＰ＝４とする。
次にステップａ１５の条件判断において、分割ステップ数ＳＴＥＰ＝４であり、最大ステップ数ＭＡＸＳＴＥＰ３であり、ＳＴＥＰ＞ＭＡＸＳＴＥＰであるのため、第１基板６２の配線ルートが決定され、ステップａ１６の処理を行う。
【０１８９】
ステップａ１６において、ｉ＝２にすることで、第２基板６２および第３基板６３間のはんだ電極４２のピン割付け、つまり配線ルートの決定を行う。
【０１９０】
図１５および図１６は、前述した処理によって求められた仮想接続点４６および仮想ルートを示す第２基板６２および第３基板６３の平面図である。図１５は、第２基板６２に想定される仮想接続点４６および配線ルートを示し、図１６は第３基板６３に想定される仮想接続点４６および配線ルートを示す。図１６に示す第３基板６３には、図１５に示す第２基板６２に設けられるはんだ電極４２から抽出される仮想接続点４６を示す。
【０１９１】
全述と同様な処理を、第２および第３基板６１，６２に関しても行うことで、図１５および図１６に示すように、積層回路モジュール６０の各基板に実装される各部品５８の所定の端子間の実配線ルートを決定することができる。
【０１９２】
図１７は、本発明の第２の実施の形態の配線ルート決定方法を示すフローチャートである。図１７に示すフローチャートの各ステップｃ０〜ｃ１、ｃ３〜ｃ１３およびｃ１５〜ｃ１９は、前述の配線ルート決定方法である図１に示すフローチャートのステップａ１〜ステップａ１８にそれぞれ対応するので、その説明を省略する。つまり、ステップｃ２およびステップｃ１４を除く残余のステップは、図１に示す各ステップと同じ処理である。
【０１９３】
本実施の形態の配線ルート決定方法では、各部品の所定の端子間を接続する順序を規定する優先順序を予め設定し、前記優先順序に基づいて実配線ルートを決定する。本実施の形態の配線ルート決定方法では、回路図入力システムによって、ネットリスト情報を入力するときに、各ネットに対応して、優先度を表す情報を同時に入力しておく。優先度を表す情報は、メモリに記憶される。
【０１９４】
ステップｃ１を実行した後に、ステップｃ２に移る。ステップｃ２では、表２に示す各部品の所定の端子間を接続する順番を規定する配線順序テーブルを作成する。
【０１９５】
【表２】
2004341727.tif 000004
【０１９６】
表２に示す配線順序テーブルには、ネット名称と、このネット名称に対応する優先度が含まれる。優先度は、そのネット名称に対応する所定の端子間を優先的に接続する度合いを示す。優先度は、たとえば０〜１００の整数値で表され、数値の高いものから優先して接続する。全てのネット名称に対応して優先度を設定する必要はない。優先度が設定されているネットは、優先度が設定されていないネットよりも優先的に接続される。表２に示すように、たとえばＮｅｔ１の優先度が１００であり、Ｎｅｔ２の優先度は設定されておらず、Ｎｅｔ３の優先度が１０である場合、優先度はＮｅｔ１＞Ｎｅｔ３＞Ｎｅｔ２であるとして処理する。
【０１９７】
次にステップｃ１３を実行した後に、ステップｃ１４に移る。ステップｃ１４では、配線変更処理を行う。表２に示される優先度の低いネットに対応して、順番に配線許容値以内になるように、優先度の低いネットに対応する仮想ルートから順番に変更する。これによって、仮想ルートを配線許容値以内とすることができるとともに、重要な配線ルートを、可及的短くすることができる。
【０１９８】
図１８は、本発明の第３の実施の形態の配線ルート決定方法の一部を示すフローチャートである。図１８に示すフローチャートは、個別部品の配置角度変更による配線長の低減化処理を示す。以後、個別部品の配置角度変更による配線長の低減化処理を、単に個別部品回転処理と記載する。
【０１９９】
本実施の形態の配線ルート決定方法では、図１８に示す個別部品回転処理を実行した後に、前述した図１および図１７に示す処理のいずれかが実行される。本実施の形態の配線ルート決定方法は、コンピュータによって実行可能なプログラムによって実現される。前記プログラムは、コンピュータのメモリに記憶され、ＣＰＵによって実行される。つまり図１８に示すフローチャートは、ＣＰＵの処理動作を示す。
【０２００】
個別部品回転処理では、部品を、基板に垂直であって、かつこの部品の中心を通る軸線まわりに予め定める角度ずつ回転して、各部品の所定の端子間を接続したときの端子間の距離の総和を求め、前記端子間の距離の総和が最小となる位置に部品を配置する。
【０２０１】
コンピュータによって個別部品回転処理を実行させるために、まず、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備する。次に、回路図入力システムによって、前述した実施の形態と同様に部品の接続情報であるネットリスト情報、部品の形状情報、はんだ電極が設けられる基板の表面のはんだ電極情報、各部品の配置情報、および積層する基板の数に関する情報などをコンピュータのメモリに入力する。
【０２０２】
図１８を参照しながら、個別部品回転処理について詳細に説明する。図１８に示すフローチャートを開始すると、ステップｄ０からステップｄ１に移る。ステップｄ１では、前述のステップａ１と同様の処理であるので説明を省略する。次に、ステップｄ２に移る。
【０２０３】
ステップｄ２では、基板の枚数を表す変数Ｋの初期化する。ここでは、Ｋ＝１として、ステップｄ３に移る。
【０２０４】
ステップｄ３では、回転角度の変数θ１および配線長の総和を表す変数ＬＳ１を初期化する。ここでは、回転角度の変数θ１＝０、配線長の総和を表す変数ＬＳ１＝∞とする。ステップｄ３の処理を終了すると、ステップｄ４に移る。
【０２０５】
ステップｄ４では、基板Ｂ（ｉ−１）に搭載されている部品Ｑ（ｊ）と、基板Ｂ（ｉ）と基板Ｂ（ｉ−１）を接続するネット名の集合ＮＥＴ（Ｊ）とを求める。基板Ｂ（ｉ）と基板Ｂ（ｉ−１）は、相互に隣合って積層されている。第ｉ段目に積層される基板を基板Ｂ（ｉ）で表し、基板Ｂ（ｉ−１）は、基板Ｂ（ｉ）が積層する基板、つまり第（ｉ−１）段目に積層される基板を表す。ステップｄ４の処理を終了すると、ステップｄ５に移る。
【０２０６】
ステップｄ５では、ネットリスト情報を検索し、基板Ｂ（ｉ）に搭載されている部品Ｑ（ｊ）を、基板Ｂ（ｊ−１）に搭載されている部品との接続の多い順に並べ替える。言い換えれば、ネットの接続本数の多い部品から、処理対称となるように処理の順番が決定される。つまり、他の部品との接続の多い順番に、部品Ｑ（１）、部品Ｑ（２）および部品Ｑ（３）…の順番で処理される。ここで変数ｊは、１≦ｊ≦ＰＭＡＸの範囲となる。前記ＰＭＡＸは、予め定める変数であって、基板Ｂ（ｉ）に搭載される部品の数に等しい。
【０２０７】
ステップｄ６では、θ１を予め定める第１角度値θ２だけ増加する。前記予め定める第１角度値θ２は、本実施の形態では、９０とする。
【０２０８】
ステップｄ７では、部品Ｑ（ｊ）を、基板に垂直であって、かつこの部品の中心を通る予め定める軸線まわりに、予め定める回転方向に予め定める角度値θ１だけ回転させ、つまりθ１°回転させる。前記予め定める回転方向は、時計の回転方向とする。
【０２０９】
ステップｄ８では、部品Ｑ（ｊ）がθ１°回転することによって、部品Ｑ（ｊ）同一基板上に搭載される部品と重なるか否かを判断する。ステップｄ８において、部品が重ならないと判断した場合、ステップｄ９に移り、部品が重なると判断した場合には、ステップｄ６に移る。部品が重なるか否かは、基板上での部品の配置位置と、部品の形状情報とに基づいて算出される。
【０２１０】
ステップｄ９では、部品Ｑ（ｊ）と接続関係にあり、基板Ｂ（ｉ−１）に搭載される部品との間で、各部品の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１を求める。このとき基板Ｂ（ｉ）と基板Ｂ（ｉ−１）とが同一の基板であるとし、言い換えると同一の基板上に基板Ｂ（ｉ）の部品と基板Ｂ（ｉ−１）の部品が存在していると仮定する。そして、各部品の所定の端子を、はんだ電極を介さないで接続する仮想配線を生成し、この仮想配線の総和を求める。前記仮想配線の総和ＬＳＵＭ１には、部品Ｑ（ｊ）と接続関係にあり、同一基板に搭載される部品の所定の端子との間の距離の総和も含まれる。以下、端子間の距離の総和ＬＳＵＭ１を、単にＬＳＵＭ１と記載する。ステップｄ９の処理を終了すると、ステップｄ１０に移る。
【０２１１】
ステップｄ１０では、ステップｄ９で求めたＬＳＵＭ１と、配線長の総和を表す変数ＬＳ１とを比較し、ＬＳＵＭ１がＬＳ１より小さいか否かを判断する。ＬＳＵＭ１がＬＳ１よりも小さい（ＬＳＵＭ１＜ＬＳ１）場合には、ステップｄ１１に移り、ＬＳＵＭ１がＬＳ１よりも大きい（ＬＳＵＭ１＞ＬＳ１）の場合には、ステップｄ１２に移る。
【０２１２】
ステップｄ１１では、配線長の総和を表す変数ＬＳ１に、ステップｄ１０で求めたＬＳＵＭ１を代入し、ＬＳ１＝ＬＳＵＭ１とし、また、部品Ｑ（ｊ）の配置位置をメモリ記憶する。配置位置は、予め定める搭載位置からの回転角度で表され、表１に示される回転角度情報として記憶される。
【０２１３】
ステップｄ１２では、変数θ１が３６０であるか否かを判断する。ステップｄ１２において、変数θ１が３６０であると判断した場合、ステップｄ１３に移り、θ１が３６０ではないと判断した場合、ステップｄ６に移る。
【０２１４】
ステップｄ１３では、変数θ１に０を代入し、θ１＝０としてθ１の初期化を行って、ステップｄ１４に移る。
【０２１５】
ステップｄ１４では、変数ｊを１増加し、ｊ＝ｊ＋１とする。これによって、処理対象となる部品を変更する。ステップｄ１４を終了した後、ステップｄ１５に移る。
【０２１６】
ステップｄ１５では、変数ｊと変数ＰＭＡＸとが等しいか否か、つまりｊ＝ＰＭＡＸであるかを判断し、これによって処理対象とされる基板において、全ての部品について処理の対象に選定したか否かを判断する。ステップｄ１５において、ｊ＝ＰＭＡＸであると判断した場合、ステップｄ１６に移り、ｊ＝ＰＭＡＸではないと判断した場合、ステップｄ６に移る。
【０２１７】
ステップｄ１６では、変数Ｋが基板の最大数ＢＭＡＸから１を減算した値よりも大きいか否か、つまりＫ＞ＢＭＡＸ−１であるか否かを判断し、積層される全ての基板に関して前述した処理を行ったか否かを判断する。ステップｄ１６において、Ｋ＞ＢＭＡＸ−１であると判断した場合、ステップｄ１７に移り図１８に示すフローチャートを終了する。
【０２１８】
一方、ステップｄ１６において、Ｋ＞ＢＭＡＸ−１ではないと判断した場合、ステップｄ１８に移る。ステップｄ１８では、変数Ｋを１増加させ、Ｋ＝Ｋ＋１とする。これによって、処理の対象となる基板を変更する。
【０２１９】
前記図１８のフローチャートに示す個別部品回転処理を実行した後、前述した図１または図１７に示す処理を行う。前記仮想配線の総和が最小となる位置に部品を配置することによって、接続すべき端子間の距離を可及的短くすることができ、またこれによって配線の交差を低減することが可能となる。このように接続するべき端子間の距離を短くすることができるので、前述した図１または図１７に示すフローチャートに従って、はんだ電極を経由する実配線ルートを決定すると、はんだ電極を経由して決定される実配線ルートをさらに短くすることができる。
【０２２０】
図１９〜図２３は、前記図１８に示すフローチャートによる処理を具体的に説明する図である。ここでは、前述した図６および図７に示した積層回路モジュール６０を構成する第２基板６２に搭載される部品５８に対する個別部品配置処理を説明する。
【０２２１】
図１９は、第１基板６１の平面図である。第１基板６１に搭載される部品５８の位置は、予め設定されている。第１基板６１には、前述したように第１半導体チップＩＣ１、第１〜第３抵抗Ｒ１、Ｒ２、Ｒ３が予め定める位置に搭載されている。図１９では、第１基板６１に搭載される部品５８の所定の端子、つまり接続ポイントを記号☆によって示している。したがって、図１９に示す☆Ｎｅｔ６、☆Ｎｅｔ７、☆Ｎｅｔ８、☆Ｎｅｔ９、☆Ｎｅｔ１０および☆Ｎｅｔ１３は、各ネットＮｅｔ６〜Ｎｅｔ１０およびＮｅｔ１３の接続ポイントをそれぞれ表している。図１９において☆Ｎｅｔ６は、第１半導体チップＩＣ１の端子Ｅ１の位置を表す。図１９において☆Ｎｅｔ７は、第１半導体チップＩＣ１の端子Ｆ１の位置を表す。図１９において☆Ｎｅｔ８は、第１抵抗Ｒ１の端子７３の位置を表す。図１９において☆Ｎｅｔ９は、第２抵抗Ｒ２の端子７４の位置を表す。図１９において☆Ｎｅｔ１０は、第３抵抗Ｒ３の端子７５の位置を表す。図１９において☆Ｎｅｔ１３は、外部Ｉ／Ｆ部６３の端子Ｐ１の位置を表す。
【０２２２】
図２０は、第２基板６２の平面図であり、第２基板６２に搭載する部品５８に対する個別部品回転処理を行う前の部品５８の配置を表す。第２基板６２には、第２半導体チップＩＣ２と第３半導体チップＩＣ３とが予め定める位置に搭載される。
【０２２３】
図２０では、第２基板６２に搭載される部品５８の所定の端子、つまり接続ポイントを記号☆によって示している。したがって、図２０に示す☆Ｎｅｔ８、☆Ｎｅｔ９、☆Ｎｅｔ１０、☆Ｎｅｔ１１、☆Ｎｅｔ１２、☆Ｎｅｔ１３、☆Ｎｅｔ１４、☆Ｎｅｔ１５および☆Ｎｅｔ１６は、各Ｎｅｔ８〜Ｎｅｔ１６の接続ポイントを表している。また、図２０では、第２基板６２に搭載される各部品５８の所定の端子と接続される第１基板６１に搭載される各部品５８の所定の端子を、記号★によって表している。したがって、★Ｎｅｔ８、★Ｎｅｔ９、★Ｎｅｔ１０および★Ｎｅｔ１３は、第１基板６１における各Ｎｅｔ８〜Ｎｅｔ１０およびＮｅｔ１３の接続ポイントをそれぞれ表している。
【０２２４】
図２０において☆Ｎｅｔ８は、第２半導体チップＩＣ２の端子Ａ２の位置を表す。図２０において☆Ｎｅｔ９は、第３半導体チップＩＣ３の端子Ｂ３の位置を表す。図２０において☆Ｎｅｔ１０は、第３半導体チップＩＣ３の端子Ａ３の位置を表す。図２０において☆Ｎｅｔ１１は、第２半導体チップＩＣ２の端子Ｂ２の位置を表す。図２０において☆Ｎｅｔ１２は、第２半導体チップＩＣ２の端子Ｃ２の位置を表す。図２０において☆Ｎｅｔ１３は、第２半導体チップＩＣ２の端子Ｄ２の位置を表す。図２０において☆Ｎｅｔ１４は、第２および第３半導体チップＩＣ２，ＩＣ３のそれぞれの端子Ｇ２，Ｃ３の位置を表す。図２０において☆Ｎｅｔ１５は、第２および第３半導体チップＩＣ２，ＩＣ３のそれぞれの端子Ｆ２，Ｄ３の位置を表す。図２０において☆Ｎｅｔ１４は、第２および第３半導体チップＩＣ２，ＩＣ３のそれぞれの端子Ｅ２，Ｅ３の位置を表す。
【０２２５】
図２０において★Ｎｅｔ８は、第１抵抗Ｒ１の端子７３の位置を表す。図２０において★Ｎｅｔ９は、第２抵抗Ｒ２の端子７４の位置を表す。図２０において★Ｎｅｔ１０は、第３抵抗Ｒ３の端子７５の位置を表す。図２０において★Ｎｅｔ１３は、外部Ｉ／Ｆ部６３の端子Ｐ１の位置を表す。
【０２２６】
また図２０には、第１基板６１の部品５８の所定の端子と第２基板６２の部品５８の所定の端子間を相互に接続する仮想配線、および第２基板６２に搭載される部品５８の所定の端子を相互に接続する仮想配線を仮想線で示している。
【０２２７】
図１８に示すフローチャートを開始すると、ステップｄ３でθ１＝９０とされ、第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に９０°回転させる。
【０２２８】
図２１は、第２基板６２に搭載される第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に９０°回転して示す第２基板６２の平面図である。図２１に示すように、部品５８同士が重ならない場合は、ステップｄ９において、回転角度θ１＝９０で、各部品５８の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１を求め、その結果をＳ０とする。
【０２２９】
ステップｄ１２において、θ１＝３６０ではないので、再びステップｄ６でθ＝１８０とされ、第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線に関して、図２０に示す状態から時計の回転方向に１８０°回転させる。
【０２３０】
図２２は、第２基板６３に搭載される第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に１８０°回転して示す第２基板６２の図面である。図２２に示すように、部品５８同士が重ならない場合、ステップｄ９において、回転角度θ１＝１８０で、各部品５８の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１を求め、その結果をＳ１とする。
【０２３１】
前記Ｓ１が前記Ｓ０よりも小さい場合、ステップｄ１１で第３半導体チップＩＣ３の配置位置をメモリに記憶する。
【０２３２】
次にステップｄ１１では、θ＝３６０ではないので、再びステップｄ６でθ＝２７０とされ、第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に２７０°回転させる。
【０２３３】
図２３は、第２基板６２に搭載される第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に２７０°回転して示す第２基板６２の平面図である。図２２に示すように、部品５８同士が重ならない場合、ステップｄ９において、回転角度θ１＝２７０で、各部品５８の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１を求め、その結果をＳ２とする。
【０２３４】
前記Ｓ２が前記Ｓ０およびＳ１よりも小さい場合、ステップｄ１１で第３半導体チップＩＣ３の配置位置をメモリに記憶する。
【０２３５】
次にステップｄ１１では、θ１＝３６０ではないので、再びステップｄ６でθ１＝３６０とされ、第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第３半導体チップＩＣ３の中心を通る軸線１００に関して、図２０に示す状態から時計の回転方向に３６０°回転させる。このように第３半導体チップＩＣ３を回転させると、図２０に示す配置と同様となる。
【０２３６】
ステップｄ９において、回転角度θ＝３６０で、各部品５８の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１を求め、その結果をＳ３とする。
【０２３７】
前記Ｓ３が前記Ｓ０、Ｓ１およびＳ２よりも小さい場合、ステップｄ１１で第３半導体チップＩＣ３の配置位置をメモリに記憶する。このように前記Ｓ０〜Ｓ３の中で最小の値を選択することによって、各部品５８の所定の端子間を接続したときの端子間の距離の総和ＬＳＵＭ１が最も小さくなる第３半導体チップＩＣ３の回転角度を決定することができる。次にステップｄ１２で、θ１＝３６０であるので、ステップｄ１３に移り、ステップｄ１３で処理対象とされる部品５８を変更し、つまり第２半導体チップＩＣ２を処理対象とする。
【０２３８】
同様に、第２半導体チップＩＣ２に関して、回転処理を行う。このように１つの基板に複数の部品５８が搭載される場合であっても、前記複数の部品５８のそれぞれに関して前記処理を行う。さらに積層される複数の基板に関し、それぞれの基板において、前記処理を繰返すことによって、積層回路モジュールを構成する基板において、総配線長を短くする部品配置を決定することができる。
【０２３９】
図２４は、本発明の第４の実施の形態の配線ルート決定方法の一部を示すフローチャートである。図２４に示すフローチャートは、基板に搭載される部品の配置角度変更による配線長の低減化処理を示す。以後、基板に搭載される部品全体の配置角度変更による配線長の低減化処理を、単に部品回転処理と記載する。
【０２４０】
図２４に示す部品回転処理を実行した後に、前述した図１および図１７に示す処理のいずれかが実行される。本実施の形態の配線ルート決定方法は、コンピュータによって実行可能なプログラムによって実現される。前記プログラムは、コンピュータのメモリに記憶され、ＣＰＵによって実行される。つまり、図２４に示すフローチャートは、ＣＰＵの処理動作を示す。
【０２４１】
部品回転処理では、全体部品回転処理と、前述した個別部品回転処理を行う。全体部品回転処理では、まず複数の部品が搭載される基板について、基板に垂直な予め定める軸線まわりに、前記複数の部品を予め定める角度ずつ回転したときに、この複数の部品を基板上に配置できるかどうかを求める。次に、前記予め定める角度ずつ回転したときに、複数の部品を基板上に配置できる場合に、各部品の中心と、この部品と接続される他の基板の部品の所定の端子との間の距離の総和を求め、前記部品の中心と、この部品と接続される前記所定の端子との間の距離の総和が最小となる位置に部品を配置する。
【０２４２】
コンピュータによって部品配置処理を実行させるために、まず、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備する。次に、回路図入力システムによって、前述した実施の形態と同様に部品の接続情報であるネットリスト情報、部品の形状情報、はんだ電極が設けられる基板の表面のはんだ電極情報、各部品の配置情報、および積層する基板の数に関する情報などをコンピュータのメモリに入力する。
【０２４３】
図２４を参照しながら、部品配置処理について詳細に説明する。図２４に示すフローチャートを開始すると、ステップｅ０からステップｅ１に移る。ステップｅ１では、前述のステップａ１と同様の処理であるので説明を省略する。次に、ステップｅ２に移る。
【０２４４】
ステップｅ２では、基板を与える変数ｋを初期化し、ｋ＝０として、ステップｅ３に移る。
【０２４５】
ステップｅ３では、基板Ｂ（ｋ）に搭載されている部品数Ｎを求め、ステップｅ４に移る。
【０２４６】
ステップｅ４では、基板Ｂ（ｋ）に搭載されている部品の数Ｎが１よりも大きいか否か、つまりＮ＞１か否かを判断する。ステップｅ５において、Ｎ＞１であると判断した場合、ステップｅ５に移り、Ｎ＞１ではないと判断した場合、ステップｅ６に移る。
【０２４７】
ステップｅ５では、基板Ｂ（ｋ）に搭載される全部品の回転処理を行い、ステップｅ６に移る。
【０２４８】
図２５は、図２４に示すフローチャートのステップｅ５における詳細な処理を示すフローチャートである。図２４のステップｅ４において、Ｎ＞１であると判断した場合、図２５のフローチャートのステップｆ０からステップｆ１に移る。以後の処理において、対象となる基板を指定する変数ｋは、図２５に示す処理の引数である。
【０２４９】
ステップｆ１において、回転角度の変数θ３および配線長の総和ＬＳ２を初期化する。具体的には、回転角度の変数θ３＝０および配線長の総和を表す変数ＬＳ２＝∞とする。ステップｆ１の処理を終了すると、ステップｆ２に移る。
【０２５０】
ステップｆ２では、回転角度の変数θ３を予め定める第２の角度値θ４だけ増加させる。本実施の形態では、前記第２の角度値θ４＝９０とし、θ３＝θ３＋９０として、ステップｆ３に移る。
【０２５１】
ステップｆ３では、基板Ｂ（ｋ）に搭載している全ての部品Ｑ（ｊ）を、基板に垂直な予め定める軸線まわりに、時計の回転方向にθ３°回転させる。前記基板に垂直な予め定める軸線は、基板の中心を通る。ステップｆ３の処理を終了すると、ステップｆ４に移る。
【０２５２】
ステップｆ４では、ステップｆ３において処理された回転後の全ての部品の配置結果に関し、基板の予め定める領域内に全ての部品を配置できるか否かを判断する。前記予め定める領域とは、基板上の領域であり、部品の搭載が可能な領域である。予め定める領域は、基板の周縁部から予め定める領域を除き、かつはんだ電極と重ならない領域である。以後、前記予め定める領域を、配置可能領域と記載する場合がある。ステップｆ５において、基板の予め定める領域内に全ての部品を配置できると判断した場合、ステップｆ６に移り、基板の予め定める領域内に全ての部品を配置することができないと判断した場合には、ステップｆ２に移る。
【０２５３】
ステップｆ５では、基板Ｂ（ｋ）に搭載している全ての部品Ｑ（ｊ）に関し、各部品Ｑ（ｊ）の所定の端子の位置を、それぞれの部品の中心座標として仮定する。部品Ｑ（ｊ）は、複数の端子を有し、各端子の位置は異なるが、ここでは各端子の位置を部品の中心座標とする。前記中心座標は、基板の表面に部品を正投影したときの投影面の中心座標である。このように、複数の端子をそれぞれの部品の中心座標にあると仮定することによって、部品を回転したときに部品の各端子の位置をそれぞれ算出する必要がなく、演算処理の負荷を低減することができる。
【０２５４】
ステップｆ６では、基板Ｂ（ｋ）と基板Ｂ（ｋ−１）とを接続するネットを抽出し、基板Ｂ（ｋ）の部品Ｑ（ｊ）の中心座標に設けられる仮想の端子と基板Ｂ（ｋ−１）に搭載されている部品の所定の端子との間に、これらの端子をはんだ電極を介さないで接続する仮想配線を生成し、仮想配線長の総和ＬＳＵＭ２を求める。ステップｆ６の処理を終了すると、ステップｆ７に移る。
【０２５５】
ステップｆ７では、前記仮想配線長の総和ＬＳＵＭ２がＬＳ２よりも小さいか否か、つまりＬＳＵＭ２＜ＬＳ２であるか否かを判断する。ステップｆ８において、ＬＳＵＭ２＜ＬＳ２であると判断すると、ステップｆ８に移り、ＬＳＵＭ２＜ＬＳ２ではないと判断すると、ステップｆ９に移る。
【０２５６】
ステップｆ８では、ＬＳ２をＬＳＵＭ２とする、つまりＬＳ２＝ＬＳＵＭ２としてメモリに記憶するとともに、基板Ｂ（ｋ）上の部品の配置位置を記憶して、ステップｆ９に移る。
【０２５７】
ステップｆ９では、回転角度の変数θ３が３６０であるか否かを判断し、つまりθ３＝３６０を満たすか否かを判断する。ステップｆ８において、θ３＝３６０であると判断すると、ステップｆ１０に移り、処理を終了して、図２４のステップｅ７に移る。一方、ステップｆ９において、θ３＝３６０ではないと判断すると、ステップｆ２に移る。
【０２５８】
再び図２４を参照して、ステップｅ６では、基板Ｂ（ｋ）に搭載される部品Ｑ（ｊ）を個別に回転し、仮想配線長の総和が最小となる部品の配置位置を求め、ステップｅ７に移る。ステップｅ７における具体的な処理は、前述した図１８に示すフローチャートに対応する。ただし、図１８のフローチャートにおいてステップｄ１の処理は、前述のステップｅ１と同じ処理であるので省略される。また、指定された基板に搭載する部品配置に関して変更処理を行うため、図１８のフローチャートにおけるステップｄ２、ステップｄ１６およびステップｄ１７の処理は実施しない。
【０２５９】
ステップｅ７では、変数ｋを１増加させ、ｋ＝ｋ＋１として、ステップｅ８に移る。
【０２６０】
ステップｅ８では、変数ｋがＢＭＡＸと等しいか否か、つまりｋ＝ＢＭＡＸを満たすか否かを判断する。ステップｅ１１において、ｋ＝ＢＭＡＸであると判断した場合、ステップｅ９に移り、処理を終了する。一方、ステップｅ８において、ｋ＝ＢＭＡＸではないと判断した場合、ステップｅ３に移る。
【０２６１】
図２４に示す部品回転処理の終了後、図１または図１７に示す処理を実行する。図２４に示す部品回転処理によって、接続すべき端子間の距離を可及的短くすることができる。このように接続するべき端子間の距離を短くすることができるので、前述した図１または図１７に示す処理を実行すると、層間接続部を経由して決定される実配線ルートをさらに短くすることができる。
【０２６２】
前記図２４に示す部品回転処理に関し、さらに詳細に説明すべく、図２６〜図２９を参照して説明する。ここでは、前述した図７に示した積層回路モジュール６０を構成する場合について説明する。また、第２基板６２に搭載される複数の部品５８の配置処理を例に挙げて説明する。ここで第２基板６２が積層される第１基板６１に搭載される部品５８の位置は、予め設定されており、前述の図１９に示す第１基板６１と同じである。図２６〜図２９において、前述の実施の形態における第２基板６２と同様な部分には、同様の参照符号を付す。
【０２６３】
図２６（１）は、第２基板６２の平面図であり、第１基板６１と第２基板６２とを接続するネット、つまり第１基板６１に実装される部品５８の所定の端子と第２基板６２に実装される部品５８の所定の端子と間に想定される仮想配線を示す図である。
【０２６４】
図２６（２）は、図２６（１）で示した仮想配線の接続ポイントを各部品５８の中心座標に変更して示す第２基板６２の平面図である。つまり部品５８に設けられる複数の端子を、それぞれの部品５８の中心位置に変更している。具体的には、第２半導体チップＩＣ２で、Ｎｅｔ８に接続される端子Ａ２の位置と、Ｎｅｔ１３に接続される端子Ｄ２の位置とを、第２半導体チップＩＣ２の中心１１１に仮定している。また、第３半導体チップＩＣ３で、Ｎｅｔ９に接続される端子Ｂ３の位置と、Ｎｅｔ１０に接続される端子の位置と、Ｎｅｔ１３に接続される端子Ｆ３の位置とを、第３半導体チップＩＣ３の中心１１２に仮定している。
【０２６５】
図２５に示すフローチャートを開始すると、ステップｆ２でθ３＝９０とされ、第２および第３半導体チップＩＣ２，ＩＣ３を、第２基板６２に垂直であって、かつ第２基板６２の中心を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に９０°回転させる。
【０２６６】
図２７は、第２基板６２に搭載される第２および第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第２基板６２の中心を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に９０°回転して示す第２基板６２の平面図である。図２７に示すように各部品５８を回転させたときに、部品５８の一部とはんだ電極４２とが積重する場合、各部品５８を配置することとができないので、部品５８の配置を変更する改善候補にはならないとステップｆ４で判断される。部品５８と一部とはんだ電極４２に一部が積重するか否かを判断するために、先ず、部品５８の外形形状と、部品５８の配置位置情報および部品５８の回転情報から部品５８が配置されている第２基板６２上の領域を求める。つぎに、電極の外形形状と、配置位置情報とからはんだ電極４２が配置されている第２基板６２上の領域を求める。ステップｆ４では、前記２つの領域が積重するか否かを判断している。
【０２６７】
再び、ステップｆ２において、θ３＝９０＋９０＝１８０とされ、第２および第３半導体チップＩＣ２，ＩＣ３を、第２基板６２に垂直であって、かつ第２基板の中心７４を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に１８０°回転させる。
【０２６８】
図２８は、第２基板６２に搭載される第２および第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第２基板６２の中心を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に１８０°回転して示す第２基板６２の平面図である。図２７に示すように各部品５８を回転させたときに、部品５８の一部とはんだ電極４２とが積重せず、各部品５８が第２基板６２の配置可能領域７７に配置される場合、ステップｆ５で、各部品５８における複数の端子の位置を、それぞれの部品５８の中心座標とする。
【０２６９】
次にステップｆ６において、図２８に示した部品５８の配置位置での仮想配線を生成して、その総和Ｔ１を求める。ステップｆ９において、θ３＝３６０ではないので、ステップｆ２でθ３＝１８０＋９０＝２７０とされ、同様に処理を行う。
【０２７０】
図２９は、第２基板６２に搭載される第２および第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第２基板６２の中心を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に２７０°回転して示す第２基板６２の平面図である。図２７に示すように各部品５８を回転させたときに、部品５８の一部とはんだ電極４２とが積重する場合、ステップｆ２に移る。
【０２７１】
ステップｆ２において、θ３＝２７０＋９０＝３６０とされ、同様に処理を行う。第２基板６２に搭載される第２および第３半導体チップＩＣ３を、第２基板６２に垂直であって、かつ第２基板６２の中心を通る軸線１１４に関して、図２６に示す状態から時計の回転方向に２７０°回転すると、図２６（２）と同様になる。
【０２７２】
図２６（２）に示すように各部品５８を回転させたときに、第２および第３半導体チップＩＣ２，ＩＣ３とはんだ電極４２とが積重せず、配置可能領域７７に設けられる場合、ステップｆ５で、各部品５８における複数の端子の位置を、それぞれの部品５８の中心座標とする。
【０２７３】
ステップｆ６において、図２６（２）に示した部品５８の配置位置での仮想配線を生成して、その総和Ｔ２を求める。
【０２７４】
ステップｆ７において、前述した処理によって求められる配線長の総和Ｔ０おおよびＴ１を比較することによって、部品５８全体を回転して得られる改善解、つまり配線長が短くなるような部品５８の配置位置を求めることができる。
【０２７５】
ステップｆ９において、θ３＝３６０となるので、図２５のフローチャートに示す処理を終了する。
【０２７６】
さらに、積層回路モジュール６０を構成する全ての基板に関して、前述の図２４に示す処理を行うことによって積層回路モジュール６０の各基板において、各部品５８の所定の端子間の距離の総和が最小となる配線ルートを決定することができる。さらに本実施の形態では、前述の個別部品回転処理を行うので、仮想配線ルートを可及的短くすることができる。
【０２７７】
図３０は、本発明の実施の一形態の部品配置方法を示すフローチャートである。本実施の形態の部品配置方法は、コンピュータによって実行可能なプログラムによって実現される。前記プログラムは、コンピュータのメモリに記憶され、ＣＰＵによって実行される。つまり図３０に示すフローチャートは、ＣＰＵの処理動作を示す。本実施の形態の部品配置方法では、部品が搭載される複数の基板を積層して構成される積層回路モジュールを構成する基板に搭載される部品の配置位置を決定する。
【０２７８】
コンピュータによって部品配置方法を実行させるために、まず、端子を有する部品が搭載され、表面に複数の層間接続部がそれぞれ設けられる複数の基板を準備する。次に、回路図入力システムによって、前述の実施の形態と同様に、部品の接続情報であるネットリスト情報、部品の形状情報、はんだ電極が設けられる基板の表面のはんだ電極情報、最下層の基板における各部品の配置情報、および積層する基板の数に関する情報などをコンピュータのメモリに入力する。
【０２７９】
図３０に示すフローチャートを開始すると、ステップｇ０からステップｇ１に移る。ステップｇ１では、前述のステップａ１と同様の処理を行うので、その説明を省略する。ステップｇ１の処理を終了すると、ステップｇ２に移る。
【０２８０】
ステップｇ２では、処理対象の基板に搭載する部品の個数ｍを求め、ステップｇ３に移る。
【０２８１】
ステップｇ３では、部品の個数ｍが１よりも大きい（ｍ＞１）か否かを判断する。ステップｇ３では、処理対象の基板に搭載する部品の数が１個であるのか、複数のであるのかを判断する。ステップｇ３において、ｍ＞１の場合、つまり処理対象の基板に複数の部品が搭載される場合、ステップｇ４に移る。
【０２８２】
ステップｇ４では、基板の中心に、複数の部品のうち、最大面積の部品Ｑ（０）を配置して、ステップｇ５に移る。前記最大面積の部品とは、複数の部品のうち、部品を基板に乗載したときに、その占有面積が最大となる部品である。また部品Ｑ（０）が配置されたことを示す情報がメモリに記憶される。
【０２８３】
ステップｇ５では、未配置の部品のうち、最大面積の部品Ｑ（ｉ）を選択し、つまり基板に乗載したときの占有面積が最大となる部品を選択して、ステップｇ６に移る。また部品Ｑ（ｉ）が選択されたことを示す情報がメモリに記憶される。
【０２８４】
ステップｇ６では、部品Ｑ（ｉ）の既に配置されている部品Ｑ（０）に対する相対位置を決定し、ステップｇ７に移る。
【０２８５】
図３１は、図３０に示すフローチャートのステップｇ６における詳細な処理手順を示すフローチャートである。図３０のフローチャートのステップｇ５の処理が終了すると、ステップｈ０からステップｈ１に移る。ステップｈ１では、基板形状情報、既配置部品の部品形状情報、接続情報、新規に搭載する部品の形状情報をメモリから入力する。
【０２８６】
基板形状情報は、基板の寸法を表す情報である。概配置部品の部品形状情報は、基板に乗載されている部品の形状を表す情報である。接続情報は、基板に搭載される部品の所定の接続部と、前記所定の接続部に接続される所定の接続部を有し、他の基板に搭載される部品の情報である。新規に搭載する部品の形状情報は、ステップｇ５で選択された部品Ｑ（ｉ）の形状を表す情報である。
【０２８７】
図３１は、図３０に示すフローチャートのステップｇ６における詳細な処理を示すフローチャートである。図３０のステップｇ５の処理を終了すると、図３１のフローチャートのステップｈ０からステップｈ１に移る。
【０２８８】
ステップｈ１では、基板を予め定める複数の配置想定領域に分割する。本実施の形態では、基板の部品が配置可能な領域を、９分割して配置想定領域を設ける。配置想定領域は、複数の部品のいずれか１つの部品を基板に乗載したときの占有面積とほぼ同一面積を有する。ステップｈ１の処理を終了すると、ステップｈ２に移る。以後、配置想定領域を、分割領域と記載する場合がある。各分割領域には、領域番号が与えられる。
【０２８９】
ステップｈ２では、予め定める変数ｉを初期化し、予め定める変数ＭＡＸを初期化する。ここでは、ｉ＝０およびＭＡＸ＝∞として、ステップｈ３に移る。
【０２９０】
ステップｈ３では、予め定める変数ｉに１を加算して、ｉ＝ｉ＋１として、ステップｈ４に移る。
【０２９１】
ステップｈ４では、分割領域に関し配置可能領域Ｓ（ｉ）を求める。配置可能領域Ｓ（ｉ）は、分割領域で部品が配置されていない領域の面積であって、分割領域に既に配置された部品が存在する場合には、分割領域から、この分割領域に配置されている既配置の部品面積を減算することによって求められる。ステップｈ４の処理を終了すると、ステップｈ５に移る。
【０２９２】
ステップｈ５では、分割領域に部品Ｑ（ｊ）を乗載したときの、仮想配線長の総和Ｌ（ｉ）を求める。ステップｈ５では、既配置の部品と、新たに配置する部品Ｑ（ｊ）間の接続するネット名の集合を求め、ネット名に対応した仮想配線を生成し、仮想配線長の総和Ｌ（ｉ）を求める。ステップｈ５の処理を終了すると、ステップｈ６に移る。
【０２９３】
ステップｈ６では、評価関数Ｆ（ｉ）を用いて、予め定める変数ｉに対応する指定領域の評価値を求める。評価関数Ｆ（ｉ）は、以下の式（２）によって表される。
Ｆ（ｉ）＝Ｋ１／Ｓ（ｉ）＋Ｋ２×Ｌ（ｉ）                …（２）
式（２）において、Ｋ１およびＫ２は、予め定める定数である。
【０２９４】
ステップｈ７では、評価値Ｆ（ｉ）がＭＡＸよりも小さいか否か、つまりＦ（ｉ）＜ＭＡＸであるかを判断する。ステップｈ７において、Ｆ（ｉ）＜ＭＡＸであると判断した場合、ステップｈ８に移り、Ｆ（ｉ）＜ＭＡＸではないと判断した場合、ステップｈ９に移る。
【０２９５】
ステップｈ８では、評価値Ｆ（ｉ）を変数ＭＡＸに代入し、つまりＭＡＸ＝Ｆ（ｉ）として、さらに領域番号の変数ＲＥＳＩＯＮにｉを代入し、つまりＲＥＳＩＯＮ＝ｉとして、ステップｈ９に移る。
【０２９６】
ステップｈ９では、変数ｉ＝９であるか否かを判断し、つまり全ての領域に関し評価を実施したかを判断する。ステップｈ９において、ｉ＝９であると判断した場合、ステップｈ１０に移り、相対位置決定の処理を終了し、図３０のフローチャートのステップｇ７に移る。相対位置を与える領域番号ＲＥＳＩＯＮは、以後の処理において活用される。
【０２９７】
再び図３０のフローチャートを参照して説明する。ステップｇ７では、前述の領域番号ＲＥＳＩＯＮに部品Ｑ（ｉ）を配置する。
【０２９８】
ステップｇ７の処理における部品の配置について、図３２を用いて説明する。図３２は、部品Ｑ（ｉ）を配置する領域であって、基板に設けられる分割領域を示す平面図である。基板には、予め定められるＸＹ座標軸が設けられる。本実施の形態では、ＸＹ座標軸は、矩形状の基板の直交する外周辺に沿うように設けられる。ここでは分割領域は、ＸＹ座標軸の第１象限に位置し、基板上の座標は全て正の数で表される。基板のＸ軸方向の寸法をＸｍａｘとし、Ｙ軸方向の寸法をＹｍａｘとする。各分割領域のＸ軸方向の寸法をＰＹとし、Ｙ軸方向の寸法をＰＹとする。
【０２９９】
このような基板に、新たに搭載する部品Ｑ（ｉ）の寸法がＰＸ、ＰＹであるとすると、前記部品Ｑ（ｉ）は、各領域で表３に示される座標位置で、前記領域内に配置される。
【０３００】
【表３】
2004341727.tif 000005
【０３０１】
表３は、領域番号１〜９と、各領域の中心座標であり、この領域番号の領域に部品Ｑ（ｉ）を配置する場合に、部品Ｑ（ｉ）の中心を配置する位置とを示している。ステップｇ７の処理を終了すると、ステップｇ８に移る。
【０３０２】
ステップｇ８では、ステップｇ７で部品を配置によって、部品の重なりがあるか否か、つまり新たに乗載した部品が、既に乗載されている部品積重する積重領域が発生するか否かを判断する。積重領域が発生するか否かは、部品の乗載位置と、部品の形状情報から判断することができる。ステップｇ８において、積重領域が発生すると判断した場合には、ステップｇ９に移る。
【０３０３】
ステップｇ９では、既に搭載されている部品と、新たに乗載した部品Ｑ（ｉ）との積重領域を求め、具体的には、各部品の基板上への正投影面の外周の交点を求め、これらの交点に基づいて部品を移動させる移動量を求めて、ステップｇ１０に移る。
【０３０４】
図３３は、基板１２０に既配置されている部品Ｑ１と、新たに配置される部品Ｑ２とが積重した場合の例を示す基板１２０の平面図である。ここでは、部品Ｑ０が該配置の部品であって、部品Ｑ１を配置する場合について説明する。部品Ｑ０の中心座標Ｖ０は、（Ｘ０，Ｙ０）であり、部品Ｑ１の中心座標Ｖ１は、（Ｘ１，Ｙ１）である。
【０３０５】
前述のステップｇ９では、まず部品ＱＯの基板への投影面の外周と、部品Ｑ１の基板への投影面の外周との交点を求める。いま２つの交点がＶ２（Ｘ２，Ｙ２）、Ｖ３（Ｘ３，Ｙ３）であるとする。この交点から移動量を算出する。Ｘ軸方向への移動量をΔＸで表し、Ｙ軸方向への移動量をΔＹで表すと、ΔＸおよびΔＹは、以下の式（３）および式（４）によって表される。
ΔＸ＝│Ｘ３−Ｘ２│                                    …（３）
ΔＹ＝│Ｙ３−Ｙ２│                                    …（４）
【０３０６】
ステップｇ１０では、部品が重ならないように部品を移動させるために、部品の移動方向を決定する。部品の移動方向は、既に搭載されている部品の中心位置の座標と、新たに乗載された部品の中心位置の座標とによって決定される。図３３に示すような、部品Ｑ０の中心座標Ｖ０（Ｘ０，Ｙ０）と、部品Ｑ１の中心座標Ｖ１（Ｘ１，Ｙ１）とによって、以下の番号▲１▼〜▲６▼に示すように部品Ｑ０の移動方向が決定される。
【０３０７】
▲１▼  Ｘ０＞Ｘ１である場合、Ｘ軸方向には正の方向に移動する。
▲２▼  Ｘ０＝Ｘ１である場合、Ｘ軸方向には移動しない。
▲３▼  Ｘ０＜Ｘ１である場合、Ｘ軸方向には負の方向に移動する。
▲４▼  Ｙ０＞Ｙ１である場合、Ｙ軸方向には正の方向に移動する。
▲５▼  Ｙ０＝Ｙ１である場合、Ｙ軸方向には移動しない。
▲６▼  Ｙ０＜Ｙ１である場合、Ｙ軸方向には負の方向に移動する。
【０３０８】
ステップｇ１０の処理を終了すると、ステップｇ１１に移る。
ステップｇ１１では、ステップｇ９において求めた変位量と、ステップｇ１０において求めた移動方向に基づいて、積重領域が発生しない位置まで各部品を相対的に変位させ、ステップｇ６に移る。たとえば、図３３に示すように、Ｘ０＞Ｘ１であり、Ｙ０＞Ｙ１である場合、部品Ｑ０をＸ軸の正の方向にΔＸ移動させ、Ｙ軸の正の方向にΔＹだけ移動させる。ステップｇ１１の処理が終了すると、ステップｇ１２に移る。
【０３０９】
ステップｇ１２では、同一基板に搭載される全ての部品を配置したか否かを判断する。ステップｇ１２において、全ての部品を配置したと判断した場合は、ステップｇ１３に移り、全ての部品を配置してはいないと判断した場合には、ステップｇ５に移る。
【０３１０】
ステップｇ１３では、部品の配置処理を行う全ての基板についての処理を終了したか否かを判断する。ステップｇ１３において、全ての基板についての処理を終了したと判断した場合、ステップｇ１４に移り、処理を終了する。一方、ステップｇ１４において、全ての基板についての処理を終了してはいないと判断すると、ステップｇ２に移り、処理を行っていない基板についての処理を実行する。
【０３１１】
前述のステップｇ３において、ｍ＞１ではないと判断すると、ステップｇ１２に移る。ステップｇ１２では、基板の一表面の中心に部品を配置し、ステップｇ１５に移る。
【０３１２】
ステップｇ１５では、基板の上面の中心に部品を配置して、ステップｇ１３に移る。
【０３１３】
図３４は、図３０に示すフローチャートの処理を具体的に説明する図である。ここでは、前述した図６および図７に示される回路モジュール６０の第２基板６２に搭載される第２半導体チップＩＣ２および第３半導体チップＩＣ３の配置位置を決定する場合について説明する。第１基板６１の部品５８の配置は予め決定されている。第１基板６１に搭載される部品５８の端子であって、第２半導体チップＩＣ２または第３半導体チップＩＣ３の所定の端子と接続されるべき所定の端子の位置を、図３４において記号★で表す。
【０３１４】
図３４（１）は、第３半導体チップＩＣ３が搭載された第２基板６２を示す。第１基板６１に搭載される部品５８の位置は予め決定されている。第２および第３半導体チップＩＣ２，ＩＣ３は同じ占有面積を有する。この場合、第２基板６２に搭載される第２および第３半導体チップＩＣ２，ＩＣ３のうち、第１基板６１に搭載される部品５８とのネットの数が多い第３半導体チップＩＣ３が、第２基板６２の中心に配置される。
【０３１５】
図３４（２）は、第２基板６２の第２半導体チップＩＣ２を搭載するために９分割に分割した領域の各領域の配置可能面積と配線長の総和からなる前述した評価関数Ｆ（ｉ）を用いて、第２半導体チップＩＣ２の配置領域を決定し、さらにこの領域に第２半導体チップＩＣ２を配置したときに第２半導体チップＩＣ２と第３半導体チップＩＣ３との部品５８の重なりが発生したため、第３半導体チップＩＣ３を移動した図である。
【０３１６】
前記部品配置処理を繰り返し処理を行うことで、積層回路モジュールの各基板において部品を好適に配置することができる。これによって、もしも新たな部品を前記配置想定領域に乗載したときに、該配置部品に積重する、つまり各部品の基板への投影面が重なる場合が発生する場合でも、これらの部品の積重する領域をなるべく小さくすることができる。これによって、積重する部品を相対的に移動するときに、この移動量をできるだけ小さくすることができ、さらに、各部品を相対的に移動させた場合でも、前記配線距離の総和をできるだけ短くすることができる。
【０３１７】
本発明の実施のさらに他の形態において、図３０のフローチャートに示す部品配置方法によって基板に各部品を配置し、その後前述した、配線ルート決定方法によって、配線ルートを決定する。これによって、部品配置から配線ルートの決定まで、コンピュータに実行させることによって、短時間で処理することができ、基板における配線ルートを簡単に決定することができる。
【０３１８】
本発明の他の実施の形態において、前記各プログラムは、コンピュータ読取り可能な記録媒体に格納されていてもよい。
【０３１９】
【発明の効果】
以上のように本発明によれば、３次元構造体である積層される基板における部品を接続する配線ルート決定することができ、さらに配線ルートの総和を可及的短く構成することができる。これによって、各部品間を実際に配線によって接続する場合、配線を可及的に短く形成することができる。したがって、部品間で伝送される信号の遅延を可及的低減することができる。
【０３２０】
また代表経由点を設けて段階的に層間接続部を割り振ることができるので、所定の領域に実配線ルートが密集することを防止することができる。これによって、配線に生じるクロストークを防止することができる。
【０３２１】
また本発明によれば、優先的に接続すべき部品の所定の端子から順番に実配線ルートを決定することができる。優先順序を設定することによって、端子間に接続する配線ルートで重要なものから順番に決定することができる。したがって、重要な配線、信号の遅延が最も問題となる部品同士の接続する配線ルートを、可及的短く形成することができる。
【０３２２】
また本発明によれば、部品を予め定める角度ずつ回転して、各部品の所定の端子間の距離の総和を求め、前記距離の総和が最小となる位置に部品を配置することによって、接続すべき端子間の距離を可及的短くすることができる。このように接続するべき端子間の距離を短くすることができるので、前述した方法に従って層間接続部を経由する実配線ルートを決定すると、層間接続部を経由して決定される実配線ルートをさらに短くすることができる。
【０３２３】
また本発明によれば、前記複数の部品を前記軸線まわりに予め定める角度ずつ回転させたときに、すべての部品を基板上の予め定める領域に配置できる場合について、各部品の中心と、この各部品と接続される他の基板の各部品の所定の端子との間の距離の総和を求め、前記距離の総和が最小となる位置に各部品を配置する。これによって、接続すべき端子間の距離を可及的短くすることができる。このように接続するべき端子間の距離を短くすることができるので、前述した方法に従って層間接続部を経由する実配線ルートを決定すると、層間接続部を経由して決定される実配線ルートをさらに短くすることができる。
【０３２４】
また本発明によれば、第２部品を配置可能な面積がなるべく広い配置想定領域であって、かつ配線距離の総和がなるべく短くなるような位置に第１部品を搭載する。このような位置に第１部品を搭載することによって、もしも第１部品を前記配置想定領域に乗載したときに、第２部品に積重する、つまり各部品の基板への投影面が重なる場合が発生する場合でも、これらの第１および第２部品が積重する領域をなるべく小さくすることができる。これによって、第１部品および第２部品を相対的に移動するときに、この移動量をできるだけ小さくすることができ、さらに、第１部品および第２部品を相対的に移動させた場合でも、前記配線距離の総和をできるだけ短くすることができる。
【０３２５】
また本発明によれば、前述した部品配置方法によって部品を基板に配置し、その後前述した配線ルート決定方法によって、各部品の所定の端子間を接続する配線ルートを決定する。積層する基板での部品の位置を決定した後、前記配線ルートを決定することによって、配線の長さがさらに短くなるような配線ルートを決定することができる。また、積層回路モジュールを設計する場合に、設計者が設計する工程数を低減することができる。
【０３２６】
また本発明によれば、プログラムを、コンピュータに実行させることによって、コンピュータは、前述の配線ルート決定方法に従って動作し、前述のような作用を達成することができる。またコンピュータに前記配線ルート決定方法の手順を実行させることによって、短時間で処理することができる。
【０３２７】
また本発明によれば、前記記録媒体に記録されたプログラムを、コンピュータに実行させることによって、コンピュータは、前述の部品配置方法に従って動作し、前述のような作用を達成することができる。またコンピュータに前記部品配置方法の手順を実行させることによって、短時間で処理することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の配線ルート決定方法を示すフローチャートである。
【図２】図１のフローチャートのステップａ２の詳細を示すフローチャートである。
【図３】ネットリスト情報を示す図である。
【図４】ピン分割処理テーブル２１を示す図である。
【図５】図２に示す処理手順を、具体的に説明するための図である。
【図６】部品が搭載される複数の基板を積層して構成する積層回路モジュール６０の回路図を示す図である。
【図７】積層回路モジュール６０の側面図である。
【図８】第１および第２基板６１，６２と、これら第１および第２基板６１，６２に設けられるはんだ電極４２を示す平面図である。
【図９】第１基板６１の平面図である。
【図１０】第２基板６２の平面図である。
【図１１】第１基板６１に想定される仮想接続点および配線ルートを示す図である。
【図１２】第２基板６２に想定される仮想接続点および配線ルートを示す図である。
【図１３】第１基板６１に決定された実配線ルートを示す図である。
【図１４】第２基板６２において決定された実配線ルートを示す図である。
【図１５】本発明の第２の実施の形態の配線ルート決定方法を示すフローチャートである。
【図１６】仮想接続点４６および仮想ルートを示す第２基板６２の平面図である。
【図１７】仮想接続点４６および仮想ルートを示す第３基板６３の平面図である。
【図１８】本発明の第３の実施の形態の配線ルート決定方法の一部を示すフローチャートである。
【図１９】第１基板６１の平面図である。
【図２０】第２基板６２の平面図である。
【図２１】第２基板６２の平面図である。
【図２２】第２基板６２の平面図である。
【図２３】第２基板６２の平面図である。
【図２４】本発明の第４の実施の形態の配線ルート決定方法の一部を示すフローチャートである。
【図２５】図２４に示すフローチャートのステップｅ５における詳細な処理を示すフローチャートである。
【図２６】第２基板６２の平面図である。
【図２７】第２基板６２の平面図である。
【図２８】第２基板６２の平面図である。
【図２９】第２基板６２の平面図である。
【図３０】本発明の実施の一形態の部品配置方法を示すフローチャートである。
【図３１】図３０に示すフローチャートのステップｇ６における詳細な処理手順を示すフローチャートである。
【図３２】基板に設けられる分割領域を示す平面図である。
【図３３】基板１２０に既配置されている部品Ｑ１と、新たに配置される部品Ｑ２とが積重した場合の例を示す基板１２０の平面図である。
【図３４】図３０に示すフローチャートの処理を具体的に説明する図である。
【符号の説明】
４２  はんだ電極
４６  仮想接続点
５８  部品
４１，６１，６２，６３，１２０  基板
１００，１１４  軸線
【図１】
2004341727.tif 000006
【図２】
2004341727.tif 000007
【図３】
2004341727.tif 000008
【図４】
2004341727.tif 000009
【図５】
2004341727.tif 000010
【図６】
2004341727.tif 000011
【図７】
2004341727.tif 000012
【図８】
2004341727.tif 000013
【図９】
2004341727.tif 000014
【図１０】
2004341727.tif 000015
【図１１】
2004341727.tif 000016
【図１２】
2004341727.tif 000017
【図１３】
2004341727.tif 000018
【図１４】
2004341727.tif 000019
【図１５】
2004341727.tif 000020
【図１６】
2004341727.tif 000021
【図１７】
2004341727.tif 000022
【図１８】
2004341727.tif 000023
【図１９】
2004341727.tif 000024
【図２０】
2004341727.tif 000025
【図２１】
2004341727.tif 000026
【図２２】
2004341727.tif 000027
【図２３】
2004341727.tif 000028
【図２４】
2004341727.tif 000029
【図２５】
2004341727.tif 000030
【図２６】
2004341727.tif 000031
【図２７】
2004341727.tif 000032
【図２８】
2004341727.tif 000033
【図２９】
2004341727.tif 000034
【図３０】
2004341727.tif 000035
【図３１】
2004341727.tif 000036
【図３２】
2004341727.tif 000037
【図３３】
2004341727.tif 000038
【図３４】
2004341727.tif 000039