JP2938431B1 - 配線設計装置、配線判定装置およびこれらの方法 - Google Patents
配線設計装置、配線判定装置およびこれらの方法Info
- Publication number
- JP2938431B1 JP2938431B1 JP10077442A JP7744298A JP2938431B1 JP 2938431 B1 JP2938431 B1 JP 2938431B1 JP 10077442 A JP10077442 A JP 10077442A JP 7744298 A JP7744298 A JP 7744298A JP 2938431 B1 JP2938431 B1 JP 2938431B1
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- level
- sink
- triangle
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
【要約】
【課題】半導体パッケージ等の配線設計を、短時間に効
率よく行なう。 【解決手段】配線設計ソフトウェア(SW)は、チップ上の
パッドの配置、パッケージのピン配置、および、パッド
とピンとの対応関係等を示すデザイン情報を読み込み、
解析して配線問題を作成し、さらに、パッドとピンとを
ソース要素とシンク要素とに分類し、互いに接続される
パッドとピンとに同じ識別番号を連続的に付与する(S10
2,...,S108)。配線設計SWは、ソース要素およびシンク
要素に対してドローネの三角形分割法を適用し、ソース
/シンク要素等を頂点とする仮想的な三角形を作成する
(S110)。配線設計SWは、作成した三角形を用いて、ピン
をレベル分類する(S200)。配線設計SWは、三角形の辺と
配線とが交差するかを判定し、交差すると判定した辺の
間を接続して配線の経路を導出し(S220)、配線設計の結
果を出力する(S118)。
率よく行なう。 【解決手段】配線設計ソフトウェア(SW)は、チップ上の
パッドの配置、パッケージのピン配置、および、パッド
とピンとの対応関係等を示すデザイン情報を読み込み、
解析して配線問題を作成し、さらに、パッドとピンとを
ソース要素とシンク要素とに分類し、互いに接続される
パッドとピンとに同じ識別番号を連続的に付与する(S10
2,...,S108)。配線設計SWは、ソース要素およびシンク
要素に対してドローネの三角形分割法を適用し、ソース
/シンク要素等を頂点とする仮想的な三角形を作成する
(S110)。配線設計SWは、作成した三角形を用いて、ピン
をレベル分類する(S200)。配線設計SWは、三角形の辺と
配線とが交差するかを判定し、交差すると判定した辺の
間を接続して配線の経路を導出し(S220)、配線設計の結
果を出力する(S118)。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば、半導体チップ
に設けられたボンディングパッドと、半導体パッケージ
に設けられたピン(端子)との間で最適な配線の経路を
設計する配線設計装置、配線判定装置およびこれらの方
法に関する。
に設けられたボンディングパッドと、半導体パッケージ
に設けられたピン(端子)との間で最適な配線の経路を
設計する配線設計装置、配線判定装置およびこれらの方
法に関する。
【0002】
【従来の技術】電子機器に用いられるプリント基板の配
線、あるいは、半導体チップのボンディングパットと半
導体パッケージのピン(端子)との間等の配線設計を、
自動的または半自動的に行なう配線設計装置が、「特開
平5−143689号公報(文献1)」等に開示されて
いる。
線、あるいは、半導体チップのボンディングパットと半
導体パッケージのピン(端子)との間等の配線設計を、
自動的または半自動的に行なう配線設計装置が、「特開
平5−143689号公報(文献1)」等に開示されて
いる。
【0003】上述した従来の配線設計装置においても、
配線経路の改善および設計速度の向上の工夫がなされて
きた。しかしながら、従来の配線設計装置においては、
プリント基板等の配線が100%可能か(結線解がある
か)否かは、配線設計が全て終了するまで判明しない。
配線経路の改善および設計速度の向上の工夫がなされて
きた。しかしながら、従来の配線設計装置においては、
プリント基板等の配線が100%可能か(結線解がある
か)否かは、配線設計が全て終了するまで判明しない。
【0004】また、半導体パッケージの配線等、特定の
分野の配線設計を行なう場合には、例え結線解がある場
合であっても、ピン間の配線密度が不要に高くなってい
たり、経路が大きく迂回していたり、ピンの周囲を回り
込んだりしている不正な配線を検出し、修正する必要が
ある。しかしながら、従来の配線設計装置においては、
このような不正な配線の検出も、配線設計が終了しなけ
れば不可能であった。
分野の配線設計を行なう場合には、例え結線解がある場
合であっても、ピン間の配線密度が不要に高くなってい
たり、経路が大きく迂回していたり、ピンの周囲を回り
込んだりしている不正な配線を検出し、修正する必要が
ある。しかしながら、従来の配線設計装置においては、
このような不正な配線の検出も、配線設計が終了しなけ
れば不可能であった。
【0005】また、従来の配線設計装置を用いた場合、
プリント基板上の部品配置、あるいは、半導体チップの
ボンディングパッドおよび半導体パッケージのピンの配
置等、配線処理の対象の情報(デザイン情報)の修正作
業と、配線設計作業と、不正な配線の検出・修正作業と
を、結線解が得られ、かつ、配線の全てが最適な経路を
たどるようになるまで、延々と繰り返す必要がある。こ
れらの作業の繰り返しは、非常に長い時間を必要とし、
また、作業者に大きい労力を強いていた。
プリント基板上の部品配置、あるいは、半導体チップの
ボンディングパッドおよび半導体パッケージのピンの配
置等、配線処理の対象の情報(デザイン情報)の修正作
業と、配線設計作業と、不正な配線の検出・修正作業と
を、結線解が得られ、かつ、配線の全てが最適な経路を
たどるようになるまで、延々と繰り返す必要がある。こ
れらの作業の繰り返しは、非常に長い時間を必要とし、
また、作業者に大きい労力を強いていた。
【0006】一方、「アルゴリズムC++(R.セジウ
ィック(Rbert Sedwick)著,近代科学社,p461〜;文献
2)」(原題;"Algorithm in C++", 1990, Addison-We
sleyCompany, Inc, MA, USA)は、平面上の任意の点
と、同じ平面上に与えられた複数の点(母点)の距離に
関する問題の解法として、ボロノイ多角形(Volonoi ply
gon)法およびドローネの三角形分割(Delaunay triangul
ation)法(これら2つの方法は、表現が異なるが本質的
に等価である)を開示する。従来、ドローネの三角形分
割法等を配線設計に用いて迅速に結線解の有無を判定
し、不正な配線の検出・修正を行ない得る配線判定装置
は存在しなかった。
ィック(Rbert Sedwick)著,近代科学社,p461〜;文献
2)」(原題;"Algorithm in C++", 1990, Addison-We
sleyCompany, Inc, MA, USA)は、平面上の任意の点
と、同じ平面上に与えられた複数の点(母点)の距離に
関する問題の解法として、ボロノイ多角形(Volonoi ply
gon)法およびドローネの三角形分割(Delaunay triangul
ation)法(これら2つの方法は、表現が異なるが本質的
に等価である)を開示する。従来、ドローネの三角形分
割法等を配線設計に用いて迅速に結線解の有無を判定
し、不正な配線の検出・修正を行ない得る配線判定装置
は存在しなかった。
【0007】
【発明が解決しようとする課題】本発明は、上述した従
来技術の問題点に鑑みてなされたものであり、プリント
基板等の配線を行なう際に、配線が100%可能か(結
線解があるか)否かを、配線設計の全てが終了する以前
に、迅速に判定することができる配線設計装置、配線判
定装置およびこれらの方法を提供することを目的とす
る。
来技術の問題点に鑑みてなされたものであり、プリント
基板等の配線を行なう際に、配線が100%可能か(結
線解があるか)否かを、配線設計の全てが終了する以前
に、迅速に判定することができる配線設計装置、配線判
定装置およびこれらの方法を提供することを目的とす
る。
【0008】また、本発明は、特に、半導体パッケージ
の配線等、特定の分野の配線設計を行なう場合に、経路
が大きく迂回していたり、ピンの周囲を回り込んだりし
ている不正な配線を、配線設計の全てが終了する以前
に、迅速に、かつ、効率よく検出し、修正することがで
きる配線設計装置、配線判定装置およびこれらの方法を
提供することを目的とする。
の配線等、特定の分野の配線設計を行なう場合に、経路
が大きく迂回していたり、ピンの周囲を回り込んだりし
ている不正な配線を、配線設計の全てが終了する以前
に、迅速に、かつ、効率よく検出し、修正することがで
きる配線設計装置、配線判定装置およびこれらの方法を
提供することを目的とする。
【0009】また、本発明は、配線設計の際に、迅速
に、かつ、効率的に結線解を得て、不正な配線の検出・
修正を行なうことができ、作業者の労力を大幅に減らす
ことができる配線設計装置、配線判定装置およびこれら
の方法を提供することを目的とする。
に、かつ、効率的に結線解を得て、不正な配線の検出・
修正を行なうことができ、作業者の労力を大幅に減らす
ことができる配線設計装置、配線判定装置およびこれら
の方法を提供することを目的とする。
【0010】また、本発明は、配線設計にドローネの三
角形分割法を応用し、迅速に、かつ、効率的に最適な結
線解を得ることができる配線設計装置、配線判定装置お
よびこれらの方法を提供することを目的とする。
角形分割法を応用し、迅速に、かつ、効率的に最適な結
線解を得ることができる配線設計装置、配線判定装置お
よびこれらの方法を提供することを目的とする。
【0011】
【課題を達成するための手段】[配線設計装置]上記目
的を達成するために、本発明にかかる配線設計装置は、
1つの面上に設けられた複数の点[シンク(sink)要素]
のいずれかと、前記面上に設けられたシンク要素以外の
複数の点[ソース(source)要素]のいずれかとの間を、
前記面上を通る経路で接続する配線を設計する配線設計
装置であって、ドローネの三角形分割(Delaunay triang
ulation)法により、シンク要素およびソース要素を頂点
とする複数の仮想的な三角形を前記面上に作成する三角
形作成手段と、作成した前記三角形の内、それぞれソー
ス要素のいずれかを頂点とする三角形に頂点として含ま
れるシンク要素を最低のレベル(レベル1)に分類し、
レベルK(K=1以上の整数)のシンク要素のいずれか
を頂点とする三角形の他の頂点の内、レベルK,(K−
1)以外のシンク要素をレベル(K+1)に分類するレ
ベル分類手段と、シンク要素のいずれかと、この点に対
応するソース要素のいずれかとの間をそれぞれ接続する
複数の配線の経路を、これらの配線それぞれが、作成し
た前記三角形の内、配線が通過する三角形に頂点として
含まれるシンク要素のレベルが最低になるように設計す
る配線設計手段とを有する。
的を達成するために、本発明にかかる配線設計装置は、
1つの面上に設けられた複数の点[シンク(sink)要素]
のいずれかと、前記面上に設けられたシンク要素以外の
複数の点[ソース(source)要素]のいずれかとの間を、
前記面上を通る経路で接続する配線を設計する配線設計
装置であって、ドローネの三角形分割(Delaunay triang
ulation)法により、シンク要素およびソース要素を頂点
とする複数の仮想的な三角形を前記面上に作成する三角
形作成手段と、作成した前記三角形の内、それぞれソー
ス要素のいずれかを頂点とする三角形に頂点として含ま
れるシンク要素を最低のレベル(レベル1)に分類し、
レベルK(K=1以上の整数)のシンク要素のいずれか
を頂点とする三角形の他の頂点の内、レベルK,(K−
1)以外のシンク要素をレベル(K+1)に分類するレ
ベル分類手段と、シンク要素のいずれかと、この点に対
応するソース要素のいずれかとの間をそれぞれ接続する
複数の配線の経路を、これらの配線それぞれが、作成し
た前記三角形の内、配線が通過する三角形に頂点として
含まれるシンク要素のレベルが最低になるように設計す
る配線設計手段とを有する。
【0012】好適には、前記配線設計手段は、レベル
(K+n)以下(nは整数)のシンク要素のみを端点と
する前記三角形の辺を、レベルK以上のシンク要素それ
ぞれと、これらのシンク要素それぞれに対応するソース
要素それぞれとを接続する1つ以上の配線(配線M)そ
れぞれが交差する辺と判定する交差判定手段と、同じ前
記三角形それぞれに含まれ、前記配線Mそれぞれが交差
すると判定された2つの辺の間を順次、接続し、前記配
線Mそれぞれの経路を導出する経路導出手段とを有す
る。
(K+n)以下(nは整数)のシンク要素のみを端点と
する前記三角形の辺を、レベルK以上のシンク要素それ
ぞれと、これらのシンク要素それぞれに対応するソース
要素それぞれとを接続する1つ以上の配線(配線M)そ
れぞれが交差する辺と判定する交差判定手段と、同じ前
記三角形それぞれに含まれ、前記配線Mそれぞれが交差
すると判定された2つの辺の間を順次、接続し、前記配
線Mそれぞれの経路を導出する経路導出手段とを有す
る。
【0013】好適には、前記ソース要素は、半導体パッ
ケージに置かれた半導体チップのボンディングパッドで
あり、前記シンク要素は、前記半導体パッケージに、前
記半導体チップを囲むように設けられた端子であり、前
記面は、前記端子それぞれと前記ボンディングパッドそ
れぞれとを接続する配線が設けられる前記半導体パッケ
ージの配線面であって、前記三角形作成手段は、ドロー
ネの三角形分割により、前記ボンディングパッドおよび
前記端子を頂点とする複数の仮想的な前記三角形を、前
記半導体チップの配線面上に作成し、レベル分類手段
は、作成した前記三角形の内、前記ボンディングパッド
のいずれか頂点とする前記三角形に頂点として含まれる
前記端子をレベル1に分類し、レベルKの前記端子のい
ずれかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外の前記端子をレベル(K+1)に分類
し、前記配線設計手段において、前記交差判定手段は、
レベル(K+n)以下の前記端子のみを端点とする前記
三角形の辺を、レベルK以上の前記端子それぞれと、こ
れらの端子それぞれに対応する前記ボンディングパッド
それぞれとを接続する1つ以上の配線(配線M)それぞ
れが交差する辺と判定し、前記経路導出手段は、同じ前
記三角形それぞれに含まれ、前記配線Mそれぞれが交差
すると判定された2辺の間を順次、接続し、前記配線M
それぞれの経路を導出する。
ケージに置かれた半導体チップのボンディングパッドで
あり、前記シンク要素は、前記半導体パッケージに、前
記半導体チップを囲むように設けられた端子であり、前
記面は、前記端子それぞれと前記ボンディングパッドそ
れぞれとを接続する配線が設けられる前記半導体パッケ
ージの配線面であって、前記三角形作成手段は、ドロー
ネの三角形分割により、前記ボンディングパッドおよび
前記端子を頂点とする複数の仮想的な前記三角形を、前
記半導体チップの配線面上に作成し、レベル分類手段
は、作成した前記三角形の内、前記ボンディングパッド
のいずれか頂点とする前記三角形に頂点として含まれる
前記端子をレベル1に分類し、レベルKの前記端子のい
ずれかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外の前記端子をレベル(K+1)に分類
し、前記配線設計手段において、前記交差判定手段は、
レベル(K+n)以下の前記端子のみを端点とする前記
三角形の辺を、レベルK以上の前記端子それぞれと、こ
れらの端子それぞれに対応する前記ボンディングパッド
それぞれとを接続する1つ以上の配線(配線M)それぞ
れが交差する辺と判定し、前記経路導出手段は、同じ前
記三角形それぞれに含まれ、前記配線Mそれぞれが交差
すると判定された2辺の間を順次、接続し、前記配線M
それぞれの経路を導出する。
【0014】好適には、前記配線設計手段は、少なくと
もシンク要素それぞれに識別番号を付与する識別番号付
与手段をさらに有し、前記配線設計手段において、前記
交差判定手段は、前記三角形の辺それぞれに、この辺の
両端のシンク要素の識別番号の間の数を識別番号として
付与されたシンク要素(点M')それぞれと、これらの
前記点M'それぞれと対応するソース要素それぞれとの
間を接続する配線(配線M')が交差すると判定し、前
記経路導出手段は、前記三角形の辺それぞれと交差する
と判定された配線M'それぞれの経路を導出する。
もシンク要素それぞれに識別番号を付与する識別番号付
与手段をさらに有し、前記配線設計手段において、前記
交差判定手段は、前記三角形の辺それぞれに、この辺の
両端のシンク要素の識別番号の間の数を識別番号として
付与されたシンク要素(点M')それぞれと、これらの
前記点M'それぞれと対応するソース要素それぞれとの
間を接続する配線(配線M')が交差すると判定し、前
記経路導出手段は、前記三角形の辺それぞれと交差する
と判定された配線M'それぞれの経路を導出する。
【0015】好適には、最初の方の前記識別番号が付与
されたシンク要素の1つ以上と(点N)、最後の方の前
記識別番号が付与されたシンク要素の1つ以上(点
N')とは、同じ前記三角形に頂点として含まれ、前記
点N'以外であって、最初の前記識別番号からつながる
前記識別番号が付与されたシンク要素であって、前記点
Nの全てを含む最初のグループと、前記最初のグループ
に含まれるシンク要素以外、かつ、前記点N以外であっ
て、最後の前記識別番号からつながる前記識別番号が付
与されたシンク要素であって、前記点N'の全てを含む
最後のグループとを、シンク要素から分けるグループ分
け手段を有し、前記配線設計手段において、前記交差判
定手段は、前記最初のグループのシンク要素と前記最後
のグループのシンク要素とが前記三角形の辺の両端とな
る場合には、これらの辺それぞれの一端の前記最後のグ
ループのシンク要素の識別番号より大きい数、および、
前記最初のグループのシンク要素の識別番号より小さい
数を識別番号として付与されたシンク要素それぞれと、
これらのシンク要素それぞれと対応するソース要素それ
ぞれとの間を接続する配線M'が交差すると判定し、前
記経路導出手段は、前記最初のグループのシンク要素と
前記最後のグループのシンク要素とを両端とする前記三
角形の辺それぞれと交差すると判定した配線M'それぞ
れの経路を導出する。
されたシンク要素の1つ以上と(点N)、最後の方の前
記識別番号が付与されたシンク要素の1つ以上(点
N')とは、同じ前記三角形に頂点として含まれ、前記
点N'以外であって、最初の前記識別番号からつながる
前記識別番号が付与されたシンク要素であって、前記点
Nの全てを含む最初のグループと、前記最初のグループ
に含まれるシンク要素以外、かつ、前記点N以外であっ
て、最後の前記識別番号からつながる前記識別番号が付
与されたシンク要素であって、前記点N'の全てを含む
最後のグループとを、シンク要素から分けるグループ分
け手段を有し、前記配線設計手段において、前記交差判
定手段は、前記最初のグループのシンク要素と前記最後
のグループのシンク要素とが前記三角形の辺の両端とな
る場合には、これらの辺それぞれの一端の前記最後のグ
ループのシンク要素の識別番号より大きい数、および、
前記最初のグループのシンク要素の識別番号より小さい
数を識別番号として付与されたシンク要素それぞれと、
これらのシンク要素それぞれと対応するソース要素それ
ぞれとの間を接続する配線M'が交差すると判定し、前
記経路導出手段は、前記最初のグループのシンク要素と
前記最後のグループのシンク要素とを両端とする前記三
角形の辺それぞれと交差すると判定した配線M'それぞ
れの経路を導出する。
【0016】好適には、前記三角形の辺を交差する前記
配線M'の数が、所定の配線容量以上である場合に、こ
の辺を交差する前記配線M'のいずれかの経路を、他の
前記三角形の辺を通るように変更する経路変更手段をさ
らに有する。
配線M'の数が、所定の配線容量以上である場合に、こ
の辺を交差する前記配線M'のいずれかの経路を、他の
前記三角形の辺を通るように変更する経路変更手段をさ
らに有する。
【0017】また、本発明にかかるその他の配線設計装
置は、1つの面上に設けられた複数の点[シンク(sink)
要素]のいずれかと、前記面上に設けられたシンク要素
以外の複数の点[ソース(source)要素]のいずれかとの
間を、前記面上を通る経路で接続する配線を設計する配
線設計装置であって、前記配線は所定の部分経路を含む
配線経路を通り、ドローネの三角形分割(Delaunay tria
ngulation)法により、シンク要素およびソース要素を頂
点とする複数の仮想的な三角形を前記面上に作成する三
角形作成手段と、作成した前記三角形の内、それぞれソ
ース要素のいずれかを頂点とする三角形に頂点として含
まれるシンク要素を最低のレベル(レベル1)に分類
し、レベルK(K=1以上の整数)のシンク要素のいず
れかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外のシンク要素をレベル(K+1)に分類
するレベル分類手段と、前記三角形の辺それぞれに、端
点の前記レベルが大きくなればなるほど大きい値をとる
重み付け係数を設定する重み付け係数設定手段と、前記
配線の配線経路それぞれに含まれる前記部分経路それぞ
れの長さと、前記部分経路それぞれと交差する前記三角
形の辺それぞれに設定された重み付け係数との乗算値の
累加算が最小になるように、前記部分経路を選択する部
分経路選択手段とを有する。
置は、1つの面上に設けられた複数の点[シンク(sink)
要素]のいずれかと、前記面上に設けられたシンク要素
以外の複数の点[ソース(source)要素]のいずれかとの
間を、前記面上を通る経路で接続する配線を設計する配
線設計装置であって、前記配線は所定の部分経路を含む
配線経路を通り、ドローネの三角形分割(Delaunay tria
ngulation)法により、シンク要素およびソース要素を頂
点とする複数の仮想的な三角形を前記面上に作成する三
角形作成手段と、作成した前記三角形の内、それぞれソ
ース要素のいずれかを頂点とする三角形に頂点として含
まれるシンク要素を最低のレベル(レベル1)に分類
し、レベルK(K=1以上の整数)のシンク要素のいず
れかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外のシンク要素をレベル(K+1)に分類
するレベル分類手段と、前記三角形の辺それぞれに、端
点の前記レベルが大きくなればなるほど大きい値をとる
重み付け係数を設定する重み付け係数設定手段と、前記
配線の配線経路それぞれに含まれる前記部分経路それぞ
れの長さと、前記部分経路それぞれと交差する前記三角
形の辺それぞれに設定された重み付け係数との乗算値の
累加算が最小になるように、前記部分経路を選択する部
分経路選択手段とを有する。
【0018】[配線設計装置の各手段の作用]本発明に
かかる配線設計装置は、ドローネの三角形分割法を配線
設計に応用して、例えば、ピングリッドアレイパッケー
ジ等の半導体パッケージに固定された半導体チップのボ
ンディングパッド(ソース要素)それぞれと、半導体パ
ッケージに半導体チップの周囲を囲むように設けられた
ピン(端子;シンク要素)それぞれとの間を、同じ配線
面上で、交差あるいは迂回等の不正を生じさせない経路
で接続する配線を設計する。
かかる配線設計装置は、ドローネの三角形分割法を配線
設計に応用して、例えば、ピングリッドアレイパッケー
ジ等の半導体パッケージに固定された半導体チップのボ
ンディングパッド(ソース要素)それぞれと、半導体パ
ッケージに半導体チップの周囲を囲むように設けられた
ピン(端子;シンク要素)それぞれとの間を、同じ配線
面上で、交差あるいは迂回等の不正を生じさせない経路
で接続する配線を設計する。
【0019】[三角形作成手段の作用]三角形作成手段
は、半導体パッケージの配線面を、ドローネの三角形分
割法により分割し、それぞれピンおよびボンディングパ
ッドを頂点とする複数の仮想的な三角形(ドローネの三
角形)を作成する。
は、半導体パッケージの配線面を、ドローネの三角形分
割法により分割し、それぞれピンおよびボンディングパ
ッドを頂点とする複数の仮想的な三角形(ドローネの三
角形)を作成する。
【0020】[レベル分類手段の作用]レベル分類手段
は、例えば、ボンディングパッドと同じドローネの三角
形に頂点として含まれるピン(以下、「頂点として含ま
れる」を、単に「含まれる」と略記する)をレベル1の
ピンに分類する。これ以降、同様に、レベル分類手段
は、レベル1と同じドローネの三角形に含まれるレベル
1以外のピンをレベル2のピンに分類し、レベル2と同
じドローネの三角形に含まれるレベル1,2以外のピン
をレベル3のピンに分類し、レベル3と同じドローネの
三角形に含まれるレベル2,3以外のピンをレベル4の
ピンに分類するといったように、全てのピンを順次、各
レベルに分類する。
は、例えば、ボンディングパッドと同じドローネの三角
形に頂点として含まれるピン(以下、「頂点として含ま
れる」を、単に「含まれる」と略記する)をレベル1の
ピンに分類する。これ以降、同様に、レベル分類手段
は、レベル1と同じドローネの三角形に含まれるレベル
1以外のピンをレベル2のピンに分類し、レベル2と同
じドローネの三角形に含まれるレベル1,2以外のピン
をレベル3のピンに分類し、レベル3と同じドローネの
三角形に含まれるレベル2,3以外のピンをレベル4の
ピンに分類するといったように、全てのピンを順次、各
レベルに分類する。
【0021】ここで述べたレベルは、ピンとボンディン
グパッドとの位置関係を示し、配線の正当性、および、
各配線が接続すべき2点間を接続することができるか否
かを判定するために重要な役割を果たす。なお、レベル
1,レベル2,・・・というように、1ずつ増加するレ
ベルの名称は便宜的なものであって、レベルA,レベル
B,・・・、あるいは、レベル0,レベル2,レベル4
・・・といったように名称を変えても、各レベルが、ド
ローネの三角形分割法に基づいて、ピンとボンディング
パッドとの位置関係を示す限り実質的に同じである。
グパッドとの位置関係を示し、配線の正当性、および、
各配線が接続すべき2点間を接続することができるか否
かを判定するために重要な役割を果たす。なお、レベル
1,レベル2,・・・というように、1ずつ増加するレ
ベルの名称は便宜的なものであって、レベルA,レベル
B,・・・、あるいは、レベル0,レベル2,レベル4
・・・といったように名称を変えても、各レベルが、ド
ローネの三角形分割法に基づいて、ピンとボンディング
パッドとの位置関係を示す限り実質的に同じである。
【0022】[配線設計手段の作用]配線設計手段は、
ピンとボンディングパッドとの間の配線それぞれを、通
過するドローネの三角形に含まれるピンのレベルが最低
になる経路をとるように設計する。つまり、例えば、あ
る配線が、ボンディングパッドおよびレベル1のピンを
含むドローネの三角形を通る経路を必然的にとる場合
に、配線設計手段は、この配線が、レベル2以下のピン
のみを含むドローネの三角形だけを通る経路をとるよう
に設計する。
ピンとボンディングパッドとの間の配線それぞれを、通
過するドローネの三角形に含まれるピンのレベルが最低
になる経路をとるように設計する。つまり、例えば、あ
る配線が、ボンディングパッドおよびレベル1のピンを
含むドローネの三角形を通る経路を必然的にとる場合
に、配線設計手段は、この配線が、レベル2以下のピン
のみを含むドローネの三角形だけを通る経路をとるよう
に設計する。
【0023】配線設計手段が、このような規則に従って
配線の設計を行なうのは、例えば、ピングリッドアレイ
(PGA)パッケージにドローネの三角形分割法を適用
し、さらに、ピンをレベル分けした場合、ボンディング
パッドとレベル1のピンとを含むドローネの三角形が半
導体チップを囲み、レベル1,2のピンを含むドローネ
の三角形が、ボンディングパッドとレベル1のピンとを
含むドローネの三角形を囲む・・・といった位置関係を
とる。従って、最も短い経路で接続した場合に、レベル
k以下のピンを含むドローネの三角形のみを通る配線の
経路が、レベル(k+n)以上(k,nは整数)のピン
を含むドローネの三角形を通る経路をとると、回り込み
等の不正を起こしていると考えることができるからであ
る。
配線の設計を行なうのは、例えば、ピングリッドアレイ
(PGA)パッケージにドローネの三角形分割法を適用
し、さらに、ピンをレベル分けした場合、ボンディング
パッドとレベル1のピンとを含むドローネの三角形が半
導体チップを囲み、レベル1,2のピンを含むドローネ
の三角形が、ボンディングパッドとレベル1のピンとを
含むドローネの三角形を囲む・・・といった位置関係を
とる。従って、最も短い経路で接続した場合に、レベル
k以下のピンを含むドローネの三角形のみを通る配線の
経路が、レベル(k+n)以上(k,nは整数)のピン
を含むドローネの三角形を通る経路をとると、回り込み
等の不正を起こしていると考えることができるからであ
る。
【0024】[識別番号付与手段の作用]配線設計手段
に含まれる各手段をさらに説明する。配線設計手段にお
いて、識別番号付与手段は、例えば、ボンディングパッ
ドに連続的な識別番号を付与し、ピンそれぞれに、接続
されるボンディングパッドと同じ識別番号を付与する。
つまり、配線設計手段は、識別番号STATIC_ID_Xを付し
たボンディグパッドに接続されるピンには、ボンディン
グパッドと同じ識別番号STATIC_ID_Xを付与する。
に含まれる各手段をさらに説明する。配線設計手段にお
いて、識別番号付与手段は、例えば、ボンディングパッ
ドに連続的な識別番号を付与し、ピンそれぞれに、接続
されるボンディングパッドと同じ識別番号を付与する。
つまり、配線設計手段は、識別番号STATIC_ID_Xを付し
たボンディグパッドに接続されるピンには、ボンディン
グパッドと同じ識別番号STATIC_ID_Xを付与する。
【0025】以下、PGAパッケージのピン列の角の部
分を除く部分において、行成分が半導体チップの辺に並
行な(n×3)の行列状に並んだピンを考えるとて、識
別番号付与手段が、同一の列において、半導体チップに
最も近い行(行1)のピン(レベル1)に対して最も大
きい識別番号を、中間の行(行2)のピン(レベル2)
に対して最小の識別番号を付与し、最も遠い行(行3)
のピン(レベル3)に対してこれらの中間の値の識別番
号を付与する場合を具体例として説明する。
分を除く部分において、行成分が半導体チップの辺に並
行な(n×3)の行列状に並んだピンを考えるとて、識
別番号付与手段が、同一の列において、半導体チップに
最も近い行(行1)のピン(レベル1)に対して最も大
きい識別番号を、中間の行(行2)のピン(レベル2)
に対して最小の識別番号を付与し、最も遠い行(行3)
のピン(レベル3)に対してこれらの中間の値の識別番
号を付与する場合を具体例として説明する。
【0026】つまり、この具体例は、列(p〜p+2)
に含まれる9つのピン[1,p]〜[3,p+2]に対
して、連続した識別番号(q+2),q,(q+1),
(q+5),(q+3),(q+4),(q+8),
(q+6),(q+7)を付与するといった規則に従っ
て識別番号が付されたことを示している。
に含まれる9つのピン[1,p]〜[3,p+2]に対
して、連続した識別番号(q+2),q,(q+1),
(q+5),(q+3),(q+4),(q+8),
(q+6),(q+7)を付与するといった規則に従っ
て識別番号が付されたことを示している。
【0027】[交差判定手段の作用]交差判定手段は、
識別番号を用いて、ドローネの三角形の分割辺の両端の
同じレベルの2つのピンの間を、これらの識別番号の中
間の値の識別番号が付与されたピンへの配線が交差する
と判定し、また、ドローネの三角形の分割辺の両端の異
なるレベルK,(K+1)の2つのピンの間を、これら
のピンの識別番号の中間の値の識別番号が付与されたピ
ンへの配線が交差すると判定する。
識別番号を用いて、ドローネの三角形の分割辺の両端の
同じレベルの2つのピンの間を、これらの識別番号の中
間の値の識別番号が付与されたピンへの配線が交差する
と判定し、また、ドローネの三角形の分割辺の両端の異
なるレベルK,(K+1)の2つのピンの間を、これら
のピンの識別番号の中間の値の識別番号が付与されたピ
ンへの配線が交差すると判定する。
【0028】上記具体例を用いて説明する。交差判定手
段は、列1のピン[1,p],[1,p+1](識別番
号(q+2),(q+5))の間のドローネの三角形の
分割辺に、識別番号の値がこれら2つのピンの間をとる
列2,3のピン[2,p+1],[3,p+1](同、
(q+3),(q+4))への配線[2,p+1],
[3,p+1]が交差すると判定する。また、同様に、
交差判定手段は、列1のピン[1,p+1]と列2のピ
ン[2,p+1](識別番号(q+5),(q+3))
の間のドローネの三角形の分割辺に、識別番号の値がこ
れら2つのピンの間をとる列3のピン[3,p+1]
(同、(q+4))への配線[3,p+1]が交差する
と判定する。さらに、同様に、交差判定手段は、列2の
ピン[2,p+1],[2,p+2](識別番号(q+
3),(q+6))の間のドローネの三角形の分割辺
に、識別番号の値がこれら2つのピンの間をとる列3の
ピン[3,p+1](同、(q+4))への配線[3,
p+1]が交差すると判定する。
段は、列1のピン[1,p],[1,p+1](識別番
号(q+2),(q+5))の間のドローネの三角形の
分割辺に、識別番号の値がこれら2つのピンの間をとる
列2,3のピン[2,p+1],[3,p+1](同、
(q+3),(q+4))への配線[2,p+1],
[3,p+1]が交差すると判定する。また、同様に、
交差判定手段は、列1のピン[1,p+1]と列2のピ
ン[2,p+1](識別番号(q+5),(q+3))
の間のドローネの三角形の分割辺に、識別番号の値がこ
れら2つのピンの間をとる列3のピン[3,p+1]
(同、(q+4))への配線[3,p+1]が交差する
と判定する。さらに、同様に、交差判定手段は、列2の
ピン[2,p+1],[2,p+2](識別番号(q+
3),(q+6))の間のドローネの三角形の分割辺
に、識別番号の値がこれら2つのピンの間をとる列3の
ピン[3,p+1](同、(q+4))への配線[3,
p+1]が交差すると判定する。
【0029】[経路導出手段の作用]経路導出手段は、
同じドローネの三角形に含まれ、同一のピンへの配線が
交差すると判定された配線Mそれぞれが交差すると判定
された分割辺上の点の接続を、1つ以上のドローネの三
角形について、配線経路がボンディングパッドとピンと
の間でつながるまで順次、行ない、配線それぞれの経路
を導出する。なお、経路の導出の際は、経路導出手段
は、上述したように、ピンとボンディングパッドとの間
の配線それぞれを、通過するドローネの三角形に含まれ
るピンのレベルが最低になる経路をとるようにするとい
う規則を守り、この規則に反する経路しかとりえない経
路を不正な配線として検出する。
同じドローネの三角形に含まれ、同一のピンへの配線が
交差すると判定された配線Mそれぞれが交差すると判定
された分割辺上の点の接続を、1つ以上のドローネの三
角形について、配線経路がボンディングパッドとピンと
の間でつながるまで順次、行ない、配線それぞれの経路
を導出する。なお、経路の導出の際は、経路導出手段
は、上述したように、ピンとボンディングパッドとの間
の配線それぞれを、通過するドローネの三角形に含まれ
るピンのレベルが最低になる経路をとるようにするとい
う規則を守り、この規則に反する経路しかとりえない経
路を不正な配線として検出する。
【0030】上記具体例を用いて、経路導出方法を説明
する。まず、経路導出手段は、列1のピン[1,p+
1]と、このピンに対応するボンディングパッドとを、
配線[1,p+1]で接続する。次に、経路導出手段
は、列1のピン[1,p],[1,p+1]を両端とす
る分割辺[1,p],[1,p+1]上の2点と、列
2,3のピン[2,p+1],[3,p+1]それぞれ
に対応するボンディングパッドとを、交差が生じないよ
うに、配線[2,p+1],[3,p+1]で接続す
る。
する。まず、経路導出手段は、列1のピン[1,p+
1]と、このピンに対応するボンディングパッドとを、
配線[1,p+1]で接続する。次に、経路導出手段
は、列1のピン[1,p],[1,p+1]を両端とす
る分割辺[1,p],[1,p+1]上の2点と、列
2,3のピン[2,p+1],[3,p+1]それぞれ
に対応するボンディングパッドとを、交差が生じないよ
うに、配線[2,p+1],[3,p+1]で接続す
る。
【0031】次に、経路導出手段は、列1のピン[1,
p],[1,p+1]を両端とする分割辺[1,p],
[1,p+1]上の配線[2,p+1]の接続点と、列
2のピン[2,p+1]とを、交差が生じないように、
配線[2,p+1]で接続する。次に、経路導出手段
は、列1のピン[1,p+1]と列2のピン[2,p+
1]とを両端とするドローネの三角形の分割辺[1,p
+1],[2,p+1]上の点と、分割辺[1,p],
[1,p+1]上の配線[3,p+1]の接続点とを、
交差が生じないように、配線[3,p+1]で接続す
る。
p],[1,p+1]を両端とする分割辺[1,p],
[1,p+1]上の配線[2,p+1]の接続点と、列
2のピン[2,p+1]とを、交差が生じないように、
配線[2,p+1]で接続する。次に、経路導出手段
は、列1のピン[1,p+1]と列2のピン[2,p+
1]とを両端とするドローネの三角形の分割辺[1,p
+1],[2,p+1]上の点と、分割辺[1,p],
[1,p+1]上の配線[3,p+1]の接続点とを、
交差が生じないように、配線[3,p+1]で接続す
る。
【0032】次に、経路導出手段は、列2のピン[2,
p+1],[2,p+2]を両端とする分割辺[2,p
+1],[2,p+2]上の点と、分割辺[1,p+
1],[2,p+1]上の配線[3,p+1]の接続点
とを、交差が生じないように配線[3,p+1]で接続
する。次に、経路導出手段は、分割辺[2,p+1],
[2,p+2]上の配線[3,p+1]の接続点とピン
[3,p+1]とを、交差が生じないように、配線
[3,p+1]で接続する。ここまでに述べたような、
三角形の各分割辺上の点の間の接続を、各配線について
順次、繰り返すことにより、経路導出手段は配線の経路
を導出する。
p+1],[2,p+2]を両端とする分割辺[2,p
+1],[2,p+2]上の点と、分割辺[1,p+
1],[2,p+1]上の配線[3,p+1]の接続点
とを、交差が生じないように配線[3,p+1]で接続
する。次に、経路導出手段は、分割辺[2,p+1],
[2,p+2]上の配線[3,p+1]の接続点とピン
[3,p+1]とを、交差が生じないように、配線
[3,p+1]で接続する。ここまでに述べたような、
三角形の各分割辺上の点の間の接続を、各配線について
順次、繰り返すことにより、経路導出手段は配線の経路
を導出する。
【0033】[グループ分け手段の作用]PGAパッケ
ージのピンは、半導体パッケージの四方を取り囲むよう
に配置されるので、識別番号付与手段により各ピンに1
から連続的な識別番号を付与すると、識別番号の先頭部
分を付与したピンと、識別番号の最後尾部分を付与した
ピンとが隣り合う部分(いわゆるリエントラント部分)
がある。このような場合、交差判定手段による配線経路
とドローネの三角形の分割辺との交差判定処理に不具合
が発生する。
ージのピンは、半導体パッケージの四方を取り囲むよう
に配置されるので、識別番号付与手段により各ピンに1
から連続的な識別番号を付与すると、識別番号の先頭部
分を付与したピンと、識別番号の最後尾部分を付与した
ピンとが隣り合う部分(いわゆるリエントラント部分)
がある。このような場合、交差判定手段による配線経路
とドローネの三角形の分割辺との交差判定処理に不具合
が発生する。
【0034】つまり、例えば、最初の方の識別番号rが
付されたピンrと、最後の方の識別番号sが付されたピ
ンsとの間を、識別番号sより大きい識別番号s'を付
与したピンへの配線s'を通そうとする場合には、識別
番号の関係がs<s'<rではないので、上述した交差
判定手段の通常の処理によっては、配線s'をピンr,
sの間を通すことができないことがある。
付されたピンrと、最後の方の識別番号sが付されたピ
ンsとの間を、識別番号sより大きい識別番号s'を付
与したピンへの配線s'を通そうとする場合には、識別
番号の関係がs<s'<rではないので、上述した交差
判定手段の通常の処理によっては、配線s'をピンr,
sの間を通すことができないことがある。
【0035】このため、グループ分け手段は、最初の方
の識別番号が付与されたピンであって、最後の方の識別
番号が付与されたピンと隣り合う可能性があるピンを、
最初のグループに分類し、反対に、最初の方の識別番号
が付与されたピンと隣り合う可能性があるピンを、最後
のグループに分類する。
の識別番号が付与されたピンであって、最後の方の識別
番号が付与されたピンと隣り合う可能性があるピンを、
最初のグループに分類し、反対に、最初の方の識別番号
が付与されたピンと隣り合う可能性があるピンを、最後
のグループに分類する。
【0036】交差判定手段は、これらのいずれのグルー
プにも属さないピンに対しては、上述した通常の処理を
行ない、最後のグループのピンと最初のグループのピン
とが隣り合う部分については、あたかも、最後のグルー
プのピンの識別番号が、最初のグループのピンの識別番
号よりも小さい値であるかのように取扱い、配線とドロ
ーネの三角形の分割辺との交差を判定する。
プにも属さないピンに対しては、上述した通常の処理を
行ない、最後のグループのピンと最初のグループのピン
とが隣り合う部分については、あたかも、最後のグルー
プのピンの識別番号が、最初のグループのピンの識別番
号よりも小さい値であるかのように取扱い、配線とドロ
ーネの三角形の分割辺との交差を判定する。
【0037】[経路変更手段の作用]半導体装置の構成
によっては、半導体パッケージの全てのピンに配線が接
続されない場合がある。このような場合には、局所的に
集中した配線の経路を、配線が接続されておらず、配線
の密度が比較的少ないピンのそばを通るように変更する
とよい。
によっては、半導体パッケージの全てのピンに配線が接
続されない場合がある。このような場合には、局所的に
集中した配線の経路を、配線が接続されておらず、配線
の密度が比較的少ないピンのそばを通るように変更する
とよい。
【0038】経路変更手段は、配線されていないピンが
存在し、ドローネの三角形の分割辺と交差する配線の数
が、デザインルールおよび配線長等から導出される配線
容量以上である場合に、配線がこの分割辺(ピン間)に
不適切に多く通され(混みあっ)ていると判断し、この
分割辺と交差する配線の一部の経路を、混みあっていな
い隣接の他の分割辺と交差するように変更し、配線経路
を最適化する。
存在し、ドローネの三角形の分割辺と交差する配線の数
が、デザインルールおよび配線長等から導出される配線
容量以上である場合に、配線がこの分割辺(ピン間)に
不適切に多く通され(混みあっ)ていると判断し、この
分割辺と交差する配線の一部の経路を、混みあっていな
い隣接の他の分割辺と交差するように変更し、配線経路
を最適化する。
【0039】[配線判定装置]また、本発明にかかる配
線判定装置は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定装置であって、ドローネの三角
形分割(Delaunay triangulation)法により、シンク要素
およびソース要素を頂点とする複数の仮想的な三角形を
前記面上に作成する三角形作成手段と、作成した前記三
角形の内、それぞれソース要素のいずれかを頂点とする
三角形に頂点として含まれるシンク要素を最低のレベル
(レベル1)に分類し、レベルK(K=1以上の整数)
のシンク要素のいずれかを頂点とする三角形の他の頂点
の内、レベルK,(K−1)以外のシンク要素をレベル
(K+1)に分類するレベル分類手段と、レベルKのシ
ンク要素とソース要素とを接続する配線の経路が、レベ
ル(K+n)以下(nは整数)のシンク要素のみを両端
とする前記三角形の辺のみと交差する場合に、この配線
が正しいと判定し、レベルKのシンク要素とソース要素
とを接続する配線が、レベルK以上のシンク要素のみを
両端とする前記三角形の辺と交差する場合に、この配線
が正しくないと判定する配線判定手段とを有する。
線判定装置は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定装置であって、ドローネの三角
形分割(Delaunay triangulation)法により、シンク要素
およびソース要素を頂点とする複数の仮想的な三角形を
前記面上に作成する三角形作成手段と、作成した前記三
角形の内、それぞれソース要素のいずれかを頂点とする
三角形に頂点として含まれるシンク要素を最低のレベル
(レベル1)に分類し、レベルK(K=1以上の整数)
のシンク要素のいずれかを頂点とする三角形の他の頂点
の内、レベルK,(K−1)以外のシンク要素をレベル
(K+1)に分類するレベル分類手段と、レベルKのシ
ンク要素とソース要素とを接続する配線の経路が、レベ
ル(K+n)以下(nは整数)のシンク要素のみを両端
とする前記三角形の辺のみと交差する場合に、この配線
が正しいと判定し、レベルKのシンク要素とソース要素
とを接続する配線が、レベルK以上のシンク要素のみを
両端とする前記三角形の辺と交差する場合に、この配線
が正しくないと判定する配線判定手段とを有する。
【0040】また、本発明にかかるその他の配線判定装
置は、1つの面上に設けられた複数の点[シンク(sink)
要素]のいずれかと、前記面上に設けられたシンク要素
以外の複数の点[ソース(source)要素]のいずれかとの
間を、前記面上を通る経路で接続する配線の正当性を判
定する配線判定装置であって、前記配線は所定の部分経
路を含む配線経路を通り、ドローネの三角形分割(Delau
nay triangulation)法により、シンク要素およびソース
要素を頂点とする複数の仮想的な三角形を前記面上に作
成する三角形作成手段と、作成した前記三角形の内、そ
れぞれソース要素のいずれかを頂点とする三角形に頂点
として含まれるシンク要素を最低のレベル(レベル1)
に分類し、レベルK(K=1以上の整数)のシンク要素
のいずれかを頂点とする三角形の他の頂点の内、レベル
K,(K−1)以外のシンク要素をレベル(K+1)に
分類するレベル分類手段と、前記三角形の辺それぞれ
に、前記レベルが大きくなればなるほど大きい値をとる
重み付け係数を設定する重み付け係数設定手段と、前記
配線の配線経路それぞれに含まれる前記部分経路それぞ
れの長さと、前記部分経路それぞれと交差する前記三角
形の辺それぞれに設定された重み付け係数との乗算値を
累加算し、前記配線の配線経路それぞれの正当性を判定
する配線判定手段とを有する。
置は、1つの面上に設けられた複数の点[シンク(sink)
要素]のいずれかと、前記面上に設けられたシンク要素
以外の複数の点[ソース(source)要素]のいずれかとの
間を、前記面上を通る経路で接続する配線の正当性を判
定する配線判定装置であって、前記配線は所定の部分経
路を含む配線経路を通り、ドローネの三角形分割(Delau
nay triangulation)法により、シンク要素およびソース
要素を頂点とする複数の仮想的な三角形を前記面上に作
成する三角形作成手段と、作成した前記三角形の内、そ
れぞれソース要素のいずれかを頂点とする三角形に頂点
として含まれるシンク要素を最低のレベル(レベル1)
に分類し、レベルK(K=1以上の整数)のシンク要素
のいずれかを頂点とする三角形の他の頂点の内、レベル
K,(K−1)以外のシンク要素をレベル(K+1)に
分類するレベル分類手段と、前記三角形の辺それぞれ
に、前記レベルが大きくなればなるほど大きい値をとる
重み付け係数を設定する重み付け係数設定手段と、前記
配線の配線経路それぞれに含まれる前記部分経路それぞ
れの長さと、前記部分経路それぞれと交差する前記三角
形の辺それぞれに設定された重み付け係数との乗算値を
累加算し、前記配線の配線経路それぞれの正当性を判定
する配線判定手段とを有する。
【0041】[配線判定装置の作用]本発明にかかる配
線判定装置において、三角形作成手段およびレベル分類
手段の作用は、本発明にかかる配線設計装置においてと
同じである。
線判定装置において、三角形作成手段およびレベル分類
手段の作用は、本発明にかかる配線設計装置においてと
同じである。
【0042】配線判定手段は、上述した本発明にかかる
配線設計装置の配線設計手段の設計規則(ピンとボンデ
ィングパッドとの間の配線それぞれを、配線が通過する
ドローネの三角形に含まれるピンのレベルが最低になる
経路をとるように設計する)に基づいて、この規則に合
う配線の経路のみを正しいと判定し、この規則から外れ
る配線の経路を正しくない(配線が不必要に長くなるよ
うな回り込みを生じている)可能性があると判定する。
配線設計装置の配線設計手段の設計規則(ピンとボンデ
ィングパッドとの間の配線それぞれを、配線が通過する
ドローネの三角形に含まれるピンのレベルが最低になる
経路をとるように設計する)に基づいて、この規則に合
う配線の経路のみを正しいと判定し、この規則から外れ
る配線の経路を正しくない(配線が不必要に長くなるよ
うな回り込みを生じている)可能性があると判定する。
【0043】つまり、配線判定手段は、レベルKのピン
とボンディングパッドとを接続する配線が、レベル(K
+n+1)以上のピンを端点とするドローネの三角形の
分割辺を通過する場合には、この配線が回り込み等の不
正な経路をとっていると判定し、これ以外の場合、つま
り、レベル(K+n)以下のピンのみを端点とするドロ
ーネの三角形の分割辺だけを通過する場合には、この配
線が最適な経路をとっていると判定する。
とボンディングパッドとを接続する配線が、レベル(K
+n+1)以上のピンを端点とするドローネの三角形の
分割辺を通過する場合には、この配線が回り込み等の不
正な経路をとっていると判定し、これ以外の場合、つま
り、レベル(K+n)以下のピンのみを端点とするドロ
ーネの三角形の分割辺だけを通過する場合には、この配
線が最適な経路をとっていると判定する。
【0044】また、ドローネの三角形の各分割辺の長
さ、および、配線設計上のデザインルールに基づいて、
各分割辺に交差可能な配線の本数を見積もることができ
る。従って、配線設計の結果として各分割辺それぞれに
交差すると判定された配線の数が、各分割辺それぞれに
交差することができると見積もられた配線の数よりも少
なくできない場合には、回り込みあるいは配線の集中が
ない適切な結線解を得ることができないことがわかる。
このような事象が判明し次第、設計者に通知することに
より、設計者に再設計の必要性を早期に促すことができ
る。
さ、および、配線設計上のデザインルールに基づいて、
各分割辺に交差可能な配線の本数を見積もることができ
る。従って、配線設計の結果として各分割辺それぞれに
交差すると判定された配線の数が、各分割辺それぞれに
交差することができると見積もられた配線の数よりも少
なくできない場合には、回り込みあるいは配線の集中が
ない適切な結線解を得ることができないことがわかる。
このような事象が判明し次第、設計者に通知することに
より、設計者に再設計の必要性を早期に促すことができ
る。
【0045】また、他の配線判定装置において、重み付
け係数設定手段は、三角形の辺の端点のレベルが大きけ
れば大きいほど、値が大きくなる重み付け係数を三角形
の各辺に設定する。配線判定手段は、配線経路の節点の
間の経路(部分経路)それぞれの経路長と、部分経路そ
れぞれと交差する三角形の辺の重み付け係数とを乗算
し、配線ごとに累加算し、配線の長さと冗長とを両方考
慮して評価する値として、例えばユーザに提示する。
け係数設定手段は、三角形の辺の端点のレベルが大きけ
れば大きいほど、値が大きくなる重み付け係数を三角形
の各辺に設定する。配線判定手段は、配線経路の節点の
間の経路(部分経路)それぞれの経路長と、部分経路そ
れぞれと交差する三角形の辺の重み付け係数とを乗算
し、配線ごとに累加算し、配線の長さと冗長とを両方考
慮して評価する値として、例えばユーザに提示する。
【0046】[配線設計方法]また、本発明にかかる配
線設計方法は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線を設
計する配線設計方法であって、ドローネの三角形分割(D
elaunay triangulation)法により、シンク要素およびソ
ース要素を頂点とする複数の仮想的な三角形を前記面上
に作成し、作成した前記三角形の内、それぞれソース要
素のいずれかを頂点とする三角形に頂点として含まれる
シンク要素を最低のレベル(レベル1)に分類し、レベ
ルK(K=1以上の整数)のシンク要素のいずれかを頂
点とする三角形の他の頂点の内、レベルK,(K−1)
以外のシンク要素をレベル(K+1)に分類し、シンク
要素のいずれかと、この点に対応するソース要素のいず
れかとの間をそれぞれ接続する複数の配線の経路を、こ
れらの配線それぞれが、作成した前記三角形の内、配線
が通過する三角形に頂点として含まれるシンク要素のレ
ベルが最低になるように設計する。
線設計方法は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線を設
計する配線設計方法であって、ドローネの三角形分割(D
elaunay triangulation)法により、シンク要素およびソ
ース要素を頂点とする複数の仮想的な三角形を前記面上
に作成し、作成した前記三角形の内、それぞれソース要
素のいずれかを頂点とする三角形に頂点として含まれる
シンク要素を最低のレベル(レベル1)に分類し、レベ
ルK(K=1以上の整数)のシンク要素のいずれかを頂
点とする三角形の他の頂点の内、レベルK,(K−1)
以外のシンク要素をレベル(K+1)に分類し、シンク
要素のいずれかと、この点に対応するソース要素のいず
れかとの間をそれぞれ接続する複数の配線の経路を、こ
れらの配線それぞれが、作成した前記三角形の内、配線
が通過する三角形に頂点として含まれるシンク要素のレ
ベルが最低になるように設計する。
【0047】好適には、レベル(K+n)以下(nは整
数)のシンク要素のみを端点とする前記三角形の辺を、
レベルK以上のシンク要素それぞれと、これらのシンク
要素それぞれに対応するソース要素それぞれとを接続す
る1つ以上の配線(配線M)それぞれが交差する辺と判
定し、同じ前記三角形それぞれに含まれ、前記配線Mそ
れぞれが交差すると判定された2つの辺の間を順次、接
続し、前記配線Mそれぞれの経路を導出する。
数)のシンク要素のみを端点とする前記三角形の辺を、
レベルK以上のシンク要素それぞれと、これらのシンク
要素それぞれに対応するソース要素それぞれとを接続す
る1つ以上の配線(配線M)それぞれが交差する辺と判
定し、同じ前記三角形それぞれに含まれ、前記配線Mそ
れぞれが交差すると判定された2つの辺の間を順次、接
続し、前記配線Mそれぞれの経路を導出する。
【0048】[配線判定方法]また、本発明にかかる配
線判定方法は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定方法であって、ドローネの三角
形分割(Delaunay triangulation)法により、シンク要素
およびソース要素を頂点とする複数の仮想的な三角形を
前記面上に作成し、作成した前記三角形の内、それぞれ
ソース要素のいずれかを頂点とする三角形に頂点として
含まれるシンク要素を最低のレベル(レベル1)に分類
し、レベルK(K=1以上の整数)のシンク要素のいず
れかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外のシンク要素をレベル(K+1)に分類
し、レベルKのシンク要素とソース要素とを接続する配
線の経路が、レベル(K+n)以下(nは整数)のシン
ク要素のみを両端とする前記三角形の辺のみと交差する
場合に、この配線が正しいと判定し、レベルKのシンク
要素とソース要素とを接続する配線が、レベルK以上の
シンク要素のみを両端とする前記三角形の辺と交差する
場合に、この配線が正しくないと判定する。
線判定方法は、1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定方法であって、ドローネの三角
形分割(Delaunay triangulation)法により、シンク要素
およびソース要素を頂点とする複数の仮想的な三角形を
前記面上に作成し、作成した前記三角形の内、それぞれ
ソース要素のいずれかを頂点とする三角形に頂点として
含まれるシンク要素を最低のレベル(レベル1)に分類
し、レベルK(K=1以上の整数)のシンク要素のいず
れかを頂点とする三角形の他の頂点の内、レベルK,
(K−1)以外のシンク要素をレベル(K+1)に分類
し、レベルKのシンク要素とソース要素とを接続する配
線の経路が、レベル(K+n)以下(nは整数)のシン
ク要素のみを両端とする前記三角形の辺のみと交差する
場合に、この配線が正しいと判定し、レベルKのシンク
要素とソース要素とを接続する配線が、レベルK以上の
シンク要素のみを両端とする前記三角形の辺と交差する
場合に、この配線が正しくないと判定する。
【0049】[記録媒体]また、本発明にかかる第1の
コンピュータにより読み取り可能な記録媒体は、1つの
面上に設けられた複数の点[シンク(sink)要素]のいず
れかと、前記面上に設けられたシンク要素以外の複数の
点[ソース(source)要素]のいずれかとの間を、前記面
上を通る経路で接続する配線を設計する配線設計装置に
おいて、ドローネの三角形分割(Delaunay triangulatio
n)法により、シンク要素およびソース要素を頂点とする
複数の仮想的な三角形を前記面上に作成する三角形作成
ステップと、作成した前記三角形の内、それぞれソース
要素のいずれかを頂点とする三角形に頂点として含まれ
るシンク要素を最低のレベル(レベル1)に分類し、レ
ベルK(K=1以上の整数)のシンク要素のいずれかを
頂点とする三角形の他の頂点の内、レベルK,(K−
1)以外のシンク要素をレベル(K+1)に分類するレ
ベル分類ステップと、シンク要素のいずれかと、この点
に対応するソース要素のいずれかとの間をそれぞれ接続
する複数の配線の経路を、これらの配線それぞれが、作
成した前記三角形の内、配線が通過する三角形に頂点と
して含まれるシンク要素のレベルが最低になるように設
計する配線設計ステップとをコンピュータに実行させる
プログラムを記録する。
コンピュータにより読み取り可能な記録媒体は、1つの
面上に設けられた複数の点[シンク(sink)要素]のいず
れかと、前記面上に設けられたシンク要素以外の複数の
点[ソース(source)要素]のいずれかとの間を、前記面
上を通る経路で接続する配線を設計する配線設計装置に
おいて、ドローネの三角形分割(Delaunay triangulatio
n)法により、シンク要素およびソース要素を頂点とする
複数の仮想的な三角形を前記面上に作成する三角形作成
ステップと、作成した前記三角形の内、それぞれソース
要素のいずれかを頂点とする三角形に頂点として含まれ
るシンク要素を最低のレベル(レベル1)に分類し、レ
ベルK(K=1以上の整数)のシンク要素のいずれかを
頂点とする三角形の他の頂点の内、レベルK,(K−
1)以外のシンク要素をレベル(K+1)に分類するレ
ベル分類ステップと、シンク要素のいずれかと、この点
に対応するソース要素のいずれかとの間をそれぞれ接続
する複数の配線の経路を、これらの配線それぞれが、作
成した前記三角形の内、配線が通過する三角形に頂点と
して含まれるシンク要素のレベルが最低になるように設
計する配線設計ステップとをコンピュータに実行させる
プログラムを記録する。
【0050】また、本発明にかかる第2のコンピュータ
により読み取り可能な記録媒体は、1つの面上に設けら
れた複数の点[シンク(sink)要素]のいずれかと、前記
面上に設けられたシンク要素以外の複数の点[ソース(s
ource)要素]のいずれかとの間を、前記面上を通る経路
で接続する配線の正当性を判定する配線判定装置におい
て、ドローネの三角形分割(Delaunay triangulation)法
により、シンク要素およびソース要素を頂点とする複数
の仮想的な三角形を前記面上に作成する三角形ステップ
と、作成した前記三角形の内、それぞれソース要素のい
ずれかを頂点とする三角形に頂点として含まれるシンク
要素を最低のレベル(レベル1)に分類し、レベルK
(K=1以上の整数)のシンク要素のいずれかを頂点と
する三角形の他の頂点の内、レベルK,(K−1)以外
のシンク要素をレベル(K+1)に分類するレベル分類
ステップと、レベルKのシンク要素とソース要素とを接
続する配線の経路が、レベル(K+n)以下(nは整
数)のシンク要素のみを両端とする前記三角形の辺のみ
と交差する場合に、この配線が正しいと判定し、レベル
Kのシンク要素とソース要素とを接続する配線が、レベ
ルK以上のシンク要素のみを両端とする前記三角形の辺
と交差する場合に、この配線が正しくないと判定する配
線判定ステップとをコンピュータに実行させるプログラ
ムを記録する。
により読み取り可能な記録媒体は、1つの面上に設けら
れた複数の点[シンク(sink)要素]のいずれかと、前記
面上に設けられたシンク要素以外の複数の点[ソース(s
ource)要素]のいずれかとの間を、前記面上を通る経路
で接続する配線の正当性を判定する配線判定装置におい
て、ドローネの三角形分割(Delaunay triangulation)法
により、シンク要素およびソース要素を頂点とする複数
の仮想的な三角形を前記面上に作成する三角形ステップ
と、作成した前記三角形の内、それぞれソース要素のい
ずれかを頂点とする三角形に頂点として含まれるシンク
要素を最低のレベル(レベル1)に分類し、レベルK
(K=1以上の整数)のシンク要素のいずれかを頂点と
する三角形の他の頂点の内、レベルK,(K−1)以外
のシンク要素をレベル(K+1)に分類するレベル分類
ステップと、レベルKのシンク要素とソース要素とを接
続する配線の経路が、レベル(K+n)以下(nは整
数)のシンク要素のみを両端とする前記三角形の辺のみ
と交差する場合に、この配線が正しいと判定し、レベル
Kのシンク要素とソース要素とを接続する配線が、レベ
ルK以上のシンク要素のみを両端とする前記三角形の辺
と交差する場合に、この配線が正しくないと判定する配
線判定ステップとをコンピュータに実行させるプログラ
ムを記録する。
【0051】
【発明の実施の形態】[第1実施形態]以下、本発明の
第1の実施形態を説明する。なお、以下、本発明を半導
体パッケージの配線に応用する場合を例として説明する
が、本発明はこれ以外に、プリント基板の設計等、広い
用途に応用可能である。
第1の実施形態を説明する。なお、以下、本発明を半導
体パッケージの配線に応用する場合を例として説明する
が、本発明はこれ以外に、プリント基板の設計等、広い
用途に応用可能である。
【0052】[コンピュータネットワーク1]以下、本
発明にかかる配線設計方法および配線判定方法が適応さ
れるコンピュータネットワーク1を説明する。図1は、
本発明が適応されるコンピュータネットワーク1の構成
を例示する図である。図1に示すように、コンピュータ
ネットワーク1は、n台のクライアントコンピュータ1
0、通信回線18およびサーバコンピュータ20から構
成される(但し、図1はn=1の場合を例示)。
発明にかかる配線設計方法および配線判定方法が適応さ
れるコンピュータネットワーク1を説明する。図1は、
本発明が適応されるコンピュータネットワーク1の構成
を例示する図である。図1に示すように、コンピュータ
ネットワーク1は、n台のクライアントコンピュータ1
0、通信回線18およびサーバコンピュータ20から構
成される(但し、図1はn=1の場合を例示)。
【0053】図2は、図1に示したクライアントコンピ
ュータ10とサーバコンピュータ20との間の機能分担
を例示する図である。また、図2に例示するように、コ
ンピュータネットワーク1において、クライアントコン
ピュータ10は、半導体チップの設計を行なうCAD(c
omputer aided design)ソフトウェア120を実行し、
サーバコンピュータ20は、半導体チップのボンディン
グパッドと半導体パッケージのピンとの間の配線を設計
する配線設計ソフトウェア3を実行する。なお、本発明
にかかる配線設計方法は、図2に例示した構成の他、同
一のコンピュータが、CADソフトウェア120と配線
設計ソフトウェア3とを実行する構成によっても実現さ
れうる。
ュータ10とサーバコンピュータ20との間の機能分担
を例示する図である。また、図2に例示するように、コ
ンピュータネットワーク1において、クライアントコン
ピュータ10は、半導体チップの設計を行なうCAD(c
omputer aided design)ソフトウェア120を実行し、
サーバコンピュータ20は、半導体チップのボンディン
グパッドと半導体パッケージのピンとの間の配線を設計
する配線設計ソフトウェア3を実行する。なお、本発明
にかかる配線設計方法は、図2に例示した構成の他、同
一のコンピュータが、CADソフトウェア120と配線
設計ソフトウェア3とを実行する構成によっても実現さ
れうる。
【0054】コンピュータネットワーク1は、これらの
構成部分により、半導体チップのボンディングパッドの
位置を示す情報(パッド位置情報)、半導体パッケージ
の端子(ピン)の位置を示す情報(ピン位置情報)、お
よび、ボンディングパッドとピンとの接続関係を示す情
報(配線情報)に基づいて、ボンディングパッドとピン
との間を、ピン間を不適切に多くの配線が通ったり、不
適切に他のピンを回り込んだり、ピンの周囲を迂回した
りといった、不当な経路をとらないような経路で接続す
る配線を設計する。なお、以下、パッド位置情報、ピン
位置情報および配線情報を総称して、「デザイン情報」
とも記す。なお、デザイン情報は、例えば、下表1に示
すような形式で、配線(NET)と、ボンディングパッ
ド(Pad)と、ピン(Pin)とを対応付けたデータ
構造をとる。
構成部分により、半導体チップのボンディングパッドの
位置を示す情報(パッド位置情報)、半導体パッケージ
の端子(ピン)の位置を示す情報(ピン位置情報)、お
よび、ボンディングパッドとピンとの接続関係を示す情
報(配線情報)に基づいて、ボンディングパッドとピン
との間を、ピン間を不適切に多くの配線が通ったり、不
適切に他のピンを回り込んだり、ピンの周囲を迂回した
りといった、不当な経路をとらないような経路で接続す
る配線を設計する。なお、以下、パッド位置情報、ピン
位置情報および配線情報を総称して、「デザイン情報」
とも記す。なお、デザイン情報は、例えば、下表1に示
すような形式で、配線(NET)と、ボンディングパッ
ド(Pad)と、ピン(Pin)とを対応付けたデータ
構造をとる。
【0055】
【表1】
【0056】[通信回線18]通信回線18は、データ
通信が可能なLAN、データ専用回線、ISDN回線あ
るいは電話回線等あって、クライアントコンピュータ1
0とサーバコンピュータ20との間でデータを伝送す
る。
通信が可能なLAN、データ専用回線、ISDN回線あ
るいは電話回線等あって、クライアントコンピュータ1
0とサーバコンピュータ20との間でデータを伝送す
る。
【0057】[クライアントコンピュータ10]クライ
アントコンピュータ10は、図1に示すように、コンピ
ュータ本体100、CRT表示装置あるいは液晶表示装
置等のディスプレイ装置102、入力装置104、プリ
ンタ装置およびプロッタ装置等を含む出力装置110、
ハードディスク装置あるいは光磁気(MO)ディスク装
置等の記憶装置112、および、通信装置114から構
成される。
アントコンピュータ10は、図1に示すように、コンピ
ュータ本体100、CRT表示装置あるいは液晶表示装
置等のディスプレイ装置102、入力装置104、プリ
ンタ装置およびプロッタ装置等を含む出力装置110、
ハードディスク装置あるいは光磁気(MO)ディスク装
置等の記憶装置112、および、通信装置114から構
成される。
【0058】[入力装置104]入力装置104は、キ
ーボード106およびマウス108等を含み、ユーザの
操作に応じて半導体回路の設計あるいは設計変更に必要
な情報、および、半導体パッケージのピン配置に関する
情報を受け入れ、コンピュータ本体100に対して出力
する。
ーボード106およびマウス108等を含み、ユーザの
操作に応じて半導体回路の設計あるいは設計変更に必要
な情報、および、半導体パッケージのピン配置に関する
情報を受け入れ、コンピュータ本体100に対して出力
する。
【0059】[記憶装置112]記憶装置112は、図
2に示したCADソフトウェア120、入力装置104
を介して入力された情報、CADソフトウェア120に
より設計された半導体回路を示す情報、設計した半導体
回路を実際の半導体チップとして実現した場合の回路配
置およびボンディングパッドの配置を示す情報、およ
び、サーバコンピュータ20から伝送されてきた半導体
チップのピンとボンディングパッドとの間の配線を示す
情報等のデータを記憶し、記憶したデータを、要求に応
じてコンピュータ本体100に対して出力する。
2に示したCADソフトウェア120、入力装置104
を介して入力された情報、CADソフトウェア120に
より設計された半導体回路を示す情報、設計した半導体
回路を実際の半導体チップとして実現した場合の回路配
置およびボンディングパッドの配置を示す情報、およ
び、サーバコンピュータ20から伝送されてきた半導体
チップのピンとボンディングパッドとの間の配線を示す
情報等のデータを記憶し、記憶したデータを、要求に応
じてコンピュータ本体100に対して出力する。
【0060】[通信装置114]通信装置114は、イ
−サネットアダプタ、トークンリングアダプタ、FDD
I、TA(terminal adapter)あるいはモデム等であっ
て、コンピュータ本体100の制御に従って、通信回線
18を介して、クライアントコンピュータ10とサーバ
コンピュータ20との間のデータ伝送を行なう。
−サネットアダプタ、トークンリングアダプタ、FDD
I、TA(terminal adapter)あるいはモデム等であっ
て、コンピュータ本体100の制御に従って、通信回線
18を介して、クライアントコンピュータ10とサーバ
コンピュータ20との間のデータ伝送を行なう。
【0061】[コンピュータ本体100]コンピュータ
本体100は、CPU、メモリおよびこれらの周辺回路
等から構成され、いわゆるパーソナルコンピュータある
いはワークステーションとしての機能を有し、クライア
ントコンピュータ10の各構成部分を制御する。
本体100は、CPU、メモリおよびこれらの周辺回路
等から構成され、いわゆるパーソナルコンピュータある
いはワークステーションとしての機能を有し、クライア
ントコンピュータ10の各構成部分を制御する。
【0062】[CADソフトウェア120の処理]ま
た、コンピュータ本体100は、図2に示したCADソ
フトウェア120を記憶装置112からメモリにロード
して実行し、以下の各処理を行なう。コンピュータ本体
100は、入力装置104を介して入力された半導体回
路の設計に必要な情報に基づいて半導体回路を設計し、
さらに、設計した半導体回路の回路配置およびボンディ
ングパッドの配置を設計し、ディスプレイ装置102、
出力装置110および記憶装置112に対して出力す
る。
た、コンピュータ本体100は、図2に示したCADソ
フトウェア120を記憶装置112からメモリにロード
して実行し、以下の各処理を行なう。コンピュータ本体
100は、入力装置104を介して入力された半導体回
路の設計に必要な情報に基づいて半導体回路を設計し、
さらに、設計した半導体回路の回路配置およびボンディ
ングパッドの配置を設計し、ディスプレイ装置102、
出力装置110および記憶装置112に対して出力す
る。
【0063】また、コンピュータ本体100は、設計し
た半導体回路のボンディングパッドの配置、および、ボ
ンディングパッドそれぞれを、半導体パッケージのピン
のいずれに接続するか等を示すデザイン情報を生成し、
サーバコンピュータ20に対して伝送する(デザイン情
報生成処理)。また、コンピュータ本体100は、サー
バコンピュータ20から入力された半導体パッケージの
ピンとビンディングパッドとの間の配線結果をディスプ
レイ装置102等に表示してユーザに示す。
た半導体回路のボンディングパッドの配置、および、ボ
ンディングパッドそれぞれを、半導体パッケージのピン
のいずれに接続するか等を示すデザイン情報を生成し、
サーバコンピュータ20に対して伝送する(デザイン情
報生成処理)。また、コンピュータ本体100は、サー
バコンピュータ20から入力された半導体パッケージの
ピンとビンディングパッドとの間の配線結果をディスプ
レイ装置102等に表示してユーザに示す。
【0064】なお、ディスプレイ装置102等に表示さ
れた配線結果が、ピンとボンディングパッドとの間を交
差なく全て配線できない(結線解がない)、あるいは、
結線解があっても、ピン間の配線密度が不要に高くなっ
たり、経路が大きく迂回したり、ピンの周囲を回り込ん
だりする不正が生じていることを示す場合には、ユーザ
は、半導体回路およびボンディングパッドの配置を変更
し、配線の不正を解消するために、入力装置104を操
作して設計変更情報の入力を行なう。コンピュータ本体
100は、ユーザが入力した設計変更情報に基づいて、
半導体回路、および/または、その回路およびボンディ
ングパッドの配置を設計変更し、さらに、設計結果に基
づいて新たなデザイン情報を生成し、新たなデザイン情
報をサーバコンピュータ20に対して出力する。
れた配線結果が、ピンとボンディングパッドとの間を交
差なく全て配線できない(結線解がない)、あるいは、
結線解があっても、ピン間の配線密度が不要に高くなっ
たり、経路が大きく迂回したり、ピンの周囲を回り込ん
だりする不正が生じていることを示す場合には、ユーザ
は、半導体回路およびボンディングパッドの配置を変更
し、配線の不正を解消するために、入力装置104を操
作して設計変更情報の入力を行なう。コンピュータ本体
100は、ユーザが入力した設計変更情報に基づいて、
半導体回路、および/または、その回路およびボンディ
ングパッドの配置を設計変更し、さらに、設計結果に基
づいて新たなデザイン情報を生成し、新たなデザイン情
報をサーバコンピュータ20に対して出力する。
【0065】[サーバコンピュータ20]サーバコンピ
ュータ20は、図1に示すように、コンピュータ本体2
00、記憶装置202および通信装置204から構成さ
れる。
ュータ20は、図1に示すように、コンピュータ本体2
00、記憶装置202および通信装置204から構成さ
れる。
【0066】[記憶装置202]記憶装置202は、図
2に示した配線設計ソフトウェア3、半導体チップのボ
ンディングパッドと半導体パッケージのピンとの間の配
線の設計に必要な情報、および、配線結果等を示すデー
タを記憶し、記憶したデータを、要求に応じてコンピュ
ータ本体200に対して出力する。
2に示した配線設計ソフトウェア3、半導体チップのボ
ンディングパッドと半導体パッケージのピンとの間の配
線の設計に必要な情報、および、配線結果等を示すデー
タを記憶し、記憶したデータを、要求に応じてコンピュ
ータ本体200に対して出力する。
【0067】[通信装置204]通信装置204は、通
信装置114と同様に、コンピュータ本体200の制御
に従って、通信回線18を介して、クライアントコンピ
ュータ10とサーバコンピュータ20との間のデータ伝
送を行なう。
信装置114と同様に、コンピュータ本体200の制御
に従って、通信回線18を介して、クライアントコンピ
ュータ10とサーバコンピュータ20との間のデータ伝
送を行なう。
【0068】[コンピュータ本体200]コンピュータ
本体200は、コンピュータ本体100と同様にCP
U、メモリおよびこれらの周辺回路等から構成され、サ
ーバコンピュータ20の各構成部分を制御する。
本体200は、コンピュータ本体100と同様にCP
U、メモリおよびこれらの周辺回路等から構成され、サ
ーバコンピュータ20の各構成部分を制御する。
【0069】[配線設計ソフトウェア3の処理]また、
コンピュータ本体200は、図2に示した配線設計ソフ
トウェア3を記憶装置202からメモリにロードして実
行し、以下に説明するように、クライアントコンピュー
タ10側から伝送されてきたデザイン情報に基づいて、
半導体チップのボンディングパッドそれぞれと、半導体
パッケージのピンそれぞれとを接続する配線を設計し、
接続解の有無、どのような不正な配線の有無および不正
な配線が、いずれのボンディングパッドとピンとの間に
生じるか等を示すデータを生成し、配線結果としてクラ
イアントコンピュータ10に対して出力する。
コンピュータ本体200は、図2に示した配線設計ソフ
トウェア3を記憶装置202からメモリにロードして実
行し、以下に説明するように、クライアントコンピュー
タ10側から伝送されてきたデザイン情報に基づいて、
半導体チップのボンディングパッドそれぞれと、半導体
パッケージのピンそれぞれとを接続する配線を設計し、
接続解の有無、どのような不正な配線の有無および不正
な配線が、いずれのボンディングパッドとピンとの間に
生じるか等を示すデータを生成し、配線結果としてクラ
イアントコンピュータ10に対して出力する。
【0070】以下、サーバコンピュータ20において実
行される配線設計ソフトウェア3の処理を説明する。図
3は、第1の実施形態において、図2に示した配線設計
ソフトウェア3の配線設計処理(S100)を示すフロ
ーチャートである。図3に示すように、ステップ102
(S102)において、配線設計ソフトウェア3は、コ
ンピュータ本体200がクライアントコンピュータ10
から受信したデザイン情報を読み込む。
行される配線設計ソフトウェア3の処理を説明する。図
3は、第1の実施形態において、図2に示した配線設計
ソフトウェア3の配線設計処理(S100)を示すフロ
ーチャートである。図3に示すように、ステップ102
(S102)において、配線設計ソフトウェア3は、コ
ンピュータ本体200がクライアントコンピュータ10
から受信したデザイン情報を読み込む。
【0071】ステップ104(S104)において、配
線設計ソフトウェア3は、読み込んだデザイン情報を解
析し、ボンディングパッドおよびピンを半導体パッケー
ジの配線面上の点に置き換え、これらの位置関係を示す
データ(以下、このデータを、配線設計ソフトウェア3
が解いて接続解を求める問題として捉えて、「配線問
題」とも記す)を作成する。
線設計ソフトウェア3は、読み込んだデザイン情報を解
析し、ボンディングパッドおよびピンを半導体パッケー
ジの配線面上の点に置き換え、これらの位置関係を示す
データ(以下、このデータを、配線設計ソフトウェア3
が解いて接続解を求める問題として捉えて、「配線問
題」とも記す)を作成する。
【0072】ステップ106(S106)において、配
線設計ソフトウェア3は、配線問題の半導体パッケージ
上のボンディグパッドおよびピンに対応する点を、それ
ぞれ、配線が引き出されるソース要素、および、ソース
要素の周囲に位置し[例えば、半導体パッケージがピン
グリッドアレイ(PGA)の場合]、ピンに対応する点
を、配線が引き込まれるシンク要素に分類する。なお、
このソース要素およびシンク要素の名称は便宜的なもの
であって、上記とは逆に、ボンディングパッドおよびピ
ンに対応する点を、それぞれシンク要素およびソース要
素と名付けてもよい。また、シンク要素,ソース要素の
名称は、信号の方向と、なんら関係ない。
線設計ソフトウェア3は、配線問題の半導体パッケージ
上のボンディグパッドおよびピンに対応する点を、それ
ぞれ、配線が引き出されるソース要素、および、ソース
要素の周囲に位置し[例えば、半導体パッケージがピン
グリッドアレイ(PGA)の場合]、ピンに対応する点
を、配線が引き込まれるシンク要素に分類する。なお、
このソース要素およびシンク要素の名称は便宜的なもの
であって、上記とは逆に、ボンディングパッドおよびピ
ンに対応する点を、それぞれシンク要素およびソース要
素と名付けてもよい。また、シンク要素,ソース要素の
名称は、信号の方向と、なんら関係ない。
【0073】ステップ108(S108)において、配
線設計ソフトウェア3は、ソース要素の位置を示す情報
(位置情報)に基づいて、ソース要素の配列に方向(並
び方向)を定義する。この並び方向は、一方向であれ
ば、ソース要素の周囲を時計回りに回る方向であって
も、反時計回りに回る方向であってもよい。さらに、配
線設計ソフトウェア3は、例えば、ソース要素の並び方
向に従って、0から数が一ずつ増加する識別番号(STATI
C_ID)を、ソース要素およびシンク要素それぞれに付与
する。
線設計ソフトウェア3は、ソース要素の位置を示す情報
(位置情報)に基づいて、ソース要素の配列に方向(並
び方向)を定義する。この並び方向は、一方向であれ
ば、ソース要素の周囲を時計回りに回る方向であって
も、反時計回りに回る方向であってもよい。さらに、配
線設計ソフトウェア3は、例えば、ソース要素の並び方
向に従って、0から数が一ずつ増加する識別番号(STATI
C_ID)を、ソース要素およびシンク要素それぞれに付与
する。
【0074】S108の処理における識別番号(STATIC_
ID)の付与方法を、図4〜図6を参照してさらに説明す
る。図4〜図6はそれぞれ、図3に示した識別番号付与
処理(S108)における識別番号STATIC_IDの付与方
法を示す第1〜第3の図である。ボンディングパッド
(ソース要素)は、半導体チップ半導体チップの周囲に
整然と配置され、殆どの場合、ボンディングパッドから
配線を引き出す方向が、一意に決定可能である。また、
配線を引き出す方向が、明示的なパターン(ファンアウ
トパターン)として予め決められている場合もある。こ
のように、S108の処理においてボンディングパッド
およびピン(シンク要素)に付与される識別番号は、ボ
ンディングパッドから配線を引き出す方向が決まってい
る場合において、解こうとしている配線問題に含まれる
配線の並びの順番を定義するという意味を持っている。
ID)の付与方法を、図4〜図6を参照してさらに説明す
る。図4〜図6はそれぞれ、図3に示した識別番号付与
処理(S108)における識別番号STATIC_IDの付与方
法を示す第1〜第3の図である。ボンディングパッド
(ソース要素)は、半導体チップ半導体チップの周囲に
整然と配置され、殆どの場合、ボンディングパッドから
配線を引き出す方向が、一意に決定可能である。また、
配線を引き出す方向が、明示的なパターン(ファンアウ
トパターン)として予め決められている場合もある。こ
のように、S108の処理においてボンディングパッド
およびピン(シンク要素)に付与される識別番号は、ボ
ンディングパッドから配線を引き出す方向が決まってい
る場合において、解こうとしている配線問題に含まれる
配線の並びの順番を定義するという意味を持っている。
【0075】図4に示すように、殆ど(例えばPGAパ
ッケージの配線)の場合、ボンディングパッドとピンと
の間の配線は、ボンディングパッドから、半導体パッケ
ージの配線面の中央に配置された半導体チップの周囲
に、ボンディングパッドの並びと並行に配置されたピン
に引き出される。また、配線の経路に、ピンの周囲を回
り込む等の不正がない場合には、ボンディングパッドそ
れぞれから、配線は並行に引き出される。ここで、ボン
ディングパッドとピンとの間に、図4に点線で示すよう
に、ボンディングパッドを囲む輪(仮想的な輪)を仮定
する。この仮想的な輪は、ボンディングパッドが、図5
(A)に例示するように、半導体チップに一列に配置さ
れている場合には、配線設計(識別番号付与)に重要な
役目を特に果たさないが、図5(B)に例示するよう
に、ボンディングパッドが複数列(ニ列)に配置されて
いる場合には、配線設計(識別番号付与)に重要な役割
を果たす。
ッケージの配線)の場合、ボンディングパッドとピンと
の間の配線は、ボンディングパッドから、半導体パッケ
ージの配線面の中央に配置された半導体チップの周囲
に、ボンディングパッドの並びと並行に配置されたピン
に引き出される。また、配線の経路に、ピンの周囲を回
り込む等の不正がない場合には、ボンディングパッドそ
れぞれから、配線は並行に引き出される。ここで、ボン
ディングパッドとピンとの間に、図4に点線で示すよう
に、ボンディングパッドを囲む輪(仮想的な輪)を仮定
する。この仮想的な輪は、ボンディングパッドが、図5
(A)に例示するように、半導体チップに一列に配置さ
れている場合には、配線設計(識別番号付与)に重要な
役目を特に果たさないが、図5(B)に例示するよう
に、ボンディングパッドが複数列(ニ列)に配置されて
いる場合には、配線設計(識別番号付与)に重要な役割
を果たす。
【0076】図5(A)に例示するように、ボンディン
グパッドが一列に並んでいる場合には、ボンディングパ
ッドそれぞれに、左回り、あるいは、右回りの順番で、
並びに沿って単純に識別番号を付与することができる。
但し、図5(A)に例示した場合において、例えば、識
別番号STATIC_ID_4を付与したボンディングパッドから
右方向に順番に識別番号を順に付与し、右端に達した
ら、再び左端に戻って順に識別番号を付与するようなこ
とをしてはならない。つまり、並行な方向に並んでいる
ボンディングパッドにおいては、両端のボンディングパ
ッドに対してのみ不連続な識別番号の付与が許され、他
のボンディングパッドに対しては、連続した識別番号の
付与のみが許される。
グパッドが一列に並んでいる場合には、ボンディングパ
ッドそれぞれに、左回り、あるいは、右回りの順番で、
並びに沿って単純に識別番号を付与することができる。
但し、図5(A)に例示した場合において、例えば、識
別番号STATIC_ID_4を付与したボンディングパッドから
右方向に順番に識別番号を順に付与し、右端に達した
ら、再び左端に戻って順に識別番号を付与するようなこ
とをしてはならない。つまり、並行な方向に並んでいる
ボンディングパッドにおいては、両端のボンディングパ
ッドに対してのみ不連続な識別番号の付与が許され、他
のボンディングパッドに対しては、連続した識別番号の
付与のみが許される。
【0077】また、図5(B)に例示するように、ボン
ディングパッドが複数の列に並んでいる場合には、ボン
ディングパッドそれぞれに対して、上述した仮想的な輪
を一定方向にたどった場合に、それぞれのボンディング
パッドから引き出される配線が仮想的な輪と交わる順番
に識別番号を付与する。このように、ボンディングパッ
ドが複数の列に並んでいる場合の識別番号付与を行なう
場合にも、上述した両端のボンディングパッドに対して
のみ不連続な識別番号の付与が許され、他のボンディン
グパッドに対しては、連続した識別番号の付与のみが許
されるという規則が適用される。
ディングパッドが複数の列に並んでいる場合には、ボン
ディングパッドそれぞれに対して、上述した仮想的な輪
を一定方向にたどった場合に、それぞれのボンディング
パッドから引き出される配線が仮想的な輪と交わる順番
に識別番号を付与する。このように、ボンディングパッ
ドが複数の列に並んでいる場合の識別番号付与を行なう
場合にも、上述した両端のボンディングパッドに対して
のみ不連続な識別番号の付与が許され、他のボンディン
グパッドに対しては、連続した識別番号の付与のみが許
されるという規則が適用される。
【0078】なお、図5(B)に例示した場合において
は、識別番号STATIC_ID_4が付与されたボンディングパ
ッドから引き出される配線(配線4)が、それぞれ識別
番号STATIC_ID_3,STATIC_ID_5のボンディングパッド
(ボンディングパッド3,5)の間を通るようになって
いるが、例えば、配線4が、ボンディングパッド5,6
の間を通らないと、結線解が得られなかったり、配線に
不正が生じたりする場合がある。このような配線に対し
ては、明示的な配線方向の指定(ファンアウト処理)を
行なう必要がある。以上説明した識別番号付与を、半導
体チップの4辺それぞれに並んだボンディグパッドに対
して行なうと、図6に例示するように、全てのボンディ
ングパッドに対して、一意に識別番号を付与することが
できる。
は、識別番号STATIC_ID_4が付与されたボンディングパ
ッドから引き出される配線(配線4)が、それぞれ識別
番号STATIC_ID_3,STATIC_ID_5のボンディングパッド
(ボンディングパッド3,5)の間を通るようになって
いるが、例えば、配線4が、ボンディングパッド5,6
の間を通らないと、結線解が得られなかったり、配線に
不正が生じたりする場合がある。このような配線に対し
ては、明示的な配線方向の指定(ファンアウト処理)を
行なう必要がある。以上説明した識別番号付与を、半導
体チップの4辺それぞれに並んだボンディグパッドに対
して行なうと、図6に例示するように、全てのボンディ
ングパッドに対して、一意に識別番号を付与することが
できる。
【0079】ピンに対する識別番号の付与は、対応する
ボンディングパッドと同じ識別番号を付与する方法、つ
まり、ボンディングパッドXと接続されるピンに対して
識別番号STATIC_ID_Xを付与する方法により行なわれ
る。ボンディングパッドおよびピンに識別番号を付与す
ると、配線設計ソフトウェア3は、識別番号の順番にボ
ンディングパッドの順番を並び替え、ソースリストデー
タを生成する。
ボンディングパッドと同じ識別番号を付与する方法、つ
まり、ボンディングパッドXと接続されるピンに対して
識別番号STATIC_ID_Xを付与する方法により行なわれ
る。ボンディングパッドおよびピンに識別番号を付与す
ると、配線設計ソフトウェア3は、識別番号の順番にボ
ンディングパッドの順番を並び替え、ソースリストデー
タを生成する。
【0080】ステップ110(S110;図3)におい
て、配線設計ソフトウェア3は、配線問題に含まれるソ
ース要素およびシンク要素に対してドローネの三角形分
割法を適用し、ソース要素、シンク要素および禁止領域
(半導体チップの下等の配線を通すことが禁止されてい
る領域)を頂点とする仮想的な三角形(ドローネの三角
形)を作成する。
て、配線設計ソフトウェア3は、配線問題に含まれるソ
ース要素およびシンク要素に対してドローネの三角形分
割法を適用し、ソース要素、シンク要素および禁止領域
(半導体チップの下等の配線を通すことが禁止されてい
る領域)を頂点とする仮想的な三角形(ドローネの三角
形)を作成する。
【0081】これらのドローネの三角形の辺(分割辺)
は、頂点において参照可能になっている。つまり、任意
のソース要素またはシンク要素Pが端点となる分割辺の
全ては、端点P、あるいは、端点Pをパラメータとする
関数で参照できるように工夫されている。
は、頂点において参照可能になっている。つまり、任意
のソース要素またはシンク要素Pが端点となる分割辺の
全ては、端点P、あるいは、端点Pをパラメータとする
関数で参照できるように工夫されている。
【0082】図7は、図3に示した三角形分割処理(S
110)によって得られたドローネの三角形を例示する
図である。なお、以下の各図において、三角形の辺、ソ
ース要素およびシンク要素に付された数字は、識別番号
(STATIC_ID)を示す。例えば、半導体チップの周囲に沿
って一列に並んだボンディングパッド(ソース要素)
と、半導体チップの周囲に3列に配置されたピンとに対
して、配線設計ソフトウェア3がドローネの三角形分割
法による分割処理を行なうと、図7に例示するようなド
ローネの三角形が作成される。
110)によって得られたドローネの三角形を例示する
図である。なお、以下の各図において、三角形の辺、ソ
ース要素およびシンク要素に付された数字は、識別番号
(STATIC_ID)を示す。例えば、半導体チップの周囲に沿
って一列に並んだボンディングパッド(ソース要素)
と、半導体チップの周囲に3列に配置されたピンとに対
して、配線設計ソフトウェア3がドローネの三角形分割
法による分割処理を行なうと、図7に例示するようなド
ローネの三角形が作成される。
【0083】ステップ200(S200;図3)におい
て、配線設計ソフトウェア3は、作成したドローネの三
角形を用いて、ピンをレベル分類(leveling)する。
て、配線設計ソフトウェア3は、作成したドローネの三
角形を用いて、ピンをレベル分類(leveling)する。
【0084】レベリング処理をさらに説明する。図8
は、図3に示したレベリング処理(S200)を示すフ
ローチャートである。図8に示すように、ステップ20
2(S202)において、配線設計ソフトウェア3は、
ソース要素およびシンク要素を記憶するためのデータ構
造を有するfirst-in-first-out形式の空のキューQを作
成する。また、配線設計ソフトウェア3は、配線問題中
の全てのボンディングパッド(ソース要素)のレベルを
レベル0に初期化し,全てのピン(シンク要素)のレベ
ルを不定値(レベル−1)に初期化する。さらに、配線
設計ソフトウェア3は、同じ識別番号が付与されたピン
およびボンディングパッド同士を対応付け、要素P(こ
のステップにおいては、例えば、ソース要素のみ)とし
てキューイングする。
は、図3に示したレベリング処理(S200)を示すフ
ローチャートである。図8に示すように、ステップ20
2(S202)において、配線設計ソフトウェア3は、
ソース要素およびシンク要素を記憶するためのデータ構
造を有するfirst-in-first-out形式の空のキューQを作
成する。また、配線設計ソフトウェア3は、配線問題中
の全てのボンディングパッド(ソース要素)のレベルを
レベル0に初期化し,全てのピン(シンク要素)のレベ
ルを不定値(レベル−1)に初期化する。さらに、配線
設計ソフトウェア3は、同じ識別番号が付与されたピン
およびボンディングパッド同士を対応付け、要素P(こ
のステップにおいては、例えば、ソース要素のみ)とし
てキューイングする。
【0085】ステップ204(S204)において、配
線設計ソフトウェア3は、キューQに、ピンおよびボン
ディングパッド(要素P)がキューイングされているか
否かを判断する。ピンおよびボンディングパッドがキュ
ーイングされていない(キューQが空の)場合にはレベ
リング処理を終了し、キューイングされている場合には
S206の処理に進む。
線設計ソフトウェア3は、キューQに、ピンおよびボン
ディングパッド(要素P)がキューイングされているか
否かを判断する。ピンおよびボンディングパッドがキュ
ーイングされていない(キューQが空の)場合にはレベ
リング処理を終了し、キューイングされている場合には
S206の処理に進む。
【0086】ステップ206(S206)において、配
線設計ソフトウェア3は、キューからピンおよびボンデ
ィングパッド(要素P)を1つ取り出し、レベリング処
理の対象とする。
線設計ソフトウェア3は、キューからピンおよびボンデ
ィングパッド(要素P)を1つ取り出し、レベリング処
理の対象とする。
【0087】ステップ208(S208)において、配
線設計ソフトウェア3は、S206の処理により、レベ
リングの対象となっているピンPを端点とする分割辺の
内、まだレベリングされていない分割辺(未処理の分割
辺E)があるか否かを判断する。配線設計ソフトウェア
3は、未処理の分割辺Eがある場合にはS210の処理
に進み、ない場合にはS204の処理に戻る。
線設計ソフトウェア3は、S206の処理により、レベ
リングの対象となっているピンPを端点とする分割辺の
内、まだレベリングされていない分割辺(未処理の分割
辺E)があるか否かを判断する。配線設計ソフトウェア
3は、未処理の分割辺Eがある場合にはS210の処理
に進み、ない場合にはS204の処理に戻る。
【0088】ステップ210(S210)において、配
線設計ソフトウェア3は、レベリングの対象となってい
るピンPと、他のもう一つのピンRを両端とする未処理
の分割辺Eの1つを取り出す。
線設計ソフトウェア3は、レベリングの対象となってい
るピンPと、他のもう一つのピンRを両端とする未処理
の分割辺Eの1つを取り出す。
【0089】ステップ212(S212)において、配
線設計ソフトウェア3は、分割辺Eに端点として含まれ
るピンRが既にレベリングされているか否か、つまり、
ピンRのレベルが不定値(−1)であるか否かを判断す
る。配線設計ソフトウェア3は、ピンRがレベリングさ
れている場合にはS208の処理に戻り、レベリングさ
れていない場合にはS214の処理に進む。
線設計ソフトウェア3は、分割辺Eに端点として含まれ
るピンRが既にレベリングされているか否か、つまり、
ピンRのレベルが不定値(−1)であるか否かを判断す
る。配線設計ソフトウェア3は、ピンRがレベリングさ
れている場合にはS208の処理に戻り、レベリングさ
れていない場合にはS214の処理に進む。
【0090】ステップ214(S214)において、配
線設計ソフトウェア3は、S210の処理において取り
出された分割辺Eの端点のピンRを、端点Pのレベル
(P)よりも、一つ高いレベル(P+1;R)にレベリ
ングし、分割辺Eと、分割辺Eの指標値(両端のピン
P,Rのレベルの値の和;P+R=2P+1)とを対応
付けて記憶する。さらに、配線設計ソフトウェア3は、
その両端のピンがレベリングされた分割辺Eを、未処理
から処理済みに分類変更する。
線設計ソフトウェア3は、S210の処理において取り
出された分割辺Eの端点のピンRを、端点Pのレベル
(P)よりも、一つ高いレベル(P+1;R)にレベリ
ングし、分割辺Eと、分割辺Eの指標値(両端のピン
P,Rのレベルの値の和;P+R=2P+1)とを対応
付けて記憶する。さらに、配線設計ソフトウェア3は、
その両端のピンがレベリングされた分割辺Eを、未処理
から処理済みに分類変更する。
【0091】ステップ216(S216)において、配
線設計ソフトウェア3は、レベルを設定したピンRを要
素PとしてキューQに入れる。図9は、図7に示したよ
うに配置されたピン(シンク要素)それぞれをレベル分
類した場合の各ピンのレベルを示す図表である。以上説
明したレベリング処理を、図7に示した配置のピンに対
して行なうと、これらの9つのピン0〜8(STATIC_ID_
0,...,8)は、図9に示すように、それぞれレベル1,2,3,
2,1,3,3,2,1に分類される。以下、図9に示したように
ピンとレベルとを対応付けたデータを、シンクリストデ
ータとも呼ぶ。
線設計ソフトウェア3は、レベルを設定したピンRを要
素PとしてキューQに入れる。図9は、図7に示したよ
うに配置されたピン(シンク要素)それぞれをレベル分
類した場合の各ピンのレベルを示す図表である。以上説
明したレベリング処理を、図7に示した配置のピンに対
して行なうと、これらの9つのピン0〜8(STATIC_ID_
0,...,8)は、図9に示すように、それぞれレベル1,2,3,
2,1,3,3,2,1に分類される。以下、図9に示したように
ピンとレベルとを対応付けたデータを、シンクリストデ
ータとも呼ぶ。
【0092】ステップ220(S220;図3)におい
て、配線設計ソフトウェア3は、ボンディングパッドそ
れぞれとピンそれぞれとを接続する配線それぞれが、分
割辺のいずれと交差するかを判定する。さらに、配線設
計ソフトウェア3は、配線それぞれと交差すると判定さ
れた分割辺同士を接続して、配線それぞれの経路を導出
する。
て、配線設計ソフトウェア3は、ボンディングパッドそ
れぞれとピンそれぞれとを接続する配線それぞれが、分
割辺のいずれと交差するかを判定する。さらに、配線設
計ソフトウェア3は、配線それぞれと交差すると判定さ
れた分割辺同士を接続して、配線それぞれの経路を導出
する。
【0093】図10は、図3に示した交差判定処理(S
220の処理の一部)を示すフローチャートである。図
10に示すように、ステップ222(S222)におい
て、配線設計ソフトウェア3は、図7に示したようにド
ローネの三角形分割法により得られた分割辺を、両端の
ピン(両端のピンのレベルが異なる場合には、いずれか
レベルが低い一方)のレベルが低いものから順に、1つ
ずつ取り出す。
220の処理の一部)を示すフローチャートである。図
10に示すように、ステップ222(S222)におい
て、配線設計ソフトウェア3は、図7に示したようにド
ローネの三角形分割法により得られた分割辺を、両端の
ピン(両端のピンのレベルが異なる場合には、いずれか
レベルが低い一方)のレベルが低いものから順に、1つ
ずつ取り出す。
【0094】ステップ224(S224)において、配
線設計ソフトウェア3は、取り出した分割辺の両端の識
別番号(STATIC_ID;図8)を取り出す。
線設計ソフトウェア3は、取り出した分割辺の両端の識
別番号(STATIC_ID;図8)を取り出す。
【0095】ステップ226(S226)において、配
線設計ソフトウェア3は、シンクリストデータ(図9)
を参照し、配線それぞれと分割辺との交差を判定する処
理を行なう。この処理は、S224の処理において取り
出された識別番号の中間値を識別番号とするピンであっ
て、S222の処理において取り出された分割辺の両端
のいずれよりもレベルが高いピンと、このピンと同じ識
別番号が付されたボンディングパッドとを接続する配線
の全てを、S222の処理において取り出された分割辺
と交差すると判定することにより行なわれる。
線設計ソフトウェア3は、シンクリストデータ(図9)
を参照し、配線それぞれと分割辺との交差を判定する処
理を行なう。この処理は、S224の処理において取り
出された識別番号の中間値を識別番号とするピンであっ
て、S222の処理において取り出された分割辺の両端
のいずれよりもレベルが高いピンと、このピンと同じ識
別番号が付されたボンディングパッドとを接続する配線
の全てを、S222の処理において取り出された分割辺
と交差すると判定することにより行なわれる。
【0096】例えば、S222の処理において取り出さ
れた分割辺Eの両端が、図7に示したピン4,7(STATI
C_ID_4,7)を両端とする場合に、ピン4,7はそれぞれ
レベル1,2である。ピン4,7の識別番号STATIC_ID_
4,7の中間値を識別番号とするピンは、ピン5,6(STAT
IC_ID_5,6)の2本であり、これらはレベル3である。従
って、配線設計ソフトウェア3は、識別番号STATIC_ID_
5,6のピンそれぞれと0ボンディングパッドそれぞれとを
接続する配線5,6が、分割辺Eと交差すると判定す
る。
れた分割辺Eの両端が、図7に示したピン4,7(STATI
C_ID_4,7)を両端とする場合に、ピン4,7はそれぞれ
レベル1,2である。ピン4,7の識別番号STATIC_ID_
4,7の中間値を識別番号とするピンは、ピン5,6(STAT
IC_ID_5,6)の2本であり、これらはレベル3である。従
って、配線設計ソフトウェア3は、識別番号STATIC_ID_
5,6のピンそれぞれと0ボンディングパッドそれぞれとを
接続する配線5,6が、分割辺Eと交差すると判定す
る。
【0097】ステップ228(S228)において、配
線設計ソフトウェア3は、全ての分割辺について交差判
定処理を行なったか否かを判断し、未処理の分割辺があ
る場合にはS222の処理に戻り、未処理の分割辺がな
い場合には、交差判定処理を終了する。
線設計ソフトウェア3は、全ての分割辺について交差判
定処理を行なったか否かを判断し、未処理の分割辺があ
る場合にはS222の処理に戻り、未処理の分割辺がな
い場合には、交差判定処理を終了する。
【0098】図10に示した交差判定処理を、具体例を
挙げてさらに説明する。図11〜図15は、図7に示し
たドローネの三角形の分割辺と、ピン0〜8それぞれと
ボンディングパッド0〜8それぞれとを接続する配線0
〜8との交差の判定処理を示す第1〜第5の図である。
挙げてさらに説明する。図11〜図15は、図7に示し
たドローネの三角形の分割辺と、ピン0〜8それぞれと
ボンディングパッド0〜8それぞれとを接続する配線0
〜8との交差の判定処理を示す第1〜第5の図である。
【0099】図10に示したフローチャートに従うと、
交差判定処理は、まず、図11に示すように、ボンディ
ングパッド(ボンディングパッド0〜8;レベル0)
と、ピン0〜8(レベル1)とを両端とするドローネの
三角形の分割辺について行なわれる。
交差判定処理は、まず、図11に示すように、ボンディ
ングパッド(ボンディングパッド0〜8;レベル0)
と、ピン0〜8(レベル1)とを両端とするドローネの
三角形の分割辺について行なわれる。
【0100】図11(図7)に示した例においては、配
線設計ソフトウェア3は、ボンディングパッドとレベル
1のピンとを両端とする11本の分割辺を順次、取り出
して交差判定を行なう。配線設計ソフトウェア3は、こ
れら11本の分割辺の内、ボンディングパッド0とピン
0とを両端とする分割辺(分割辺0,0)、分割辺
(1,0),(3,4),(4,4),(5,4),
(7,8),(8,8)の7つは、中間値の識別番号の
ピンが存在しないため、配線と交差しないと判定する。
また、配線設計ソフトウェア3は、分割辺2,0と配線
1とが、分割辺3,0と配線2とが、分割辺5,8と配
線6,7とが、分割辺6,8と配線7とが交差すると判
定し、分割辺と交差する配線(配線の両端のピンおよび
ボンディングパッドの識別番号STATIC_ID)とを対応付け
て登録する。
線設計ソフトウェア3は、ボンディングパッドとレベル
1のピンとを両端とする11本の分割辺を順次、取り出
して交差判定を行なう。配線設計ソフトウェア3は、こ
れら11本の分割辺の内、ボンディングパッド0とピン
0とを両端とする分割辺(分割辺0,0)、分割辺
(1,0),(3,4),(4,4),(5,4),
(7,8),(8,8)の7つは、中間値の識別番号の
ピンが存在しないため、配線と交差しないと判定する。
また、配線設計ソフトウェア3は、分割辺2,0と配線
1とが、分割辺3,0と配線2とが、分割辺5,8と配
線6,7とが、分割辺6,8と配線7とが交差すると判
定し、分割辺と交差する配線(配線の両端のピンおよび
ボンディングパッドの識別番号STATIC_ID)とを対応付け
て登録する。
【0101】なお、配線設計ソフトウェア3は、複数の
配線が交差すると判定された分割辺については、配線同
士の交差の防止を考慮し、分割辺と配線との交差の順番
に従って、配線の登録を行なう。つまり、図11に示し
た場合においては、配線設計ソフトウェア3は、例え
ば、分割辺5,8のピン5に近い方に配線6が交差し、
遠い方に配線7が交差することから、分割辺5,8に対
して、配線6を先に、配線7を後に登録する。
配線が交差すると判定された分割辺については、配線同
士の交差の防止を考慮し、分割辺と配線との交差の順番
に従って、配線の登録を行なう。つまり、図11に示し
た場合においては、配線設計ソフトウェア3は、例え
ば、分割辺5,8のピン5に近い方に配線6が交差し、
遠い方に配線7が交差することから、分割辺5,8に対
して、配線6を先に、配線7を後に登録する。
【0102】次に、配線設計ソフトウェア3は、図12
に示すように、レベル1のピンを両端とする分割辺につ
いて交差判定を行ない、分割辺0,4と配線1,2,3
とが交差し、分割辺4,8と配線5,6,7とが交差す
ると判定し、これらの分割辺と配線とを対応付け、上述
したように交差の順番を考慮して登録する。
に示すように、レベル1のピンを両端とする分割辺につ
いて交差判定を行ない、分割辺0,4と配線1,2,3
とが交差し、分割辺4,8と配線5,6,7とが交差す
ると判定し、これらの分割辺と配線とを対応付け、上述
したように交差の順番を考慮して登録する。
【0103】次に、配線設計ソフトウェア3は、図13
に示すように、レベル1のピンとレベル2のピンとを両
端とする分割辺について交差判定を行ない、分割辺0,
3と配線1,2とが交差し、分割辺4,7と配線5,6
とが交差すると判定し、これらの分割辺と配線とを対応
付け、交差の順番を考慮して登録を行なう。
に示すように、レベル1のピンとレベル2のピンとを両
端とする分割辺について交差判定を行ない、分割辺0,
3と配線1,2とが交差し、分割辺4,7と配線5,6
とが交差すると判定し、これらの分割辺と配線とを対応
付け、交差の順番を考慮して登録を行なう。
【0104】次に、配線設計ソフトウェア3は、図14
に示すように、レベル2のピンとを両端とする分割辺に
ついて交差判定を行ない、分割辺1,3と配線2とが交
差し、分割辺3,7と配線5,6とが交差すると判定
し、これらの分割辺と配線とを対応付け、交差の番号を
考慮して登録を行なう。
に示すように、レベル2のピンとを両端とする分割辺に
ついて交差判定を行ない、分割辺1,3と配線2とが交
差し、分割辺3,7と配線5,6とが交差すると判定
し、これらの分割辺と配線とを対応付け、交差の番号を
考慮して登録を行なう。
【0105】最後に、配線設計ソフトウェア3は、図1
5に示すように、レベル2のピンとレベル3のピンとを
両端とする分割辺について交差判定を行ない、分割辺
5,7と配線6とが交差すると判定し、これらの分割辺
と配線とを対応付け、交差の番号を考慮して登録を行な
う。
5に示すように、レベル2のピンとレベル3のピンとを
両端とする分割辺について交差判定を行ない、分割辺
5,7と配線6とが交差すると判定し、これらの分割辺
と配線とを対応付け、交差の番号を考慮して登録を行な
う。
【0106】但し、S220(図3)の交差判定処理お
よび経路導出処理においては、回り込みおよび迂回等の
配線の冗長(不正)を検出し、交差判定の段階で、この
ような配線経路の登録を排除する必要がある。以下、こ
のような冗長な配線経路の登録の排除の方法を、具体例
を挙げて説明する。
よび経路導出処理においては、回り込みおよび迂回等の
配線の冗長(不正)を検出し、交差判定の段階で、この
ような配線経路の登録を排除する必要がある。以下、こ
のような冗長な配線経路の登録の排除の方法を、具体例
を挙げて説明する。
【0107】図16は、冗長な配線経路を生じるピン配
置を例示する図である。図17は、図16に示したピン
配置に対してレベリング処理を行なった場合に得られる
シンクリストデータを示す図表である。図16に例示す
つピン配置に対して、S200におけるレベリング処理
を行なうと、図17に示すシンクリストデータが得られ
る。
置を例示する図である。図17は、図16に示したピン
配置に対してレベリング処理を行なった場合に得られる
シンクリストデータを示す図表である。図16に例示す
つピン配置に対して、S200におけるレベリング処理
を行なうと、図17に示すシンクリストデータが得られ
る。
【0108】ここで、以上説明した交差判定処理による
と、図16に示した分割辺Aには、ピン3〜7への配線
(配線3〜7)が登録されることになる。しかしなが
ら、配線Aの両端のピンはレベル3に分類されるのに対
し、分割辺Aと配線6とが交差する場合には、配線に大
きな冗長が生じることがわかる。また、他の配線との交
差を避けるために、分割辺Aと配線7とが交差する可能
性がある一方、このように分割辺Aと配線7とが交差す
る場合には、配線7に冗長が生じている可能性が高いこ
とがわかる。
と、図16に示した分割辺Aには、ピン3〜7への配線
(配線3〜7)が登録されることになる。しかしなが
ら、配線Aの両端のピンはレベル3に分類されるのに対
し、分割辺Aと配線6とが交差する場合には、配線に大
きな冗長が生じることがわかる。また、他の配線との交
差を避けるために、分割辺Aと配線7とが交差する可能
性がある一方、このように分割辺Aと配線7とが交差す
る場合には、配線7に冗長が生じている可能性が高いこ
とがわかる。
【0109】また、同様に、図16に示した分割辺Bに
は、配線6〜9が登録されることになるが、例えば、分
割辺6,7が分割辺Bを通る経路をとると、明らかに冗
長が生じていると判断することができる。
は、配線6〜9が登録されることになるが、例えば、分
割辺6,7が分割辺Bを通る経路をとると、明らかに冗
長が生じていると判断することができる。
【0110】このような冗長の発生の可能性は、分割辺
の両端のピンのレベルと、配線が接続するピンのレベル
とを比較することにより判定可能である。つまり、配線
6は、レベル1のピン6へ接続され、配線7は、レベル
2のピン7へ接続されるのに対し、分割辺Aの両端のピ
ンはレベル3、分割辺Bの両端のピンはレベル4,5で
ある。つまり、配線の接続先のピンのレベルより、分割
辺の両端のピン(両端のピンのレベルが異なる場合には
いずれかレベルが低い方)のレベルが高い場合には、こ
の分割辺と交差する配線に冗長が生じている可能性が高
いと判定することができる。
の両端のピンのレベルと、配線が接続するピンのレベル
とを比較することにより判定可能である。つまり、配線
6は、レベル1のピン6へ接続され、配線7は、レベル
2のピン7へ接続されるのに対し、分割辺Aの両端のピ
ンはレベル3、分割辺Bの両端のピンはレベル4,5で
ある。つまり、配線の接続先のピンのレベルより、分割
辺の両端のピン(両端のピンのレベルが異なる場合には
いずれかレベルが低い方)のレベルが高い場合には、こ
の分割辺と交差する配線に冗長が生じている可能性が高
いと判定することができる。
【0111】従って、冗長な配線の登録の排除は、例え
ば、「レベルx以下のピンへの配線の登録は、レベル
(x+n;x,nは整数)以下のピンのみを両端とする
分割辺に対してのみ行なう」という条件を、交差判定処
理に対して加えることができる。この条件における数値
nの値を、配線問題に応じて調節することができるよう
にすると、本発明にかかる配線設計方法の柔軟性を広
げ、その適用範囲を拡大することができる。
ば、「レベルx以下のピンへの配線の登録は、レベル
(x+n;x,nは整数)以下のピンのみを両端とする
分割辺に対してのみ行なう」という条件を、交差判定処
理に対して加えることができる。この条件における数値
nの値を、配線問題に応じて調節することができるよう
にすると、本発明にかかる配線設計方法の柔軟性を広
げ、その適用範囲を拡大することができる。
【0112】また、デザイン情報に配線の登録排除の条
件を満たさない配線が存在する場合には、配線設計ソフ
トウェア3が、このような配線に関する情報を、クライ
アントコンピュータ20に対して通知するようにする
と、いずれの配線、つまり、ボンディングパッドおよび
ピンの位置を修正すれば冗長がない配線を行なうことが
できるかをユーザに通知することができ、ユーザによる
設計変更を支援することができる。
件を満たさない配線が存在する場合には、配線設計ソフ
トウェア3が、このような配線に関する情報を、クライ
アントコンピュータ20に対して通知するようにする
と、いずれの配線、つまり、ボンディングパッドおよび
ピンの位置を修正すれば冗長がない配線を行なうことが
できるかをユーザに通知することができ、ユーザによる
設計変更を支援することができる。
【0113】図18および図19はそれぞれ、図3に示
した経路導出処理(S220)を例示する第1および第
2の図である。以上のように、交差判定処理終了する
と、配線設計ソフトウェア3は、図18および図19に
点線で例示するように、分割辺と配線との交差の順番を
考慮して、ピン0〜8それぞれと、ボンディングパッド
0〜8それぞれを接続する配線0〜8それぞれが交差す
ると判定された分割辺同士を接続し、互いに交差しない
配線0〜8の経路を導出する。
した経路導出処理(S220)を例示する第1および第
2の図である。以上のように、交差判定処理終了する
と、配線設計ソフトウェア3は、図18および図19に
点線で例示するように、分割辺と配線との交差の順番を
考慮して、ピン0〜8それぞれと、ボンディングパッド
0〜8それぞれを接続する配線0〜8それぞれが交差す
ると判定された分割辺同士を接続し、互いに交差しない
配線0〜8の経路を導出する。
【0114】さらに、経路導出処理を説明する。図20
は、図3に示した経路導出処理(S240)を示すフロ
ーチャートである。図20に示すように、ステップ24
2(S242)において、配線設計ソフトウェア3は、
配線の経路の導出処理が終わっていない未処理のソース
要素(ボンディングパッド)があるか否かを判断する。
配線設計ソフトウェア3は、未処理のボンディングパッ
ドがある場合にはS244の処理に進み、ない場合には
処理を終了する。
は、図3に示した経路導出処理(S240)を示すフロ
ーチャートである。図20に示すように、ステップ24
2(S242)において、配線設計ソフトウェア3は、
配線の経路の導出処理が終わっていない未処理のソース
要素(ボンディングパッド)があるか否かを判断する。
配線設計ソフトウェア3は、未処理のボンディングパッ
ドがある場合にはS244の処理に進み、ない場合には
処理を終了する。
【0115】ステップ244(S244)およびステッ
プ246(S246)において、配線設計ソフトウェア
3は、未処理のボンディングパッドを経路導出処理の対
象(ターゲットT)に設定する。
プ246(S246)において、配線設計ソフトウェア
3は、未処理のボンディングパッドを経路導出処理の対
象(ターゲットT)に設定する。
【0116】ステップ248(S248)において、配
線設計ソフトウェア3は、ターゲットTとしたボンディ
ングパッドと接続するピンがレベル1であって、分割辺
と交差せずに直接、配線可能であるか否かを判断する。
配線設計ソフトウェア3は、直接、ボンディングパッド
とピンとを接続可能である場合にはS250の処理に進
み、直接、接続可能でない場合にはS252の処理に進
む。なお、S248において、配線設計ソフトウェア3
は、配線と分割辺との交点をターゲットTとしている場
合には、この交点(ターゲットT)とピンとが直接、接
続可能か否かを判断し、接続可能である場合にはS25
0の処理に進み、これ以外の場合にはS252の処理に
進む。
線設計ソフトウェア3は、ターゲットTとしたボンディ
ングパッドと接続するピンがレベル1であって、分割辺
と交差せずに直接、配線可能であるか否かを判断する。
配線設計ソフトウェア3は、直接、ボンディングパッド
とピンとを接続可能である場合にはS250の処理に進
み、直接、接続可能でない場合にはS252の処理に進
む。なお、S248において、配線設計ソフトウェア3
は、配線と分割辺との交点をターゲットTとしている場
合には、この交点(ターゲットT)とピンとが直接、接
続可能か否かを判断し、接続可能である場合にはS25
0の処理に進み、これ以外の場合にはS252の処理に
進む。
【0117】ステップ250(S250)において、配
線設計ソフトウェア3は、ターゲットTとしたボンディ
ングパッド、または、配線と分割辺との交点と、これら
に対応するピンとを直接、接続するように配線の経路を
決定する。
線設計ソフトウェア3は、ターゲットTとしたボンディ
ングパッド、または、配線と分割辺との交点と、これら
に対応するピンとを直接、接続するように配線の経路を
決定する。
【0118】ステップ252(S252)において、配
線設計ソフトウェア3は、ターゲットTが分割辺と配線
との交点である場合に、配線がボンディングパッドから
ピンに進む方向に向かって交点の右に位置するターゲッ
トTの端点を一方の端点とする分割辺(右辺)に、この
配線が通過する(右辺通過点T'がある)か否かを判断
し、右辺通過点がある場合には、右辺通過点T'を取り
出してS254の処理に進み、これ以外の場合にはS2
56の処理に進む。
線設計ソフトウェア3は、ターゲットTが分割辺と配線
との交点である場合に、配線がボンディングパッドから
ピンに進む方向に向かって交点の右に位置するターゲッ
トTの端点を一方の端点とする分割辺(右辺)に、この
配線が通過する(右辺通過点T'がある)か否かを判断
し、右辺通過点がある場合には、右辺通過点T'を取り
出してS254の処理に進み、これ以外の場合にはS2
56の処理に進む。
【0119】ステップ256(S256)において、配
線設計ソフトウェア3は、ターゲットTが分割辺と配線
との交点である場合に、配線がボンディングパッドから
ピンに進む方向に向かって交点の左に位置するターゲッ
トTの端点を一方の端点とする分割辺(左辺)に、この
配線が通過する(左辺通過点T'がある)か否かを判断
し、左辺通過点がある場合には左辺通過点T'を取り出
してS254の処理に進み、これ以外の場合にはS25
6の処理に進む。
線設計ソフトウェア3は、ターゲットTが分割辺と配線
との交点である場合に、配線がボンディングパッドから
ピンに進む方向に向かって交点の左に位置するターゲッ
トTの端点を一方の端点とする分割辺(左辺)に、この
配線が通過する(左辺通過点T'がある)か否かを判断
し、左辺通過点がある場合には左辺通過点T'を取り出
してS254の処理に進み、これ以外の場合にはS25
6の処理に進む。
【0120】ステップ254(S254)において、配
線設計ソフトウェア3は、S252またはS256の処
理において取り出された右辺通過点T'または左辺通過
点T'を次のターゲットTとする。
線設計ソフトウェア3は、S252またはS256の処
理において取り出された右辺通過点T'または左辺通過
点T'を次のターゲットTとする。
【0121】ステップ258(S258)において、配
線設計ソフトウェア3は、処理の対象としているボンデ
ィングパッドと、このボンディングパッドに対応するピ
ンとを接続する経路が存在しないと判断し、その旨を記
憶して、次のボンディングパッドと、対応するピンとを
接続する配線の経路導出処理に進む。
線設計ソフトウェア3は、処理の対象としているボンデ
ィングパッドと、このボンディングパッドに対応するピ
ンとを接続する経路が存在しないと判断し、その旨を記
憶して、次のボンディングパッドと、対応するピンとを
接続する配線の経路導出処理に進む。
【0122】ステップ118(S118;図3)におい
て、配線設計ソフトウェア3は、以上説明したS102
〜S110,S200,S220の処理により得られた
配線結果を、クライアントコンピュータ20、あるい
は、記憶装置202に対して出力する。
て、配線設計ソフトウェア3は、以上説明したS102
〜S110,S200,S220の処理により得られた
配線結果を、クライアントコンピュータ20、あるい
は、記憶装置202に対して出力する。
【0123】[コンピュータネットワーク1の動作]以
下、コンピュータネットワーク1の動作を説明する。ユ
ーザがクライアントコンピュータ10に対して入力操作
を行なうと、クライアントコンピュータ10のCADソ
フトウェアは、ユーザの操作に応じて半導体チップの回
路を設計し、半導体パッケージのピン配置、半導体チッ
プのボンディングパッドの配置、および、半導体チップ
のボンディングパッドと、半導体パッケージのピンとの
接続関係等を示すデザイン情報を作成し、通信回線18
を介してサーバコンピュータ20に対して送信する。
下、コンピュータネットワーク1の動作を説明する。ユ
ーザがクライアントコンピュータ10に対して入力操作
を行なうと、クライアントコンピュータ10のCADソ
フトウェアは、ユーザの操作に応じて半導体チップの回
路を設計し、半導体パッケージのピン配置、半導体チッ
プのボンディングパッドの配置、および、半導体チップ
のボンディングパッドと、半導体パッケージのピンとの
接続関係等を示すデザイン情報を作成し、通信回線18
を介してサーバコンピュータ20に対して送信する。
【0124】サーバコンピュータ20において、配線設
計ソフトウェア3は、クライアントコンピュータ10か
らのデザイン情報に対して、図3等に示したように、配
線問題の作成処理、ソース要素およびシンク要素の分類
処理、識別番号付与処理、三角形分割処理、レベリング
(レベル分類)処理、交差判定処理および経路導出処理
を行なって、ピンそれぞれとボンディングパッドそれぞ
れとを接続する配線の設計を行なう。
計ソフトウェア3は、クライアントコンピュータ10か
らのデザイン情報に対して、図3等に示したように、配
線問題の作成処理、ソース要素およびシンク要素の分類
処理、識別番号付与処理、三角形分割処理、レベリング
(レベル分類)処理、交差判定処理および経路導出処理
を行なって、ピンそれぞれとボンディングパッドそれぞ
れとを接続する配線の設計を行なう。
【0125】図21は、本発明にかかる配線設計方法に
よる三角形分割およびレベル分け処理を例示する図であ
る。なお、以下、図21〜図24に例示するピンの配列
は、図7等に例示したピンの配列とは異なっている。つ
まり、配線設計ソフトウェア3は、デザイン情報を読み
込み、配線問題の作成、ソース/シンク要素の分類およ
び識別番号付与等の処理を行なうと(図3;S102〜
S108)、図21の左側に例示するようにボンディン
グパッドとピンとの間を三角形分割し(図3;S11
0)、さらに、図21の右側に例示するように、ピンを
レベリングする(図3;S200)。
よる三角形分割およびレベル分け処理を例示する図であ
る。なお、以下、図21〜図24に例示するピンの配列
は、図7等に例示したピンの配列とは異なっている。つ
まり、配線設計ソフトウェア3は、デザイン情報を読み
込み、配線問題の作成、ソース/シンク要素の分類およ
び識別番号付与等の処理を行なうと(図3;S102〜
S108)、図21の左側に例示するようにボンディン
グパッドとピンとの間を三角形分割し(図3;S11
0)、さらに、図21の右側に例示するように、ピンを
レベリングする(図3;S200)。
【0126】図22は、本発明にかかる配線設計方法に
よる交差判定および経路導出処理を例示する図である。
図23は、冗長(不正)な配線および正常な配線を例示
する図である。但し、図23は、配線設計ソフトウェア
3が、レベルKのピンを接続する配線が、レベルK以上
のピンを端点とする分割辺と交差すると、この配線が冗
長(不正)であると判定する場合(n=0)を例示す
る。次に、配線設計ソフトウェア3は、図22に例示す
るように交差判定および経路導出処理を行なう(図3;
S220)。なお、交差判定および経路導出処理によ
り、図23に経路Aとして例示する冗長な配線経路は排
除され、経路Bとして例示する冗長がない正常な配線経
路のみが導出される。
よる交差判定および経路導出処理を例示する図である。
図23は、冗長(不正)な配線および正常な配線を例示
する図である。但し、図23は、配線設計ソフトウェア
3が、レベルKのピンを接続する配線が、レベルK以上
のピンを端点とする分割辺と交差すると、この配線が冗
長(不正)であると判定する場合(n=0)を例示す
る。次に、配線設計ソフトウェア3は、図22に例示す
るように交差判定および経路導出処理を行なう(図3;
S220)。なお、交差判定および経路導出処理によ
り、図23に経路Aとして例示する冗長な配線経路は排
除され、経路Bとして例示する冗長がない正常な配線経
路のみが導出される。
【0127】図24は、本発明にかかる配線設計方法に
より設計された配線を例示する図である。配線設計ソフ
トウェア3は、全ての配線が冗長(不正)なく配線でき
た場合には、図24に例示するような配線設計の結果
を、クライアントコンピュータ20に送信し、配線のい
ずれかに冗長が生じた場合には、冗長が生じている配線
を特定する情報(いずれのボンディングパッドとピンと
をつなく配線であるか等)を、通信回線18を介して、
クライアントコンピュータ10に送信する(図3;S1
18)。
より設計された配線を例示する図である。配線設計ソフ
トウェア3は、全ての配線が冗長(不正)なく配線でき
た場合には、図24に例示するような配線設計の結果
を、クライアントコンピュータ20に送信し、配線のい
ずれかに冗長が生じた場合には、冗長が生じている配線
を特定する情報(いずれのボンディングパッドとピンと
をつなく配線であるか等)を、通信回線18を介して、
クライアントコンピュータ10に送信する(図3;S1
18)。
【0128】クライアントコンピュータ10は、サーバ
コンピュータ20から伝送されてきた配線設計の結果、
あるいは、冗長な配線に関する情報を、ディスプレイ装
置102に表示し、ユーザに示す。
コンピュータ20から伝送されてきた配線設計の結果、
あるいは、冗長な配線に関する情報を、ディスプレイ装
置102に表示し、ユーザに示す。
【0129】ユーザは、サーバコンピュータ20から、
冗長な配線に関する情報が送られてきた場合には、この
配線の冗長を除くことができるように、ボンディングパ
ッドおよびピンの位置、あるいは、ボンディングパッド
とピンとの接続関係を変更し、設計変更を行なう。
冗長な配線に関する情報が送られてきた場合には、この
配線の冗長を除くことができるように、ボンディングパ
ッドおよびピンの位置、あるいは、ボンディングパッド
とピンとの接続関係を変更し、設計変更を行なう。
【0130】[変形例]なお、ここまで、半導体パッケ
ージの全てのピンに配線が接続される(100%ネット
アサインされている)ことを前提として説明したが、配
線が接続されないピンが存在する場合には、配線問題を
解析し、半導体パッケージに配線が接続されないピンが
存在する(100%ネットアサインされていない)場合
にも、配線問題を解析し、配線が接続されないピンに対
して仮の識別番号を与えることにより、第1の実施形態
として示した配線設計方法を適用することができる。
ージの全てのピンに配線が接続される(100%ネット
アサインされている)ことを前提として説明したが、配
線が接続されないピンが存在する場合には、配線問題を
解析し、半導体パッケージに配線が接続されないピンが
存在する(100%ネットアサインされていない)場合
にも、配線問題を解析し、配線が接続されないピンに対
して仮の識別番号を与えることにより、第1の実施形態
として示した配線設計方法を適用することができる。
【0131】仮の識別番号の付与は、例えば、配線が接
続され識別番号STATIC_ID_3,7が付与されたピンがある
場合、これら2つのピンの間の配線が接続されない(ネ
ットアサインされていない)ピンに、識別番号STATIC_I
D_4を付与するといった方法により行なわれる。
続され識別番号STATIC_ID_3,7が付与されたピンがある
場合、これら2つのピンの間の配線が接続されない(ネ
ットアサインされていない)ピンに、識別番号STATIC_I
D_4を付与するといった方法により行なわれる。
【0132】また、ソース要素がシンク要素に囲まれ、
配線が中央から周囲に引き出されるという条件さえ満た
されれば、第1の実施形態として示した配線設計方法
を、三端子ネット以上の一筆書き経路の導出に、ドロー
ネの三角形分割辺上の通過点の登録方法を変更するだけ
で応用することができる。つまり、三端子ネット以上の
結線が必要な経路の通過点の登録は、結線するシンク要
素の全てのレベル値を拾いだし、シンク要素が持つレベ
ル値の最大値の範囲内で登録を行なう方法により、ま
た、経路の接続も、配線を一つのシンク要素に接続した
ら、さらに次のシンク要素に接続するように変更する方
法により、いずれも少ない変更で実現できる。
配線が中央から周囲に引き出されるという条件さえ満た
されれば、第1の実施形態として示した配線設計方法
を、三端子ネット以上の一筆書き経路の導出に、ドロー
ネの三角形分割辺上の通過点の登録方法を変更するだけ
で応用することができる。つまり、三端子ネット以上の
結線が必要な経路の通過点の登録は、結線するシンク要
素の全てのレベル値を拾いだし、シンク要素が持つレベ
ル値の最大値の範囲内で登録を行なう方法により、ま
た、経路の接続も、配線を一つのシンク要素に接続した
ら、さらに次のシンク要素に接続するように変更する方
法により、いずれも少ない変更で実現できる。
【0133】[第1の実施形態として示した配線設計方
法の効果]以上説明したように、本発明にかかる配線設
計方法によれば、分割辺と配線との交差を判定する段階
で、配線に冗長(不正)が生じているか否かを判定する
ことができる。従って、従来の配線設計方法と異なり、
全ての配線設計が終了する前に、冗長な配線に関する情
報を得ることができるので、配線設計と設計変更との繰
り返しの時間間隔を、大幅に短縮することができる。
法の効果]以上説明したように、本発明にかかる配線設
計方法によれば、分割辺と配線との交差を判定する段階
で、配線に冗長(不正)が生じているか否かを判定する
ことができる。従って、従来の配線設計方法と異なり、
全ての配線設計が終了する前に、冗長な配線に関する情
報を得ることができるので、配線設計と設計変更との繰
り返しの時間間隔を、大幅に短縮することができる。
【0134】また、本発明にかかる配線設計方法におい
ては、各配線と分割辺との交差を判定し、交差する分割
辺同士を接続することにより、配線設計を行なうことが
できるので、従来の配線設計方法に比べて処理量が非常
に少ない。従って、本発明にかかる配線設計方法によれ
ば、同じ処理能力を有するコンピュータで比較した場合
には、従来の配線設計方法を用いた場合の数十分の一の
時間で配線設計を行なうことができる。
ては、各配線と分割辺との交差を判定し、交差する分割
辺同士を接続することにより、配線設計を行なうことが
できるので、従来の配線設計方法に比べて処理量が非常
に少ない。従って、本発明にかかる配線設計方法によれ
ば、同じ処理能力を有するコンピュータで比較した場合
には、従来の配線設計方法を用いた場合の数十分の一の
時間で配線設計を行なうことができる。
【0135】また、本発明にかかる配線設計方法におけ
る処理量は、ほぼ、分割辺の数に比例して増加するだけ
なので、非常に複雑な配線の設計を行なった場合であっ
ても、従来の配線設計方式に比べて、処理量の増加、お
よび、処理に要するデータ量がが非常に少ない。従っ
て、本発明にかかる配線設計方法によれば、配線が複雑
になればなるほど、従来の配線設計方法を用いた場合に
比べて、配線設計に要する処理時間が短くて済む。
る処理量は、ほぼ、分割辺の数に比例して増加するだけ
なので、非常に複雑な配線の設計を行なった場合であっ
ても、従来の配線設計方式に比べて、処理量の増加、お
よび、処理に要するデータ量がが非常に少ない。従っ
て、本発明にかかる配線設計方法によれば、配線が複雑
になればなるほど、従来の配線設計方法を用いた場合に
比べて、配線設計に要する処理時間が短くて済む。
【0136】また、本発明にかかる配線設計方法は、回
り込みを生じる経路をとる配線を排除することができ
る。また、交差判定処理の段階で、迂回した配線でしか
接続できないピンの存在を検出し、その時点でユーザに
通知することができるので、配線設計の早い段階で設計
変更に移行することができる。従って、本発明にかかる
配線設計方法によれば、半導体回路の設計変更と、半導
体パッケージの配線問題の解決との間の時間的サイクル
を短くすることができ、半導体装置の設計に要する時間
を全体として大幅に短縮することができる。
り込みを生じる経路をとる配線を排除することができ
る。また、交差判定処理の段階で、迂回した配線でしか
接続できないピンの存在を検出し、その時点でユーザに
通知することができるので、配線設計の早い段階で設計
変更に移行することができる。従って、本発明にかかる
配線設計方法によれば、半導体回路の設計変更と、半導
体パッケージの配線問題の解決との間の時間的サイクル
を短くすることができ、半導体装置の設計に要する時間
を全体として大幅に短縮することができる。
【0137】[第2実施形態]以下、本発明の第2の実
施形態を説明する。第1実施形態において説明したよう
に、本発明にかかる配線設計方法は、分割辺の両端のピ
ンに付与した識別番号(STATIC_ID)がp,qである場合
に、この分割辺と、ピンr(p<r<q)を接続する配
線とが交差すると判定し、配線の経路を導出する。
施形態を説明する。第1実施形態において説明したよう
に、本発明にかかる配線設計方法は、分割辺の両端のピ
ンに付与した識別番号(STATIC_ID)がp,qである場合
に、この分割辺と、ピンr(p<r<q)を接続する配
線とが交差すると判定し、配線の経路を導出する。
【0138】図25は、半導体パッケージのピンのリエ
ントラント部分を例示する図である。一方、図25に例
示するように、半導体パッケージの101本のピンに、
0〜100の識別番号を付与すると、識別番号を最初に
付与する部分と、最後に付与する部分とが隣り合う、つ
まり、識別番号STATIC_ID_0,1,2のピンと識別番号STATI
C_ID_97,98,100のピンとが分割辺を共有するリエントラ
ント部分が生じる。
ントラント部分を例示する図である。一方、図25に例
示するように、半導体パッケージの101本のピンに、
0〜100の識別番号を付与すると、識別番号を最初に
付与する部分と、最後に付与する部分とが隣り合う、つ
まり、識別番号STATIC_ID_0,1,2のピンと識別番号STATI
C_ID_97,98,100のピンとが分割辺を共有するリエントラ
ント部分が生じる。
【0139】このように、最初の方の識別番号のピン
と、最後の方の識別番号のピンとが隣り合うリエントラ
ント部分に対して、第1の実施形態として示した配線設
計方法をそのまま適用することができない。例えば、図
25に示した場合においては、識別番号STATIC_ID_97の
ピンと、識別番号STATIC_ID_0のピンとが分割辺の両端
となっているが、第1の実施形態として示した配線方法
によると、この分割辺97,0と、識別番号STATIC_ID_
98,99,100を接続する配線98〜100とが交差すると
判定することができない。
と、最後の方の識別番号のピンとが隣り合うリエントラ
ント部分に対して、第1の実施形態として示した配線設
計方法をそのまま適用することができない。例えば、図
25に示した場合においては、識別番号STATIC_ID_97の
ピンと、識別番号STATIC_ID_0のピンとが分割辺の両端
となっているが、第1の実施形態として示した配線方法
によると、この分割辺97,0と、識別番号STATIC_ID_
98,99,100を接続する配線98〜100とが交差すると
判定することができない。
【0140】従って、分割辺97,0上に配線98〜1
00の経路を設定することができず、配線に不必要な偏
りが生じる等の不具合が起きてしまう。第2の実施形態
においては、このようなリエントラント部分に生じる不
具合を解消しうる配線設計方法を説明する。
00の経路を設定することができず、配線に不必要な偏
りが生じる等の不具合が起きてしまう。第2の実施形態
においては、このようなリエントラント部分に生じる不
具合を解消しうる配線設計方法を説明する。
【0141】図26は、第2の実施形態において、配線
設計ソフトウェア3(図2)が半導体パッケージのピン
のリエントラント部分に対して行なう配線設計処理を示
すフローチャートである。図26に示すように、配線設
計ソフトウェア3は、ステップ122(S122)にお
いて、図3に示したS102の処理と同様に、クライア
ントコンピュータ10から送られてきたデザイン情報を
読み込む。
設計ソフトウェア3(図2)が半導体パッケージのピン
のリエントラント部分に対して行なう配線設計処理を示
すフローチャートである。図26に示すように、配線設
計ソフトウェア3は、ステップ122(S122)にお
いて、図3に示したS102の処理と同様に、クライア
ントコンピュータ10から送られてきたデザイン情報を
読み込む。
【0142】ステップ124(S124)およびステッ
プ126(S126)において、配線設計ソフトウェア
3は、図3に示したS104〜S110,S200の処
理と同様に、配線問題の作成、ボンディングパッド・ピ
ンのソース要素およびソース要素への分類、ボンディン
グパッドおよびピンへの識別番号の付与、ボンディング
パッドの順番の並び替え、ソースリストデータの生成、
三角形分割、および、レベリングの各処理を行なう。
プ126(S126)において、配線設計ソフトウェア
3は、図3に示したS104〜S110,S200の処
理と同様に、配線問題の作成、ボンディングパッド・ピ
ンのソース要素およびソース要素への分類、ボンディン
グパッドおよびピンへの識別番号の付与、ボンディング
パッドの順番の並び替え、ソースリストデータの生成、
三角形分割、および、レベリングの各処理を行なう。
【0143】ステップ260(S260)において、配
線設計ソフトウェア3は、配線問題に含まれるピンを3
グループに分割し、それぞれのグループに含まれるピン
に属性を付与する属性分け処理を行なう。
線設計ソフトウェア3は、配線問題に含まれるピンを3
グループに分割し、それぞれのグループに含まれるピン
に属性を付与する属性分け処理を行なう。
【0144】つまり、配線設計ソフトウェア3は、0か
ら連続した識別番号を付与され、最後の方の識別番号を
付与されたピンと同じデローネの三角形に頂点として含
まれる可能性があるピン全てに最初のグループに含まれ
るとの属性(ReEntrantLower)を与える。
ら連続した識別番号を付与され、最後の方の識別番号を
付与されたピンと同じデローネの三角形に頂点として含
まれる可能性があるピン全てに最初のグループに含まれ
るとの属性(ReEntrantLower)を与える。
【0145】また、最後の識別番号までの連続した識別
番号を付与され、最初の方の識別番号を付与されたピン
と同じデローネの三角形に頂点として含まれる可能性が
あるピン全てに最後のグループに含まれるとの属性(Re
EntrantUpper)を与える。また、え3は、これらのいずれ
のグループにも含まれないピンには、通常のグループに
含まれるとの属性(Normal)を与える。
番号を付与され、最初の方の識別番号を付与されたピン
と同じデローネの三角形に頂点として含まれる可能性が
あるピン全てに最後のグループに含まれるとの属性(Re
EntrantUpper)を与える。また、え3は、これらのいずれ
のグループにも含まれないピンには、通常のグループに
含まれるとの属性(Normal)を与える。
【0146】さらに属性分け処理を説明する。図27
は、図3に示した属性分け処理(S260)を示すフロ
ーチャートである。図27に示すように、ステップ26
2(S262)において、配線設計ソフトウェア3は、
ピンを上述のように3つのグループに分類し、属性を付
与する。また、配線設計ソフトウェア3は、三角形分割
により得られたデローネの三角形の辺のいずれか、例え
ば、識別番号STATIC_ID_A,Bのピンを両端とする分割辺
(分割辺E)を取り出す。
は、図3に示した属性分け処理(S260)を示すフロ
ーチャートである。図27に示すように、ステップ26
2(S262)において、配線設計ソフトウェア3は、
ピンを上述のように3つのグループに分類し、属性を付
与する。また、配線設計ソフトウェア3は、三角形分割
により得られたデローネの三角形の辺のいずれか、例え
ば、識別番号STATIC_ID_A,Bのピンを両端とする分割辺
(分割辺E)を取り出す。
【0147】配線設計ソフトウェア3は、図27に示す
S264〜S276の各処理を、全ての分割辺に対して
行なうことにより、分割辺を上記2つのグループ(リエ
ントラントグループおよび通常グループ)に分類し、属
性を与える。ステップ264(S264)において、配
線設計ソフトウェア3は、分割辺Eの端点A,Bのいず
れかがNormal属性である場合にはS266の処理に進
み、これ以外の場合にはS268の処理に進む。ステッ
プ266(S266)において、配線設計ソフトウェア
3は、分割辺Eを通常グループに分類し、分割辺EにNo
rmalEadge属性を与える。
S264〜S276の各処理を、全ての分割辺に対して
行なうことにより、分割辺を上記2つのグループ(リエ
ントラントグループおよび通常グループ)に分類し、属
性を与える。ステップ264(S264)において、配
線設計ソフトウェア3は、分割辺Eの端点A,Bのいず
れかがNormal属性である場合にはS266の処理に進
み、これ以外の場合にはS268の処理に進む。ステッ
プ266(S266)において、配線設計ソフトウェア
3は、分割辺Eを通常グループに分類し、分割辺EにNo
rmalEadge属性を与える。
【0148】ステップ268(S268)において、配
線設計ソフトウェア3は、分割辺Eの端点A,Bがそれ
ぞれReEntrantUpper属性およびReEntrantLower属性であ
る場合にはS270の処理に進み、これ以外の場合には
S272の処理に進む。ステップ270(S270)に
おいて、配線設計ソフトウェア3は、分割辺Eをリエン
トラントグループに分類し、分割辺EにReEntrantEadge
属性を与える。
線設計ソフトウェア3は、分割辺Eの端点A,Bがそれ
ぞれReEntrantUpper属性およびReEntrantLower属性であ
る場合にはS270の処理に進み、これ以外の場合には
S272の処理に進む。ステップ270(S270)に
おいて、配線設計ソフトウェア3は、分割辺Eをリエン
トラントグループに分類し、分割辺EにReEntrantEadge
属性を与える。
【0149】ステップ272(S272)において、配
線設計ソフトウェア3は、分割辺Eの端点A,Bがそれ
ぞれReEntrantLower属性およびReEntrantUpper属性であ
る場合にはS274の処理に進み、これ以外の場合には
S276の処理に進む。ステップ274(S270)に
おいて、配線設計ソフトウェア3は、分割辺Eをリエン
トラントグループに分類し、分割辺EにReEntrantEadge
属性を与える。ステップ276(S276)において、
配線設計ソフトウェア3は、分割辺Eを通常グループに
分類し、分割辺EにNormalEadge属性を与える。
線設計ソフトウェア3は、分割辺Eの端点A,Bがそれ
ぞれReEntrantLower属性およびReEntrantUpper属性であ
る場合にはS274の処理に進み、これ以外の場合には
S276の処理に進む。ステップ274(S270)に
おいて、配線設計ソフトウェア3は、分割辺Eをリエン
トラントグループに分類し、分割辺EにReEntrantEadge
属性を与える。ステップ276(S276)において、
配線設計ソフトウェア3は、分割辺Eを通常グループに
分類し、分割辺EにNormalEadge属性を与える。
【0150】ステップ130(S130;図26)にお
いて、配線設計ソフトウェア3は、S262〜S278
の処理において、NormalEadge属性を付与した分割辺に
対しては、図3に示したS220と同じ処理を行なって
配線の分割を判定する。また、配線設計ソフトウェア3
は、ReEntrantEadge属性を付与した分割辺には、分割辺
の両端の内、ReEntrantUpper属性のピンの識別番号より
も大きい識別番号のピン、および、ReEntrantLower属性
のピンの識別番号よりも小さい識別番号のピンへの配線
が交差すると判定する。
いて、配線設計ソフトウェア3は、S262〜S278
の処理において、NormalEadge属性を付与した分割辺に
対しては、図3に示したS220と同じ処理を行なって
配線の分割を判定する。また、配線設計ソフトウェア3
は、ReEntrantEadge属性を付与した分割辺には、分割辺
の両端の内、ReEntrantUpper属性のピンの識別番号より
も大きい識別番号のピン、および、ReEntrantLower属性
のピンの識別番号よりも小さい識別番号のピンへの配線
が交差すると判定する。
【0151】このようなReEntrantEadgeに対する処理に
より、配線設計ソフトウェア3は、例えば、図25に示
した分割辺97,0と、識別番号STATIC_ID_98,99,100
を接続する配線98〜100とが交差すると判定するこ
とができるようになる。また、このようなReEntrantEad
geに対する処理により、配線設計ソフトウェア3は、例
えば、図25の例とは異なるが、分割辺97,2と、識
別番号STATIC_ID_98,99,100,0,1を接続する配線98〜
100,0,1とが交差すると判定することができるよ
うになる。
より、配線設計ソフトウェア3は、例えば、図25に示
した分割辺97,0と、識別番号STATIC_ID_98,99,100
を接続する配線98〜100とが交差すると判定するこ
とができるようになる。また、このようなReEntrantEad
geに対する処理により、配線設計ソフトウェア3は、例
えば、図25の例とは異なるが、分割辺97,2と、識
別番号STATIC_ID_98,99,100,0,1を接続する配線98〜
100,0,1とが交差すると判定することができるよ
うになる。
【0152】さらに、配線設計ソフトウェア3は、図3
に示したS240と同様な経路導出処理を行ない、配線
処理の結果をクライアントコンピュータ10に対して送
信する。
に示したS240と同様な経路導出処理を行ない、配線
処理の結果をクライアントコンピュータ10に対して送
信する。
【0153】なお、S130における交差判定処理にお
いても、図16および図17を参照して説明した冗長な
配線の登録の排除を行なうことは言うまでもない。
いても、図16および図17を参照して説明した冗長な
配線の登録の排除を行なうことは言うまでもない。
【0154】また、ピンをReEntrantLower,ReEntrantUp
per,Normalの3属性に分類する場合、配線設計ソフトウ
ェア3は、ピンを連続した識別番号ごとに3つのグルー
プに等分し、最も小さい識別番号のピンのグループにRe
EntrantLower属性を付与し、最も大きい識別番号のピン
のグループにReEntrantUpper属性を付与し、これら2つ
以外のピンのグループにNormal属性を付与してもよい。
つまり、この方法によると、例えば、ピンに0〜100
の識別番号が付された場合、配線設計ソフトウェア3
は、識別番号STATIC_ID_0,1,2,...,33のピンにReEntran
tLower属性を付与し、識別番号STATIC_ID_34,35,3
6,...,66のピンにNormal属性を付与し、識別番号STATIC
_ID_67,68,69,...,100のピンにReEntrantUpper属性を付
与する。
per,Normalの3属性に分類する場合、配線設計ソフトウ
ェア3は、ピンを連続した識別番号ごとに3つのグルー
プに等分し、最も小さい識別番号のピンのグループにRe
EntrantLower属性を付与し、最も大きい識別番号のピン
のグループにReEntrantUpper属性を付与し、これら2つ
以外のピンのグループにNormal属性を付与してもよい。
つまり、この方法によると、例えば、ピンに0〜100
の識別番号が付された場合、配線設計ソフトウェア3
は、識別番号STATIC_ID_0,1,2,...,33のピンにReEntran
tLower属性を付与し、識別番号STATIC_ID_34,35,3
6,...,66のピンにNormal属性を付与し、識別番号STATIC
_ID_67,68,69,...,100のピンにReEntrantUpper属性を付
与する。
【0155】また、ピンを3つの属性に分類する場合、
配線設計ソフトウェア3は、一定の割合の最も識別番号
が大きいピン、および、一定の割合の最も識別番号が小
さいピンに、それぞれReEntrantLower属性およびReEntr
antUpper属性を付与し、これら2つ以外のピンのグルー
プにNormal属性を付与してもよい。つまり、上記一定の
割合を10%としてこの方法をとると、例えば、ピンに
0〜100の識別番号が付された場合、配線設計ソフト
ウェア3は、識別番号STATIC_ID_0,1,2,...,9のピンにR
eEntrantLower属性を付与し、識別番号STATIC_ID_11,1
2,13,...,90のピンにNormal属性を付与し、識別番号STA
TIC_ID_91,92,92,...,100のピンにReEntrantUpper属性
を付与する。
配線設計ソフトウェア3は、一定の割合の最も識別番号
が大きいピン、および、一定の割合の最も識別番号が小
さいピンに、それぞれReEntrantLower属性およびReEntr
antUpper属性を付与し、これら2つ以外のピンのグルー
プにNormal属性を付与してもよい。つまり、上記一定の
割合を10%としてこの方法をとると、例えば、ピンに
0〜100の識別番号が付された場合、配線設計ソフト
ウェア3は、識別番号STATIC_ID_0,1,2,...,9のピンにR
eEntrantLower属性を付与し、識別番号STATIC_ID_11,1
2,13,...,90のピンにNormal属性を付与し、識別番号STA
TIC_ID_91,92,92,...,100のピンにReEntrantUpper属性
を付与する。
【0156】ここに示した2つの例のように、ピンの属
性分けは、分割辺の両端の識別番号の関係を考慮せず
に、通常、最初の方の識別番号と最後の方の識別番号が
隣り合う可能性があると考えられる部分を、ReEntrantL
ower属性またはReEntrantUpper属性に分けることによっ
ても可能である。
性分けは、分割辺の両端の識別番号の関係を考慮せず
に、通常、最初の方の識別番号と最後の方の識別番号が
隣り合う可能性があると考えられる部分を、ReEntrantL
ower属性またはReEntrantUpper属性に分けることによっ
ても可能である。
【0157】[第2の実施形態として示した配線設計方
法の効果]以上、第2の実施形態において説明したよう
に、配線問題中のピンを属性分けし、第1の実施形態に
おいて示した交差判定処理に適宜、変更を加えることに
より、本発明にかかる配線設計方法を、ピンのリエント
ラント部分にも応用することができる。また、第2の実
施形態において説明したリエントラント部分に対する処
理によれば、デザイン情報のみに基づいて、リエントラ
ント部分のピンを検出して配線処理を行なうことがで
き、リエントラント部分を明示するための特別なデータ
をデザイン情報に付加する必要がない。
法の効果]以上、第2の実施形態において説明したよう
に、配線問題中のピンを属性分けし、第1の実施形態に
おいて示した交差判定処理に適宜、変更を加えることに
より、本発明にかかる配線設計方法を、ピンのリエント
ラント部分にも応用することができる。また、第2の実
施形態において説明したリエントラント部分に対する処
理によれば、デザイン情報のみに基づいて、リエントラ
ント部分のピンを検出して配線処理を行なうことがで
き、リエントラント部分を明示するための特別なデータ
をデザイン情報に付加する必要がない。
【0158】また、ピンおよび分割辺の属性分け、およ
び、属性に応じた交差判定処理を行なうことにより増加
する処理量はごく少ないので、これらの処理を付加して
も、本発明にかかる配線設計方法によれば、従来の配線
設計方法に比べてごく短時間の内に、配線設計を行なう
ことができる。
び、属性に応じた交差判定処理を行なうことにより増加
する処理量はごく少ないので、これらの処理を付加して
も、本発明にかかる配線設計方法によれば、従来の配線
設計方法に比べてごく短時間の内に、配線設計を行なう
ことができる。
【0159】[第3実施形態]以下、本発明の第3の実施
形態を説明する。第3の実施形態においては、第1よび
第2の実施形態において説明した本発明にかかる配線設
計方法による設計結果から、迂回等の冗長(不正)が発
生している配線を検出する方法を説明する。
形態を説明する。第3の実施形態においては、第1よび
第2の実施形態において説明した本発明にかかる配線設
計方法による設計結果から、迂回等の冗長(不正)が発
生している配線を検出する方法を説明する。
【0160】図28は、第3の実施形態において、配線
設計ソフトウェア3(図2)が迂回等の冗長(不正)な
配線を検出する処理(S140)を示すフローチャート
である。図28に示すように、ステップ142(S14
2)において、配線設計ソフトウェア3は、図3に示し
たS102〜S106の処理と同様に、デザイン情報の
読み込み、配線問題の作成、および、ボンディングパッ
ド・ピンのソース要素およびシンク要素への分類の各処
理を行なう。
設計ソフトウェア3(図2)が迂回等の冗長(不正)な
配線を検出する処理(S140)を示すフローチャート
である。図28に示すように、ステップ142(S14
2)において、配線設計ソフトウェア3は、図3に示し
たS102〜S106の処理と同様に、デザイン情報の
読み込み、配線問題の作成、および、ボンディングパッ
ド・ピンのソース要素およびシンク要素への分類の各処
理を行なう。
【0161】ステップ144(S144)において、配
線設計ソフトウェア3は、図3に示したS110の処理
と同様に、三角形分割処理を行なう。
線設計ソフトウェア3は、図3に示したS110の処理
と同様に、三角形分割処理を行なう。
【0162】ステップ200(S200)において、配
線設計ソフトウェア3は、図3に示したS200の処理
と同様に、レベリング処理を行なう。
線設計ソフトウェア3は、図3に示したS200の処理
と同様に、レベリング処理を行なう。
【0163】ステップ146(S146)およびステッ
プ148(S148)において、配線設計ソフトウェア
3は、迂回経路の発見処理を行なう。つまり、ステップ
146(S146)において、配線設計ソフトウェア3
は、配線の迂回を判定するために必要なデータを読み込
み、図3に示したS220,S240と同様な交差判定
処理および経路導出処理を行ない、ボンディングパッド
とピンとを接続する配線を設計する。
プ148(S148)において、配線設計ソフトウェア
3は、迂回経路の発見処理を行なう。つまり、ステップ
146(S146)において、配線設計ソフトウェア3
は、配線の迂回を判定するために必要なデータを読み込
み、図3に示したS220,S240と同様な交差判定
処理および経路導出処理を行ない、ボンディングパッド
とピンとを接続する配線を設計する。
【0164】また、ステップ148(S148)におい
て、配線設計ソフトウェア3は、設計した配線それぞれ
について、配線が接続しているピンのレベルLを調べ、
この配線が交差している分割辺A,Bそれぞれの両端
A,Bのレベルを調べる。配線が交差している分割辺の
両端の内、高い方のレベルmaxLが、配線が接続して
いるピンのレベルLよりも1つ以上大きい(maxL>
L+1)場合に、配線設計ソフトウェア3は、図23に
経路Aとして例示したように、この配線が迂回等の冗長
(不正)を生じている可能性が高いと判断し、これ以外
の場合には、図23に経路Bとして例示したように、冗
長が発生していないと判断する。
て、配線設計ソフトウェア3は、設計した配線それぞれ
について、配線が接続しているピンのレベルLを調べ、
この配線が交差している分割辺A,Bそれぞれの両端
A,Bのレベルを調べる。配線が交差している分割辺の
両端の内、高い方のレベルmaxLが、配線が接続して
いるピンのレベルLよりも1つ以上大きい(maxL>
L+1)場合に、配線設計ソフトウェア3は、図23に
経路Aとして例示したように、この配線が迂回等の冗長
(不正)を生じている可能性が高いと判断し、これ以外
の場合には、図23に経路Bとして例示したように、冗
長が発生していないと判断する。
【0165】なお、この処理は、配線設計ソフトウェア
3が、配線が交差している両端の内、低い方のレベルm
axLが、配線が接続しているピンのレベルL以上であ
る場合に、この配線が迂回等の冗長を生じている可能性
が高いと判断することと等価である。また、第1の実施
形態に示した交差判定処理においてのように、レベルm
axLがレベルLよりも(n+1)つ以上大きい(ma
xL>L+n+1)場合に、この配線に迂回等の冗長
(不正)が生じていると判断するように配線設計ソフト
ウェア3の処理を変更することも可能である。
3が、配線が交差している両端の内、低い方のレベルm
axLが、配線が接続しているピンのレベルL以上であ
る場合に、この配線が迂回等の冗長を生じている可能性
が高いと判断することと等価である。また、第1の実施
形態に示した交差判定処理においてのように、レベルm
axLがレベルLよりも(n+1)つ以上大きい(ma
xL>L+n+1)場合に、この配線に迂回等の冗長
(不正)が生じていると判断するように配線設計ソフト
ウェア3の処理を変更することも可能である。
【0166】S146およびS148の処理をさらに説
明する。図29は、図28に示した迂回経路の発見処理
(S146,S148;S280)を示すフローチャー
トである。配線設計ソフトウェア3は、図29に示す処
理を全ての配線について繰り返して迂回経路を発見す
る。
明する。図29は、図28に示した迂回経路の発見処理
(S146,S148;S280)を示すフローチャー
トである。配線設計ソフトウェア3は、図29に示す処
理を全ての配線について繰り返して迂回経路を発見す
る。
【0167】図29に示すように、ステップ282(S
282)において、配線設計ソフトウェア3は、図3に
示したS220,S240と同様な交差判定処理および
経路導出処理を行ない、ボンディングパッドとピンとを
接続する配線を設計し、設計した経路のいずれか1つ
(配線R)を取り出して迂回発見処理の対象とする。
282)において、配線設計ソフトウェア3は、図3に
示したS220,S240と同様な交差判定処理および
経路導出処理を行ない、ボンディングパッドとピンとを
接続する配線を設計し、設計した経路のいずれか1つ
(配線R)を取り出して迂回発見処理の対象とする。
【0168】ステップ284(S284)において、配
線設計ソフトウェア3は、取り出した配線Rが接続する
ピンPのレベルの値Lを取り出す。
線設計ソフトウェア3は、取り出した配線Rが接続する
ピンPのレベルの値Lを取り出す。
【0169】ステップ286(S286)において、配
線設計ソフトウェア3は、配線Rをたどる調査点Tを、
配線Rの始点(ボンディングパッド)に設定する。
線設計ソフトウェア3は、配線Rをたどる調査点Tを、
配線Rの始点(ボンディングパッド)に設定する。
【0170】ステップ288(S288)において、配
線設計ソフトウェア3は、調査点Tを通る分割辺の両端
の内、レベルが高い一方のレベル(調査点Tがボンディ
ングパッドまたはピン上である場合には、ボンディング
パッド(=レベル0)またはピンのレベル)の値を取り
出し、S284の処理において取り出されたレベル値L
と比較する。配線設計ソフトウェア3は、調査するTが
交差する分割辺の高い方の端点のレベル(Level(T))が、
配線Pが接続するピンPのレベル(Level(P))よりも、1
以上、高い場合にはS290の処理に進み、これ以外の
場合にはS292の処理に進む。
線設計ソフトウェア3は、調査点Tを通る分割辺の両端
の内、レベルが高い一方のレベル(調査点Tがボンディ
ングパッドまたはピン上である場合には、ボンディング
パッド(=レベル0)またはピンのレベル)の値を取り
出し、S284の処理において取り出されたレベル値L
と比較する。配線設計ソフトウェア3は、調査するTが
交差する分割辺の高い方の端点のレベル(Level(T))が、
配線Pが接続するピンPのレベル(Level(P))よりも、1
以上、高い場合にはS290の処理に進み、これ以外の
場合にはS292の処理に進む。
【0171】ステップ290(S290)において、配
線設計ソフトウェア3は、配線Rに迂回等の冗長(不
正)が発生している可能性があると判断し、次の配線に
ついての迂回発見処理に進む。
線設計ソフトウェア3は、配線Rに迂回等の冗長(不
正)が発生している可能性があると判断し、次の配線に
ついての迂回発見処理に進む。
【0172】ステップ292(S292)において、配
線設計ソフトウェア3は、調査点Tを、配線RをピンP
側にたどった次の分割辺との交点(またはピンP)に進
める。
線設計ソフトウェア3は、調査点Tを、配線RをピンP
側にたどった次の分割辺との交点(またはピンP)に進
める。
【0173】ステップ294(S294)において、配
線設計ソフトウェア3は、調査点TがピンPに達したか
否かを判断し、調査点TがピンPに達した場合にはS2
96の処理に進み、達していない場合にはS228の処
理に進む。
線設計ソフトウェア3は、調査点TがピンPに達したか
否かを判断し、調査点TがピンPに達した場合にはS2
96の処理に進み、達していない場合にはS228の処
理に進む。
【0174】ステップ296(S296)において、配
線設計ソフトウェア3は、経路Rに迂回等の冗長(不
正)がないと判断し、処理を終了する。
線設計ソフトウェア3は、経路Rに迂回等の冗長(不
正)がないと判断し、処理を終了する。
【0175】[第3の実施形態として示した方法の効果]
第3の実施形態において説明した本発明にかかる配線設
計方法によれば、配線の回り込みの検出を、ドローネの
三角形の分割辺およびレベルの概念を用いて行なうの
で、処理に要するデータ量を少なく抑えることができ、
また、回り込みの判定に座標を用いた複雑な計算が必要
ない。従って、処理時間がごく短くて済む。
第3の実施形態において説明した本発明にかかる配線設
計方法によれば、配線の回り込みの検出を、ドローネの
三角形の分割辺およびレベルの概念を用いて行なうの
で、処理に要するデータ量を少なく抑えることができ、
また、回り込みの判定に座標を用いた複雑な計算が必要
ない。従って、処理時間がごく短くて済む。
【0176】また、第3の実施形態として示した方法に
よると、配線の回り込みの検出を、レベル値に基づいて
行なうことができるので、どのようなデザイン情報に対
しても処理を行なうことができる(データ依存性がな
い)。
よると、配線の回り込みの検出を、レベル値に基づいて
行なうことができるので、どのようなデザイン情報に対
しても処理を行なうことができる(データ依存性がな
い)。
【0177】[第4実施形態]以下、本発明の第4の実施
形態を説明する。第4の実施形態においては、ドローネ
の三角形分割法を用いて迂回等の冗長を度合いを定量化
しながら、本発明にかかる配線設計方法、あるいは、ダ
イクストラ法・最短経路法等の既存の配線設計方法を利
用して配線を設計し、冗長がない配線結果を得る方法を
説明する。なお、以下、第4の実施形態においては、特
に断らない限り、既存の配線設計方法を用いて配線設計
を行なう場合について述べるが、既存の配線設計方法の
代わりに、ここまでに説明した本発明にかかる配線設計
方法を用いてもよいことはいうまでもない。
形態を説明する。第4の実施形態においては、ドローネ
の三角形分割法を用いて迂回等の冗長を度合いを定量化
しながら、本発明にかかる配線設計方法、あるいは、ダ
イクストラ法・最短経路法等の既存の配線設計方法を利
用して配線を設計し、冗長がない配線結果を得る方法を
説明する。なお、以下、第4の実施形態においては、特
に断らない限り、既存の配線設計方法を用いて配線設計
を行なう場合について述べるが、既存の配線設計方法の
代わりに、ここまでに説明した本発明にかかる配線設計
方法を用いてもよいことはいうまでもない。
【0178】図30は、第4の実施形態において、配線
設計ソフトウェア3(図2)が、配線に生じた迂回等の
冗長(不正)を定量化する処理(S150)を示すフロ
ーチャートである。図30に示すように、ステップ15
2(S152)において、配線設計ソフトウェア3は、
図3に示したS102〜S106の処理と同様に、デザ
イン情報の読み込みを行ない、配線情報を作成し、さら
に、作成した配線情報に基づいて、ボンディングパッド
・ピンのソース要素およびシンク要素への分類を行な
う。
設計ソフトウェア3(図2)が、配線に生じた迂回等の
冗長(不正)を定量化する処理(S150)を示すフロ
ーチャートである。図30に示すように、ステップ15
2(S152)において、配線設計ソフトウェア3は、
図3に示したS102〜S106の処理と同様に、デザ
イン情報の読み込みを行ない、配線情報を作成し、さら
に、作成した配線情報に基づいて、ボンディングパッド
・ピンのソース要素およびシンク要素への分類を行な
う。
【0179】ステップ154(S154)において、配
線設計ソフトウェア3は、「アルゴリズムC++(R.
セジウィック(Rbert Sedwick)著,近代科学社;文献
2)」("Algorithm in C++", 1990, Addison-Wesley C
ompany, Inc, MA, USA)において解説されているダイク
ストラ法等の既存の方法による配線設計に必要な情報、
つまり、いずれのボンディングパッドといずれのピンと
を接続するかを示す情報、半導体チップの形状および半
導体パッケージの配線面上の配線禁止領域等を示す情
報、配線経路の探索に用いる探索グラフ、および、その
他必要な情報を作成する。なお、S154の処理は、本
発明にかかる配線設計方法における配線問題の作成処理
(図3;S104)に対応する。
線設計ソフトウェア3は、「アルゴリズムC++(R.
セジウィック(Rbert Sedwick)著,近代科学社;文献
2)」("Algorithm in C++", 1990, Addison-Wesley C
ompany, Inc, MA, USA)において解説されているダイク
ストラ法等の既存の方法による配線設計に必要な情報、
つまり、いずれのボンディングパッドといずれのピンと
を接続するかを示す情報、半導体チップの形状および半
導体パッケージの配線面上の配線禁止領域等を示す情
報、配線経路の探索に用いる探索グラフ、および、その
他必要な情報を作成する。なお、S154の処理は、本
発明にかかる配線設計方法における配線問題の作成処理
(図3;S104)に対応する。
【0180】ステップ156(S156)において、S
154の処理において作成した配線問題に含まれるボン
ディングパッド(ソース要素)およびピン(シンク要
素)に対して、図3に示したS110の処理と同様に、
三角形分割処理を行なう。さらに配線設計ソフトウェア
3は、この三角形分割処理によって得た割辺それぞれ
を、両端のソース要素・シンク要素に対応付けて記憶す
る。
154の処理において作成した配線問題に含まれるボン
ディングパッド(ソース要素)およびピン(シンク要
素)に対して、図3に示したS110の処理と同様に、
三角形分割処理を行なう。さらに配線設計ソフトウェア
3は、この三角形分割処理によって得た割辺それぞれ
を、両端のソース要素・シンク要素に対応付けて記憶す
る。
【0181】ステップ200(S200)において、配
線設計ソフトウェア3は、図3に示したS200の処理
と同様に、レベリング処理を行ない、ソース要素および
シンク要素それぞれにレベルを設定する。
線設計ソフトウェア3は、図3に示したS200の処理
と同様に、レベリング処理を行ない、ソース要素および
シンク要素それぞれにレベルを設定する。
【0182】ステップ300(S300)において、配
線設計ソフトウェア3は、S154の処理において作成
した配線問題から、これから接続しようとするシンク要
素およびソース要素を1組、取り出し、取り出したシン
ク要素およびソース要素のレベル値を用いて、探索グラ
フを重み付け処理する。
線設計ソフトウェア3は、S154の処理において作成
した配線問題から、これから接続しようとするシンク要
素およびソース要素を1組、取り出し、取り出したシン
ク要素およびソース要素のレベル値を用いて、探索グラ
フを重み付け処理する。
【0183】重み付け処理を具体例を挙げて説明する。
例えば、S300における処理の対象として取り出した
シンク要素がレベル3である場合(ソース要素は常にレ
ベル0)、従って、第3の実施形態で説明したように、
探索グラフがレベル3以上のシンク要素を端点とする分
割辺と交差している場合には、この探索グラフに回り込
みが生じていると判定することができ、さらに、この探
索グラフがよりレベルが高いシンク要素を端点とする分
割辺と交差すればするほど、この回り込みの度合いが大
きいと判断することができる。従って、配線設計ソフト
ウェア3は、端点のシンク要素のレベルが高ければ高い
ほど、その分割辺の重み付け係数Wの値が大きくなるよ
うに、分割辺それぞれに、例えば下表に示す重み付け係
数Wを設定する。
例えば、S300における処理の対象として取り出した
シンク要素がレベル3である場合(ソース要素は常にレ
ベル0)、従って、第3の実施形態で説明したように、
探索グラフがレベル3以上のシンク要素を端点とする分
割辺と交差している場合には、この探索グラフに回り込
みが生じていると判定することができ、さらに、この探
索グラフがよりレベルが高いシンク要素を端点とする分
割辺と交差すればするほど、この回り込みの度合いが大
きいと判断することができる。従って、配線設計ソフト
ウェア3は、端点のシンク要素のレベルが高ければ高い
ほど、その分割辺の重み付け係数Wの値が大きくなるよ
うに、分割辺それぞれに、例えば下表に示す重み付け係
数Wを設定する。
【0184】
【表2】 (表2) 接続されるシンク要素がレベル3の場合に各分割辺に設定される 重み付け係数W(例) 分割辺のレベル:重み付け係数W =============== 1 : 1 2 : 2 3 : 4 4 : 8 5 : 16 6 : 32 ・ : ・ ・ : ・
【0185】さらに図31を参照し、表2に例示したよ
うに、レベルが一つ大きくなるごとに重み付け係数が2
倍になる場合を具体例として、重み付け処理を説明す
る。図31は、図30に示した重み付け処理(S30
0)を示すフローチャートである。なお、図31に示す
ように、ステップ302(S302)において、配線設
計ソフトウェア3は、ネット情報から、重み付け処理の
対象とするシンク要素のレベル値(N)を取り出す。
うに、レベルが一つ大きくなるごとに重み付け係数が2
倍になる場合を具体例として、重み付け処理を説明す
る。図31は、図30に示した重み付け処理(S30
0)を示すフローチャートである。なお、図31に示す
ように、ステップ302(S302)において、配線設
計ソフトウェア3は、ネット情報から、重み付け処理の
対象とするシンク要素のレベル値(N)を取り出す。
【0186】ステップ304(S304)において、配
線設計ソフトウェア3は、各分割辺の重み付け係数Wを
初期化(ゼロクリア)し、処理に用いる変数nにS30
2の処理において取り出したレベル値(N)を代入し、
さらに、変数wに重み付け係数W(例えば、表2に示し
た例においてはW=1)を代入する。
線設計ソフトウェア3は、各分割辺の重み付け係数Wを
初期化(ゼロクリア)し、処理に用いる変数nにS30
2の処理において取り出したレベル値(N)を代入し、
さらに、変数wに重み付け係数W(例えば、表2に示し
た例においてはW=1)を代入する。
【0187】ステップ306(S306)において、配
線設計ソフトウェア3は、2つのレベルnのシンク要素
を両端とする分割辺Eの重み付け係数W(E)を変数w
とする。
線設計ソフトウェア3は、2つのレベルnのシンク要素
を両端とする分割辺Eの重み付け係数W(E)を変数w
とする。
【0188】ステップ308(S308)において、配
線設計ソフトウェア3は、レベルnのシンク要素とレベ
ル(n+1)のシンク要素とを両端とする分割辺Eの重
み付け係数Wの値を変数wとする。
線設計ソフトウェア3は、レベルnのシンク要素とレベ
ル(n+1)のシンク要素とを両端とする分割辺Eの重
み付け係数Wの値を変数wとする。
【0189】ステップ310(S310)において、配
線設計ソフトウェア3は、変数nをインクリメントし、
変数wを2倍にする。
線設計ソフトウェア3は、変数nをインクリメントし、
変数wを2倍にする。
【0190】ステップ312(S312)において、配
線設計ソフトウェア3は、変数nの値が、シンク要素に
付された最大のレベルを示す数値MaxLevelより
大きいか否かを判断する。n>MaxLevelの場合
は、配線設計ソフトウェア3はS306の処理に戻り、
それ以外の場合には重み付け処理を終了し(S31
4)、S160(図30)の処理に進む。以上説明した
重み付け処理により、例えば、PGAパッケージの半導
体チップに近い側の分割辺には小さい重み付け係数Wを
付与し、外側の分割辺には大きい重み付け係数を付与す
ることができる。
線設計ソフトウェア3は、変数nの値が、シンク要素に
付された最大のレベルを示す数値MaxLevelより
大きいか否かを判断する。n>MaxLevelの場合
は、配線設計ソフトウェア3はS306の処理に戻り、
それ以外の場合には重み付け処理を終了し(S31
4)、S160(図30)の処理に進む。以上説明した
重み付け処理により、例えば、PGAパッケージの半導
体チップに近い側の分割辺には小さい重み付け係数Wを
付与し、外側の分割辺には大きい重み付け係数を付与す
ることができる。
【0191】再び図30を参照する。ステップ160
(S160)において、配線設計ソフトウェア3は、既
存の配線設計方法を利用して、配線設計処理を行なう。
なお、S300およびS160の処理は、全てのシンク
要素とソース要素とが接続されるまで、あるいは、いず
れかの配線に接続解がないことが判明するまで繰り返さ
れる。
(S160)において、配線設計ソフトウェア3は、既
存の配線設計方法を利用して、配線設計処理を行なう。
なお、S300およびS160の処理は、全てのシンク
要素とソース要素とが接続されるまで、あるいは、いず
れかの配線に接続解がないことが判明するまで繰り返さ
れる。
【0192】既存の配線設計方法が、接続しようとする
シンク要素とソース要素との間を、例えば、配線設計の
ために配線面上に仮想的に設定されるメッシュと配線と
の交点(節点)ごとに区切り、節点の間(区間)ごとに
部分経路を探索し、部分経路を接続して配線の経路を導
出する場合を具体例として、S160における配線設計
処理を説明する。
シンク要素とソース要素との間を、例えば、配線設計の
ために配線面上に仮想的に設定されるメッシュと配線と
の交点(節点)ごとに区切り、節点の間(区間)ごとに
部分経路を探索し、部分経路を接続して配線の経路を導
出する場合を具体例として、S160における配線設計
処理を説明する。
【0193】配線設計ソフトウェア3は、各区間で、そ
れまでの探索でソース要素との間の配線経路が探索され
た節点(最新の節点)と、最新の節点と接続しようとし
ている次の節点との間で、この区間の部分経路として用
いる可能性がある全ての部分経路(候補経路)を探索
し、候補経路それそれが分割辺と交差するか否かを判定
する。配線設計ソフトウェア3は、候補経路と分割辺と
が交差する場合には、交差する分割辺に設定された重み
付け係数Wと、候補経路の経路長とを乗算して評価値を
算出し、これらが交差しない場合には、候補経路の経路
長を、そのまま評価値とする。この処理の結果、処理の
対象となっているソース要素とシンク要素との間は、区
間ごとに1つ以上の候補経路を含む1つ以上の配線経路
を介して接続される。
れまでの探索でソース要素との間の配線経路が探索され
た節点(最新の節点)と、最新の節点と接続しようとし
ている次の節点との間で、この区間の部分経路として用
いる可能性がある全ての部分経路(候補経路)を探索
し、候補経路それそれが分割辺と交差するか否かを判定
する。配線設計ソフトウェア3は、候補経路と分割辺と
が交差する場合には、交差する分割辺に設定された重み
付け係数Wと、候補経路の経路長とを乗算して評価値を
算出し、これらが交差しない場合には、候補経路の経路
長を、そのまま評価値とする。この処理の結果、処理の
対象となっているソース要素とシンク要素との間は、区
間ごとに1つ以上の候補経路を含む1つ以上の配線経路
を介して接続される。
【0194】次に、配線設計ソフトウェア3は、探索さ
れた配線経路それぞれの区間ごとの評価値を累加算し、
累加算値が最も小さい配線経路を、処理の対象となって
いるソース要素とシンク要素とを接続する配線経路とし
て選択する。例えば、ある配線経路が2つの区間に分け
られ、それぞれm,n個の候補経路を含む場合には、m
×n個の配線経路の内、最も評価値の累加算値が小さく
なる1つの配線経路を、処理対象のソース要素とシンク
要素との間の配線経路として選択する。あるいは、この
ような場合に、配線設計ソフトウェア3は、第1,第2
の区間のm個,n個の候補経路の内、それぞれの区間に
おいて最も評価値が小さいいずれか1つを順次、選択
し、ソース要素からシンク要素に順次、配線を伸ばすよ
うに配線経路を探索してもよい。
れた配線経路それぞれの区間ごとの評価値を累加算し、
累加算値が最も小さい配線経路を、処理の対象となって
いるソース要素とシンク要素とを接続する配線経路とし
て選択する。例えば、ある配線経路が2つの区間に分け
られ、それぞれm,n個の候補経路を含む場合には、m
×n個の配線経路の内、最も評価値の累加算値が小さく
なる1つの配線経路を、処理対象のソース要素とシンク
要素との間の配線経路として選択する。あるいは、この
ような場合に、配線設計ソフトウェア3は、第1,第2
の区間のm個,n個の候補経路の内、それぞれの区間に
おいて最も評価値が小さいいずれか1つを順次、選択
し、ソース要素からシンク要素に順次、配線を伸ばすよ
うに配線経路を探索してもよい。
【0195】このように算出された評価値は、配線経路
が長くなればなるほど大きくなり、また、配線経路が短
くても迂回が生じれば大きくなるので、評価値を用いて
探索すると、各配線の長さと回り込みの度合いとの両方
を最適化した配線経路を得ることができる。
が長くなればなるほど大きくなり、また、配線経路が短
くても迂回が生じれば大きくなるので、評価値を用いて
探索すると、各配線の長さと回り込みの度合いとの両方
を最適化した配線経路を得ることができる。
【0196】[変形例]既存の探索アルゴリズムが使用す
る検索グラフに、レベリング処理を施したドローネの三
角形分割データ構造を組み合わせ、デザイン情報に合わ
せて分割辺の重み付け係数の値を変更可能にすると、配
線経路長および配線の迂回とを、さらに最適化すること
ができる。
る検索グラフに、レベリング処理を施したドローネの三
角形分割データ構造を組み合わせ、デザイン情報に合わ
せて分割辺の重み付け係数の値を変更可能にすると、配
線経路長および配線の迂回とを、さらに最適化すること
ができる。
【0197】また、第4の実施形態において述べた配線
経路の冗長の定量化方法は、配線設計中に部分経路の評
価に用いる他、既存の配線設計方法、あるいは、本発明
にかかる配線設計方法による配線設計結果に含まれる配
線の迂回を評価するためにも用いることができる。つま
り、既に完了した配線設計結果に含まれるシンク要素お
よびソース要素を三角形分割し(図30;S152)、
レベリングし(図30;S154)、分割辺を重み付け
し(図30,図31;図30)、配線設計結果に含まれ
る配線の配線経路それぞれの評価値の累加算値を求める
ことにより、既に完了した配線に迂回が発生しているか
否か、あるいは、いずれの配線に迂回が発生しているか
等の評価を行なうことができる。このような評価結果
は、デザイン情報の修正に反映することができるので、
ユーザによるデザイン情報の修正に大変、役に立つ。
経路の冗長の定量化方法は、配線設計中に部分経路の評
価に用いる他、既存の配線設計方法、あるいは、本発明
にかかる配線設計方法による配線設計結果に含まれる配
線の迂回を評価するためにも用いることができる。つま
り、既に完了した配線設計結果に含まれるシンク要素お
よびソース要素を三角形分割し(図30;S152)、
レベリングし(図30;S154)、分割辺を重み付け
し(図30,図31;図30)、配線設計結果に含まれ
る配線の配線経路それぞれの評価値の累加算値を求める
ことにより、既に完了した配線に迂回が発生しているか
否か、あるいは、いずれの配線に迂回が発生しているか
等の評価を行なうことができる。このような評価結果
は、デザイン情報の修正に反映することができるので、
ユーザによるデザイン情報の修正に大変、役に立つ。
【0198】また、配線設計ソフトウェア3が、配線設
計中に算出された評価値の累加算結果をクライアントコ
ンピュータ10に対して送信し、クライアントコンピュ
ータ10がユーザに刻々と累加算結果を表示するように
すると、配線設計中の早い時期に、ユーザは、作成した
デザイン情報が配線可能なものか、あるいは、良好な特
性を得られるものであるかを判定し、あるいは、デザイ
ン情報の修正に取りかかることができる。
計中に算出された評価値の累加算結果をクライアントコ
ンピュータ10に対して送信し、クライアントコンピュ
ータ10がユーザに刻々と累加算結果を表示するように
すると、配線設計中の早い時期に、ユーザは、作成した
デザイン情報が配線可能なものか、あるいは、良好な特
性を得られるものであるかを判定し、あるいは、デザイ
ン情報の修正に取りかかることができる。
【0199】[第4の実施形態として示した方法の効果]
第4の実施形態において説明した本発明にかかる配線設
計方法によれば、回り込みの検出、および、回り込みの
度合いを測定(定量化)を、ドローネの三角形の分割辺
およびレベルの概念を用いて行なうので、処理に要する
データ量を少なく抑えることができ、また、回り込みの
判定に座標を用いた複雑な計算が必要ない。従って、処
理時間がごく短くて済む。
第4の実施形態において説明した本発明にかかる配線設
計方法によれば、回り込みの検出、および、回り込みの
度合いを測定(定量化)を、ドローネの三角形の分割辺
およびレベルの概念を用いて行なうので、処理に要する
データ量を少なく抑えることができ、また、回り込みの
判定に座標を用いた複雑な計算が必要ない。従って、処
理時間がごく短くて済む。
【0200】また、第4の実施形態として示した方法に
よると、回り込みの検出および計量化処理を、レベル値
に基づいて行なうことができるので、どのようなデザイ
ン情報に対しても処理を行なうことができる(データ依
存性がない)。
よると、回り込みの検出および計量化処理を、レベル値
に基づいて行なうことができるので、どのようなデザイ
ン情報に対しても処理を行なうことができる(データ依
存性がない)。
【0201】また、肉眼で配線結果を評価し、配線の迂
回を検出しようとしても、人間が感覚で迂回を検出した
部分と、実際に迂回が生じている部分とは必ずしも一致
せず、また、却って配線解が得られなくなる等の不具合
が発生しやすい。一方、第4の実施形態に示した方法に
よると、配線設計結果の評価を正確に、しかも短時間で
行なうことができる。
回を検出しようとしても、人間が感覚で迂回を検出した
部分と、実際に迂回が生じている部分とは必ずしも一致
せず、また、却って配線解が得られなくなる等の不具合
が発生しやすい。一方、第4の実施形態に示した方法に
よると、配線設計結果の評価を正確に、しかも短時間で
行なうことができる。
【0202】[第5実施形態]以下、本発明の第5の実
施形態を説明する。図32は、局所的に集中した配線を
例示する図である。半導体装置の高集積化および高密度
化に伴い、狭い配線領域に対して、いかに多くの配線を
通すことができるかが重要な問題になっている。しかし
ながら、図32の右側に例示するように、配線が局所的
にピン間に集中していると、電気的特性上、悪影響が生
じるので、このような局所的な配線の集中の発生を避け
る必要がある。このような配線の集中を改善するための
修正作業は、従来、人手によって行なわれることが多か
ったが、高密度の配線を人手によって修正することは、
大変な労力が必要であり、しかも、作業者に多くのスト
レスをかける。
施形態を説明する。図32は、局所的に集中した配線を
例示する図である。半導体装置の高集積化および高密度
化に伴い、狭い配線領域に対して、いかに多くの配線を
通すことができるかが重要な問題になっている。しかし
ながら、図32の右側に例示するように、配線が局所的
にピン間に集中していると、電気的特性上、悪影響が生
じるので、このような局所的な配線の集中の発生を避け
る必要がある。このような配線の集中を改善するための
修正作業は、従来、人手によって行なわれることが多か
ったが、高密度の配線を人手によって修正することは、
大変な労力が必要であり、しかも、作業者に多くのスト
レスをかける。
【0203】第5の実施形態においては、図32の右側
に例示したような配線の局所的な集中を自動的に検出し
て修正し、配線が接続されないピンが存在する(100
%ネットアサインされていない)場合に、半導体パッケ
ージの配線面上の配線密度を、図32の左側に例示する
ような均一な配線に近づける工夫をした配線設計方法を
説明する。
に例示したような配線の局所的な集中を自動的に検出し
て修正し、配線が接続されないピンが存在する(100
%ネットアサインされていない)場合に、半導体パッケ
ージの配線面上の配線密度を、図32の左側に例示する
ような均一な配線に近づける工夫をした配線設計方法を
説明する。
【0204】図33は、第5の実施形態において、配線
設計ソフトウェア3が配線の集中を検出し、修正する処
理を示すフローチャートである。図33に示すように、
S162において、配線設計ソフトウェア3は、図3に
示したS102〜S108の処理と同様に、デザイン情
報の読み込み、配線問題の作成、ボンディングパッド・
ピンのソース要素およびソース要素への分類、ボンディ
ングパッドおよびピンへの識別番号の付与、ボンディン
グパッドの順番の並び替え、および、ソースリストデー
タの生成の各処理を行なう。
設計ソフトウェア3が配線の集中を検出し、修正する処
理を示すフローチャートである。図33に示すように、
S162において、配線設計ソフトウェア3は、図3に
示したS102〜S108の処理と同様に、デザイン情
報の読み込み、配線問題の作成、ボンディングパッド・
ピンのソース要素およびソース要素への分類、ボンディ
ングパッドおよびピンへの識別番号の付与、ボンディン
グパッドの順番の並び替え、および、ソースリストデー
タの生成の各処理を行なう。
【0205】ステップ164(S164)において、配
線設計ソフトウェア3は、図3に示したS110の処理
と同様に、三角形分割処理を行なう。
線設計ソフトウェア3は、図3に示したS110の処理
と同様に、三角形分割処理を行なう。
【0206】ステップ200(S200)において、配
線設計ソフトウェア3は、図3に示したようにレベリン
グ処理を行なう。
線設計ソフトウェア3は、図3に示したようにレベリン
グ処理を行なう。
【0207】ステップ168(S168)において、配
線設計ソフトウェア3は、図3に示したS220の処理
と同様に、交差判定を行なう。
線設計ソフトウェア3は、図3に示したS220の処理
と同様に、交差判定を行なう。
【0208】ステップ320(S320)およびステッ
プ360(S360)において、配線設計ソフトウェア
3は、全ての分割辺について局所的な配線の集中を検出
し、検出した配線の集中を緩和するための配線経路の修
正を行なう。なお、S320およびS360の処理は、
ドローネの三角形の分割辺を単位として行なわれ、いず
れの分割辺から処理を開始してもよい。
プ360(S360)において、配線設計ソフトウェア
3は、全ての分割辺について局所的な配線の集中を検出
し、検出した配線の集中を緩和するための配線経路の修
正を行なう。なお、S320およびS360の処理は、
ドローネの三角形の分割辺を単位として行なわれ、いず
れの分割辺から処理を開始してもよい。
【0209】しかしながら、例えば、PGAパッケージ
においては、半導体チップ側から見て、内周側のピンの
間の配線の密度は高く、外周側の配線の密度は低くなる
ので、一般に、内側の低レベルのピンの間を通る配線
を、外側の高レベルのピンの間に移動させることが多
い。従って、レベルが低いピンを両端とする分割辺から
順に、配線密度の緩和を行なった方が、処理が用意にな
る。このような理由から、第5の実施形態においては、
ボンディングパッドから近い分割辺から順に処理を進め
る場合を説明する。
においては、半導体チップ側から見て、内周側のピンの
間の配線の密度は高く、外周側の配線の密度は低くなる
ので、一般に、内側の低レベルのピンの間を通る配線
を、外側の高レベルのピンの間に移動させることが多
い。従って、レベルが低いピンを両端とする分割辺から
順に、配線密度の緩和を行なった方が、処理が用意にな
る。このような理由から、第5の実施形態においては、
ボンディングパッドから近い分割辺から順に処理を進め
る場合を説明する。
【0210】図34は、図33に示した配線の集中を検
出する処理(S320)を示すフローチャートである。
配線設計ソフトウェア3は、図34に示す各処理を全て
の分割辺に対して行なって、配線の集中を検出し、配線
密度の緩和が可能か否かを判断する。
出する処理(S320)を示すフローチャートである。
配線設計ソフトウェア3は、図34に示す各処理を全て
の分割辺に対して行なって、配線の集中を検出し、配線
密度の緩和が可能か否かを判断する。
【0211】ステップ322(S322)において、配
線設計ソフトウェア3は、ドローネの三角形の分割辺の
いずれか(分割辺E)を取り出す。
線設計ソフトウェア3は、ドローネの三角形の分割辺の
いずれか(分割辺E)を取り出す。
【0212】ステップ324(S324)において、配
線設計ソフトウェア3は、分割辺Eの長さ、分割辺Eを
通る配線それぞれの配線長、および、半導体パッケージ
のデザインルールに基づいて、分割辺Eを通りうる配線
の本数(配線容量)を算出する。なお、分割辺Eを通る
配線それぞれの配線長は、交差判定処理の結果に基づい
て、経路導出処理を応用することにより算出することが
できる。さらに、配線設計ソフトウェア3は、分割辺E
を通る配線の本数が、算出した配線容量以下であるか否
かを判断し、配線容量以下である場合にはS326の処
理に進み、配線容量より多い場合にはS328の処理に
進む。
線設計ソフトウェア3は、分割辺Eの長さ、分割辺Eを
通る配線それぞれの配線長、および、半導体パッケージ
のデザインルールに基づいて、分割辺Eを通りうる配線
の本数(配線容量)を算出する。なお、分割辺Eを通る
配線それぞれの配線長は、交差判定処理の結果に基づい
て、経路導出処理を応用することにより算出することが
できる。さらに、配線設計ソフトウェア3は、分割辺E
を通る配線の本数が、算出した配線容量以下であるか否
かを判断し、配線容量以下である場合にはS326の処
理に進み、配線容量より多い場合にはS328の処理に
進む。
【0213】ステップ326(S326)において、配
線設計ソフトウェア3は、分割辺Eを通る配線を修正し
なくとも問題ない(容量テストOK)と判断し、次の分
割辺に対する処理に進む。
線設計ソフトウェア3は、分割辺Eを通る配線を修正し
なくとも問題ない(容量テストOK)と判断し、次の分
割辺に対する処理に進む。
【0214】ステップ328(S328)において、配
線設計ソフトウェア3は、分割辺Eの両端のピンA,B
に配線が施されているか(ピンA,BがFIX状態であ
るか)、配線が施されていないか(ピンA,BがFRE
E状態であるか)を判断する。ピンA,Bのいずれもが
FIX状態である場合には、配線設計ソフトウェア3
は、S330の処理に進み、これ以外の場合にはS33
2の処理に進む。
線設計ソフトウェア3は、分割辺Eの両端のピンA,B
に配線が施されているか(ピンA,BがFIX状態であ
るか)、配線が施されていないか(ピンA,BがFRE
E状態であるか)を判断する。ピンA,Bのいずれもが
FIX状態である場合には、配線設計ソフトウェア3
は、S330の処理に進み、これ以外の場合にはS33
2の処理に進む。
【0215】ステップ330(S330)において、配
線設計ソフトウェア3は、分割辺Eを通る配線を変更で
きない(緩和不可能)と判断し、次の分割辺に対する処
理に進む。つまり、配線設計ソフトウェア3は、S32
8,S330の処理において、分割辺Eの両端の配線が
既に決定され、変更できない場合には、配線の修正が不
可能と判断する。
線設計ソフトウェア3は、分割辺Eを通る配線を変更で
きない(緩和不可能)と判断し、次の分割辺に対する処
理に進む。つまり、配線設計ソフトウェア3は、S32
8,S330の処理において、分割辺Eの両端の配線が
既に決定され、変更できない場合には、配線の修正が不
可能と判断する。
【0216】ステップ332(S332)において、配
線設計ソフトウェア3は、ピンAがFREE状態出ある
か否かを判断する。配線設計ソフトウェア3は、ピンA
がFREE状態である場合にはS334の処理に進み、
これ以外の場合にはS342の処理に進む。
線設計ソフトウェア3は、ピンAがFREE状態出ある
か否かを判断する。配線設計ソフトウェア3は、ピンA
がFREE状態である場合にはS334の処理に進み、
これ以外の場合にはS342の処理に進む。
【0217】ステップ334(S334)において、配
線設計ソフトウェア3は、分割辺EのピンAの最も近い
位置を通る配線Rを取り出す。
線設計ソフトウェア3は、分割辺EのピンAの最も近い
位置を通る配線Rを取り出す。
【0218】ステップ336(S336)において、配
線設計ソフトウェア3は、ピンAおよび配線Rを、関数
Funcに代入し、関数Func(E,A,R)の戻り
値を得る。なお、関数Funcの戻り値Statusの
値は、関数Funcが、配線Rを、分割辺E以外を通る
経路で不正なく、配線Rの両端のピンとボンディングパ
ッドの間を接続する配線R'で置換できた場合にGoo
dになる。また、関数Funcの内容は、図35を参照
して後述する。
線設計ソフトウェア3は、ピンAおよび配線Rを、関数
Funcに代入し、関数Func(E,A,R)の戻り
値を得る。なお、関数Funcの戻り値Statusの
値は、関数Funcが、配線Rを、分割辺E以外を通る
経路で不正なく、配線Rの両端のピンとボンディングパ
ッドの間を接続する配線R'で置換できた場合にGoo
dになる。また、関数Funcの内容は、図35を参照
して後述する。
【0219】ステップ338(S338)において、配
線設計ソフトウェア3は、関数Funcの戻り値Sta
tusがGoodである場合にはS340の処理に進
み、これ以外の場合にはS342の処理に進む。
線設計ソフトウェア3は、関数Funcの戻り値Sta
tusがGoodである場合にはS340の処理に進
み、これ以外の場合にはS342の処理に進む。
【0220】ステップ340(S340)において、配
線Rが除かれ、配線容量が変化したため、配線設計ソフ
トウェア3は、S324の処理と同様に、配線Rが除か
れた後の分割辺Eの配線容量を算出し、配線Rが除かれ
た後に分割辺Eに残っている配線の本数が、新たに算出
した配線容量以下である場合にはS326の処理に進
み、これ以外の場合にはS342の処理に進む。
線Rが除かれ、配線容量が変化したため、配線設計ソフ
トウェア3は、S324の処理と同様に、配線Rが除か
れた後の分割辺Eの配線容量を算出し、配線Rが除かれ
た後に分割辺Eに残っている配線の本数が、新たに算出
した配線容量以下である場合にはS326の処理に進
み、これ以外の場合にはS342の処理に進む。
【0221】ステップ342(S342)において、配
線設計ソフトウェア3は、ピンBがFREE状態である
か否かを判断し、ピンBがFREE状態である場合には
S344の処理に進み、これ以外の場合にはS330の
処理に進む。
線設計ソフトウェア3は、ピンBがFREE状態である
か否かを判断し、ピンBがFREE状態である場合には
S344の処理に進み、これ以外の場合にはS330の
処理に進む。
【0222】ステップ344(S344)において、配
線設計ソフトウェア3は、S324の処理と同様に、分
割辺Eの配線容量を算出し、分割辺Eを通る配線の本数
が、新たに算出した配線容量以下である場合にはS32
6の処理に進み、これ以外の場合にはS346の処理に
進む。
線設計ソフトウェア3は、S324の処理と同様に、分
割辺Eの配線容量を算出し、分割辺Eを通る配線の本数
が、新たに算出した配線容量以下である場合にはS32
6の処理に進み、これ以外の場合にはS346の処理に
進む。
【0223】ステップ346(S346)において、配
線設計ソフトウェア3は、分割辺EのピンBの最も近い
位置を通る配線Rを取り出し、処理の対象とする。
線設計ソフトウェア3は、分割辺EのピンBの最も近い
位置を通る配線Rを取り出し、処理の対象とする。
【0224】ステップ348(S348)において、配
線設計ソフトウェア3は、ピンBおよび配線Rを、関数
Funcに代入し、関数Func(E,B,R)の戻り
値を得る。なお、上述のように、関数Funcの内容
は、図35を参照して後述する。
線設計ソフトウェア3は、ピンBおよび配線Rを、関数
Funcに代入し、関数Func(E,B,R)の戻り
値を得る。なお、上述のように、関数Funcの内容
は、図35を参照して後述する。
【0225】ステップ350(S350)において、配
線設計ソフトウェア3は、関数Funcの戻り値Sta
tusがGoodである場合にはS352の処理に進
み、これ以外の場合にはS330の処理に進む。
線設計ソフトウェア3は、関数Funcの戻り値Sta
tusがGoodである場合にはS352の処理に進
み、これ以外の場合にはS330の処理に進む。
【0226】ステップ352(S340)において、配
線Rが除かれ、配線容量が変化したため、配線設計ソフ
トウェア3は、S324の処理と同様に、配線Rが除か
れた後の分割辺Eの配線容量を算出し、配線Rが除かれ
た後に分割辺Eに残っている配線の本数が、新たに算出
した配線容量以下である場合にはS326の処理に進
み、これ以外の場合にはS344の処理に進む。
線Rが除かれ、配線容量が変化したため、配線設計ソフ
トウェア3は、S324の処理と同様に、配線Rが除か
れた後の分割辺Eの配線容量を算出し、配線Rが除かれ
た後に分割辺Eに残っている配線の本数が、新たに算出
した配線容量以下である場合にはS326の処理に進
み、これ以外の場合にはS344の処理に進む。
【0227】図35は、図34に示した関数Funcの
処理内容を示すフローチャートである。図35に示すよ
うに、ステップ362(S362)において、配線設計
ソフトウェア3は、分割辺E、配線Rおよび端点P(ピ
ンA,Bのいずれか)をパラメータとして、関数Fun
cを呼び出す。
処理内容を示すフローチャートである。図35に示すよ
うに、ステップ362(S362)において、配線設計
ソフトウェア3は、分割辺E、配線Rおよび端点P(ピ
ンA,Bのいずれか)をパラメータとして、関数Fun
cを呼び出す。
【0228】ステップ364(S364)において、関
数Funcは、配線Rと同じピンとボンディングパッド
とを接続する配線R'の経路を導出する。関数Func
は、配線R'の経路を、ピンP(AまたはB)を一端と
する分割辺と配線Rとの2つの交点を通り、かつ、分割
辺Eと交差しないように導出し、配線設計ソフトウェア
3は、関数Funcが導出した配線R'が通る分割辺そ
れぞれに対して、配線R'を登録する。
数Funcは、配線Rと同じピンとボンディングパッド
とを接続する配線R'の経路を導出する。関数Func
は、配線R'の経路を、ピンP(AまたはB)を一端と
する分割辺と配線Rとの2つの交点を通り、かつ、分割
辺Eと交差しないように導出し、配線設計ソフトウェア
3は、関数Funcが導出した配線R'が通る分割辺そ
れぞれに対して、配線R'を登録する。
【0229】ステップ366(S366)において、関
数Funcは、ピンPを端点とする分割辺であって、未
だに配線Rに関する関数Funcの処理の対象となって
いない分割辺(未処理の分割辺)があるか否かを判断す
る。配線設計ソフトウェア3は、未処理の分割辺がない
場合にはS368の処理に進み、これ以外の場合にはS
370の処理に進む。
数Funcは、ピンPを端点とする分割辺であって、未
だに配線Rに関する関数Funcの処理の対象となって
いない分割辺(未処理の分割辺)があるか否かを判断す
る。配線設計ソフトウェア3は、未処理の分割辺がない
場合にはS368の処理に進み、これ以外の場合にはS
370の処理に進む。
【0230】ステップ368(S368)において、関
数Funcは、配線設計ソフトウェア3に対する戻り値
StatusをGOODとして、処理を終了する。
数Funcは、配線設計ソフトウェア3に対する戻り値
StatusをGOODとして、処理を終了する。
【0231】ステップ370(S370)において、関
数Funcは、ピンPを端点とする分割辺E以外の分割
辺の内、未処理のいずれか(分割辺C,但し、ピンP,
Dを両端点とする)を、順番に取り出して処理対象とす
る。
数Funcは、ピンPを端点とする分割辺E以外の分割
辺の内、未処理のいずれか(分割辺C,但し、ピンP,
Dを両端点とする)を、順番に取り出して処理対象とす
る。
【0232】ステップ372(S372)において、関
数Funcは、図34のS324の処理と同様に、分割
辺Cの配線容量を算出し、分割辺Cを通る配線の数が配
線容量以上であるか否かを判断する。関数Funcは、
分割辺Cを通る配線の数が配線容量以下である場合には
S366の処理に戻り、これ以外の場合にはS374の
処理に進む。
数Funcは、図34のS324の処理と同様に、分割
辺Cの配線容量を算出し、分割辺Cを通る配線の数が配
線容量以上であるか否かを判断する。関数Funcは、
分割辺Cを通る配線の数が配線容量以下である場合には
S366の処理に戻り、これ以外の場合にはS374の
処理に進む。
【0233】ステップ374(S374)において、関
数Funcは、分割辺CのピンP以外の端点(ピンD)
がFIX状態であるか否かを判断する。関数Func
は、ピンDがFIX状態である場合にはS376の処理
に進み、これ以外の場合(ピンDがFREEの場合)に
はS378の処理に進む。
数Funcは、分割辺CのピンP以外の端点(ピンD)
がFIX状態であるか否かを判断する。関数Func
は、ピンDがFIX状態である場合にはS376の処理
に進み、これ以外の場合(ピンDがFREEの場合)に
はS378の処理に進む。
【0234】ステップ378(S378)およびステッ
プ380(S380)において、関数Funcは、配線
R'を、分割辺Cの端点のピンDの最も近くを通る経路
をとる配線Oに変更する。さらに、関数Funcは、こ
の配線Oを取り出し、分割辺Cとともに関数Funcに
代入し、関数Func(C,D,O)を再帰的に呼び出
す。なお、このように、関数Funcを再起的に呼び出
すのは、配線Rと交差しなかった分割辺Cと、配線R'
が、配線経路の修正により交差するようになる場合が生
じたり、あるいは、その逆の場合が生じたりして、分割
辺Cに配線容量の変化が生じるので、関数Funcを再
帰的に呼び出して処理を行なう必要が生じるためであ
る。
プ380(S380)において、関数Funcは、配線
R'を、分割辺Cの端点のピンDの最も近くを通る経路
をとる配線Oに変更する。さらに、関数Funcは、こ
の配線Oを取り出し、分割辺Cとともに関数Funcに
代入し、関数Func(C,D,O)を再帰的に呼び出
す。なお、このように、関数Funcを再起的に呼び出
すのは、配線Rと交差しなかった分割辺Cと、配線R'
が、配線経路の修正により交差するようになる場合が生
じたり、あるいは、その逆の場合が生じたりして、分割
辺Cに配線容量の変化が生じるので、関数Funcを再
帰的に呼び出して処理を行なう必要が生じるためであ
る。
【0235】ステップ382(S382)において、関
数Funcは、S376の処理において呼び出した関数
Func(C,D,O)の戻り値Statusを判断
し、戻り値StatusがGoodである場合にはS3
74の処理に戻り、これ以外の場合にはS376の処理
に進む。
数Funcは、S376の処理において呼び出した関数
Func(C,D,O)の戻り値Statusを判断
し、戻り値StatusがGoodである場合にはS3
74の処理に戻り、これ以外の場合にはS376の処理
に進む。
【0236】ステップ376(S376)において、関
数Funcは、配線設計ソフトウェア3に対して戻り値
StatusをNGにして返し、処理を終了する。
数Funcは、配線設計ソフトウェア3に対して戻り値
StatusをNGにして返し、処理を終了する。
【0237】なお、配線設計ソフトウェア3は、分割辺
それぞれに対して、図34および図35に示した配線の
集中の検出および修正の処理を1つのパスとして処理を
複数回、繰り返して行ない、1つのパスを終了するたび
に、関数Funcにより戻り値Statusとして返さ
れたNGの数Countを計数する。
それぞれに対して、図34および図35に示した配線の
集中の検出および修正の処理を1つのパスとして処理を
複数回、繰り返して行ない、1つのパスを終了するたび
に、関数Funcにより戻り値Statusとして返さ
れたNGの数Countを計数する。
【0238】ある分割辺に対する配線の集中の検出およ
び修正の処理を1パス分、行なって得られたNG数Co
untが0になった場合には、配線設計ソフトウェア3
は、処理の対象となっている分割辺における配線の集中
が解消されたと判断し、他の分割辺に対する配線の集中
の検出および修正の処理を行なう。
び修正の処理を1パス分、行なって得られたNG数Co
untが0になった場合には、配線設計ソフトウェア3
は、処理の対象となっている分割辺における配線の集中
が解消されたと判断し、他の分割辺に対する配線の集中
の検出および修正の処理を行なう。
【0239】しかしながら、何パス分、配線の集中の検
出および修正の処理を行なっても、NG数Countが
0にならない場合がある。このような場合に対処するた
め、配線設計ソフトウェア3は、1パス分の配線の集中
の検出および修正の処理において得られたNG数Cou
ntそれぞれを記憶しておき、NG数がある定常状態で
推移するようになった時点で、この分割辺に対する処理
を終了し、他の分割辺に対する配線の集中の検出および
修正の処理を行なう。
出および修正の処理を行なっても、NG数Countが
0にならない場合がある。このような場合に対処するた
め、配線設計ソフトウェア3は、1パス分の配線の集中
の検出および修正の処理において得られたNG数Cou
ntそれぞれを記憶しておき、NG数がある定常状態で
推移するようになった時点で、この分割辺に対する処理
を終了し、他の分割辺に対する配線の集中の検出および
修正の処理を行なう。
【0240】以上述べたような処理により、配線が局所
的に集中しないように修正された配線を示すデータは、
クライアントコンピュータ10に伝送され、さらに、モ
ニタ装置102等に出力される。
的に集中しないように修正された配線を示すデータは、
クライアントコンピュータ10に伝送され、さらに、モ
ニタ装置102等に出力される。
【0241】[変形例]第5の実施形態として示した方
法において、例えば、各分割辺を通る配線数が、配線容
量の90%あるいは80%になるように閾値を変更する
ことができる。このように、閾値を小さくすると、配線
密度が低い半導体パッケージの配線の電気的特性をさら
に向上させることができる。
法において、例えば、各分割辺を通る配線数が、配線容
量の90%あるいは80%になるように閾値を変更する
ことができる。このように、閾値を小さくすると、配線
密度が低い半導体パッケージの配線の電気的特性をさら
に向上させることができる。
【0242】[第5の実施形態として示した方法の効
果]以上説明したように、第5の実施形態として示した
配線集中の検出および配線修正方法は、分割辺ごとに処
理を行なうので、従来の方法に比べて処理量が非常に少
なくて済み、短時間で配線を修正することができる。
果]以上説明したように、第5の実施形態として示した
配線集中の検出および配線修正方法は、分割辺ごとに処
理を行なうので、従来の方法に比べて処理量が非常に少
なくて済み、短時間で配線を修正することができる。
【0243】また、第5の実施形態として示した方法に
よれば、集中している配線の経路だけを修正することが
できるので、従来の方法のように、配線の集中が見つか
るたびに配線設計を最初からやり直す必要がない。従っ
て、配線設計がユーザにかける負担を大幅に減らすこと
ができる。
よれば、集中している配線の経路だけを修正することが
できるので、従来の方法のように、配線の集中が見つか
るたびに配線設計を最初からやり直す必要がない。従っ
て、配線設計がユーザにかける負担を大幅に減らすこと
ができる。
【0244】また、上述のように、配線が接続されない
ピンが存在する場合に限り、第5の実施形態として示し
た方法により、全ての配線を理想的な経路をとるように
修正することができる。但し、全てのピンに配線が接続
されている場合にも、迂回等を許せば、第5の実施形態
として示した方法により、密度緩和のための配線経路の
修正を行なうことができる。なお、配線の修正をしない
場合であっても、配線が集中している部分の有無を判定
することができるので、全てのピンに配線を接続する場
合にも、第5の実施形態として示した方法を応用するこ
とができる。
ピンが存在する場合に限り、第5の実施形態として示し
た方法により、全ての配線を理想的な経路をとるように
修正することができる。但し、全てのピンに配線が接続
されている場合にも、迂回等を許せば、第5の実施形態
として示した方法により、密度緩和のための配線経路の
修正を行なうことができる。なお、配線の修正をしない
場合であっても、配線が集中している部分の有無を判定
することができるので、全てのピンに配線を接続する場
合にも、第5の実施形態として示した方法を応用するこ
とができる。
【0245】
【発明の効果】以上説明したように、配線設計装置、配
線判定装置およびこれらの方法によれば、プリント基板
等の配線を行なう際に、配線が100%可能か(結線解
があるか)否かを、配線設計の全てが終了する以前に、
迅速に判定することができる。
線判定装置およびこれらの方法によれば、プリント基板
等の配線を行なう際に、配線が100%可能か(結線解
があるか)否かを、配線設計の全てが終了する以前に、
迅速に判定することができる。
【0246】また、配線設計装置、配線判定装置および
これらの方法によれば、特に、半導体パッケージの配線
等、特定の分野の配線設計を行なう場合に、経路が大き
く迂回していたり、ピンの周囲を回り込んだりしている
不正な配線を、配線設計の全てが終了する以前に、迅速
に、かつ、効率よく検出し、修正することができる。
これらの方法によれば、特に、半導体パッケージの配線
等、特定の分野の配線設計を行なう場合に、経路が大き
く迂回していたり、ピンの周囲を回り込んだりしている
不正な配線を、配線設計の全てが終了する以前に、迅速
に、かつ、効率よく検出し、修正することができる。
【0247】また、本発明にかかる配線設計装置、配線
判定装置およびこれらの方法によれば、配線設計の際
に、迅速に、かつ、効率的に結線解を得て、不正な配線
の検出・修正を行なうことができ、作業者の労力を大幅
に減らすことができる。
判定装置およびこれらの方法によれば、配線設計の際
に、迅速に、かつ、効率的に結線解を得て、不正な配線
の検出・修正を行なうことができ、作業者の労力を大幅
に減らすことができる。
【0248】また、配線設計装置、配線判定装置および
これらの方法によれば、配線設計にドローネの三角形分
割法を応用し、迅速に、かつ、効率的に最適な結線解を
得ることができる。
これらの方法によれば、配線設計にドローネの三角形分
割法を応用し、迅速に、かつ、効率的に最適な結線解を
得ることができる。
【図1】本発明が適応されるコンピュータネットワーク
の構成を例示する図である。
の構成を例示する図である。
【図2】図1に示したクライアントコンピュータとサー
バコンピュータとの間の機能分担を例示する図である。
バコンピュータとの間の機能分担を例示する図である。
【図3】第1の実施形態において、図2に示した配線設
計ソフトウェアの配線設計処理(S100)を示すフロ
ーチャートである。
計ソフトウェアの配線設計処理(S100)を示すフロ
ーチャートである。
【図4】図3に示した識別番号付与処理(S108)に
おける識別番号STATIC_IDの付与方法を示す第1の図で
ある。
おける識別番号STATIC_IDの付与方法を示す第1の図で
ある。
【図5】図3に示した識別番号付与処理(S108)に
おける識別番号STATIC_IDの付与方法を示す第2の図で
ある。
おける識別番号STATIC_IDの付与方法を示す第2の図で
ある。
【図6】図3に示した識別番号付与処理(S108)に
おける識別番号STATIC_IDの付与方法を示す第3の図で
ある。
おける識別番号STATIC_IDの付与方法を示す第3の図で
ある。
【図7】図3に示した三角形分割処理(S110)によ
って得られたドローネの三角形を例示する図である。
って得られたドローネの三角形を例示する図である。
【図8】図3に示したレベリング処理(S200)を示
すフローチャートである。
すフローチャートである。
【図9】図7に示したように配置されたピン(シンク要
素)それぞれをレベル分類した場合の各ピンのレベルを
示す図表である。
素)それぞれをレベル分類した場合の各ピンのレベルを
示す図表である。
【図10】図3に示した交差判定処理(S220の処理
の一部)を示すフローチャートである。
の一部)を示すフローチャートである。
【図11】図7に示したドローネの三角形の分割辺と、
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
1の図である。
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
1の図である。
【図12】図7に示したドローネの三角形の分割辺と、
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
2の図である。
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
2の図である。
【図13】図7に示したドローネの三角形の分割辺と、
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
3の図である。
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
3の図である。
【図14】図7に示したドローネの三角形の分割辺と、
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
4の図である。
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
4の図である。
【図15】図7に示したドローネの三角形の分割辺と、
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
5の図である。
ピン0〜8それぞれとボンディングパッド0〜8それぞ
れとを接続する配線0〜8との交差の判定処理を示す第
5の図である。
【図16】冗長な配線経路を生じるピン配置を例示する
図である。
図である。
【図17】図16に示したピン配置に対してレベリング
処理を行なった場合に得られるシンクリストデータを示
す図表である。
処理を行なった場合に得られるシンクリストデータを示
す図表である。
【図18】図3に示した経路導出処理(S220)を例
示する第1の図である。
示する第1の図である。
【図19】図3に示した経路導出処理(S220)を例
示する第2の図である。
示する第2の図である。
【図20】図3に示した経路導出処理(S240)を示
すフローチャートである。
すフローチャートである。
【図21】本発明にかかる配線設計方法による三角形分
割およびレベル分け処理を例示する図である。
割およびレベル分け処理を例示する図である。
【図22】本発明にかかる配線設計方法による交差判定
および経路導出処理を例示する図である。
および経路導出処理を例示する図である。
【図23】冗長(不正)な配線および正常な配線を例示
する図である。
する図である。
【図24】本発明にかかる配線設計方法により設計され
た配線を例示する図である。
た配線を例示する図である。
【図25】半導体パッケージのピンのリエントラント部
分を例示する図である。
分を例示する図である。
【図26】半導体パッケージのピンのリエントラント部
分を例示する図である。
分を例示する図である。
【図27】図3に示した属性分け処理(S260)を示
すフローチャートである。
すフローチャートである。
【図28】第3の実施形態において、配線設計ソフトウ
ェア(図2)が迂回等の冗長(不正)な配線を検出する
処理(S140)を示すフローチャートである。
ェア(図2)が迂回等の冗長(不正)な配線を検出する
処理(S140)を示すフローチャートである。
【図29】図28に示した迂回経路の発見処理(S14
6,S148;S280)を示すフローチャートであ
る。
6,S148;S280)を示すフローチャートであ
る。
【図30】第4の実施形態において、配線設計ソフトウ
ェア(図2)が、配線に生じた迂回等の冗長(不正)を
定量化する処理(S150)を示すフローチャートであ
る。
ェア(図2)が、配線に生じた迂回等の冗長(不正)を
定量化する処理(S150)を示すフローチャートであ
る。
【図31】図30に示した重み付け処理(S300)を
示すフローチャートである。
示すフローチャートである。
【図32】局所的に集中した配線を例示する図である。
【図33】第5の実施形態において、配線設計ソフトウ
ェアが配線の集中を検出し、修正する処理を示すフロー
チャートである。
ェアが配線の集中を検出し、修正する処理を示すフロー
チャートである。
【図34】図33に示した配線の集中を検出する処理
(S320)を示すフローチャートである。
(S320)を示すフローチャートである。
【図35】図34に示した関数Funcの処理内容を示
すフローチャートである。
すフローチャートである。
1・・・コンピュータネットワーク 10・・・クライアントコンピュータ 100・・・コンピュータ本体 102・・・ディスプレイ装置 104・・・入力装置 106・・・キーボード 108・・・マウス 110・・・出力装置 112・・・記憶装置 114・・・通信装置 120・・・CADソフトウェア 18・・・通信回線 20・・・サーバコンピュータ 200・・・コンピュータ本体 202・・・記憶装置 204・・・通信装置 3・・・配線設計ソフトウェア
フロントページの続き (56)参考文献 特開 平5−174099(JP,A) 特開 平4−165472(JP,A) 特開 昭63−276177(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 H01L 21/82
Claims (20)
- 【請求項1】1つの面上に設けられた複数の点[シンク
(sink)要素]のいずれかと、前記面上に設けられたシン
ク要素以外の複数の点[ソース(source)要素]のいずれ
かとの間を、前記面上を通る経路で接続する配線を設計
する配線設計装置であって、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成手段と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類手段
と、 シンク要素のいずれかと、この点に対応するソース要素
のいずれかとの間をそれぞれ接続する複数の配線の経路
を、これらの配線それぞれが、作成した前記三角形の
内、配線が通過する三角形に頂点として含まれるシンク
要素のレベルが最低になるように設計する配線設計手段
とを有する配線設計装置。 - 【請求項2】前記配線設計手段は、 レベル(K+n)以下(nは整数)のシンク要素のみを
端点とする前記三角形の辺を、レベルK以上のシンク要
素それぞれと、これらのシンク要素それぞれに対応する
ソース要素それぞれとを接続する1つ以上の配線(配線
M)それぞれが交差する辺と判定する交差判定手段と、 同じ前記三角形それぞれに含まれ、前記配線Mそれぞれ
が交差すると判定された2つの辺の間を順次、接続し、
前記配線Mそれぞれの経路を導出する経路導出手段とを
有する請求項1に記載の配線設計装置。 - 【請求項3】前記ソース要素は、半導体パッケージに置
かれた半導体チップのボンディングパッドであり、前記
シンク要素は、前記半導体パッケージに、前記半導体チ
ップを囲むように設けられた端子であり、 前記面は、前記端子それぞれと前記ボンディングパッド
それぞれとを接続する配線が設けられる前記半導体パッ
ケージの配線面であって、 前記三角形作成手段は、ドローネの三角形分割により、
前記ボンディングパッドおよび前記端子を頂点とする複
数の仮想的な前記三角形を、前記半導体チップの配線面
上に作成し、 レベル分類手段は、作成した前記三角形の内、前記ボン
ディングパッドのいずれか頂点とする前記三角形に頂点
として含まれる前記端子をレベル1に分類し、レベルK
の前記端子のいずれかを頂点とする三角形の他の頂点の
内、レベルK,(K−1)以外の前記端子をレベル(K
+1)に分類し、 前記配線設計手段において、 前記交差判定手段は、レベル(K+n)以下の前記端子
のみを端点とする前記三角形の辺を、レベルK以上の前
記端子それぞれと、これらの端子それぞれに対応する前
記ボンディングパッドそれぞれとを接続する1つ以上の
配線(配線M)それぞれが交差する辺と判定し、 前記経路導出手段は、同じ前記三角形それぞれに含ま
れ、前記配線Mそれぞれが交差すると判定された2辺の
間を順次、接続し、前記配線Mそれぞれの経路を導出す
る請求項2に記載の配線設計装置。 - 【請求項4】前記配線設計手段は、 少なくともシンク要素それぞれに識別番号を付与する識
別番号付与手段をさらに有し、 前記配線設計手段において、 前記交差判定手段は、前記三角形の辺それぞれに、この
辺の両端のシンク要素の識別番号の間の数を識別番号と
して付与されたシンク要素(点M')それぞれと、これ
らの前記点M'それぞれと対応するソース要素それぞれ
との間を接続する配線(配線M')が交差すると判定
し、 前記経路導出手段は、前記三角形の辺それぞれと交差す
ると判定された配線M'それぞれの経路を導出する請求
項2に記載の配線設計装置。 - 【請求項5】最初の方の前記識別番号が付与されたシン
ク要素の1つ以上と(点N)、最後の方の前記識別番号
が付与されたシンク要素の1つ以上(点N')とは、同
じ前記三角形に頂点として含まれ、 前記点N'以外であって、最初の前記識別番号からつな
がる前記識別番号が付与されたシンク要素であって、前
記点Nの全てを含む最初のグループと、前記最初のグル
ープに含まれるシンク要素以外、かつ、前記点N以外で
あって、最後の前記識別番号からつながる前記識別番号
が付与されたシンク要素であって、前記点N'の全てを
含む最後のグループとを、シンク要素から分けるグルー
プ分け手段を有し、 前記配線設計手段において、 前記交差判定手段は、前記最初のグループのシンク要素
と前記最後のグループのシンク要素とが前記三角形の辺
の両端となる場合には、これらの辺それぞれの一端の前
記最後のグループのシンク要素の識別番号より大きい
数、および、前記最初のグループのシンク要素の識別番
号より小さい数を識別番号として付与されたシンク要素
それぞれと、これらのシンク要素それぞれと対応するソ
ース要素それぞれとの間を接続する配線M'が交差する
と判定し、 前記経路導出手段は、前記最初のグループのシンク要素
と前記最後のグループのシンク要素とを両端とする前記
三角形の辺それぞれと交差すると判定した配線M'それ
ぞれの経路を導出する請求項4に記載の配線設計装置。 - 【請求項6】前記三角形の辺を交差する前記配線M'の
数が、所定の配線容量以上である場合に、この辺を交差
する前記配線M'のいずれかの経路を、他の前記三角形
の辺を通るように変更する経路変更手段をさらに有する
請求項5に記載の配線設計装置。 - 【請求項7】1つの面上に設けられた複数の点[シンク
(sink)要素]のいずれかと、前記面上に設けられたシン
ク要素以外の複数の点[ソース(source)要素]のいずれ
かとの間を、前記面上を通る経路で接続する配線を設計
する配線設計装置であって、前記配線は所定の部分経路
を含む配線経路を通り、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成手段と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類手段
と、 前記三角形の辺それぞれに、端点の前記レベルが大きく
なればなるほど大きい値をとる重み付け係数を設定する
重み付け係数設定手段と、 前記配線の配線経路それぞれに含まれる前記部分経路そ
れぞれの長さと、前記部分経路それぞれと交差する前記
三角形の辺それぞれに設定された重み付け係数との乗算
値の累加算が最小になるように、前記部分経路を選択す
る部分経路選択手段とを有する配線設計装置。 - 【請求項8】1つの面上に設けられた複数の点[シンク
(sink)要素]のいずれかと、前記面上に設けられたシン
ク要素以外の複数の点[ソース(source)要素]のいずれ
かとの間を、前記面上を通る経路で接続する配線の正当
性を判定する配線判定装置であって、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成手段と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類手段
と、 レベルKのシンク要素とソース要素とを接続する配線の
経路が、レベル(K+n)以下(nは整数)のシンク要
素のみを両端とする前記三角形の辺のみと交差する場合
に、この配線が正しいと判定し、レベルKのシンク要素
とソース要素とを接続する配線が、レベルK以上のシン
ク要素のみを両端とする前記三角形の辺と交差する場合
に、この配線が正しくないと判定する配線判定手段とを
有する配線判定装置。 - 【請求項9】1つの面上に設けられた複数の点[シンク
(sink)要素]のいずれかと、前記面上に設けられたシン
ク要素以外の複数の点[ソース(source)要素]のいずれ
かとの間を、前記面上を通る経路で接続する配線の正当
性を判定する配線判定装置であって、前記配線は所定の
部分経路を含む配線経路を通り、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成手段と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類手段
と、 前記三角形の辺それぞれに、端点の前記レベルが大きく
なればなるほど大きい値をとる重み付け係数を設定する
重み付け係数設定手段と、 前記配線の配線経路それぞれに含まれる前記部分経路そ
れぞれの長さと、前記部分経路それぞれと交差する前記
三角形の辺それぞれに設定された重み付け係数との乗算
値を累加算し、前記配線の配線経路それぞれの正当性を
判定する配線判定手段とを有する配線判定装置。 - 【請求項10】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線を設
計する配線設計方法であって、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成し、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類し、 シンク要素のいずれかと、この点に対応するソース要素
のいずれかとの間をそれぞれ接続する複数の配線の経路
を、これらの配線それぞれが、作成した前記三角形の
内、配線が通過する三角形に頂点として含まれるシンク
要素のレベルが最低になるように設計する配線設計方
法。 - 【請求項11】レベル(K+n)以下(nは整数)のシ
ンク要素のみを端点とする前記三角形の辺を、レベルK
以上のシンク要素それぞれと、これらのシンク要素それ
ぞれに対応するソース要素それぞれとを接続する1つ以
上の配線(配線M)それぞれが交差する辺と判定し、 同じ前記三角形それぞれに含まれ、前記配線Mそれぞれ
が交差すると判定された2つの辺の間を順次、接続し、
前記配線Mそれぞれの経路を導出する請求項10に記載
の配線設計方法。 - 【請求項12】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定方法であって、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成し、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類し、 レベルKのシンク要素とソース要素とを接続する配線の
経路が、レベル(K+n)以下(nは整数)のシンク要
素のみを両端とする前記三角形の辺のみと交差する場合
に、この配線が正しいと判定し、レベルKのシンク要素
とソース要素とを接続する配線が、レベルK以上のシン
ク要素のみを両端とする前記三角形の辺と交差する場合
に、この配線が正しくないと判定する配線判定方法。 - 【請求項13】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線を設
計する配線設計装置において、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成ステップ
と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類ステッ
プと、 シンク要素のいずれかと、この点に対応するソース要素
のいずれかとの間をそれぞれ接続する複数の配線の経路
を、これらの配線それぞれが、作成した前記三角形の
内、配線が通過する三角形に頂点として含まれるシンク
要素のレベルが最低になるように設計する配線設計ステ
ップとをコンピュータに実行させるプログラムを記録し
たコンピュータにより読み取り可能な記録媒体。 - 【請求項14】前記配線設計ステップは、 レベル(K+n)以下(nは整数)のシンク要素のみを
端点とする前記三角形の辺を、レベルK以上のシンク要
素それぞれと、これらのシンク要素それぞれに対応する
ソース要素それぞれとを接続する1つ以上の配線(配線
M)それぞれが交差する辺と判定する交差判定処理と、 同じ前記三角形それぞれに含まれ、前記配線Mそれぞれ
が交差すると判定された2つの辺の間を順次、接続し、
前記配線Mそれぞれの経路を導出する経路導出処理とを
含む請求項13に記載の記録媒体。 - 【請求項15】前記配線設計ステップは、 少なくともシンク要素それぞれに識別番号を付与する識
別番号付与処理をさらに含み前記配線設ステップにおい
て、 前記交差判定処理は、前記三角形の辺それぞれに、この
辺の両端のシンク要素の識別番号の間の数を識別番号と
して付与されたシンク要素(点M')それぞれと、これ
らの前記点M'それぞれと対応するソース要素それぞれ
との間を接続する配線(配線M')が交差すると判定
し、 前記経路導出処理は、前記三角形の辺それぞれと交差す
ると判定された配線M'それぞれの経路を導出する請求
項14に記載の記録媒体。 - 【請求項16】最初の方の前記識別番号が付与されたシ
ンク要素の1つ以上と(点N)、最後の方の前記識別番
号が付与されたシンク要素の1つ以上(点N')とは、
同じ前記三角形に頂点として含まれ、 前記点N'以外であって、最初の前記識別番号からつな
がる前記識別番号が付与されたシンク要素であって、前
記点Nの全てを含む最初のグループと、前記最初のグル
ープに含まれるシンク要素以外、かつ、前記点N以外で
あって、最後の前記識別番号からつながる前記識別番号
が付与されたシンク要素であって、前記点N'の全てを
含む最後のグループとを、シンク要素から分けるグルー
プ分けステップをさらに記憶し、 前記配線設計ステップにおいて、 前記交差判定処理は、前記最初のグループのシンク要素
と前記最後のグループのシンク要素とが前記三角形の辺
の両端となる場合には、これらの辺それぞれの一端の前
記最後のグループのシンク要素の識別番号より大きい
数、および、前記最初のグループのシンク要素の識別番
号より小さい数を識別番号として付与されたシンク要素
それぞれと、これらのシンク要素それぞれと対応するソ
ース要素それぞれとの間を接続する配線M'が交差する
と判定し、 前記経路導出処理は、前記最初のグループのシンク要素
と前記最後のグループのシンク要素とを両端とする前記
三角形の辺それぞれと交差すると判定した配線M'それ
ぞれの経路を導出する請求項15に記載の記録媒体。 - 【請求項17】前記三角形の辺を交差する前記配線M'
の数が所定の配線容量以上である場合に、この辺を交差
する前記配線M'のいずれかの経路を、他の前記三角形
の辺を通るように変更する経路変更ステップをさらに記
録した請求項16に記載の記録媒体。 - 【請求項18】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線を設
計する配線設計装置において、前記配線は所定の部分経
路を含む配線経路を通り、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成ステップ
と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類ステッ
プと、 前記三角形の辺それぞれに、端点の前記レベルが大きく
なればなるほど大きい値をとる重み付け係数を設定する
重み付け係数設定ステップと、 前記配線の配線経路それぞれに含まれる前記部分経路そ
れぞれの長さと、前記部分経路それぞれと交差する前記
三角形の辺それぞれに設定された重み付け係数との乗算
値の累加算が最小になるように、前記部分経路を選択す
る部分経路選択ステップとをコンピュータに実行させる
プログラムを記録したコンピュータにより読み取り可能
な記録媒体。 - 【請求項19】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定装置において、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形ステップと、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類ステッ
プと、 レベルKのシンク要素とソース要素とを接続する配線の
経路が、レベル(K+n)以下(nは整数)のシンク要
素のみを両端とする前記三角形の辺のみと交差する場合
に、この配線が正しいと判定し、レベルKのシンク要素
とソース要素とを接続する配線が、レベルK以上のシン
ク要素のみを両端とする前記三角形の辺と交差する場合
に、この配線が正しくないと判定する配線判定ステップ
とをコンピュータに実行させるプログラムを記録したコ
ンピュータにより読み取り可能な記録媒体。 - 【請求項20】1つの面上に設けられた複数の点[シン
ク(sink)要素]のいずれかと、前記面上に設けられたシ
ンク要素以外の複数の点[ソース(source)要素]のいず
れかとの間を、前記面上を通る経路で接続する配線の正
当性を判定する配線判定装置において、前記配線は所定
の部分経路を含む配線経路を通り、 ドローネの三角形分割(Delaunay triangulation)法によ
り、シンク要素およびソース要素を頂点とする複数の仮
想的な三角形を前記面上に作成する三角形作成ステップ
と、 作成した前記三角形の内、それぞれソース要素のいずれ
かを頂点とする三角形に頂点として含まれるシンク要素
を最低のレベル(レベル1)に分類し、レベルK(K=
1以上の整数)のシンク要素のいずれかを頂点とする三
角形の他の頂点の内、レベルK,(K−1)以外のシン
ク要素をレベル(K+1)に分類するレベル分類ステッ
プと、 前記三角形の辺それぞれに、端点の前記レベルが大きく
なればなるほど大きい値をとる重み付け係数を設定する
重み付け係数設定ステップと、 前記配線の配線経路それぞれに含まれる前記部分経路そ
れぞれの長さと、前記部分経路それぞれと交差する前記
三角形の辺それぞれに設定された重み付け係数との乗算
値を累加算し、前記配線の配線経路それぞれの正当性を
判定する配線判定ステップとをコンピュータに実行させ
るプログラムを記録したコンピュータにより読み取り可
能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10077442A JP2938431B1 (ja) | 1998-01-23 | 1998-03-25 | 配線設計装置、配線判定装置およびこれらの方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-11229 | 1998-01-23 | ||
JP1122998 | 1998-01-23 | ||
JP10077442A JP2938431B1 (ja) | 1998-01-23 | 1998-03-25 | 配線設計装置、配線判定装置およびこれらの方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2938431B1 true JP2938431B1 (ja) | 1999-08-23 |
JPH11272716A JPH11272716A (ja) | 1999-10-08 |
Family
ID=26346646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10077442A Expired - Fee Related JP2938431B1 (ja) | 1998-01-23 | 1998-03-25 | 配線設計装置、配線判定装置およびこれらの方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2938431B1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002318807A (ja) | 2001-04-19 | 2002-10-31 | Matsushita Electric Ind Co Ltd | メタデータ作成装置およびメタデータ作成方法 |
JP4508947B2 (ja) * | 2005-05-30 | 2010-07-21 | Okiセミコンダクタ株式会社 | 半導体装置の自動設計方法および自動設計装置 |
US10791627B1 (en) | 2020-02-24 | 2020-09-29 | Panasonic Intellectual Property Management Co., Ltd. | Pad and printed board |
-
1998
- 1998-03-25 JP JP10077442A patent/JP2938431B1/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11272716A (ja) | 1999-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262577B2 (en) | Layout method and system for multi-patterning integrated circuits | |
US6966045B2 (en) | Method and computer program product for estimating wire loads | |
JP3004083B2 (ja) | 半導体装置及びその製造装置 | |
US20020170020A1 (en) | Method and system of modifying integrated circuit power rails | |
JPH01166261A (ja) | 半導体集積回路の設計方式 | |
CN113591430B (zh) | 检测版图布线线网违例的方法 | |
US20040250230A1 (en) | Wiring design method and system for electronic wiring boards | |
JPH11296560A (ja) | 配線設計装置およびその方法 | |
JP2938431B1 (ja) | 配線設計装置、配線判定装置およびこれらの方法 | |
WO2024037336A1 (zh) | 构建芯片pad图形的方法、系统、存储介质及电子设备 | |
US6971082B2 (en) | Method and apparatus for revising wiring of a circuit to prevent electro-migration | |
US7730442B2 (en) | Apparatus for designing circuit and method for designing circuit according to clearance required between wirings therein | |
CN115293097A (zh) | 一种集成电路版图布线中满足MinViaSpacing约束的布线方法 | |
CN115221835A (zh) | 一种芯片设计的物理验证方法及装置 | |
US20060138634A1 (en) | Method for determining the arrangement of contact surfaces on the active upper face of a semiconductor chip | |
US7797649B1 (en) | Method and system for implementing an analytical wirelength formulation | |
JP2021128712A (ja) | 情報処理装置及びプリント基板シミュレータ方法、及びプログラム | |
JP3229235B2 (ja) | 配線整形方法及び装置、禁止領域半径決定方法及び装置 | |
CN115310401B (zh) | 一种集成电路版图满足交叉对称模拟约束的布线方法 | |
US7278127B2 (en) | Overlapping shape design rule error prevention | |
US20040153987A1 (en) | Method and system for connecting computer-generated rectangles | |
US7107556B1 (en) | Method and system for implementing an analytical wirelength formulation for unavailability of routing directions | |
JP4071546B2 (ja) | 半導体装置の回路設計支援装置およびレイアウト変更方法 | |
JP2715931B2 (ja) | 半導体集積回路設計支援方法 | |
JP2914025B2 (ja) | Lsiの自動配置配線処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |