(57)【要約】【課題】設計時間とコンピュータ資源の消費とを抑えつつ、配線性を向上させることができる配線方法を提供する。【解決手段】始点から、第１の配線形成用格子を連続的になぞって、複数の第１の交点のうちから選択された１つの第１の選択済交点まで、追加配線を伸ばすステップと、設計済配線及び設計済ビアの位置に基づいて、第１の配線層上に追加ビアを配置することができる第１のビア配置可能領域と、第２の配線層上に追加ビアを配置することができる第２のビア配置可能領域とを算出するステップと、第１の選択済交点を下面の領域内のいずれかの位置に含む追加ビアを、下面が第１のビア配置可能領域に含まれ、且つ、上面が第２のビア配置可能領域に含まれるように配置するステップと、追加ビアから、第２の配線形成用格子を連続的になぞって、終点まで追加配線を伸ばすステップとを有する。【選択図】図１１
2012063934.tif 000002
【特許請求の範囲】
【請求項１】
配線対象基板に第１の配線層と第２の配線層とを設けるステップと、
前記第１の配線層上に、互いに交差する複数の第１の横線及び複数の第１の縦線と、これらの交点としての複数の第１の交点とを有する第１の配線形成用格子を割り当てるステップと、
前記第２の配線層上に、互いに交差する複数の第２の横線及び複数の第２の縦線と、これらの交点としての複数の第２の交点とを有する第２の配線形成用格子を割り当てるステップと、
前記第１の配線層に、前記第１の配線形成用格子を連続的になぞって形成した第１の設計済配線を割り当て、前記第２の配線層に、前記第２の配線形成用格子を連続的になぞって形成した第２の設計済配線を割り当て、前記第１の設計済配線と前記第２の設計済配線とを導通させる設計済ビアを、前記第１の配線層と前記第２の配線層とに共通に割り当て、これにより、前記第１の配線層から前記第２の配線層にかけて、前記第１の設計済配線を、前記設計済ビアを介して前記第２の設計済配線を導通させる、設計済配線を割り当てるステップと、
ここにおいて、前記第１の配線形成用格子上に始点を、前記第２の配線形成用格子の上に終点を定めるステップと、
前記始点から前記終点までを、所定の大きさの上面と下面とを有する柱状の追加ビアを介して導通する所定の幅の追加配線の経路を、前記経路に対応する経路コストに基づいて、決定するステップとを備える配線経路決定方法であって、
前記始点から、前記第１の配線形成用格子を連続的になぞって、前記複数の第１の交点のうちから選択された１つの第１の選択済交点まで、前記追加配線を伸ばすステップと、
前記設計済配線及び前記設計済ビアの位置に基づいて、前記第１の配線層上に前記追加ビアを配置することができる第１のビア配置可能領域と、前記第２の配線層上に前記追加ビアを配置することができる第２のビア配置可能領域と、を算出するステップと、
前記第１の選択済交点を前記下面の領域内のいずれかの位置に含む前記追加ビアを、前記下面が前記第１のビア配置可能領域に含まれ、且つ、前記上面が前記第２のビア配置可能領域に含まれるように、配置するステップと、
次いで、前記追加ビアから、前記第２の配線形成用格子を連続的になぞって、前記終点まで前記追加配線を伸ばすステップと、
を備えることを特徴とする配線経路決定方法。
【請求項２】
配線対象基板に第１の配線層と第２の配線層とを設けるステップと、
前記第１の配線層上に、互いに交差する複数の第１の横線及び複数の第１の縦線と、これらの交点としての複数の第１の交点とを有する第１の配線形成用格子を割り当てるステップと、
前記第２の配線層上に、互いに交差する複数の第２の横線及び複数の第２の縦線と、これらの交点としての複数の第２の交点とを有する第２の配線形成用格子を割り当てるステップと、
前記第１の配線層に、前記第１の配線形成用格子を連続的になぞって形成した第１の設計済配線を割り当て、前記第２の配線層に、前記第２の配線形成用格子を連続的になぞって形成した第２の設計済配線を割り当て、前記第１の設計済配線と前記第２の設計済配線とを導通させる設計済ビアを、前記第１の配線層と前記第２の配線層とに共通に割り当て、これにより、前記第１の配線層から前記第２の配線層にかけて、前記第１の設計済配線を、前記設計済ビアを介して前記第２の設計済配線を導通させる、設計済配線を割り当てるステップと、
ここにおいて、前記第１の配線形成用格子上に始点を、前記第２の配線形成用格子の上に終点を定めるステップと、
前記始点から前記終点までを、所定の大きさの上面と下面とを有する柱状の追加ビアを介して導通する所定の幅の追加配線の経路を、前記経路に対応する経路コストに基づいて、決定するステップとを備える配線経路決定方法であって、
前記始点から、前記第１の配線形成用格子を連続的になぞって、前記複数の第１の交点のうちから選択された１つの第１の選択済交点まで、前記追加配線を伸ばすステップと、
前記第１の選択済交点を前記下面の領域内のいずれかの位置に含む前記追加ビアを、複数の位置に仮に配置するステップと、
その都度、前記第１の配線層において、仮配置された前記追加ビアの前記下面が遮る前記第１の横線の本数及び前記第１の縦線の本数を、第１の配線不可横線本数及び第１の配線不可縦線本数として算出し、前記第２の配線層において、前記仮配置された追加ビアの前記上面が遮る前記第２の横線の本数及び前記第２の縦線の本数を、第２の配線不可横線本数及び第２の配線不可縦線本数として算出し、前記第１の配線不可横線本数と前記第１の配線不可縦線本数と前記第２の配線不可横線本数と前記第２の配線不可縦線本数とを足し合わせて、配線不可線総数を算出するステップと、
最も小さい値を示す前記配線不可線総数を有する位置を、前記追加ビアの位置として決定するステップと、
次いで、決定された前記位置に配置された前記追加ビアから、前記第２の配線形成用格子を連続的になぞって、前記終点まで前記追加配線を伸ばすステップと、
を備えることを特徴とする配線経路決定方法。
【請求項３】
前記第１の配線不可横線本数と前記第１の配線不可縦線本数と前記第２の配線不可横線本数と前記第２の配線不可縦線本数とを足し合わせる前に、前記第１の配線不可横線本数と前記第１の配線不可縦線本数と前記第２の配線不可横線本数と前記第２の配線不可縦線本数とのうちの少なくとも１つに重み付けを行うステップを備えることを特徴とする請求項２に記載の配線経路決定方法。
【請求項４】
配線対象基板に第１の配線層と第２の配線層とを設けるステップと、
前記第１の配線層上に、互いに交差する複数の第１の横線及び複数の第１の縦線と、これらの交点としての複数の第１の交点とを有する第１の配線形成用格子を割り当てるステップと、
前記第２の配線層上に、互いに交差する複数の第２の横線及び複数の第２の縦線と、これらの交点としての複数の第２の交点とを有する第２の配線形成用格子を割り当てるステップと、
前記第１の配線層に、前記第１の配線形成用格子を連続的になぞって形成した第１の設計済配線を割り当て、前記第２の配線層に、前記第２の配線形成用格子を連続的になぞって形成した第２の設計済配線を割り当て、前記第１の設計済配線と前記第２の設計済配線とを導通させる設計済ビアを、前記第１の配線層と前記第２の配線層とに共通に割り当て、これにより、前記第１の配線層から前記第２の配線層にかけて、前記第１の設計済配線を、前記設計済ビアを介して前記第２の設計済配線を導通させる、設計済配線を割り当てるステップと、
ここにおいて、前記第１の配線形成用格子上に始点を、前記第２の配線形成用格子の上に終点を定めるステップと、
前記始点から前記終点までを、所定の大きさの上面と下面とを有する柱状の追加ビアを介して導通する所定の幅の追加配線の経路を、前記経路に対応する経路コストに基づいて、決定するステップとを備える配線経路決定方法であって、
前記始点から、前記第１の配線形成用格子を連続的になぞって、前記複数の第１の交点のうちから選択された１つの第１の選択済交点まで、前記追加配線を伸ばすステップと、
前記設計済配線及び前記設計済ビアの位置に基づいて、前記第１の配線層上に前記追加ビアを配置することができる第１のビア配置可能領域と、前記第２の配線層上に前記追加ビアを配置することができる第２のビア配置可能領域と、を算出するステップと、
前記第１の選択済交点を前記下面の領域内のいずれかの位置に含む前記追加ビアを、前記下面が前記第１のビア配置可能領域に含まれ、且つ、前記上面が前記第２のビア配置可能領域に含まれるように配置することができるような複数の位置に、前記追加ビアを仮に配置するステップと、
その都度、前記第１の配線層において、仮配置された前記追加ビアの前記下面が遮る前記第１の横線の本数及び前記第１の縦線の本数を、第１の配線不可横線本数及び第１の配線不可縦線本数として算出し、前記第２の配線層において、前記仮配置された追加ビアの前記上面が遮る前記第２の横線の本数及び前記第２の縦線の本数を、第２の配線不可横線本数及び第２の配線不可縦線本数として算出し、前記第１の配線不可横線本数と前記第１の配線不可縦線本数と前記第２の配線不可横線本数と前記第２の配線不可縦線本数とを足し合わせて、配線不可線総数を算出するステップと、
最も小さい値を示す前記配線不可線総数を有する位置を、前記追加ビアの位置として決定するステップと、
次いで、前記追加ビアから、前記第２の配線形成用格子を連続的になぞって、前記終点まで前記追加配線を伸ばすステップと、
を備えることを特徴とする配線経路決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、配線基板の配線経路決定方法及び半導体装置における配線経路決定方法に関する。
【背景技術】
【０００２】
Ball Grid Array（ＢＧＡ）パッケージといった半導体パッケージの配線基板、様々な電気機器のプリント回路基板（ＰＣＢ）等、さらに、半導体集積回路の配線層等といった様々な配線基板がある。
【０００３】
このような配線基板の配線の配線経路決定方法として、迷路法が知られている。迷路法とは、配線する配線基板上にグリッド（格子）を仮想的に設定し、さらに、配線の始点と終点とを配線基板上に設定する。そして、この始点と終点とを結ぶような格子上の配線の経路を決定するものである。迷路法は、配線する平面に他の配線やビア等の障害物が存在しても、その障害物をよけて配線のための経路を探し出すことができるため、広く利用されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−４１５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、設計時間とコンピュータ資源の消費とを抑えつつ、配線性を向上させることができる配線方法を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の実施形態によれば、配線対象基板に第１の配線層と第２の配線層とを設けるステップと、前記第１の配線層上に、互いに交差する複数の第１の横線及び複数の第１の縦線と、これらの交点としての複数の第１の交点とを有する第１の配線形成用格子を割り当てるステップと、前記第２の配線層上に、互いに交差する複数の第２の横線及び複数の第２の縦線と、これらの交点としての複数の第２の交点とを有する第２の配線形成用格子を割り当てるステップと、前記第１の配線層に、前記第１の配線形成用格子を連続的になぞって形成した第１の設計済配線を割り当て、前記第２の配線層に、前記第２の配線形成用格子を連続的になぞって形成した第２の設計済配線を割り当て、前記第１の設計済配線と前記第２の設計済配線とを導通させる設計済ビアを、前記第１の配線層と前記第２の配線層とに共通に割り当て、これにより、前記第１の配線層から前記第２の配線層にかけて、前記第１の設計済配線を、前記設計済ビアを介して前記第２の設計済配線を導通させる、設計済配線を割り当てるステップと、ここにおいて、前記第１の配線形成用格子上に始点を、前記第２の配線形成用格子の上に終点を定めるステップと、前記始点から前記終点までを、所定の大きさの上面と下面とを有する柱状の追加ビアを介して導通する所定の幅の追加配線の経路を、前記経路に対応する経路コストに基づいて、決定するステップとを備える配線経路決定方法は、前記始点から、前記第１の配線形成用格子を連続的になぞって、前記複数の第１の交点のうちから選択された１つの第１の選択済交点まで、前記追加配線を伸ばすステップと、前記設計済配線及び前記設計済ビアの位置に基づいて、前記第１の配線層上に前記追加ビアを配置することができる第１のビア配置可能領域と、前記第２の配線層上に前記追加ビアを配置することができる第２のビア配置可能領域と、を算出するステップと、前記第１の選択済交点を前記下面の領域内のいずれかの位置に含む前記追加ビアを、前記下面が前記第１のビア配置可能領域に含まれ、且つ、前記上面が前記第２のビア配置可能領域に含まれるように、配置するステップと、次いで、前記追加ビアから、前記第２の配線形成用格子を連続的になぞって、前記終点まで前記追加配線を伸ばすステップと、を備える。
【図面の簡単な説明】
【０００７】
【図１】実施形態を説明するための図（その１）である。
【図２】実施形態を説明するための図（その２）である。
【図３】実施形態を説明するための図（その３）である。
【図４】実施形態の配線経路決定方法を示すフローチャートである。
【図５】実施形態を説明するための図（その４）である。
【図６】実施形態を説明するための図（その５）である。
【図７】実施形態を説明するための図（その６）である。
【図８】第１の実施形態を説明するための図（その１）である。
【図９】第１の実施形態を説明するための図（その２）である。
【図１０】第１の実施形態を説明するための図（その３）である。
【図１１】第１の実施形態の配線経路決定方法を示すフローチャートである。
【図１２】第１の実施形態の配線設計装置を示すブロック図である。
【図１３】第２の実施形態を説明するための図である。
【図１４】第２の実施形態の配線経路決定方法を示すフローチャートである。
【図１５】第２の実施形態の配線設計装置を示すブロック図である。
【図１６】第３の実施形態を説明するための図である。
【図１７】第３の実施形態の配線経路決定方法を示すフローチャートである。
【図１８】第４の実施形態の配線経路決定方法を示すフローチャートである。
【図１９】第４の実施形態の配線設計装置を示すブロック図である。
【図２０】第５の実施形態を説明するための図である。
【図２１】第５の実施形態の配線経路決定方法を示すフローチャートである。
【図２２】第５の実施形態の配線設計装置を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、実施形態を説明する。ただし、本発明は、この実施形態に限定されるものではない。なお、全図面にわたり共通する部分には、共通する符号を付す。
【０００９】
まず、実施形態を説明する前に、設計対象となる配線基板について、図１及び図２を用いて、簡単に説明する。なお、本発明において設計対象となる配線基板は、以下に説明するような配線基板に限られるものではない。
【００１０】
図１に、ＢＧＡパッケージといった半導体パッケージの配線基板、様々な電気機器のＰＣＢ基板等の配線基板の一部を示す。詳細には、図１（ａ）は、配線基板の一部の配線基板上面１ａ側から見た平面図であり、図１（ｂ）は、図１（ａ）中のＡ−Ａ´における断面図である。
【００１１】
図１（ａ）に示されるように、配線基板１の配線基板上面（配線層）１ａ上には、配線２があり、さらに、その上面が円形であるビア３がある。この配線２は、配線基板１（詳細には、配線基板上面１ａ及び配線基板下面１ｂ）上に延びることができる方向（配線方向）は、所定の複数の方向に定められている。例えば、Ｘ方向（横方向）と、Ｙ方向（縦方向）と、斜め４５度方向と、に定められている。また、このビア３は、図１（ｂ）に示されるように、配線基板１を配線基板上面（配線層）１ａから配線基板下面（配線層）１ｂまでを貫くものであって、配線基板上面１ａ上の配線２と配線基板下面１ｂ上の配線２とを電気的に接続するものである。この図１においては、配線基板上面１ａと配線基板下面１ｂとの２つの層に配線２が配置できるものとして示したが、配線２が配置できる層は、２つに限定されるものではなく、２つ以上のものであれば良い。すなわち、設計対象となる配線基板１は、配線２が配線できる層を、少なくとも２つ備えており、少なくともビア３を１つ備えているものである。なお、柱状のビア３の上面及び下面の形状は、図１（ａ）に示すような円形に限られるものではない。
【００１２】
次に、図２に、半導体集積回路の配線層の一部を示す。詳細には、図２（ａ）は、配線層の一部の平面図であり、図２（ｂ）は、図２（ａ）中のＢ−Ｂ´における断面図である。
【００１３】
図２（ａ）に示されるように、半導体集積回路基板６の第１の配線層４上に、配線２があり、さらに、ビア３がある。この配線２は、各配線層上に延びることができる方向（配線方向）は、所定の複数の方向に定められている。例えば、Ｘ方向（横方向）と、Ｙ方向（縦方向）と、斜め４５度方向と、に定められている。また、このビア３は、図１（ａ）に示されるビア３とは異なり、その上面及び下面は長方形をしており、図２（ｂ）に示されるように、半導体集積回路基板６を第１の配線層４から第２の配線層５までを貫くものであって、第１の配線層４上の配線２と第２の配線層５上の配線２とを電気的に接続するものである。この図２においては、第１の配線層４と第２の配線層５との２つの層に配線２が配置できるものとして示したが、配線２が配置できる層は、２つに限定されるものではなく、２つ以上のものであれば良い。すなわち、設計対象となる半導体集積回路基板６は、配線２を配線できる層を、少なくとも２つ備えており、さらに、ビアを少なくとも１つ備えているものである。なお、柱状のビア３の上面及び下面の形状は、図２（ａ）に示されるような長方形に限られるものではない。
【００１４】
図１に示されるような配線基板１では、ビア３の上面及び下面の直径が配線２の幅よりも大きいのが通例である。また、図２に示されるような半導体集積回路基板６においても、ダブルカットビアなど配線の幅よりも大きい幅を有する上面及び下面を持つビア３が存在する。さらに、配線基板１及び半導体集積回路基板６において、各配線２の幅、各ビア３の大きさは、あらかじめ決められている。
【００１５】
次に、本発明者が本実施形態をなすに至った経緯について説明する。
【００１６】
本発明者は、上記のような配線基板上の配線設計を行っていた。この際、本発明者は、上記のような配線基板上の配線設計の方法の１つとして、先に説明した迷路法を用いていた。ここでは、配線設計の方法の１つの例として、迷路法を詳細に説明する。
【００１７】
まず、図３に示すように、迷路法では、配線する配線基板１上にグリッド（配線形成用格子）７を仮想的に設定する。配線２はこのグリット７上に設けられることとなる。従って、グリッド７はあらかじめ定められた配線ピッチと、配線２が配線基板１上に延びることができる方向（配線方向）と、に応じて設けられることとなる。ここでは、配線方向は、Ｘ方向（横方向）とＹ方向（縦方向）との２つであるとして説明する。さらに、配線２の始点８と終点９とを配線基板１上に設定する。
【００１８】
図３に示されるように、配線２の、始点８から終点９への配線２の経路を探索する（配線経路を探し出す）。すなわち、配線２は、他の配線２及びビア３のような障害物が存在しないような配線することができるグリッド７を探し出して進むこととなる。この際、配線２が１つのグリッド７から隣のグリッド７への進むごとに、探索コストと呼ばれるコストを算出する。そして、配線２がグリッド７を進むごとに、探索コストを加算して、探索コストの総和である累積コスト（経路コスト）を算出する。ここでは、配線２がグリッド７を１つ進むごとに「１」の探索コストが加算されるものとする。例えば、図３を用いて説明すると、配線２が、始点８から格子の交点７ａにまでグリッド７上を１つ進むと、探索コスト「１」が加算されるため、累積コストは「１」となる。次に、配線２が、交点７ａから交点７ｂまでグリッド７を１つ進むと、探索コスト「１」が加算されることから、累積コストは、１＋１＝２となる。このように、配線２のための経路の探索と、累積コストの計算を繰り返す。そして、始点８から終点９への配線２の経路のうち、累積コストが最小となる経路を配線経路として決定するのである。
【００１９】
さらに詳細には、図４に示されるようなフローチャートに従って、配線を行う。この配線方法は、以下の１３個のステップで構成されている。各ステップは、以下の通りである。
【００２０】
（ステップ１）グリッドを格納するグリッドリストを用意し、空にする。
【００２１】
（ステップ２）すべてのグリッドの累積コストを０にする。
【００２２】
（ステップ３）探索を開始するグリッドをグリッドリストに入れる。
【００２３】
（ステップ４）グリッドリストから累積コストが最小であるグリッドを１つ選択し、それをグリッドＡとする。
【００２４】
（ステップ５）グリッドＡが探索の終点であるか判定する。
【００２５】
（ステップ６）グリッドＡから、未探索で探索可能な方向を１つ選択する。選択された方向にあるグリッドをグリッドＢとする。
【００２６】
（ステップ７）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００２７】
（ステップ８）グリッドＢが未探索かどうか判定する。
【００２８】
（ステップ９）グリッドＡまでの累積コスト＋Ｃ＜これまで探索された累積コストかどうか判定する。
【００２９】
（ステップ１０）グリッドＢまでの累積コストをグリッドＡまでの累積コストと探索コストＣの総和とする。
【００３０】
（ステップ１１）グリッドＢをグリッドリストに入れる。
【００３１】
（ステップ１２）グリッドＡから未探索で探索可能な方向があるかどうか判定する。
【００３２】
（ステップ１３）経路探索を終了する。
【００３３】
先に述べたように、このような方法を用いて配線設計を行う際、グリッド７の間隔は、あらかじめ定められた配線ピッチ、言い換えると、隣りあう配線２の間の最小スペーシングを基準に設定する。さらに、図５（ａ）に示す配線２、グリッド７、ビア３の配置関係を示す平面図において、ビア３は、その中心点１０が、ビア３が接続されることとなる配線２における、端部の中心であって、且つ、グリッド７上に位置する配線端中央点と重なるように、配置するものと設定する。このような設定において、配線設計を行うと、ビア３の直径が配線２の幅よりも大きい場合には、図５（ａ）に示すように、ビア３から離間した近傍の配線２とビア３との間隔が必要以上に大きくなってしまうことがある。この間隔が必要以上に大きくなることは、配線２を引き回すことができる配線層上の領域を無駄に消費してしまっていることを意味し、従って、この後に配線を行う配線２についての配線性を著しく低下させる。ここで、配線性とは、配線２を引き回せる自由度のことを言う。
【００３４】
上記のような問題に対処するために、図５（ｂ）のようにグリッド７の間隔を小さくして設計を行い、配線２及びビア３の間隔を狭くする方法が考えられる。しかし、配線設計の処理時間、及び、配線設計に必要なメモリの量はグリッド７の間隔の２乗に反比例するため、グリッド７の間隔を小さくする方法は、処理時間、及び、必要なメモリの量を激増させてしまうという問題を、言い換えると、設計時間とコンピュータ資源の消費とを増大させてしまうという問題を生じさせることとなる。
【００３５】
また、この問題に対処する別のアプローチとして図６（ａ）のようにビア３をオフグリッドの位置に置く方法、言い換えると、ビア３を、ビア３の中心点１０と配線端中央点２０とを重ねるように配置することに限定することなく、配置する方法が考えられる。詳細には、ビア３をオフグリッドの位置に置くために、図６（ｂ）のように、ビア３の中心点１０（図示を省略）を配線端中央点２０からシフトさせた複数のビア３についての位置情報が入ったライブラリ１１を用意しておき、その中から最適な位置のビア３を選択する方法が考えられる。しかし、どれだけビア３の中心点１０をシフトさせればよいかは、状況により異なり、すべてのケースに対応できるようなライブラリ１１を用意するのは困難である（図７にシフトさせた例をいくつか示すが、その数は莫大である）。
【００３６】
そこで、本発明者は、上記のような問題を解決するために、配線基板、及び半導体集積回路の配線設計方法において、グリッド７とは関係なく最適なビア３の位置を決定することを考えた。すなわち、すでに配置された配線２及びビア３の位置といった周辺の状況から最適なビア位置を計算し、その計算された位置にビア３を配置するものとし、配線設計を行うのである。この配線方法によれば、設計時間とコンピュータ資源の消費とを抑えつつ、配線性を向上させることができる。
【００３７】
以下、本発明の実施形態について説明する。
【００３８】
（第１の実施形態）
本実施形態においては、配線グリッド７とは関係なく最適なビア３の位置を決定するが、詳細には、すでに配置されている配線２及びビア（設計済配線及び設計済ビア）３の位置との関係において、そこにビア３を配置することによって生じるＤＲＣエラーの数が最小となる位置にビア３の位置を決定するものである。
【００３９】
ここでＤＲＣエラーとは、配線された配線基板１に対して、デザインルールチェック（ＤＲＣ）を行い、それによって得られたエラーのことを言う。詳細には、デザインルールと呼ばれる、各配線２や各ビア３が守らなくてはならないルールに従って、設計しているかどうかをチェックし、それに従って設計していない箇所をＤＲＣエラー（デザインルール違反）と呼ぶ。例えば、図８に示されるように、配線２ａと配線２ｂとの間隔、配線２ｃとビア３ａとの間隔が、定められた値以上でない場合には、デザインルールに違反している箇所（ＤＲＣエラー）１３として検出される。
【００４０】
本実施形態は、先に説明した迷路法による配線設計の方法を用いるものとして説明する。なお、本実施形態においては、配線設計方法として迷路法に限られるものではなく、他の方法を用いることも可能である。また、本実施形態においては、ＢＧＡパッケージといった半導体パッケージの配線基板１において配線を行うものして説明する。しかしながら、本実施形態において設計対象となる配線基板は、このような配線基板に限られるものではない。
【００４１】
図９は、迷路法で配線基板１上の配線２の経路を探索している過程を表している図であり、図９（ａ）に示される配線基板上面１ａ上の、グリッド７上を伸びる配線２の配線端中央点ａ(第１の選択済交点）から、図９（ｂ）に示される、配線端部中央点ａと立体的に重なる、配線基板下面１ｂ上の点ｂへと探索が進もうとしているところである。
【００４２】
このような場合、本実施形態では、図１０に示す例のように配線を行う。すなわち、すでに配置されている配線２及びビア３（設計済配線及び設計済ビア）の位置との関係において、新たにビア３を配置することによって生じるＤＲＣエラー１３の数が最小となる領域(ビア配置可能領域)１４を探し出す。そして、その領域１４の中に、配線端部中央点ａ及び点ｂをビア３の上面及び下面の領域にそれぞれ含むようなビア３を配置する。例えば、図１０に示す例では、斜線で示した領域１４ではＤＲＣエラー１３が生じない（発生するＤＲＣエラー１３の数＝０）ので、その領域１４の任意の位置にビア３の位置を決定する。
【００４３】
第１の実施形態の配線方法は、図４に示されるフローチャートと同じであり、さらに、図４に示されるフローチャートＳ７を図１１のフローチャートで置き換えたものとなる。以下に、図１１に示される本実施形態特有のステップのみ、詳細に説明する。図４に示されるステップ６を経た後に、以下のステップを行う。
【００４４】
（ステップ７−１−１）グリッドＡからグリッドＢへの探索が異なる配線層への探索かどうかを判定する。
【００４５】
（ステップ７−１−２）ビアを置くことによって生じるＤＲＣエラーの数が最小となる領域を求める。
【００４６】
（ステップ７−１−３）ステップ７−１−２において求めた領域の中の任意の位置にビアを置くものとして、グリッドＡからグリッドＢへの探索コストＣを計算する。
【００４７】
（ステップ７−１−４）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００４８】
次に、ステップ８へ進む。
【００４９】
また、第１の実施形態の配線設計装置２１のブロック図を図１２に示す。本実施形態の配線設計装置２１は、図１２に示すように、入力データが入力される入力装置３１と、配線設計を実行する演算処理装置（ＣＰＵ）３０と、設計結果を表示する表示装置３２及び出力する出力装置３３と、配線設計プログラムを記憶するためのプログラム記憶装置３６と、配線設計に関する様々なデータを記憶するデータ記憶装置３５と、を備える。入力装置３１と、表示装置３２と、出力装置３３と、は、入出力制御部３４を介して演算処理装置３０に接続されており、プログラム記憶装置３６と、データ記憶装置３５とは、直接演算処理装置３０と接続されている。演算処理装置３０は、設定モジュール３０１と、配線経路探索モジュール３０２と、累積コスト抽出モジュール３０３と、探索コスト累積モジュール３０４と、始終点判定モジュール３０５と、ビアを置くことによってＤＲＣエラーの数が最小となる領域を計算するモジュール３０６と、結線モジュール３０７とを備える。データ記憶装置３５は、設定データファイル３５１と、配線経路探索データファイル３５２と、コスト計算データファイル３５３と、結線データファイル３５４と、グリッドリストファイル３５５とを備える。上記の配線方法は、図１２で示される配線設計装置２１を用いて行われる。
【００５０】
本実施形態によれば、ビア３を、グリッド位置に限定することなく、最適な位置に配置できるため、配線２を引き回すことができる配線層上の領域を無駄に消費することが無く、配線性を向上させることができる。特に、ビア３の大きさが配線幅よりも大きい場合において、配線性を向上させることができる。また、配線グリッド間隔を従来技術と同じ間隔に設定できるため、設計時間とコンピュータ資源の消費とを抑えることができる。
【００５１】
なお、上記の本実施形態においては、配線２を配置することができる配線層（配線基板上面１ａ及び配線基板下面１ｂ）を２つ備えるような配線基板１についての配線方法を説明した。しかし、本実施形態においては、配線層は２つに限定されるものではなく、２つ以上のものであれば良い。このような場合、ビア３が接続する複数の配線層を考慮したうえで、ＤＲＣエラーの数が最小となる領域にビア３の位置を決定する。
【００５２】
（第１の実施形態の変形例）
上記の第１の実施形態では、ＢＧＡパッケージといった半導体パッケージの配線基板において配線を行うものして説明した。しかしながら、本実施形態は、図２に示されるような半導体集積回路の配線層においても適用することができる。配線の方法及び配線設計装置は、第１の実施形態と同じであるため、ここでは説明を省略する（図４、図１０から図１２を参照）。この変形例においても、本実施形態によれば、ビア３を、グリッド位置に限定することなく、最適な位置に配置できるため、配線２を引き回すことができる配線層上の領域を無駄に消費することが無く、配線性を向上させることができる。特に、ダブルカットビアといったビア３の大きさが配線２の幅よりも大きい場合において、配線性を向上させることができる。また、配線グリッド間隔を従来技術と同じ間隔に設定できるため、設計時間とコンピュータ資源の消費とを抑えることができる。
【００５３】
（第２の実施形態）
第１の実施形態において、ビア３の位置を決定する際、新たにビア３を配置することによって生じるＤＲＣエラー１３の数が最小となるような位置に決定していたが、第２の実施形態においては、図１３（ａ）に示すように、配線トラック１７のうち、新たにビア３を配置することによって配線２が通過できなくなる（ビア３により遮られる）配線トラック１７の数が最小となる位置にビア３の位置を決定する。ここで配線トラック１７とは、まだ配線２がその上に配置されてはいないが、配線２が将来その上に配置される可能性のあるグリッド７のことをいう。
【００５４】
詳細には、例えば、図１３（ａ）に示すようにビア３を配置すると、そのビア３によって配線２が通過できなくなる配線トラック１７の数（配線不可線総数）は、縦方向横方向（Ｘ方向Ｙ方向）をあわせて１０本であるが、図１３（ｂ）にようにビア３を配置すると、そのビア３によって配線２が通過できなくなる配線トラック１７の数は、縦方向横方向をあわせて８本となる。第２の実施形態においては、図１３（ｂ）のように、配線２が通過できなくなくなる配線トラック１７の数が最小となる位置に、ビア３の位置を決定するのである。
【００５５】
本実施形態も、先に説明した迷路法による配線設計の方法を用いるものとして説明する。なお、本実施形態においては、配線設計方法として迷路法に限られるものではなく、他の方法を用いることも可能である。また、ＢＧＡパッケージといった半導体パッケージの配線基板において配線を行うものして説明する。しかしながら、本実施形態において設計対象となる配線基板は、このような配線基板に限られるものではない。
【００５６】
第２の実施形態の配線方法は、図４に示されるフローチャートと同じであり、さらに、図４に示されるフローチャートＳ７を図１４のフローチャートで置き換えたものとなる。以下に、図１４に示される本実施形態特有のステップのみ、詳細に説明する。図４に示されるステップ６を経た後に、以下のステップを行う。
【００５７】
（ステップ７−２−１）グリッドＡからグリッドＢへの探索が異なる配線層への探索かどうかを判定する。
【００５８】
（ステップ７−２−２）新たにビアを置くことによって配線が通過することができなくなる配線トラック数が最小となる領域を求める。
【００５９】
（ステップ７−２−３）ステップ７−２−２において求めた領域の中の任意の位置にビアを置くものとして、グリッドＡからグリッドＢへの探索コストＣを計算する。
【００６０】
（ステップ７−２−４）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００６１】
次に、ステップ８へ進む。
【００６２】
また、第２の実施形態の配線設計装置２１のブロック図を図１５に示す。図１５に示される配線設計装置のブロック図は、図１２に示される第１の実施形態の配線設計装置のブロック図とほぼ同じである。従って、以下に、図１５に示される本実施形態に特有なブロックのみ詳細に説明する。本実施形態の配線設計装置２１の備える演算処理装置３０は、第１の実施形態の配線設計装置のブロック図１２中のビアを置くことによってＤＲＣエラーの数が最小となる領域を計算するモジュール３０６の代わりに、ビアを置くことによって配線が通過できなくなる配線トラックの数が最小となる領域を計算するモジュール４０６を備える。上記の配線方法は、図１５で示される配線設計装置２１を用いて行われる。
【００６３】
本実施形態によれば、後から配線される配線２に対して、より多くの配線２を引き回すことができる配線層上の領域が確保され、全体の配線性が向上する。特に、ビア３の大きさが配線幅よりも大きい場合において、配線性を向上させることができる。また、配線グリッド間隔を従来技術と同じ間隔に設定できるため、設計時間とコンピュータ資源の消費とを抑えることができる。
【００６４】
なお、上記の本実施形態においては、配線２を配置することができる配線層（配線基板上面１ａ及び配線基板下面１ｂ）を２つ備えるような配線基板についての配線方法を説明した。しかし、本実施形態においては、配線層は２つに限定されるものではなく、２つ以上のものであれば良い。このような場合、ビア３が接続する複数の配線層を考慮したうえで、配線２が通過できなくなくなる配線トラック数が最小となる位置に、ビア３の位置を決定する。
【００６５】
（第３の実施形態）
第２の実施形態においては、ビア３の位置を決定する際、新たにビア３を配置することによって配線２が通過できなくなる配線トラック数が最小となる位置に、ビア２の位置を決定したが、本実施形態においては、さらに、優先的に配線したい配線方向を考慮したうえで、ビア３の位置を決定する。
【００６６】
詳細には、図１６に示される例において、ビア３を新たに配置すると、ビア３によって配線２が通過できなくなる配線トラック１７の数を計算する。ここでは、ビア３を配置することによって配線２が通過できなくなるＸ方向の配線トラック１７の数（配線不可横線本数）は５本であり、ビア３を配置することによって配線２が通過できなくなるＹ方向の配線トラック１７の数（配線不可縦線本数）は５本である。例えば、Ｘ方向（横方向）に対してＹ方向（縦方向）を優先配線方向とし、先に算出した配線トラック１７の数に対して、それぞれ、優先配線方向であるＹ方向に０．８、非優先配線方向であるＸ方向（横方向）に０．２ の重み付けを行うこととする。従って、ビア３の位置を決定するための指標は、５×０．８＋５×０．２＝５と計算される。そして、このように計算された指標が最小と成る位置にビア３の位置を決定するのである。また、例えば、優先配線方向の重み付けを１、非優先配線方向の重み付けを０に設定すると、優先配線方向のみの配線トラック数が反映される指標が計算されることになる。
【００６７】
本実施形態も、先に説明した迷路法による配線設計の方法を用いるものとして説明する。なお、本実施形態においては、配線設計方法として迷路法に限られるものではなく、他の方法を用いることも可能である。また、ＢＧＡパッケージといった半導体パッケージの配線基板において配線を行うものして説明する。しかしながら、本実施形態において設計対象となる配線基板は、このような配線基板に限られるものではない。
【００６８】
第３の実施形態の配線方法は、図４に示されるフローチャートと同じであり、さらに、図４に示されるフローチャートＳ７を図１７のフローチャートで置き換えたものとなる。以下に、図１７に示される本実施形態特有のステップのみ、詳細に説明する。図４に示されるステップ６を経た後に、以下のステップを行う。
【００６９】
（ステップ７−３−１）グリッドＡからグリッドＢへの探索が異なる配線層への探索かどうかを判定する。
【００７０】
（ステップ７−３−２）ビアを置くことによって配線が通過することができなくなる配線トラック数の指標を以下の計算式により計算し、それが最小となる領域を算出する。
【００７１】
（配線トラック数の指標）＝（配線が通過できなくなる優先配線方向のトラック数）×（優先配線方向の重み）＋（配線が通過できなくなる非優先配線方向のトラック数）×（非優先配線方向の重み）
（ステップ７−３−３）ステップ７−３−２において求めた領域の中の任意の位置にビアを置くものとして、グリッドＡからグリッドＢへの探索コストＣを計算する。
【００７２】
（ステップ７−３−４）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００７３】
次に、ステップ８へ進む。
【００７４】
また、第３の実施形態の配線設計装置２１のブロック図は、図１５に示される第２の実施形態の配線設計装置のブロック図と同じであるため、ここでは、説明を省略する。上記の配線方法は、図１５で示される配線設計装置２１を用いて行われる。
【００７５】
本実施形態によれば、配線２はその方向に優先的に配線されるため、現実に即した配線トラック数が計算される。従って、後から配線される配線２に対して、より多くの配線２を引き回すことができる配線層上の領域が確保され、全体の配線性が向上する。特に、ビア３の大きさが配線幅よりも大きい場合において、配線性を向上させることができる。また、配線グリッド間隔を従来技術と同じ間隔に設定できるため、設計時間とコンピュータ資源の消費とを抑えることができる。
【００７６】
なお、上記の本実施形態においては、配線２を配置することができる配線層（配線基板上面１ａ及び配線基板下面１ｂ）を２つ備えるような配線基板についての配線方法を説明した。しかし、本実施形態においては、配線層は２つに限定されるものではなく、２つ以上のものであれば良い。このような場合、ビア３が接続する複数の配線層を考慮したうえで、配線２が通過できなくなくなる配線トラック数が最小となる位置に、ビア３の位置を決定する。
【００７７】
（第４の実施形態）
本実施形態においては、ビア３の位置を決定する際、まず、第１の実施形態と同様に、新たにビア３を配置することによって生じるＤＲＣエラーの数が最小となる領域を計算する。さらに、その領域の中から、第２の実施形態と同様に、新たにビア３を配置することによって配線２が通過できなくなる配線トラック数が最小となる位置を算出して、最終的なビア位置を決定する。すなわち、本実施形態は、第１の実施形態と第２の実施形態とを組み合わせたものであり、第１の実施形態と第２の実施形態とが有する両方の効果を有する。
【００７８】
本実施形態も、先に説明した迷路法による配線設計の方法を用いるものとして説明する。なお、本実施形態においては、配線設計方法として迷路法に限られるものではなく、他の方法を用いることも可能である。また、ＢＧＡパッケージといった半導体パッケージの配線基板において配線を行うものとして説明する。しかしながら、本実施形態において設計対象となる配線基板は、このような配線基板に限られるものではない。
【００７９】
第４の実施形態の配線方法は、図４に示されるフローチャートと同じであり、さらに、図４に示されるフローチャートＳ７を図１８のフローチャートで置き換えたものとなる。以下に、図１８に示される本実施形態特有のステップのみ、詳細に説明する。図４に示されるステップ６を経た後に、以下のステップを行う。
【００８０】
（ステップ７−４−１）グリッドＡからグリッドＢへの探索が異なる配線層への探索かどうかを判定する。
【００８１】
（ステップ７−４−２）ビアを置くことによって生じるＤＲＣエラーの数が最小となる領域を求める。
【００８２】
（ステップ７−４−３）ステップ７−４−２で求めた領域の中で、ビアを置くことによって配線が通過することができなくなる配線トラック数が最小となる領域を求める。
【００８３】
（ステップ７−４−４）ステップ７−４−３において求めた領域の中の任意の位置にビアを置くものとして、グリッドＡからグリッドＢへの探索コストＣを計算する。
【００８４】
（ステップ７−４−５）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００８５】
次に、ステップ８へ進む。
【００８６】
また、第４の実施形態の配線設計装置２１のブロック図を図１９に示す。図１９に示される配線設計装置のブロック図は、図１２に示される第１の実施形態の配線設計装置のブロック図とほぼ同じである。従って、以下に、図１９に示される本実施形態特有なブロックのみ詳細に説明する。本実施形態の配線設計装置２１の備える演算処理装置３０は、ビアを置くことによって配線が通過できなくなる配線トラックの数が最小となる領域を計算するモジュール４０６をさらに備える。上記の配線方法は、図１９で示される配線設計装置２１を用いて行われる。
【００８７】
本実施形態によれば、ビア３を、グリッド７の位置に限定することなく、最適な位置に配置できるため、さらに、後から配線される配線２に対して、より多くの配線２を引き回すことができる配線層上の領域が確保されるため、配線性を向上させることができる。特に、ビア３の大きさが配線幅よりも大きい場合において、配線性を向上させることができる。また、配線グリッド間隔を従来技術と同じ間隔に設定できるため、設計時間とコンピュータ資源の消費とを抑えることができる。
【００８８】
なお、上記の本実施形態においては、配線２を配置することができる配線層（配線基板上面１ａ及び配線基板下面１ｂ）を２つ備えるような配線基板についての配線方法を説明した。しかし、本実施形態においては、配線層は２つに限定されるものではなく、２つ以上のものであれば良い。このような場合、ビア３が接続する複数の配線層を考慮したうえで、ビア３の位置を決定する。
【００８９】
（第５の実施形態）
本実施形態においては、図２０に示すように、配線２のためのグリッド７とは別のグリッドである、ビア３のためのビアグリッド２２を、配線基板１上に仮想的に形成する。このビアグリッド２２は、配線２のためのグリッド７の間隔よりも小さい間隔を有し、ビア３は、ビア３の中心点１０がビアグリッド２２上に位置するように、配置されることとなる。さらに、本実施形態は、ビア３をこのように配置することによって生じるＤＲＣエラー１３の数を最小のものとするように、ビア３の位置を決定するものである。すなわち、本実施形態は、第１の実施形態とビアグリッド２２を利用することとを組み合わせたものであり、第１の実施形態により得られる効果と、ビアグリッド２２を利用することによって得られる効果とを有する。
【００９０】
本実施形態も、先に説明した迷路法による配線設計の方法を用いるものとして説明する。なお、本実施形態においては、配線設計方法として迷路法に限られるものではなく、他の方法を用いることも可能である。また、ＢＧＡパッケージといった半導体パッケージの配線基板において配線を行うものして説明する。しかしながら、本実施形態において設計対象となる配線基板は、このような配線基板に限られるものではない。
【００９１】
第５の実施形態の配線方法は、図４に示されるフローチャートと同じであり、さらに、図４に示されるフローチャートＳ７を図２１のフローチャートで置き換えたものとなる。以下に、図２１に示される本実施形態特有のステップのみ、詳細に説明する。図４に示されるステップ６を経た後に、以下のステップを行う。
【００９２】
（ステップ７−５−１）グリッドＡからグリッドＢへの探索が異なる配線層への探索かどうかを判定する。
【００９３】
（ステップ７−５−２）ビアを置くことによって生じるＤＲＣエラーの数が最小となるビアの位置をビアグリッド上で求める。
【００９４】
（ステップ７−５−３）ステップ７−５−２において求めた位置にビアを置くものとして、グリッドＡからグリッドＢへの探索コストＣを計算する。
【００９５】
（ステップ７−５−４）グリッドＡからグリッドＢへの探索コストＣを計算する。
【００９６】
次に、ステップ８へ進む。
【００９７】
また、第５の実施形態の配線設計装置２１のブロック図を図２２に示す。図１５に示される配線設計装置のブロック図は、図２２に示される第１の実施形態の配線設計装置のブロック図とほぼ同じである。従って、以下に、図２２に示される本実施形態特有なブロックのみ詳細に説明する。本実施形態の配線設計装置２１の備える演算処理装置３０は、第１の実施形態の配線設計装置のブロック図１２中のビアを置くことによってＤＲＣエラーの数が最小となる領域を計算するモジュール３０６の代わりに、ビアを置くことによってＤＲＣエラーの数が最小となるビアグリッド２２上の位置を計算するモジュール５０６を備える。上記の配線方法は、図２２で示される配線設計装置２１を用いて行われる。
【００９８】
本実施形態によれば、配線経路の決定は配線グリッド７に基づいて行なわれるため、処理時間や使用メモリが激増することはない。また、ビア３が配線グリッド間隔より細かい間隔を有するグリッド２２上に置かれるため、従来技術よりも多くの配線を引き回すことができる配線層上の領域が確保され、配線性を向上することができる。
【００９９】
なお、上記の本実施形態においては、配線２を配置することができる配線層（配線基板上面１ａ及び配線基板下面１ｂ）を２つ備えるような配線基板についての配線方法を説明した。しかし、本実施形態においては、配線層は２つに限定されるものではなく、２つ以上のものであれば良い。このような場合、ビア３が接続する複数の配線層を考慮したうえで、ＤＲＣエラーの数が最小となる位置に、ビアの位置を決定する。
【０１００】
また、先に説明した実施形態の配線設計方法は、ソフトウェアで構成することができ、ソフトウェアで構成する場合には、配線設計方法の少なくとも一部を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【０１０１】
そして、配線設計方法の少なくとも一部を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【０１０２】
さらに、本発明は、上記各実施形態に限定されるものではなく、これら以外の各種の形態を採ることができる。すなわち、本発明の趣旨を逸脱しない範囲で適宜変形して実施することができる。
【符号の説明】
【０１０３】
１…配線基板、１ａ…配線基板上面、１ｂ…配線基板下面、２、２ａ、２ｂ、２ｃ…配線、３、３ａ…ビア、４…第１の配線層、５…第２の配線層、６…半導体集積回路基板、７…グリッド（配線形成用格子）、７ａ、７ｂ…交点、８…始点、９…終点、１０…中心点、１１…ライブラリ、１２…シフト量、１３…ＤＲＣエラー、１４…領域、１７…配線トラック、２０、ａ、ｂ…配線端部中央点、２１…配線設計装置、２２…ビアグリッド、３０…演算処理装置（ＣＰＵ）、３１…入力装置、３２…表示装置、３３…出力装置、３４…入出力制御部、３５…データ記憶装置、３６…プログラム記憶装置、３０１…設定モジュール、３０２…配線経路探索モジュール、３０３…累積コスト抽出モジュール、３０４…探索コスト累積モジュール、３０５…始終点判定モジュール３０５、３０６…ビアを置くことによってＤＲＣエラーの数が最小となる領域を計算するモジュール、３０７…結線モジュール、３５１…設定データファイル、３５２…配線経路探索データファイル、３５３…コスト計算データファイル、３５４…結線データファイル、３５５…グリッドリストファイル、４０６…ビアを置くことによって配線が通過できなくなる配線トラックの数が最小となる領域を計算するモジュール、５０６…ビアを置くことによってＤＲＣエラーの数が最小となるビアグリッド上の位置を計算するモジュール。
【図１】
2012063934.tif 000003
【図２】
2012063934.tif 000004
【図３】
2012063934.tif 000005
【図４】
2012063934.tif 000006
【図５】
2012063934.tif 000007
【図６】
2012063934.tif 000008
【図７】
2012063934.tif 000009
【図８】
2012063934.tif 000010
【図９】
2012063934.tif 000011
【図１０】
2012063934.tif 000012
【図１１】
2012063934.tif 000013
【図１２】
2012063934.tif 000014
【図１３】
2012063934.tif 000015
【図１４】
2012063934.tif 000016
【図１５】
2012063934.tif 000017
【図１６】
2012063934.tif 000018
【図１７】
2012063934.tif 000019
【図１８】
2012063934.tif 000020
【図１９】
2012063934.tif 000021
【図２０】
2012063934.tif 000022
【図２１】
2012063934.tif 000023
【図２２】
2012063934.tif 000024