以下、添付の図面を参照しながら、本発明による情報処理装置の実施の形態の好適な一例を詳細に説明する。尚、本発明は、以下の説明及び実施例に限定されるものではなく、本発明の主旨の範囲において適宜変形、組み合わせが可能である。また、図面中の同一の構成には、適宜同一符号を用いて説明する。
図1は本実施形態にかかるプリント基板設計支援プログラムを含むコンピュータ装置の概略的構成を説明するための装置構成図である。図1において、中央処理装置(CPU)10は装置全体を制御する。主記憶装置11は読み出し専用記憶装置(ROM)やCPU10が計算処理時に一時的な読み書きを行う記憶装置(RAM)を含む。表示装置12はブラウン管や液晶ディスプレイなどである。入力装置13はマウスやキーボード等である。外部記憶装置14はハードディスク、フロッピー(登録商標)ディスク、CD、DVD、MD等の記録媒体へのデータの読み書きに利用される。出力装置15は表示装置12に出力された計算結果等を印刷するためのプリンタである。バス16はアドレスバス、データバス、制御バスなど情報を伝達する。プリント基板設計支援プログラム14aはコンピュータ装置内にインストールされた処理プログラムである。レイアウト情報14bはプリント基板に関わり、詳細は後述する。電気特性情報14cは電子部品に関わり、詳細は後述する。中央処理装置(CPU)10、主記憶装置11、表示装置12、入力装置13、外部記憶装置14及び出力装置15はそれぞれバス16を介して互いに接続されている。そして、CPU10の制御によりバス16を介して各装置間で制御情報やデータ情報など必要な情報の授受が出来るように構成されている。本実施形態に係る処理プログラム14a、レイアウト情報14bおよび電気特性情報14cは外部記憶装置15にあらかじめ記憶されている。
ここで、レイアウト情報とは、プリント基板の層構成、材料の特性に関する情報を含む。さらに、レイアウト情報は、プリント基板に実装される部品の位置座標や端子が接続される導電体部分の形状および大きさ等の部品情報、部品間配線の配線名および配線図形を構成する各点の位置座標等の配線情報を含む。
電気特性情報は、各ICの出力の立ち上がり時間、立ち下がり時間、閾値電圧、入力容量、入力抵抗、出力抵抗や抵抗の抵抗値、コンデンサの容量、抵抗値など、各部品の電気的な特性情報を含む。
図2は、本発明にかかるプリント基板設計支援プログラムの機能の関係の好適な一例を概略的に説明するための機能構成図である。図2において、入力部20は、ユーザが入力装置12を用いて入力したレイアウト情報14bおよび電気特性情報14cの読み出しや、処理プログラム14aの実行などの指示情報をコンピュータ装置内に入力する。また、処理プログラム14aなどの実行に使用される条件(以下、チェック条件)に関する情報をコンピュータ装置内に入力する。さらに、入力された情報をCPU10の制御により、必要に応じて処理あるいは制御して主記憶装置11に記憶する。
外部記憶情報抽出部21は、入力部20から処理プログラムの実行が入力されると、その入力に従ってCPU10からの制御命令により外部記憶装置14中に記憶された処理プログラム14aを抽出し、主記憶装置11内に格納する。また、入力部20からレイアウト情報読み出しまたは電気特性情報読み出しの指示が出されると、CPU10の制御により、外部記憶装置14内のレイアウト情報14bまたは電気特性情報14cを抽出し、主記憶装置11に格納する。
分岐状況チェック部22は3つの機能部分である、分岐配線経路探索部22a、信号反射点・合成点設定部22b、判定部22cを有する。
分岐配線経路探索部22aは、外部記憶情報抽出部21で抽出した電気特性情報14cからCPU10の制御によりドライバICの出力端子を特定する。そして、外部記憶情報抽出部21で抽出したレイアウト情報14bをもとに、ドライバICの出力端子からの配線分岐経路を探索し、主記憶装置11に記憶する。
信号反射点・合成点設定部22bは、CPU10の制御により、各配線分岐経路から未終端のレシーバICの入力端子を特定し、電気信号の反射点である信号反射点に設定する。そして、信号反射点を含む配線分岐経路上の他のレシーバICへと続く分岐位置のうち、ドライバICの出力端子からの配線距離が最も短い分岐位置を特定し、配線分岐経路上で信号が合成される信号合成点に設定する。ここで、信号反射点からの配線距離が最も長い分岐位置を信号合成点に設定しても同等である。その場合は、後述する判定部22cにおいて、信号反射点と信号合成点間の配線距離の最も短い組み合わせを特定すればよい。なお、信号反射点と信号合成点の組み合わせの特定は、各配線分岐経路に対して実行する。
判定部22cは、CPU10の制御により、信号反射点・合成点設定部22bで特定した組み合わせから信号反射点と信号合成点間の配線距離の最も長い組み合わせを特定し、最も長い組み合わせに特定した信号合成点と信号反射点の間の配線長を算出する。そして、CPU10の制御により、電気信号が最も長い組み合わせに特定した信号反射点と信号合成点を往復する時間(以下、往復時間)を算出する。さらに、主記憶装置11内の電気特性情報14cから信号反射経路上のドライバICの信号遷移時間(立ち上がり時間と立ち下がり時間のうち小さい時間)を取得し、該往復時間と比較する。そして、該往復時間が該信号遷移時間よりも大きくなった場合を「NG」、該往復時間が該信号遷移時間以下となった場合「OK」と判定し、判定情報を主記憶装置11に記憶する。
チェック結果出力部23は、CPU10の制御により、表示装置12に表示する、外部記憶装置14に記録する、または出力装置15を用いて出力するなどの方法で、主記憶装置11内の判定情報を出力し、警告としてユーザに報知する。
以下、本実施形態にかかるプリント基板設計支援プログラムの動作を、図3および図4のフローチャートと図5から図9までの図面を用いて詳細に説明する。
なお、図3および図4のフローチャートについて説明する。特に記載が無い限り、各フローチャートにおける各ステップは、CPU10によって処理・制御される。なお、図3および図4に示すステップAからステップEは、フローチャートの進行の矢印が図面を見難くするのを避けるために設けられたステップであり、同じ符号のステップの前後が接続されている。
ステップS300では、入力部20を介してプログラムの開始指示を受け付けると、外部記憶情報抽出部21で処理プログラム14aを外部記憶装置14から主記憶装置11へと転送して読み出し、処理プログラム14aを開始する。
ステップS301では、外部記憶情報抽出部21で外部記憶装置14内のレイアウト情報14bおよび電気特性情報14cを主記憶装置11へと転送する。
ステップS302では、入力部20を介してユーザからのチェック条件を受け付ける。ここでのチェック条件とは、ドライバICのレフデス(プリント基板上の部品を特定するために付される番号などの情報)であるとする。ドライバICのレフデスの入力方法としては、以下のような方法が考えられる。1つ目の方法は、チェック対象のプリント基板に実装されるすべてのICを特定できる情報(レフデスなど)をレイアウト情報14bから読み出して、表示装置12で入力画面に表示し、ユーザの選択によるユーザ指示のICのレフデスを取得する方法である。2つ目の方法は、回路図面またはプリント基板設計図面上でICを直接ユーザが選択して、選択されたICのレフデスを取得する方法である。3つ目の方法は、ユーザがドライバICを特定できる情報をファイルに予め記述したファイルを外部記憶装置14に記憶しておき、その情報をCPU10が外部記憶情報抽出部21で外部記憶装置14から主記憶装置11へと転送して読み出す方法である。上記の3つの方法はドライバICのレフデスを取得する手法の一部の例であり、ドライバICのレフデスを取得できれば、その他の方法を採用してもよい。
ステップS303では、ステップS302でチェック条件を取得した後、未チェックのチェック対象ドライバICがあるかどうか判定する。ここで、ステップS303で未チェックのチェック対象ドライバICがあると判定した場合、ステップS304へ進み、未チェックの対象ドライバICがないと判定した場合、処理プログラム14aを終了する。
ステップS304からステップS308までは、分岐配線経路探索部22aで実行される処理である。ステップS304では、ステップS303で未チェックのチェック対象ドライバICがあると判定した場合、未チェックのチェック対象のドライバICのうちの一つ(以下、IC−A)を選択する。
ステップS305では、主記憶装置11内の電気特性情報14cからIC−Aの出力端子を特定する。
ステップS306では、未チェックのIC−Aの出力端子があるかどうかを判定する。ここで、ステップS306で未チェックのIC−Aの出力端子があると判定した場合、ステップS307へ進み、未チェックのドライバICの出力端子がないと判定した場合、ステップS303へ戻る。
ステップS307では、ステップS306で未チェックのIC−Aの出力端子があると判定した場合、IC−Aの出力端子から一つ(以下、出力端子B)を選択する。
ステップS308では、主記憶装置11内のレイアウト情報14bを参照しながら、出力端子Bを始点とするすべての配線分岐経路を示す経路情報を取得する。ただし、取得する対象の配線分岐経路は信号配線に関わる経路のみであり、電源やグラウンドに接続される経路は取得対象としなくともよい。
次のステップS309からステップS315までは、信号反射点・合成点設定部22bで実行される処理である。ステップS309では、出力端子Bを始点とする配線分岐経路の経路情報をすべて取得すると、各配線分岐経路上のレシーバICの入力端子に終端処理が施されているか否かを判定し、主記憶装置11に各レシーバICの入力端子の終端処理判定情報を記憶する。ここでのレシーバICの特定方法としては、配線分岐経路上のドライバICとは異なるICをレシーバICとする方法を採用している。一方で、主記憶装置11内の電気特性情報14cから配線分岐経路上のICの端子が入力端子であるかどうかを判定することで、レシーバICを特定する処理としてもよい。また、各レシーバICの入力端子に対する終端処理の有無は、例えば、図5の(a)、(b)に示す終端部品の端子と該レシーバICの入力端子間の配線距離が一定の所定値よりも短いかどうかで判定することが可能である。図5はあくまでレシーバ側の終端処理の一例であり、その他の終端処理方法の場合も、一般に終端部品が使用されるので上記と同様の方法で判定することが可能である。また、配線方法が一筆書きなどでレシーバICの入力端子が配線から分岐していないような場合は、終端処理の有無判定の対象としなくてよい。
ステップS310では、ステップS309で各配線分岐経路上のレシーバICの入力端子が終端されているかどうかを判定し終えると、未終端のレシーバICの入力端子を信号反射点に設定する。
ステップS311では、設定されている信号反射点があるかどうかを判定する。ステップS311で信号反射点があると判定した場合、ステップS312へ進み、信号反射点がないと判定した場合、ステップS322へ進む。
ステップS312では、ステップS311で信号反射点があると判定した場合、信号合成点との組み合わせを設定していない信号反射点があるかどうかを判定する。ステップS312で信号反射点があると判定した場合、ステップS313へ進み、信号反射点がないと判定した場合、ステップS316へ進む。
ステップS313では、ステップS312で信号反射点があると判定した場合、信号反射点を1つ(以下、信号反射点C)選択する。
ステップS314では、信号反射点Cを含む配線分岐経路上の信号反射点Cに設定されたレシーバICの入力端子とは異なるレシーバICの入力端子へと接続される分岐位置(以下、分岐位置D)を特定する。
ステップS315では、分岐位置Dのうち、出力端子Bからの配線距離が最も短い分岐位置を信号合成点に設定する。ステップS315で信号合成点を設定すると、ステップS312へ戻る。ステップS312からステップS315までのループ処理を、ステップS312で信号合成点を設定していない信号反射点がなくなるまで実行する。ステップS312で信号合成点を設定していない信号合成点がないと判定すると、ステップS316へ進む。
以下、ステップS316からステップS322までの処理は、判定部22cで実行される処理である。ステップS316では、信号反射点と信号合成点の各組み合わせのうち、2点間の配線距離が最も長い組み合わせを特定する。
ステップS317では、特定した組み合わせの信号反射点から信号合成点までの配線距離(d)を取得する。
ステップS318では、主記憶装置11内のレイアウト情報14bと信号反射点と信号合成点の間の配線距離dから、信号が信号反射点と信号合成点の間を往復する際の往復伝播遅延時間(tp)を算出する。
ステップS319では、主記憶装置11内の電気特性情報14cから出力端子Bに出力される信号の立ち上がり時間と立ち下がり時間のうち、短い方(tc)を取得する。
ステップS320では、伝播遅延時間tpと信号の遷移時間tcを比較する。ステップS320でtp>tcの場合、ステップS321へ進み、tp≦tcの場合、ステップS322へ進む。
ステップS321では、チェック結果出力部23を介して、警告としてNG(不適切を示す)情報を出力する。
ステップS322では、チェック結果出力部23を介して、OK(適切を示す)情報を出力する。ただし、チェック対象の配線が非常に多い場合を考慮して、ステップS322の処理を実行しないことも可能である。ステップS321またはステップS322の処理を実行すると、ステップS306へ戻る。
ここで、ステップS318の計算において必要な信号の単位長さあたりの伝播遅延時間tplh[ns/m]は、次式で算出することができる。
上式内のεrは絶縁層の比誘電率であり、レイアウト情報14bに含まれている。なお、数1は伝播遅延時間の算出方法の一例であり、その他の計算方法により伝播遅延時間を算出しても実質的な実行処理は同様である。
以上が、本実施形態にかかるプリント基板設計支援プログラムのフローチャートの一例の詳細な説明である。次に、プリント基板設計支援プログラムの動作を図6から図9を用いて詳細に説明する。
図6は、プリント基板上におけるドライバICからレシーバICまでの配線接続状況の一例を示す模式図である。一般に、プリント基板は、複数の導電層を絶縁層を介して積層した多層構造となっており、積層したうちの最も外側の二つの層(以下、表層)に集積回路や受動部品などの部品が実装される。図6では、説明を簡潔に行うために、片側の表層にのみ部品実装および配線が行われている場合の例を示している。
まず、図6の配線接続状況について説明する。ドライバIC800のレフデスはIC1である。そして、出力端子810はドライバIC800の出力端子であり、端子番号は6番である。レシーバIC801から804のレフデスはそれぞれIC2からIC5である。そして、入力端子821から824は、それぞれレシーバIC801、802、803、804の入力端子の一つであり、いずれも端子番号は3番である。抵抗805のレフデスはR1であり、R1のIC1の6番端子に近い方の端子が1番端子、IC1の6番端子から遠い方が2番端子である。配線830から837は、部品の端子と配線上の分岐点との間または配線の分岐点同士の間を結ぶ配線(以下、ライン)である。ここで、各ラインの配線長は、830が50mm、831が150mm、832が50mm、833が50mm、834が60mm、835が10mm、836が10mm、837が10mmであるとする。分岐点840、841、842は配線の分岐点である。
以下、図6に示す接続状況の配線に対して、本実施形態のプログラムを適用した際の処理動作を詳細に説明する。
ステップS300でプログラムが開始されると、ステップS301でレイアウト情報14bおよび電気特性情報14cが取得される。図7に電気特性情報14cの一例を示す。図7の例では、図7(a)にレフデスとメーカおよび型番の関係、図7(b)にメーカおよび型番とその部品の端子名および種類、図7(c)にメーカおよび型番と電源電圧、立ち上がり時間および立ち下がり時間などの電気特性に関する情報などが示される。ここでは、一部の電気特性の情報のみを例に出しているが、実際にはより多くの情報が電気特性情報として示される。また、電気特性情報のデータの保存方法に関しては、これに限るものではなく、その他にも様々な保存方法としてもよい。
ステップS302では、チェック条件が取得される。ここでは、前述したように、ドライバICのレフデスを取得するものとする。なお、例えば、図8に示すような画面においてICのレフデスをユーザが選択し、その結果が入力部20で受け付けられるような形式でもよい。ユーザがIC選択リスト1010からチェック対象のドライバICとして登録する必要のあるICのレフデスを選択し、追加ボタン1020を押下する。その時、IC選択リスト1010からユーザの選択したICのレフデスが削除され、ドライバIC登録リスト1011に選択したICのレフデスが追加される。また、ユーザがドライバIC登録リスト1011からチェック対象のドライバICから解除するICのレフデスを選択し、削除ボタン1021を押下する。その時、ドライバIC登録リスト1011からユーザの選択したICのレフデスが削除され、IC選択リスト1010に該ICのレフデスが追加される。ユーザは、これを繰り返し、チェック対象のドライバICとするすべてのICのレフデスをドライバIC登録リストに登録して出力ボタン1022を押下する。その時、ドライバIC登録リストに登録されているICのレフデスが主記憶装置11に記憶される。以上が、図8のドライバIC選択画面を用いた場合のチェック条件の入力方法である。この入力方法はあくまで一例であり、前述のようにその他の入力方法を用いることも可能である。ここでは、ステップS302でユーザがIC1のみをチェック対象のドライバICのレフデスとして入力した場合を考える。
ステップS303では、未チェックのチェック対象ドライバICとしてIC1があると判定され、ステップS304でチェック対象のドライバICとしてIC1が選択される。
そして、ステップS305で図7(a)および(b)を参照にIC1の出力端子として、6番端子が特定される。ステップS306ではドライバICの出力端子としてIC1の6番端子があると判定され、ステップS307でIC1の6番端子が選択される。
そして、ステップS308でIC1の6番端子から接続される配線分岐経路の経路情報がすべて取得される。ステップS308で取得されるすべての配線分岐経路は経路111から経路114の4つである。例えば、経路111は、IC1の6番端子から経路が開始され、ライン830、抵抗R1の1番端子、抵抗R1の2番端子、ライン831、分岐点840、ライン835をこの順に経由してIC2の3番端子へと到達する。
ステップS309では、各配線分岐経路上のレシーバICの端子が終端されているか否かが判定される。例えば、経路111の場合、経路上でドライバICであるIC1と異なるICの端子(以下、レシーバICの入力端子)はIC2の3番端子である。そして、このIC2の3番端子には終端処理がされていないと判定される。これは、経路111の終点であるIC2の3番端子から逆方向に経路を辿り、経路111上および分岐点840の分岐先で、かつIC2の3番端子から一定の距離以内に終端部品がないことから判定することが可能である。ここでの一定の距離とは、ユーザが入力部20で入力する形式などが考えられる。以下、同様にして経路112、113、114上のそれぞれIC3の3番端子、IC4の3番端子、IC5の3番端子にも終端部品がないと判定される。
ステップS310では、IC2の3番端子、IC3の3番端子、IC4の3番端子、IC5の3番端子が信号反射点に設定される。
ステップS311およびステップS312では信号反射点としてIC2の3番端子、IC3の3番端子、IC4の3番端子、IC5の3番端子があると判定され、ステップS313では、上記4つの端子のうちの1つが選択される。例えば、IC2の3番端子が選択される。
ステップS314では、IC2の3番端子を含む経路、すなわち経路111上の分岐点840が取得され、分岐点840の分岐先にIC2の3番端子とは異なるレシーバICの入力端子があるかどうかが判定される。具体的には、経路112を順に探索し、分岐点840が取得される。そして、経路112上で、分岐点840からさらに経路を順に探索し、IC3の3番端子が取得される。IC3の3番端子はステップS309でレシーバICの入力端子に判定されているので、経路111上の分岐点840は他のレシーバICへの分岐位置であると判定される。ステップS314では、分岐位置として分岐点840のみが取得されているので、IC2の3番端子に対する信号合成点として分岐点840が設定される。そして、ステップS312に戻り、再び信号合成点を設定していない信号反射点としてIC3の3番端子、IC4の3番端子、IC5の3番端子があると判定される。そして、ステップS313で上記3つの端子のうちの1つが選択される。例えば、IC5の3番端子が選択される。ステップS314では、前述と同様の方法により、経路114上のIC5の3番端子とは異なるレシーバICの入力端子へと接続される分岐位置として分岐点840、分岐点841、分岐点842が取得される。
ステップS315では、まずIC1の6番端子から各分岐点840、分岐点841、分岐点842までの配線距離が算出される。例えば、IC1の6番端子から分岐点840までの配線長は、ライン830およびライン831の配線長の和に等しいので、200mmと算出される。IC1の6番端子から分岐点841までの配線距離は、ライン830、ライン831およびライン832の配線長の和に等しいので、250mmと算出される。同様に、IC1の6番端子から分岐点842までの配線距離は、300mmと算出される。そして、IC5の3番端子に対する信号合成点として、IC1の6番端子からの配線距離が最も短い分岐点840が設定される。そして、ステップS312へ戻る。その後、同様にしてステップS312からステップS315までの処理がステップS312で信号合成点を設定していない信号反射点がなくなるまで、順次繰り返される。本実施例では、IC3の3番端子およびIC4の3番端子に対する信号合成点としていずれも分岐点840が設定される。そして、ステップS312で信号合成点を設定していない信号反射点がなくなると、ステップ316へ進む。
ステップS316では、まずステップS312からステップ315で設定した信号反射点と信号合成点の各配線距離を算出する。まず、IC2の3番端子から分岐点840までの配線距離は、経路111よりライン835の配線長に等しいので、10mmである。次に、IC5の3番端子から分岐点840までの配線距離は、経路114よりライン834、ライン833、ライン832の配線長の和に等しいので、160mmである。同様に、IC4の3番端子から分岐点840までの配線距離は110mm、IC3の3番端子から分岐点840までの配線距離は60mmと算出される。そして、これら信号反射点と信号合成点の間の配線距離が最も長いのは、IC5の3番端子と分岐点840と判定されるので、IC5の3番端子と分岐点840が最も配線距離の長い組み合わせとして特定される。
ステップS317では、ステップS316で最も配線距離の長い組み合わせに特定した信号反射点と信号合成点であるそれぞれIC5の3番端子と分岐点840の配線距離d(=160mm)が取得される。
ステップS318では、数1で算出されるtplh[ns/m]と配線距離d[mm]から、往復伝播遅延時間tp[ns](=tplh×2d×10−3)が算出される。例えば、プリント基板の絶縁層の比誘電率が4.4であるとすると、数1よりtplh=5.48[ns/m]となる。したがって、IC5の3番端子と分岐点840の間の往復伝播遅延時間は、tp=5.48×2×160×10−3=1.75[ns]となる。
ステップS319では、図7(a)および(c)を参照に、IC1の出力の立ち上がり時間(1.5[ns])および立ち下がり時間(1.5[ns])が取得され、遷移時間としてtc=1.5[ns]が取得される。
ステップS320では、tp>tcと判定され、ステップS321へ進む。
ステップS321では、IC5の3番端子と分岐点840の配線距離が冗長であるとして、NG情報を出力する。ここでは、NG情報の出力方法に関する一例を挙げる。ただし、NG情報の出力方法には、様々な方法が考えられるため、その方法はここに挙げる例に限らない。図9は、NG情報をファイル出力した場合の出力内容の一例である。出力ファイルには、ドライバICの出力端子、信号合成点、信号反射点、判定結果、分岐配線長、許容配線長が示されている。信号合成点としては、ここでは分岐点840の座標を用いたが、例えば、分岐先のレシーバICの入力端子を表記することも可能である。許容配線長は、ドライバICの出力信号の遷移時間により決まる分岐配線の配線距離の最大許容値である。また、ここでは表形式で出力を行っているが、カンマなど、特定の記号を用いて区切ったテキスト形式で出力することも可能である。また、表の判定結果に応じて表の各欄を色分けする、または網掛けすることも可能である。図9(b)は設計データ上にNG情報を出力する場合の一例である。図9(b)では、信号反射点であるIC5の3番端子から信号合成点である分岐点840の間の配線が一点鎖線で示されている。このように、分岐配線が冗長であるとしてNGと判定された部分がユーザに見分けられるように表示されればよい。また、分岐配線の長さに関するNGを含む配線全体を修正が必要であるとして、ユーザに見分けられるように表示してもよい。ここでは、一点鎖線で表示するようにしたが、通常の配線とは別の色で表示する、または点線などの別の種類の線で表示するなどが考えられる。また、NGと判定された分岐位置とレシーバICの入力端子の位置を強調的に表示する、さらにその間を直線で結ぶなど様々な表示方法が考えられる。
以上が、本実施例におけるプリント基板設計支援プログラムの処理動作である。ユーザは、図9(a)または図9(b)に示される出力結果を確認することで、容易に修正が必要な配線を認識することが可能になる。そして、分岐配線の配線長が小さくなるように部品配置または配線を変更する。例えば、図10のように可能であれば配線構造を変更して分岐点1440からの分岐にすることで、分岐配線の配線長を小さくすることが好ましい。これは配線変更の一例であり、チェック対象になっている分岐配線周囲の配線の状況にも左右されて配線を変更する必要があるため、配線変更方法はこの限りではない。
本実施例では、信号の単位長さあたりの伝播遅延時間の算出をステップS318で実行する例を挙げた。一方で、上記算出にあたり必要なレイアウト情報14bはステップS301で既に取得済みである。すなわち、上記算出は、ステップS301からステップS318の間のどこで実行してもよい。同様に、ドライバICの出力信号の遷移時間の取得をステップS319で実行する例を挙げた。一方で、上記取得にあたり必要な電気特性情報14cはステップS301で既に取得済みである。すなわち、上記取得は、ステップS301からステップS319のどこで実行してもよい。すなわち、信号の単位長さあたりの伝播遅延時間の算出、およびドライバICの出力信号の遷移時間の取得が異なっている場合にも、本実施例の範囲内である。
実施例1では、ユーザがチェック条件を入力する例として、ドライバICを指定する場合について説明した。一方で、近年のICの多端子化を考慮すると、ユーザが所望の配線のみについてチェックを行う場合がある。これは、チェックの必要がないとユーザが判断する結果が多く出力されると、ユーザが出力結果からチェックの必要な結果を探索する手間が発生するのを防ぐためである。また、一般に設計者は電気信号の特徴や役割を配線名に反映することが多いので、ユーザが信号配線の配線名を指定する方法が望ましい。そこで、本実施例ではユーザがチェック条件として配線名を指定する場合の実例を示す。
図11は、本実施例によるプリント基板設計支援方法およびプログラムにおける処理手順の好適な一例を説明するためのフローチャートの一部である。ユーザが配線名を指定した場合でも、ステップS308で配線分岐経路の経路情報を取得するためにはドライバICの出力端子が取得されていることが好ましい。したがって、図11のフローチャートは、図3のフローチャートにおけるステップS303からステップS305までの処理をステップS1500からステップS1505に置き換えている。そして、ステップS301以前およびステップS307以降の処理動作は実施例1と同様である。したがって、以下、ステップS302からステップS306までの処理動作について説明する。
まず、図11のフローチャートについて説明する。ステップS302では、CPU10は、ステップS301において外部記憶情報抽出部21でレイアウト情報14bおよび電気特性情報14cを主記憶装置11へと転送すると、入力部20でチェック条件を受け付ける。ここでのチェック条件とは、チェック対象となる信号配線の配線名である。ユーザが信号配線の配線名を指定する方法としては、例えば、表示装置12上に表示されたウィンドウ上に配線名の一覧を表示させておき、ユーザが入力装置13を用いて選択した配線名を主記憶装置11に記憶する方法が考えられる。その他にも、表示装置12上に表示された回路図またはプリント基板設計図面上でユーザが入力装置13を用いて選択した信号配線の配線名を主記憶装置11内のレイアウト情報14bを参照して取得し、主記憶装置11に記憶する方法が考えられる。また、あらかじめ外部記憶装置に記憶しておいたテキストファイルなどの情報を読み取り、主記憶装置11に記憶する方法などが考えられる。
以下、ステップS1500からステップS1505はすべて分岐配線経路取得部22aで実行される処理である。ステップS1500では、ステップS302でチェック条件を受け付けると、CPU10は部品端子を未取得のチェック対象の配線名があるかどうかを判定する。ステップS1500で部品端子を未取得のチェック対象配線名がある場合、ステップS1501へ進み、部品端子を未取得のチェック対象配線名がない場合、ステップS306へ進む。
ステップS1501では、ステップS1500で部品端子を未取得のチェック対象配線名がある場合、CPU10はチェック対象の配線名から1つ(以下、配線名E)を選択する。
ステップS1502では、CPU10は、主記憶装置11内のレイアウト情報14bに含まれるネットリストを参照し、配線名Eに属する信号配線に直接接続されている部品端子を取得する。ここで、ネットリストとは、回路上で各配線名に属する配線に接続されている部品端子のレフデスと端子名が配線ごとに記載された一覧表のことである。ここでは、ネットリストを利用したが、レイアウト情報14bやプリント基板に対応する回路図から各部品端子のレフデスおよび端子名とその属する配線名を取得した一覧情報を代用することも可能である。
ステップS1503では、ステップS1502で部品端子を取得すると、CPU10は、電気特性情報14cを参照し、取得した部品端子の中にICの出力端子があるかどうかを判定し、あればドライバICの出力端子として特定する。
ステップS1504では、CPU10は、ステップS1503で取得した部品の中にノイズを対策するための部品(以下、対策部品)の端子があるかどうかを判定する。ここで、対策部品とは、例えばダンピング抵抗と呼ばれる抵抗(抵抗アレイを含む)やコイルなどのノイズフィルタの役割を果たす部品のことである。部品情報や電気特性情報14cにこれらの部品を対策部品として特定できる情報を持たせてもよい。しかし実際には、対策部品にかかわらず抵抗やコイル、ノイズフィルタなどは対策部品の可能性があるので、それらの部品をすべて仮に対策部品として判定するようにしてもよい。ステップS1504で対策部品の端子がある場合、ステップS1505へ進み、対策部品の端子がない場合、ステップS1500へ戻る。
ステップS1505では、ステップS1504で対策部品の端子がある場合、CPU10は、レイアウト情報14b、電気特性情報14cまたは部品情報をもとに対策部品の端子の逆側端子が属する配線名を取得し、チェック対象の配線名に追加する。ただし、電源やグラウンドの配線名およびその他のチェック対象の配線名と同じ場合は取得しないようにする。そして、ステップS1500へ戻る。以下、同様にステップS1500からステップS1505までのループ処理をステップS1500で部品端子を未取得のチェ久対象配線名がないと判定されるまで実行する。
ステップS306では、ステップS1500で部品端子を未取得のチェック対象配線名がないと判定された場合、未チェックのドライバICの出力端子があるかどうかを判定する。ステップS306で未チェックのドライバICの出力端子があると判定された場合、ステップS307へ進み、未チェックのドライバICの出力端子がないと判定された場合、プログラムを終了する。ステップS307以降の処理は実施例1と同様である。以上の処理により、ユーザが配線名を指定した場合にもその信号配線に接続されているドライバICの出力端子を取得し、実施例1と同様のチェックを行うことができる。
次に、図6に示す配線接続状況の模式図を用いて、図11のフローチャートのステップS302からステップS306までの処理動作を詳細に説明する。尚、一般に各ラインの配線名はライン同士が直接接続されている限り同じである。すなわち、ICや直列部品などの部品を介さない限り、各ラインの属する配線名が異なることはない。例えば、図6の場合、ライン830とライン831の配線名は異なるが、ライン831、832、833、834、835、836、837は同じ配線名を持つ。ここで、ライン830の配線名をLINE_AAA、ライン831の配線名をLINE_BBBとする。この場合、図6の図面の部分のみのネットリストはLINE_AAAおよびLINE_BBBの2つになる。
まず、ステップS302でチェック条件が受け付けられる。ここでは、ユーザがLINE_BBBのみを指定したとする。
ステップS1500では、部品端子を未取得のチェック対象配線名としてLINE_BBBがあると判定され、ステップS1501で配線名LINE_BBBが選択される。
ステップS1502では、ネットリストから配線名LINE_BBBに直接接続されている部品端子が取得される。すなわち、IC2の3番端子、IC3の3番端子、IC4の3番端子、IC5の3番端子、抵抗R1の2番端子が取得される。
ステップS1503では、電気特性情報14cからIC2の3番端子、IC3の3番端子、IC4の3番端子、IC5の3番端子はいずれもICの出力端子ではないので、そのままステップS1504へ進む。
ステップS1504では、抵抗R1が仮に対策部品と判定できるので、対策部品があると判定され、ステップS1505へ進む。
ステップS1505では、抵抗R1の2番端子の逆側端子である1番端子が取得され、さらにネットリストから抵抗R1の1番端子の属する配線名LINE_AAAがチェック対象の配線名として追加される。そして、ステップS1500では、部品端子を未取得のチェック対象配線として配線名LINE_AAAがあると判定され、ステップS1501で配線名LINE_AAAが選択される。ステップS1502では、ネットリストから配線名LINE_AAAに接続されている部品端子が取得される。すなわち、IC1の6番端子と抵抗R1の1番端子が取得される。ステップS1503では、電気特性情報14cが参照されてIC1の6番端子がドライバICの出力端子として特定される。ステップS1504では、抵抗R1の1番端子が仮に対策部品の端子と判定される。ステップS1505では、抵抗R1の2番端子の属する配線名であるLINE_BBBが取得されるが、LINE_BBBはチェック対象の配線名として既に登録されているので、追加されることはない。ステップS1500に戻ると、部品端子を未取得のチェック対象の配線名はないと判定されるので、ステップS306へ進む。
ステップS306では、未チェックのドライバICの出力端子としてIC1の6番端子が取得される。
ステップS307以降は、実施例1と同様の処理が実行される。そして、IC1の6番端子に接続された配線経路で分岐配線の長さのチェックが終了する、すなわちステップS320またはステップS321が終了すると、ステップS306へ戻る。最後に、ステップS306で未チェックのドライバICの出力端子がないと判定され、プログラムが終了される。
以上が本実施形態におけるプリント基板設計支援プログラムの処理動作である。ユーザは、実施例1と同様に、本実施例におけるおけるプリント基板設計支援プログラムの出力結果を確認し、修正が必要な分岐配線を簡易に認識することが可能となる。そして、分岐配線が短くなるように部品配置または配線を変更する。
なお、上記実施形態においては遷移時間と往復伝播遅延時間とを比較したが、遷移時間に対する距離を算出し、配線距離と比較してもよい。
また、本発明は、上述した実施例の機能(例えば、上記のフローチャートにより示される機能)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。