(57)【特許請求の範囲】
【請求項１】
バックボード上のスロットを介して接続される複数のプログラマブルデバイスは、複数の出力端子と複数の入力端子を有し、互いに接続されている第１のプログラマブルデバイスの出力端子と他のプログラマブルデバイスの入力端子間の結線をチェックする結線チェック方法であって、
第１のプログラマブルデバイスが、
電源投入時に前記第１のプログラマブルデバイスが有する出力端子を識別するための端子情報を端子情報記憶手段に記憶し、
前記第１のプログラマブルデバイスが有する出力端子から、前記端子情報記憶手段に記憶されている端子情報のうち対応する端子情報を出力する
処理を実行し、
前記他のプログラマブルデバイスが、
電源投入時に前記入力端子の端子情報であって、当該入力端子と接続された前記出力端子の端子情報である比較情報を比較情報記憶手段に記憶し、
前記出力端子が出力した端子情報を各入力端子が受け付けた場合に、各入力端子が受け付けた端子情報と、前記比較情報記憶手段が記憶する比較情報のうち、当該端子情報を受け付けた入力端子の比較情報とが一致しているか否かを検査し、
前記検査結果を所定の出力部から出力する
処理を実行することを特徴とする結線チェック方法。
【請求項２】
前記端子情報記憶手段は、前記第１のプログラマブルデバイスを示すプログラマブルデバイス番号と、前記第１のプログラマブルデバイスが有する出力端子を識別するための出力端子識別情報との組合せを、前記スロットを識別するためのスロット番号のすべてに組み合わせた情報を、端子情報として記憶し、
前記比較情報記憶手段は、前記他のプログラマブルデバイスを示すプログラマブルデバイス番号と前記他のプログラマブルデバイスが有する入力端子を識別するための入力端子識別情報と前記スロット番号との組合せに対応付けて、前記入力端子と接続される出力端子の端子情報を、比較情報として記憶し、
前記第１のプログラマブルデバイスは、
前記端子情報記憶手段に記憶されている端子情報のうち、前記プログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する端子情報を、前記出力端子から出力し、
前記他のプログラマブルデバイスは、
前記比較情報記憶手段に記憶されている比較情報のうち、前記他のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する比較情報と、前記入力端子が受け付けた端子情報とが一致しているか否かを検査することを特徴とする請求項１に記載の結線チェック方法。
【請求項３】
前記第１のプログラマブルデバイスが、
電源投入時に、前記第１のプログラマブルデバイスが有する入力端子の端子情報であって、当該入力端子と接続された前記第１のプログラマブルデバイスの出力端子の端子情報である比較情報を比較情報記憶手段に記憶し、
前記出力端子から出力した端子情報を受け付けた場合は、該端子情報と、前記比較情報記憶手段に記憶されている比較情報のうち、当該端子情報を受信した入力端子の比較情報とが一致しているか否かを検査することを特徴とする請求項１または２に記載の結線チェック方法。
【請求項４】
バックボード上のスロットを介して他のプログラマブルデバイスと接続されるプログラマブルデバイスであって、
電源投入時に、当該のプログラマブルデバイスが有する端子を識別するための端子情報を記憶する端子情報記憶手段と、
電源投入時に、当該のプログラマブルデバイスが有する入力端子を識別するための入力端子識別情報に対応付けて、前記入力端子と接続される出力端子の端子情報である比較情報を記憶する比較情報記憶手段と、
当該のプログラマブルデバイスが有する複数の出力端子から、前記端子情報記憶手段に記憶されている端子情報のうち対応する端子情報を出力する端子情報出力手段と、
前記他のプログラマブルデバイスから端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子の入力端子識別情報に対応付けて前記比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査する検査手段と、
前記検査手段によって検査された結果を所定の出力部に出力させる出力手段と
を備えたことを特徴とするプログラマブルデバイス。 
【請求項５】
前記端子情報記憶手段は、当該のプログラマブルデバイスを示すプログラマブルデバイス番号と、当該のプログラマブルデバイスが有する出力端子を識別するための出力端子識別情報との組合せを、前記スロットを識別するためのスロット番号のすべてに組み合わせた情報を、端子情報として記憶し、
前記比較情報記憶手段は、当該のプログラマブルデバイスを示すプログラマブルデバイス番号と前記入力端子識別情報と前記スロット番号との組合せに対応付けて、前記入力端子と接続される出力端子の端子情報を、比較情報として記憶し、
前記端子情報出力手段は、前記端子情報記憶手段に記憶されている端子情報のうち、当該のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する端子情報を、前記出力端子から出力し、
前記検査手段は、前記比較情報記憶手段に記憶されている比較情報のうち、当該のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する比較情報と、前記他のプログラマブルデバイスから受け付けた端子情報とが一致しているか否かを検査することを特徴とする請求項４に記載のプログラマブルデバイス。
【請求項６】
前記検査手段は、当該のプログラマブルデバイスから出力された端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子の入力端子識別情報に対応付けて前記比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査することを特徴とする請求項４または５に記載のプログラマブルデバイス。
【請求項７】
ユーザ回路を実現するためのユーザ回路部と、
前記検査手段による検査が終了した場合に、前記ユーザ回路部を有効にするセレクタ手段とをさらに備えたことを特徴とする請求項４〜６のいずれか一つに記載のプログラマブルデバイス。
【請求項８】
バックボード上のスロットを介して互いに接続される複数のプログラマブルデバイスに書き込まれる回路構造を定義したファイルを生成する回路構造ファイル生成プログラムであって、
前記複数のプログラマブルデバイスに設けられた端子と前記スロットとの接続関係が定義されている端子情報ファイルと、前記スロット間の接続関係が定義されているスロット接続情報ファイルとを取得する取得手順と、
前記取得手順において取得された端子情報ファイルとスロット接続情報ファイルとに基づいて、前記端子を識別するための端子情報を生成する端子情報生成手順と、
前記端子情報生成手順において生成された端子情報を用いて、電源投入時に、前記端子間の結線状態をチェックするチェック回路の回路構造を所定のファイルに出力する回路構造出力手順と
をコンピュータに実行させることを特徴とする回路構造ファイル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、結線チェック方法、プログラマブルデバイスおよび回路構造ファイル生成プログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置に搭載される集積回路に、プログラミングをすることによって機能を変更することができるＦＰＧＡ（Field  Programmable  Gate  Array）などのプログラマブルデバイスが用いられることがある。
【０００３】
このようなＦＰＧＡは、多数の結線によって他のＦＰＧＡと接続されることがある。かかる場合、複数のＦＰＧＡを搭載する情報処理装置は、製造工程において、ＦＰＧＡ間が正常に配線されているかが検証される。具体的には、検証者が、ＦＰＧＡ間の配線パターンを目視で確認したり、専用のテスターを用いて結線の導通チェック、または、入出力データのモニタリングを行ったりする。
【０００４】
また、ＦＰＧＡは、特定の用途のために製造される集積回路であるＡＳＩＣ（Application  Specific  Integrated  Circuit）のプロトタイプが生成される際に、用いられることもある。具体的には、ＡＳＩＣの設計時に、ＦＰＧＡを用いてＡＳＩＣの論理と等価なボードが生成され、このボードによってＡＳＩＣが所望の機能を果たすか否かが検証される。
【０００５】
上記検証において不具合が検出された場合、検証者が、上述したようなＦＰＧＡ間の配線パターンを目視で確認したり、専用のテスターを用いて結線の導通チェックを行ったりする。そして、不具合が発生した箇所を特定して所定の修復措置を施した後に、再度検証が行われる。このようにして、ＦＰＧＡを用いてＡＳＩＣの論理検証を行った後に、ＡＳＩＣを量産することが行われている。
【０００６】
【特許文献１】特開平１１−２６５２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来技術では、ＦＰＧＡ間の配線ミスや、ＦＰＧＡ間の結線が物理的に断線している場合などの欠陥がある場合、不具合が発生した箇所を特定するために多大な工数を要するという問題があった。具体的には、上述したような目視確認や、テスターを用いた結線の導通チェックなどでは、不具合が、ＦＰＧＡ間の配線パターンに起因するのか、ＦＰＧＡ回路自体の不具合に起因するのか、を切り分けるのに多大な工数を要していた。
【０００８】
特に、交換機などの大規模な情報処理装置では、複数のＦＰＧＡを有するパッケージを、バックボード上のスロットを介して複数搭載するものがある。かかる場合、パッケージ間の結線が千本を超えることもあり、不具合の原因を特定することは極めて困難であった。
【０００９】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、バックボード上のスロットを介して互いに接続される複数のＦＰＧＡ間の結線を容易にチェックすることができる結線チェック方法、プログラマブルデバイスおよび回路構造ファイル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本願に開示する結線チェック方法は、バックボード上のスロットを介して接続される複数のプログラマブルデバイスは、複数の出力端子と複数の入力端子を有し、互いに接続されている第１のプログラマブルデバイスの出力端子と他のプログラマブルデバイスの入力端子間の結線をチェックする結線チェック方法であって、第１のプログラマブルデバイスが、電源投入時に前記第１のプログラマブルデバイスが有する出力端子を識別するための端子情報を端子情報記憶手段に記憶し、前記第１のプログラマブルデバイスが有する出力端子から、前記端子情報記憶手段に記憶されている端子情報のうち対応する端子情報を出力する処理を実行し、前記他のプログラマブルデバイスが、電源投入時に前記入力端子の端子情報であって、当該入力端子と接続された前記出力端子の端子情報である比較情報を比較情報記憶手段に記憶し、前記出力端子が出力した端子情報を各入力端子が受け付けた場合に、各入力端子が受け付けた端子情報と、前記比較情報記憶手段が記憶する比較情報のうち、当該端子情報を受け付けた入力端子の比較情報とが一致しているか否かを検査し、前記検査結果を所定の出力部から出力する処理を実行することを特徴とする。
【００１１】
なお、本願に開示する結線チェック方法の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
【発明の効果】
【００１２】
本願に開示した結線チェック方法によれば、複数のスロットを介して複数のパッケージを搭載するバックボードにおけるパッケージ間の配線を容易、かつ、確実にチェックすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に、本願に開示する結線チェック方法、プログラマブルデバイスおよび回路構造ファイル生成プログラムの実施例を図面に基づいて詳細に説明する。なお、以下においては、プログラマブルデバイスの一例としてＦＰＧＡを挙げながら説明するが、本願に開示する結線チェック方法、プログラマブルデバイスおよび回路構造ファイル生成プログラムは、例えば、ＰＬＤ（Programmable  Logic  Device）などの様々なプログラマブルデバイスが使用される場合にも適用することができる。また、以下の説明においては、論理回路がインプリメントされて得られ、プログラマブルデバイスに書き込まれる（コンフィグレーションされる）データを「ＲＯＭデータ」と呼ぶこととする。すなわち、プログラマブルデバイスは、ＲＯＭデータに変換された論理回路と同様に動作する。
【実施例】
【００１４】
［結線チェック処理の概要］
まず、本実施例に係る結線チェック処理の概要について説明する。図１−１および図１−２は、本実施例に係る結線チェック処理の概要を説明するための図である。なお、図１−１および図１−２では、本実施例に係る結線チェック処理の概要を説明するために必要な部位のみを図示する。
【００１５】
図１−１に示した情報処理装置１０は、交換機等の情報処理装置であり、バックボード２０と、結果表示部６１ａおよび６１ｂとを有する。バックボード２０は、スロット３０ａおよび３０ｂと、結果表示部６２ａおよび６２ｂとを有し、スロット３０ａおよび３０ｂを介して、パッケージ４０ａおよび４０ｂを搭載する。スロット３０ａは、出力端子Ｔ３１ａと、入力端子Ｔ３２ａとを有し、スロット３０ｂは、出力端子Ｔ３１ｂと、入力端子Ｔ３２ｂとを有する。
【００１６】
パッケージ４０ａおよび４０ｂは、ＦＰＧＡを有するプリント基板であり、パッケージ４０ａは、ＦＰＧＡ５０−１ａと、結果表示部６３ａとを有し、パッケージ４０ｂは、ＦＰＧＡ５０−１ｂと、結果表示部６３ｂとを有する。
【００１７】
なお、同図では、バックボード２０が、２個のパッケージ４０ａおよび４０ｂを搭載する例を示したが、バックボード２０は３個以上のパッケージを搭載してもよい。また、同図では、パッケージ４０ａおよび４０ｂが、それぞれ１個のＦＰＧＡを有する例を示したが、パッケージ４０ａおよび４０ｂは、２個以上のＦＰＧＡを有してもよい。
【００１８】
ＦＰＧＡ５０−１ａは、本実施例にかかる結線チェック処理を実現するためのＲＯＭデータが書き込まれており、出力端子Ｔ１１ａと、入力端子Ｔ１２ａと、端子データ出力部５１０ａと、比較データ出力部５２０ａと、検査部５３０ａとを有する。同様に、ＦＰＧＡ５０−１ｂは、出力端子Ｔ１１ｂと、入力端子Ｔ１２ｂと、端子データ出力部５１０ｂと、比較データ出力部５２０ｂと、検査部５３０ｂとを有する。
【００１９】
ここで、図１−１に示した端子間の接続状態について説明する。同図に示した例では、ＦＰＧＡ５０−１ａの出力端子Ｔ１１ａは、スロット３０ａの出力端子Ｔ３１ａと、スロット３０ｂの入力端子Ｔ３２ｂとを介して、ＦＰＧＡ５０−１ｂの入力端子Ｔ１２ｂに接続されている。すなわち、出力端子Ｔ１１ａから出力される信号は、出力端子Ｔ３１ａと入力端子Ｔ３２ｂとを介して、入力端子Ｔ１２ｂへ入力される。同様に、出力端子Ｔ１１ｂは、出力端子Ｔ３１ｂと入力端子Ｔ３２ａとを介して、入力端子Ｔ１２ａに接続されている。
【００２０】
なお、同図に示した各端子の接続状態は、配線ミスがない状態を示しているものとする。すなわち、情報処理装置１０においては、同図に示したように各端子が配線されている場合に、結線チェック処理の結果が「ＯＫ（正常）」となる。ＦＰＧＡ５０−１ａおよび５０−１ｂは、情報処理装置１０内の結線状態が同図に示した接続状態であるか否かをチェックする。
【００２１】
ＦＰＧＡ５０−１ａが有する端子データ出力部５１０ａは、ＦＰＧＡ５０−１ａが有する端子を識別するためのデータ（以下、「端子データ」という）を記憶しており、ＦＰＧＡ５０−１ａが有する出力端子から、かかる出力端子の端子データを出力する。この端子データには、出力元のスロットを識別するための番号（以下、「スロット番号」という）と、出力元のＦＰＧＡを識別するための番号（以下、「ＦＰＧＡ番号」という）と、出力元の出力端子を識別するための情報が含まれる。すなわち、端子データ出力部５１０ａは、出力端子Ｔ１１ａから、スロット３０ａに搭載されているＦＰＧＡ５０−１ａの出力端子Ｔ１１ａであることを識別することができる端子データを出力する。なお、端子データの生成手法については、後に詳述する。
【００２２】
比較データ出力部５２０ａは、ＦＰＧＡ５０−１ａが有する入力端子を識別するための情報（以下、「入力端子識別情報」という）に対応付けて、かかる入力端子が受信する端子データの期待値（以下、入力端子が受信する端子データの期待値を「比較データ」という）を記憶する。そして、比較データ出力部５２０ａは、結線チェック処理が開始した場合に、比較データを検査部５３０ａへ出力する。
【００２３】
具体的には、比較データ出力部５２０ａは、入力端子Ｔ１２ａの入力端子識別情報に対応付けて、スロット３０ｂに搭載されているＦＰＧＡ５０−１ｂの出力端子Ｔ１１ｂを示す端子データを、比較データとして記憶する。これは、情報処理装置１０内の結線状態が正常である場合、すなわち、情報処理装置１０内の結線状態が図１−１に示した結線状態である場合、入力端子Ｔ１２ａは、出力端子Ｔ１１ｂから、出力端子Ｔ３１ｂと入力端子Ｔ３２ａとを介して、端子データを受信するからである。なお、比較データの生成手法については、後に詳述する。
【００２４】
検査部５３０ａは、入力端子Ｔ１２ａが端子データを受信した場合に、受信した端子データと、比較データ出力部５２０ａから受け付けた端子データとが同一であるか否かを判定する。そして、検査部５３０ａは、判定結果を結果表示部６１ａ、６２ａおよび６３ａへ出力する。
【００２５】
具体的には、検査部５３０ａは、入力端子Ｔ１２ａが端子データを受信した場合に、比較データ出力部５２０ａから、入力端子Ｔ１２ａの入力端子識別情報に対応付けて記憶されている比較データを受け付ける。続いて、検査部５３０ａは、入力端子Ｔ１２ａが受信した端子データと、比較データ出力部５２０ａから受け付けた比較データとを比較する。続いて、検査部５３０ａは、入力端子Ｔ１２ａが受信した端子データと、比較データとが一致する場合、入力端子Ｔ１２ａと出力端子Ｔ１１ｂとが正常に接続されていると判定して、判定結果を結果表示部６１ａ等へ出力する。
【００２６】
一方、入力端子Ｔ１２ａが受信した端子データと、比較データとが一致しない場合、検査部５３０ａは、入力端子Ｔ１２ａが他の出力端子と接続や断線等されている、すなわち、入力端子Ｔ１２ａと出力端子Ｔ１１ｂとが正常に接続されていないと判定して、判定結果を結果表示部６１ａ等へ出力する。
【００２７】
同様に、端子データ出力部５１０ｂは、出力端子Ｔ１１ｂから、出力端子Ｔ１１ｂを示す端子データを出力する。また、比較データ出力部５２０ｂは、入力端子Ｔ１２ｂの入力端子識別情報に対応付けて、入力端子Ｔ１２ｂが受信する端子データの期待値、すなわち、出力端子Ｔ１１ａの端子データを比較データとして記憶し、検査部５３０ｂへ出力する。また、検査部５３０ｂは、入力端子Ｔ１２ｂが端子データを受信した場合に、受信した端子データと、比較データ出力部５２０ｂから受け付けた比較データとを比較して、同一であるか否かを判定する。
【００２８】
結果表示部６１ａ、６１ｂ、６２ａ、６２ｂ、６３ａおよび６３ｂは、検査部５３０ａおよび５３０ｂから受け付ける判定結果を表示する装置であり、例えば、発光ダイオード（ＬＥＤ：Light  Emitting  Diode）などである。具体的には、結果表示部６１ａ等は、検査部５３０ａから判定結果「ＯＫ」を受け付けた場合に、青色発光ダイオードを発光させたり、検査部５３０ａから判定結果「ＮＧ（異常）」を受け付けた場合に、赤色発光ダイオードを発光させたりする。また、結果表示部６１ａ等は、判定結果が「ＮＧ（異常）」である場合には、異常であると判定された出力端子および入力端子を特定できるように表示する。
【００２９】
なお、同図では、情報処理装置１０が、複数の結果表示部６１ａ、６１ｂ、６２ａ、６２ｂ、６３ａおよび６３ｂを有する例を示したが、情報処理装置１０は、すべての結果表示部６１ａ、６１ｂ、６２ａ、６２ｂ、６３ａおよび６３ｂを有しなくてもよい。例えば、情報処理装置１０は、結果表示部６１ａおよび６１ｂのみを有してもよいし、結果表示部６３ａおよび６３ｂのみを有してもよい。
【００３０】
また、本実施例に係る結線チェック処理では、ＦＰＧＡ５０−１ａから出力された信号を、ＦＰＧＡ５０−１ａの入力端子が受信する場合についても、結線チェックを行うことが可能である。すなわち、信号を出力するＦＰＧＡと、信号を受信するＦＰＧＡとが同一である場合についても、結線チェックを行うことが可能である。
【００３１】
図１−２を用いて具体的に説明する。同図に示した情報処理装置１１は、自己折り返し用バックボード７０を有する。自己折り返し用バックボード７０は、ＦＰＧＡ５０−１ａの出力端子から出力された信号を、同一のＦＰＧＡ５０−１ａが有する入力端子へ折り返すためのバックボードである。この自己折り返し用バックボード７０は、スロット８０ａを有し、スロット８０ａを介して、パッケージ４０ａを搭載する。スロット８０ａは、出力端子Ｔ８１と、入力端子Ｔ８２とを有する。
【００３２】
同図に示した例において、ＦＰＧＡ５０−１ａが有する端子データ出力部５１０ａは、出力端子Ｔ１１ａから端子データを出力する。また、比較データ出力部５２０ａは、入力端子Ｔ１２ａの入力端子識別情報に対応付けて、出力端子Ｔ１１ａを示す端子データを記憶する。これは、情報処理装置１１内の結線状態が正常である場合、すなわち、情報処理装置１１内の結線状態が図１−２に示した結線状態である場合、入力端子Ｔ１２ａは、出力端子Ｔ１１ａから、出力端子Ｔ８１と入力端子Ｔ８２とを介して、端子データを受信するからである。
【００３３】
検査部５３０ａは、入力端子Ｔ１２ａが端子データを受信した場合に、比較データ出力部５２０ａから、入力端子Ｔ１２ａの入力端子識別情報に対応付けて記憶されている比較データを受け付ける。続いて、検査部５３０ａは、入力端子Ｔ１２ａが受信した端子データと比較データとが同一であるか否かを判定し、判定結果を結果表示部６１ａ等へ出力する。
【００３４】
なお、以下において、図中に付加した参照符号「ａ」および「ｂ」を省略して記載する場合は、参照符号「ａ」または「ｂ」が付加された２個の部位を示すものとする。例えば、「ＦＰＧＡ５０−１」は、「ＦＰＧＡ５０−１ａとＦＰＧＡ５０−１ｂ」を示すものとする。
【００３５】
このように、本実施例に係る結線チェック処理では、ＦＰＧＡ５０−１の端子データ出力部５１０が、出力端子から端子データを出力し、ＦＰＧＡ５０−１の入力端子が端子データを受信した場合に、比較データ出力部５２０が、端子データを受信した入力端子に対応する比較データを検査部５３０へ出力し、検査部５３０が、入力端子が受信した端子データと、比較データ出力部５２０から受信した比較データとが同一であるか否かを判定し、判定結果を結果表示部６１等へ出力するので、検証者が、ＦＰＧＡ間の配線パターンを目視で確認したり、専用のテスターを用いて結線の導通チェック、または、入出力データのモニタリングを行ったりすることなく、複数のスロットを介して複数のパッケージを搭載するバックボードにおけるパッケージ間の配線を容易、かつ、確実にチェックすることができる。
【００３６】
また、本実施例に係る結線チェック処理では、検査部５３０による判定結果が「ＮＧ（異常）」である場合、結果表示部６１等が、異常であると判定された出力端子および入力端子を特定できるように表示するので、不具合が、ＦＰＧＡ間の配線パターンに起因するのか、ＦＰＧＡ回路自体の不具合に起因するのかを容易に切り分けわけることができる。これにより、ＦＰＧＡ間の配線ミスや、ＦＰＧＡ間の結線が物理的に断線している場合などの欠陥がある場合であっても、不具合を特定するために要する工数を低減することができる。
【００３７】
上述したパッケージ４０ａおよびパッケージ４０ｂは、同一のパッケージであり、スロット３０ａまたはスロット３０ｂのどちらに搭載されても結線チェック処理を実行することができる。この点について、図１−１におけるパッケージ４０ａがスロット３０ｂに搭載され、パッケージ４０ｂがスロット３０ａに搭載された場合を例に挙げて説明する。かかる場合、ＦＰＧＡ５０−１ａの端子データ出力部５１０ａは、出力端子Ｔ１１ａから、スロット３０ｂに搭載されているＦＰＧＡ５０−１ａの出力端子Ｔ１１ａであることを識別することができる端子データを出力する。
【００３８】
また、ＦＰＧＡ５０−１ａの比較データ出力部５２０ａは、ＦＰＧＡ５０−１ａがスロット３０ａまたはスロット３０ｂのどちらに搭載されてもよいように比較データを記憶する。具体的には、比較データ出力部５２０ａは、ＦＰＧＡ５０−１ａがスロット３０ａに搭載された場合における入力端子Ｔ１２ａが受信する端子データの期待値と、ＦＰＧＡ５０−１ａがスロット３０ｂに搭載された場合における入力端子Ｔ１２ａが受信する端子データの期待値とを、比較データとして記憶する。
【００３９】
ＦＰＧＡ５０−１ａおよび５０−１ｂは、スロット３０ａまたは３０ｂに搭載された際に、自身がスロット３０ａまたはスロット３０ｂのどちらに搭載されているかを示す情報（以下、「搭載情報」という）を、バックボード２０から取得する。そして、ＦＰＧＡ５０−１は、取得した搭載情報に従って、結線チェック処理を行う。
【００４０】
図２および図３を用いて具体的に説明する。図２は、スロット間における結線チェック処理を説明するための図である。図３は、自己折り返し時の結線チェック処理を説明するための図である。図２に示すように、ＦＰＧＡ５０−１ａの端子データ出力部５１０ａは、対向用データ記憶部Ｄ１１ａと、自己折り返し用データ記憶部Ｄ１２ａと、セレクタＳ１０ａとを有する。なお、ＦＰＧＡ５０−１ｂの構成は、ＦＰＧＡ５０−１ａの構成と同様であるため、ここでは、ＦＰＧＡ５０−１ｂの構成については、その説明を省略する。
【００４１】
対向用データ記憶部Ｄ１１ａは、スロット１用データ記憶部Ｄ１１１ａと、スロット２用データ記憶部Ｄ１１２ａと、セレクタＳ１１ａとを有する。スロット１用データ記憶部Ｄ１１１ａは、ＦＰＧＡ５０−１ａがスロット３０ａに搭載された場合における出力端子の端子データを記憶する。スロット２用データ記憶部Ｄ１１２ａは、ＦＰＧＡ５０−１ａがスロット３０ｂに搭載された場合における出力端子の端子データを記憶する。セレクタＳ１１ａは、スロット１用データ記憶部Ｄ１１１ａ、および、スロット２用データ記憶部Ｄ１１２ａから端子データを受け付けて、いずれか一方の端子データのみを選択して出力する。
【００４２】
自己折り返し用データ記憶部Ｄ１２ａは、スロット１用データ記憶部Ｄ１２１ａと、スロット２用データ記憶部Ｄ１２２ａと、セレクタＳ１２ａとを有する。スロット１用データ記憶部Ｄ１２１ａは、ＦＰＧＡ５０−１ａが自己折り返し用バックボード７０のスロット８０ａに搭載された場合における出力端子の端子データを記憶する。スロット２用データ記憶部Ｄ１２２ａは、ＦＰＧＡ５０−１ａが自己折り返し用バックボード７０のスロット８０ａ以外のスロット（スロット８０ｂとする）に搭載された場合における出力端子の端子データを記憶する。セレクタＳ１２ａは、スロット１用データ記憶部Ｄ１２１ａ、および、スロット２用データ記憶部Ｄ１２２ａから端子データを受け付けて、いずれか一方の端子データのみを選択して出力する。
【００４３】
セレクタＳ１０ａは、対向用データ記憶部Ｄ１１ａ、および、自己折り返し用データ記憶部Ｄ１２ａから端子データを受け付けて、いずれか一方の端子データのみを選択して出力する。
【００４４】
比較データ出力部５２０ａは、対向用比較データ記憶部Ｄ２１ａと、自己折り返し用比較データ記憶部Ｄ２２ａと、セレクタＳ２０ａとを有する。対向用比較データ記憶部Ｄ２１ａは、スロット１用比較データ記憶部Ｄ２１１ａと、スロット２用比較データ記憶部Ｄ２１２ａと、セレクタＳ２１ａとを有する。
【００４５】
スロット１用比較データ記憶部Ｄ２１１ａは、ＦＰＧＡ５０−１ａがスロット３０ａに搭載された場合における比較データを記憶する。スロット２用比較データ記憶部Ｄ２１２ａは、ＦＰＧＡ５０−１ａがスロット３０ｂに搭載された場合における比較データを記憶する。セレクタＳ２１ａは、スロット１用比較データ記憶部Ｄ２１１ａ、および、スロット２用比較データ記憶部Ｄ２１２ａから比較データを受け付けて、いずれか一方の比較データのみを選択して出力する。
【００４６】
自己折り返し用比較データ記憶部Ｄ２２ａは、スロット１用比較データ記憶部Ｄ２２１ａと、スロット２用比較データ記憶部Ｄ２２２ａと、セレクタＳ２２ａとを有する。スロット１用比較データ記憶部Ｄ２２１ａは、ＦＰＧＡ５０−１ａが自己折り返し用バックボード７０のスロット８０ａに搭載された場合における比較データを記憶する。スロット２用比較データ記憶部Ｄ２１２ａは、ＦＰＧＡ５０−１ａが自己折り返し用バックボード７０のスロット８０ｂに搭載された場合における入力端子の比較データを記憶する。セレクタＳ２２ａは、スロット１用比較データ記憶部Ｄ２２１ａ、および、スロット２用比較データ記憶部Ｄ２２２ａから比較データを受け付けて、いずれか一方の比較データのみを選択して出力する。
【００４７】
セレクタＳ２０ａは、対向用比較データ記憶部Ｄ２１ａ、および、自己折り返し用比較データ記憶部Ｄ２２ａから比較データを受け付けて、いずれか一方の比較データのみを選択して出力する。
【００４８】
このような構成の下、例えば、図２に示したように、パッケージ４０ａがバックボード２０のスロット３０ａに搭載された場合、ＦＰＧＡ５０−１ａは、搭載情報を取得して、自身がバックボード２０のスロット３０ａに搭載されたことを認識する。かかる場合、セレクタＳ１０ａは、対向用データ記憶部Ｄ１１ａから受け付ける端子データを出力するように制御されるとともに、セレクタＳ１１ａは、スロット１用データ記憶部Ｄ１１１ａから受け付ける端子データを出力するように制御される。また、セレクタＳ２０ａは、対向用比較データ記憶部Ｄ２１ａから受け付ける比較データを出力するように制御されるとともに、セレクタＳ２１ａは、スロット１用比較データ記憶部Ｄ２１１ａから受け付ける比較データを出力するように制御される。
【００４９】
一方、例えば、図３に示したように、パッケージ４０ａが自己折り返し用バックボード７０のスロット８０ａに搭載された場合、ＦＰＧＡ５０−１ａは、搭載情報に基づいて、自身が自己折り返し用バックボード７０のスロット８０ａに搭載されたことを認識する。かかる場合、セレクタＳ１０ａは、自己折り返し用データ記憶部Ｄ１２ａから受け付ける端子データを出力するように制御されるとともに、セレクタＳ１２ａは、スロット１用データ記憶部Ｄ１２１ａから受け付ける端子データを出力するように制御される。また、セレクタＳ２０ａは、自己折り返し用比較データ記憶部Ｄ２２ａから受け付ける比較データを出力するように制御されるとともに、セレクタＳ２２ａは、スロット１用比較データ記憶部Ｄ２２１ａから受け付ける比較データを出力するように制御される。
【００５０】
このように、ＦＰＧＡ５０−１ａおよび５０−１ｂは、スロット３０ａまたはスロット３０ｂのどちらに搭載されてもよいように端子データおよび比較データを記憶しているので、パッケージがバックボード上のどのスロットに搭載されても結線チェック処理を実行することができる。
【００５１】
［ＲＯＭデータ生成手法の概要］
次に、本実施例に係る結線チェック処理を実現するためのＲＯＭデータを生成する手法について説明する。図４は、本実施例に係る結線チェック処理を実現するためのＲＯＭデータを生成する手法の概要を説明するための図である。
【００５２】
同図に示すように、本実施例に係る結線チェック処理を実現するためのＲＯＭデータＲ３０は、情報処理装置１および２によって生成される。具体的には、まず、情報処理装置１は、端子情報ファイルＦ１１と、スロット接続情報ファイルＦ１２と、設定ファイルＦ１３とを受け付ける。
【００５３】
端子情報ファイルＦ１１は、バックボード２０上に搭載される複数のＦＰＧＡ５０−１ａ等が有する端子に関する情報や、かかる端子とスロット３０ａ等との接続関係が定義されているファイルである。また、スロット接続情報ファイルＦ１２は、スロット３０ａ等に関する情報や、スロット間の接続関係が定義されているファイルである。また、設定ファイルＦ１３は、スロット３０ａ等にパッケージが搭載されるか否かが定義されているファイルである。なお、端子情報ファイルＦ１１、スロット接続情報ファイルＦ１２、設定ファイルＦ１３の構造については、後に詳述する。
【００５４】
端子情報ファイルＦ１１、スロット接続情報ファイルＦ１２、および、設定ファイルＦ１３に定義されている端子間の接続関係は、正常な結線状態が定義されている。したがって、各端子の結線状態と、上記端子情報ファイルＦ１１等に定義されている接続関係とが同一である場合に、各端子の結線状態が正常であると判定されることになる。
【００５５】
続いて、端子情報ファイルＦ１１と、スロット接続情報ファイルＦ１２と、設定ファイルＦ１３とを受け付けると、情報処理装置１の回路構造ファイル生成プログラム１０７１は、端子データおよび比較データを生成する。端子データおよび比較データの生成処理については、後に詳述する。
【００５６】
続いて、回路構造ファイル生成プログラム１０７１は、後述する論理合成処理およびレイアウト処理に必要となるＲＴＬファイルＦ２１と、制約ファイルＦ２２とを生成する。ＲＴＬファイルＦ２１は、ＲＴＬ記述により回路構造が記述されたファイルである。制約ファイルＦ２２は、各端子に関する所定の定義が記述されたファイルである。そして、情報処理装置１は、生成したＲＴＬファイルＦ２１と、制約ファイルＦ２２とを、情報処理装置２へ入力する。
【００５７】
情報処理装置２は、入力されたＲＴＬファイルＦ２１と、制約ファイルＦ２２に対して、論理合成処理およびレイアウト処理を行う。この情報処理装置２による論理合成処理およびレイアウト処理は、既存のツールを用いて行われる。これにより、結線チェック処理を実行するための論理回路と、端子データおよび比較データが記憶されるメモリとを含むＲＯＭデータＲ３０が生成される。なお、同図では、ＲＴＬファイルＦ２１等を生成する情報処理装置１と、ＲＯＭデータＲ３０を生成する情報処理装置２とを別体にする例を示したが、情報処理装置１と情報処理装置２とは同一の情報処理装置であってもよい。
【００５８】
［回路構造ファイル生成プログラム］
次に、回路構造ファイル生成プログラム１０７１を実行する情報処理装置１の構成について説明する。図５は、結線チェックデータ生成プログラムを実行する情報処理装置１の構成を示すブロック図である。
【００５９】
同図に示すように、情報処理装置１は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続されている。
【００６０】
そして、ハードディスク装置１０７０には、回路構造ファイル生成プログラム１０７１と、端子情報ファイルＦ１１と、スロット接続情報ファイルＦ１２と、設定ファイルＦ１３とが記憶される。なお、端子情報ファイルＦ１１、スロット接続情報ファイルＦ１２、または、設定ファイルＦ１３を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
【００６１】
そして、ＣＰＵ１０１０が回路構造ファイル生成プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、回路構造ファイル生成プログラム１０７１は、回路構造ファイル生成プロセス１０６１として機能するようになる。
【００６２】
そして、回路構造ファイル生成プロセス１０６１は、ハードディスク装置１０７０に記憶されている端子情報ファイルＦ１１、スロット接続情報ファイルＦ１２および設定ファイルＦ１３を読み出して、自身に割り当てられている領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【００６３】
そして、回路構造ファイル生成プロセス１０６１は、ＲＴＬファイルＦ２１および制約ファイルＦ２２を生成し、生成したＲＴＬファイルＦ２１および制約ファイルＦ２２を、ハードディスク装置１０７０に記憶させる。
【００６４】
なお、上記の回路構造ファイル生成プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、情報処理装置１が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介して情報処理装置１に接続される他の情報処理装置等にこのプログラムを記憶させておき、情報処理装置１がこれらからプログラムを読み出して実行するようにしてもよい。
【００６５】
［ＲＯＭデータ生成手法の具体例］
次に、図６に示した情報処理装置１０を例に挙げて、上述したＲＯＭデータ生成手法について、より具体的に説明する。図６は、本実施例に係る結線チェック処理を実行する情報処理装置１０の一例を示す図である。
【００６６】
同図に示した各端子の結線状態について説明する。同図に示した例では、ＦＰＧＡ５０−１ａの出力端子「Ｆ１＿ＯＤ１」は、スロット３０ａの入力端子「Ｓ１」および出力端子「Ｂ＿Ｓ１」と、スロット３０ｂの入力端子「Ｂ＿Ｓ１１」および出力端子「Ｓ３」とを介して、ＦＰＧＡ５０−１ｂの入力端子「Ｆ１＿ＩＤ１」と接続されている。また、ＦＰＧＡ５０−１ｂの出力端子「Ｆ１＿ＯＤ１」は、スロット３０ｂの入力端子「Ｓ１」および出力端子「Ｂ＿Ｓ９」と、スロット３０ａの入力端子「Ｂ＿Ｓ３」および出力端子「Ｓ３」とを介して、ＦＰＧＡ５０−１ａの入力端子「Ｆ１＿ＩＤ１」と接続されている。
【００６７】
また、ＦＰＧＡ５０−２ａの出力端子「Ｆ２＿ＯＤ１」は、スロット３０ａの入力端子「Ｓ５」および出力端子「Ｂ＿Ｓ５」と、スロット３０ｂの入力端子「Ｂ＿Ｓ１５」および出力端子「Ｓ７」とを介して、ＦＰＧＡ５０−２ｂの入力端子「Ｆ２＿ＩＤ１」と接続されている。また、ＦＰＧＡ５０−２ｂの出力端子「Ｆ２＿ＯＤ１」は、スロット３０ｂの入力端子「Ｓ５」および出力端子「Ｂ＿Ｓ１３」と、スロット３０ａの入力端子「Ｂ＿Ｓ７」および出力端子「Ｓ７」とを介して、ＦＰＧＡ５０−２ａの入力端子「Ｆ２＿ＩＤ１」と接続されている。
【００６８】
このように接続されているＦＰＧＡ間の結線状態をチェックする場合、ユーザは、図７に例示するような端子情報ファイルＦ１１と、図８に例示するようなスロット接続情報ファイルＦ１２と、図９に例示するような設定ファイルＦ１３とを、情報処理装置１へ入力する。
【００６９】
図７に例示した端子情報ファイルＦ１１について説明する。同図に示すように、端子情報ファイルＦ１１は、パッケージ内のＦＰＧＡごとに定義されている。ここで、「＃ＦＰＧＡ５０−１」の端子情報ファイルＦ１１は、ＦＰＧＡ５０−１ａおよび５０−１ｂが有する端子について定義されたファイルを示し、「＃ＦＰＧＡ５０−２」の端子情報ファイルＦ１１は、ＦＰＧＡ５０−２ａおよび５０−２ｂが有する端子について定義されたファイルを示す。
【００７０】
同図に示すように、「Ｐｏｒｔ  ｎａｍｅ」、「ｒａｎｇｅ」、「Ｉ／Ｏ」、「ｔｙｐｅ」、「種別」、「同期クロック」、「接続元ブロック」、「接続元Ｐｏｒｔ  ｎａｍｅ」、「ＦＰＧＡ番号」といった項目を有する。
【００７１】
「Ｐｏｒｔ  ｎａｍｅ」は、ＦＰＧＡが有する端子の名称を示す。「ｒａｎｇｅ」は、「Ｐｏｒｔ  ｎａｍｅ」が示す端子から出力されるデータ、または、「Ｐｏｒｔ  ｎａｍｅ」が示す端子に入力されるデータのビット幅を示す。同図では、ｒａｎｇｅが「１」である場合、ビット幅が１ビットのであることを示す。なお、同図中には例示していないが、ｒａｎｇｅが「７：０」である場合、ビット幅が８ビットであることを示す。
【００７２】
「Ｉ／Ｏ」は、「Ｐｏｒｔ  ｎａｍｅ」が示す端子が、入力端子または出力端子のどちらであるかを識別するための情報を示す。同図では、Ｉ／Ｏが「Ｉ」である場合、端子が入力端子であることを示し、Ｉ／Ｏが「Ｏ」である場合、端子が出力端子であることを示す。なお、同図中には例示していないが、Ｉ／Ｏが「ＩＯ」である場合、端子が入出力端子であることを示す。
【００７３】
「ｔｙｐｅ」は、ｒａｎｇｅのビット幅が１ビットであるか、または、多数ビット（２ビット以上）であるかを識別するための情報を示す。同図では、ｔｙｐｅが「Ｓ（Single）」である場合、ｒａｎｇｅのビット幅が１ビットであることを示す。なお、同図中には例示していないが、ｔｙｐｅが「Ｖ（Vector）」である場合、ｒａｎｇｅのビット幅が多数ビットであることを示す。
【００７４】
「種別」は、「Ｐｏｒｔ  ｎａｍｅ」が示す端子から出力されるデータ、または、「Ｐｏｒｔ  ｎａｍｅ」が示す端子に入力されるデータの種別を示す。同図では、例えば、種別が「ＣＬＫ」である場合、「Ｐｏｒｔ  ｎａｍｅ」が示す端子が、バックボード２０の外部からクロック信号を受け付けることを示す。また、例えば、種別が「ＤＴ」である場合、入出力される信号が「データ」であることを示す。
【００７５】
「同期クロック」は、種別が「ＤＴ」である場合に、かかるデータ信号が同期しているクロックを示す。「接続元ブロック」は、「Ｐｏｒｔ  ｎａｍｅ」が示す端子と接続される端子の所属部位を示す。例えば、接続元ブロックが「ＳＬＯＴ」である場合、「Ｐｏｒｔ  ｎａｍｅ」が示す端子が、スロットの端子と接続されていることを示す。「接続元Ｐｏｒｔ  ｎａｍｅ」は、「Ｐｏｒｔ  ｎａｍｅ」が示す端子と接続される端子の名称を示す。
【００７６】
「ＦＰＧＡ番号」は、パッケージ内でＦＰＧＡを識別するためのＦＰＧＡ番号を示す。以下では、図６に示したＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂに付した参照符号から、参照符号「ａ」または「ｂ」を除いた情報をＦＰＧＡ番号とする。例えば、ＦＰＧＡ番号「５０−１」は、ＦＰＧＡ５０−１ａまたは５０−１ｂを示し、ＦＰＧＡ番号「５０−２」は、ＦＰＧＡ５０−２ａまたは５０−２ｂを示す。
【００７７】
続いて、図８に例示したスロット接続情報ファイルＦ１２について説明する。同図に示すように、スロット接続情報ファイルＦ１２は、スロットごとに定義されており、「ＳＬＯＴ  ｎａｍｅ」、「Ｉ／Ｏ」、「接続元ＳＬＯＴ」、「接続元ＳＬＯＴ  ｎａｍｅ」、「ＳＬＯＴ番号」といった項目を有する。
【００７８】
「ＳＬＯＴ  ｎａｍｅ」は、スロットが有する端子の名称を示す。「Ｉ／Ｏ」は、「ＳＬＯＴ  ｎａｍｅ」が示す端子が、入力端子または出力端子のどちらであるかを識別するための情報を示す。「接続元ＳＬＯＴ」は、「ＳＬＯＴ  ｎａｍｅ」が示す端子と接続されている端子の所属部位を示す。例えば、接続元ＳＬＯＴが「ＳＬＯＴ３０ｂ」である場合、「ＳＬＯＴ  ｎａｍｅ」が示す端子が、スロット３０ｂが有する端子と接続されていることを示す。「接続元ＳＬＯＴ  ｎａｍｅ」は、「ＳＬＯＴ  ｎａｍｅ」が示す端子と接続されている端子の名称を示す。
【００７９】
「ＳＬＯＴ番号」は、スロットを識別するためのスロット番号を示す。以下では、図６に示したスロット３０ａおよび３０ｂに付した参照符号をスロット番号とする。例えば、スロット番号「３０ａ」は、スロット３０ａを示し、スロット番号「３０ｂ」は、スロット３０ｂを示す。
【００８０】
なお、スロット３０ａおよび３０ｂが有する入力端子と出力端子との対応は、規格により決定している。例えば、図６に示したスロット３０ａが有する入力端子「Ｓ１」は、出力端子「Ｂ＿Ｓ１」に対応している。言い換えれば、スロット３０ａの入力端子「Ｓ１」に入力されたデータは、出力端子「Ｂ＿Ｓ１」から出力される。
【００８１】
同様に、スロット３０ａの入力端子「Ｓ２」は出力端子「Ｂ＿Ｓ２」に対応しており、入力端子「Ｂ＿Ｓ３」は出力端子「Ｓ３」に対応しており、入力端子「Ｂ＿Ｓ４」は出力端子「Ｓ４」に対応しており、入力端子「Ｓ５」は出力端子「Ｂ＿Ｓ５」に対応しており、入力端子「Ｓ６」は出力端子「Ｂ＿Ｓ６」に対応しており、入力端子「Ｂ＿Ｓ７」は出力端子「Ｓ７」に対応しており、入力端子「Ｂ＿Ｓ８」は出力端子「Ｓ８」に対応している。パッケージ４０ｂの各端子についても同様である。
【００８２】
すなわち、図８に示した＃スロット３０ａの項「１１」は、スロット３０ａの入力端子「Ｂ＿Ｓ３」が、スロット３０ｂの出力端子「Ｂ＿Ｓ９」と接続されていることを示している。前述したように、スロット３０ａの入力端子「Ｂ＿Ｓ３」は、出力端子「Ｓ３」に対応しており、スロット３０ｂの出力端子「Ｂ＿Ｓ９」は、入力端子「Ｓ１」と対応していることが決定している。したがって、スロット３０ｂの入力端子「Ｓ１」に入力された信号は、出力端子「Ｂ＿Ｓ９」と、入力端子「Ｂ＿Ｓ３」とを介して、スロット３０ａの出力端子「Ｓ３」から出力されることが分かる。
【００８３】
続いて、図９に例示した設定ファイルＦ１３について説明する。同図に示すように、設定ファイルＦ１３は、「ＳＬＯＴ番号」、「ＳＬＯＴ接続」といった項目を有する。「ＳＬＯＴ番号」は、図８に示したスロット接続情報ファイルＦ１２が有する項目「ＳＬＯＴ番号」に対応する。「ＳＬＯＴ接続」は、ＳＬＯＴ番号が示すスロットに、パッケージが搭載されるか否かを示す。すなわち、図９に示した設定ファイルＦ１３の項「１」は、スロット番号「３０ａ」が示すスロット３０ａに、パッケージ（すなわち、ＦＰＧＡ）が搭載されることを示す。
【００８４】
上述したような端子情報ファイルＦ１１等を入力された後、回路構造ファイル生成プログラム１０７１は、端子データおよび比較データを生成する。ここで、上述したような端子情報ファイルＦ１１等を入力された回路構造ファイル生成プログラム１０７１による端子データ生成処理、および、比較データ生成処理について説明する。まず、回路構造ファイル生成プログラム１０７１による端子データ生成処理について説明する。
【００８５】
回路構造ファイル生成プログラム１０７１は、まず、端子情報ファイルＦ１１から、他のＦＰＧＡと接続される出力端子に関する情報のみを抽出して、抽出した情報をＦＰＧＡごとに並べ替える。続いて、回路構造ファイル生成プログラム１０７１は、並べ替えた情報（以下、「出力端子データ群」という）と同一の情報を、設定ファイルＦ１３にパッケージが接続されていることを示すスロット（以下、「有効スロット」という）の個数分だけ生成する。続いて、回路構造ファイル生成プログラム１０７１は、出力端子データ群に有効スロットを対応付ける（以下、出力端子データ群に有効スロットを対応付けた情報を「端子データ基」という）。そして、回路構造ファイル生成プログラム１０７１は、端子データ基に端子データを割り当てる。
【００８６】
出力端子データ群に有効スロットのみを対応付けて端子データを生成することで、パッケージが搭載されないスロットに対応する端子データを生成しないようにすることができる。これにより、不要な端子データを生成するための処理を省略することができるとともに、パッケージが搭載されないスロットに関して、結線チェック処理を行わないようにすることができる。
【００８７】
図１０を用いて、回路構造ファイル生成プログラム１０７１による端子データ生成処理について具体的に説明する。図１０は、回路構造ファイル生成プログラム１０７１による端子データ生成処理を説明するための図である。ここでは、回路構造ファイル生成プログラム１０７１が、図７に示した端子情報ファイルＦ１１と、図８に示したスロット接続情報ファイルＦ１２と、図９に示した設定ファイルＦ１３とを受け付けたものとする。
【００８８】
回路構造ファイル生成プログラム１０７１は、まず、図７に例示した端子情報ファイルＦ１１から、「Ｉ／Ｏ」が「Ｏ」である「Ｐｏｒｔ  ｎａｍｅ」を抽出する。ここでは、回路構造ファイル生成プログラム１０７１は、「Ｐｏｒｔ  ｎａｍｅ」として、「Ｆ１＿ＯＤ１」と、「Ｆ１＿ＯＤ２」と、「Ｆ２＿ＯＤ１」と、「Ｆ２＿ＯＤ２」とを抽出する。このとき、回路構造ファイル生成プログラム１０７１は、「Ｉ／Ｏ」が「Ｏ」であっても、他のＦＰＧＡと接続されない端子（結線チェック対象外端子）である「ＨＩＹＯＵＪＩ」は抽出しない。なお、この「ＨＩＹＯＵＪＩ」が示す端子は、結果表示部６３ａが有する端子と接続される。
【００８９】
続いて、回路構造ファイル生成プログラム１０７１は、抽出した「Ｐｏｒｔ  ｎａｍｅ」に、ＦＰＧＡ番号「５０−１」および「５０−２」を対応付けた後、ＦＰＧＡ番号ごとに並べ替える。具体的には、回路構造ファイル生成プログラム１０７１は、図１０中の出力端子データ群Ｇ１に示すように、「ＦＰＧＡ５０−１／Ｆ１＿ＯＤ１」、「ＦＰＧＡ５０−１／Ｆ１＿ＯＤ２」、「ＦＰＧＡ５０−２／Ｆ２＿ＯＤ１」、「ＦＰＧＡ５０−２／Ｆ２＿ＯＤ２」の順に並べ替える。
【００９０】
続いて、回路構造ファイル生成プログラム１０７１は、図９に例示した設定ファイルＦ１３に有効スロットの数が２個であることが定義されているので、出力端子データ群Ｇ１を２個生成する。ここでは、図１０に示すように、２個目の出力端子データ群を、出力端子データ群Ｇ２とする。
【００９１】
続いて、回路構造ファイル生成プログラム１０７１は、図１０中の端子データ基Ｍ１に示すように、出力端子データ群Ｇ１およびＧ２に、有効スロットであるスロット３０ａと、スロット３０ｂとを対応付ける。
【００９２】
そして、回路構造ファイル生成プログラム１０７１は、端子データ基Ｍ１に対して、１行ごとに、端子データを割り当てる。具体的には、図１０に示すように、回路構造ファイル生成プログラム１０７１は、「スロット３０ａ／ＦＰＧＡ５０−１／Ｆ１＿ＯＤ１」に、端子データ「０１０１００１」を割り当て、「スロット３０ａ／ＦＰＧＡ５０−１／Ｆ１＿ＯＤ２」に、端子データ「０１０１０１０」を割り当てている。同様に、端子データを割り当てていき、最後に、「スロット３０ｂ／ＦＰＧＡ５０−２／Ｆ２＿ＯＤ２」に、端子データ「１０１００１０」を割り当てている。
【００９３】
なお、同図に示した例では、回路構造ファイル生成プログラム１０７１は、端子データの先頭から１〜２ビットを、スロット番号を識別するための情報に割り当て、端子データの先頭から３〜４ビットを、ＦＰＧＡ番号を識別するための情報に割り当て、端子データの先頭から５〜７ビットを、「Ｐｏｒｔ  ｎａｍｅ」を識別するための情報に割り当てている。
【００９４】
具体的には、端子データの先頭から１〜２ビットが「０１」である場合、スロット番号が「３０ａ」であることを示し、「１０」である場合、スロット番号が「３０ｂ」であることを示している。また、端子データの先頭から３〜４ビットが「０１」である場合、ＦＰＧＡ番号が「５０−１」であることを示し、「１０」である場合、ＦＰＧＡ番号が「５０−２」であることを示している。また、端子データの先頭から５〜７ビットが「００１」である場合、「Ｐｏｒｔ  ｎａｍｅ」が、「Ｆ１＿ＯＤ１」または「Ｆ２＿ＯＤ１」であることを示し、「０１０」である場合、「Ｐｏｒｔ  ｎａｍｅ」が、「Ｆ１＿ＯＤ２」または「Ｆ２＿ＯＤ２」であることを示している。
【００９５】
このように生成された端子データのうち、スロット３０ａおよびＦＰＧＡ５０−１を対応付けた情報を基に生成された端子データ（図１０中の項「１」「２」に対応する端子データ）は、ＦＰＧＡ５０−１がスロット３０ａに搭載された場合に出力される端子データとなる。また、スロット３０ｂおよびＦＰＧＡ５０−２を対応付けた情報を基に生成された端子データ（図１０中の項「７」「８」に対応する端子データ）は、ＦＰＧＡ５０−２がスロット３０ｂに搭載された場合に出力される端子データとなる。
【００９６】
次に、回路構造ファイル生成プログラム１０７１による比較データ生成処理について説明する。回路構造ファイル生成プログラム１０７１は、上記端子データ生成処理において生成した端子データ基に、かかる端子データ基が示す出力端子から出力される信号を受け付ける入力端子を対応付ける。端子データ基に対応付ける入力端子は、端子データ基と同様に、「スロット番号」／「ＦＰＧＡ番号」／「Ｐｏｒｔ  ｎａｍｅ」という形式である。以下では、端子データ基に対応付ける入力端子の情報を「比較データ基」と呼ぶこととする。そして、回路構造ファイル生成プログラム１０７１は、端子データ基の端子データを比較データとする。
【００９７】
図１１を用いて具体的に説明する。図１１は、回路構造ファイル生成プログラム１０７１による比較データ生成処理を説明するための図である。同図に示すように、回路構造ファイル生成プログラム１０７１は、まず、端子データ生成処理において生成した端子データ基Ｍ１に、比較データ基Ｈ１を対応付ける。
【００９８】
具体的には、回路構造ファイル生成プログラム１０７１は、端子データ基Ｍ１の「スロット３０ａ／ＦＰＧＡ５０−１／Ｆ１＿ＯＤ１」が示す出力端子から出力される信号を受信する端子を特定する。言い換えれば、回路構造ファイル生成プログラム１０７１は、ＦＰＧＡ５０−１がスロット３０ａに搭載されることを想定して、ＦＰＧＡ５０−１の出力端子「Ｆ１＿ＯＤ１」から送信される信号を受信する端子を特定する。
【００９９】
図７に示した例では、＃ＦＰＧＡ５０−１の項「７」に示すように、ＦＰＧＡ５０−１の出力端子「Ｆ１＿ＯＤ１」は、スロット３０ａまたは３０ｂの入力端子「Ｓ１」と接続される。ここでは、出力端子「Ｆ１＿ＯＤ１」が、スロット３０ａの入力端子「Ｓ１」と接続される場合を想定している。また、上述したように、スロット３０ａの入力端子「Ｓ１」は、出力端子「Ｂ＿Ｓ１」と対応することが決定している。
【０１００】
図８に示した例では、＃スロット３０ｂの項「１１」に示すように、スロット３０ａの出力端子「Ｂ＿Ｓ１」は、スロット３０ｂの入力端子「Ｂ＿Ｓ１１」と接続される。このスロット３０ｂの入力端子「Ｂ＿Ｓ１１」は、出力端子「Ｓ３」と対応することが決定している。そして、図７に示した例では、＃ＦＰＧＡ５０−１の項「５」に示すように、出力端子「Ｓ３」と接続されるのは、入力端子「Ｆ１＿ＩＤ１」であることが分かる。すなわち、「スロット３０ａ／ＦＰＧＡ５０−１／Ｆ１＿ＯＤ１」が示す出力端子から送信される信号を受信する端子は、スロット３０ｂに搭載されるＦＰＧＡ５０−１の入力端子「Ｆ１＿ＩＤ１」であることが分かる。
【０１０１】
回路構造ファイル生成プログラム１０７１は、すべての端子データ基Ｍ１に、比較データ基Ｈ１を対応付けた後、端子データ基Ｍ１に対して、１行ごとに、比較データを割り当てる。この比較データは、上記端子データ生成処理において割り当てた端子データと同様の形式のデータである。ＦＰＧＡは、かかる比較データを、比較データ基Ｈ１を対応付けて記憶する。
【０１０２】
このように生成された比較データのうち、スロット３０ａおよびＦＰＧＡ５０−１の入力端子を対応付けた情報を基に生成された比較データ（図１０中の項「５」「６」に対応する比較データ）は、ＦＰＧＡ５０−１がスロット３０ａに搭載された場合に、比較データ出力部５２０から出力される比較データとなる。また、スロット３０ｂおよびＦＰＧＡ５０−２の入力端子を対応付けた情報を基に生成された比較データ（図１０中の項「３」「４」に対応する比較データ）は、ＦＰＧＡ５０−２がスロット３０ｂに搭載された場合に、比較データ出力部５２０から出力される比較データとなる。
【０１０３】
端子データおよび比較データを生成した後に、回路構造ファイル生成プログラム１０７１は、ＲＴＬファイルＦ２１と、制約ファイルＦ２２とを生成する。ＲＴＬファイルＦ２１の一例を図１２に示す。同図に示すように、回路構造ファイル生成プログラム１０７１は、図６のＦＰＧＡ５０−１ａなどに書き込まれる論理回路の構造をＲＴＬ記述により記述したＲＴＬファイルＦ２１を生成する（図１２を参照）。また、制約ファイルＦ２２の一例を図１３に示す。同図に示すように、回路構造ファイル生成プログラム１０７１は、論理合成処理およびレイアウト処理に必要となる制約ファイルＦ２２を生成する。
【０１０４】
［ＦＰＧＡの構成］
次に、ＲＯＭデータＲ３０が書き込まれたＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂの構成について説明する。図１４は、ＲＯＭデータＲ３０が書き込まれたＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂの構成を示すブロック図である。なお、ＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂは、いずれも同様の構成を有するため、ここでは、ＦＰＧＡ５０−１ａを例にして説明する。
【０１０５】
同図に示すように、ＲＯＭデータＲ３０が書き込まれたＦＰＧＡ５０−１ａは、端子データ出力部５１０ａと、比較データ出力部５２０ａと、検査部５３０ａとを有する。
【０１０６】
端子データ出力部５１０ａは、アドレス生成部５１１ａと、端子データ記憶部５１２ａとを有する。アドレス生成部５１１ａは、結線チェック処理を開始させるための信号（以下、「スタート信号」という）を検出すると、クロックの立ち上がりエッジに応じて、カウンタを「０」からカウントアップして、アドレスとして端子データ記憶部５１２ａへ出力する。端子データ記憶部５１２ａは、アドレス生成部５１１ａから入力されたカウンタ値に従って、端子データを、ＦＰＧＡ５０−１ａが有する出力端子から出力する。なお、端子データ記憶部５１２ａは、図２に示した対向用データ記憶部Ｄ１１ａおよび自己折り返し用データ記憶部Ｄ１２ａに対応する。
【０１０７】
比較データ出力部５２０ａは、アドレス生成部５２１ａと、比較データ記憶部５２２ａとを有する。アドレス生成部５２１ａは、上記アドレス生成部５１１ａと同様に、スタート信号を検出すると、クロックの立ち上がりエッジに応じて「０」からカウントアップし、アドレスとして比較データ記憶部５２２ａへ出力する。比較データ記憶部５２２ａは、アドレス生成部５２１ａから入力されたカウンタ値に従って、比較データを、比較部５３２ａへ出力する。なお、比較データ記憶部５２２ａは、図２に示した対向用比較データ記憶部Ｄ２１ａおよび自己折り返し用比較データ記憶部Ｄ２２ａに対応する。
【０１０８】
検査部５３０ａは、データ検出部５３１ａと、比較部５３２ａとを有する。データ検出部５３１ａは、ＦＰＧＡ５０−１ａが有する入力端子から入力される端子データを検出して、比較部５３２ａへ出力する。比較部５３２ａは、データ検出部５３１ａから入力された端子データと、比較データ記憶部５２２ａから入力された比較データとが同一であるか否かを判定して、判定結果を結果表示部６１ａ等へ出力する。
【０１０９】
ここで、図１５を用いて、図１４に示した端子データ出力部５１０ａによる端子データ出力処理について具体的に説明する。図１５は、端子データ出力部５１０ａによる端子データ出力処理の一例を説明するための図である。なお、図１５では、ＦＰＧＡ５０−１ａがスロット３０ａに搭載され、端子データ記憶部５１２ａに、図１０において説明した端子データが記憶されているものとする。
【０１１０】
図１５に示すように、アドレス生成部５１１ａは、時間「０」に検出するスタート信号から「ｔ」時間毎にアドレス「１」、「２」、・・、「７」を生成して、端子データ記憶部５１２ａへ出力する。
【０１１１】
アドレス生成部５１１ａからアドレスを受け付けた端子データ記憶部５１２ａは、アドレスに応じた端子データをＦＰＧＡ５０−１ａが有する出力端子から出力する。具体的には、端子データ記憶部５１２ａは、時間「０」から「ｔ」時間ごとに、出力端子「Ｆ１＿ＯＤ１」から、端子データ「０」、「１」、「０」、「１」、「０」、「０」、「１」を出力するとともに、出力端子「Ｆ１＿ＯＤ２」から、端子データ「０」、「１」、「０」、「１」、「０」、「１」、「０」を出力する。
【０１１２】
続いて、図１６を用いて、図１４に示した比較データ出力部５２０ａおよび検査部５３０ａによる端子データ比較処理について具体的に説明する。図１６は、比較データ出力部５２０ａおよび検査部５３０ａによる端子データ比較処理の一例を説明するための図である。なお、図１６では、ＦＰＧＡ５０−１ａがスロット３０ａに搭載されており、比較データ記憶部５２２ａに、図１１において説明した比較データが記憶されているものとする。
【０１１３】
図１６に示すように、データ検出部５３１ａは、入力端子「Ｆ１＿ＩＤ１」および「Ｆ１＿ＩＤ２」から入力される端子データを検出し、かかる端子データを比較部５３２ａへ出力する。アドレス生成部５２１ａは、時間「０」に検出するスタート信号から「ｔ」時間毎にアドレス「１」、「２」、・・、「７」を生成して、比較データ記憶部５２２ａへ出力する。
【０１１４】
続いて、アドレス生成部５２１ａからアドレスを受け付けた比較データ記憶部５２２ａは、アドレスに応じた比較データを比較部５３２ａへ出力する。この比較データは、入力端子「Ｆ１＿ＩＤ１」および「Ｆ１＿ＩＤ２」に対応付けられて記憶されている比較データである。
【０１１５】
そして、比較部５３２ａは、時間「０」から「ｔ」時間ごとにデータ検出部５３１ａから出力される端子データと、比較データ記憶部５２２ａから入力される比較データとが同一であるか否かを判定して、判定結果を結果表示部６１ａ等へ出力する。具体的には、データ検出部５３１ａは、時間「０」から時間「ｔ１」区間において、データ検出部５３１ａから端子データ「１」を入力されるとともに、比較データ記憶部５２２ａから比較データ「１」を入力される。端子データ「１」と比較データ「１」とが一致するので、図１６に示した例では、判定結果として「１」を結果表示部６１ａ等へ出力している。このようにして、比較部５３２ａは、時間「ｔ１」以後も同様に、端子データ比較処理を行う。なお、ここでは、比較部５３２ａは、端子データと比較データとが一致する場合に、判定結果「１」を結果表示部６１ａ等へ出力し、端子データと比較データとが一致しない場合に、判定結果「０」を結果表示部６１ａ等へ出力するものとする。
【０１１６】
［情報処理装置によるＲＯＭデータＲ３０の生成処理手順］
次に、情報処理装置１および２によるＲＯＭデータＲ３０の生成処理の手順を説明する。図１７は、情報処理装置１および２によるＲＯＭデータＲ３０の生成処理手順を示すフローチャートである。同図に示すように、情報処理装置１は、端子情報ファイルＦ１１と、スロット接続情報ファイルＦ１２とを受け付ける（ステップＳ１０１）。続いて、情報処理装置１は、設定ファイルＦ１３を受け付ける（ステップＳ１０２）。
【０１１７】
続いて、情報処理装置１の回路構造ファイル生成プログラム１０７１は、入力された端子情報ファイルＦ１１と、スロット接続情報ファイルＦ１２と、設定ファイルＦ１３とに基づいて、端子データを生成する（ステップＳ１０３）。続いて、回路構造ファイル生成プログラム１０７１は、比較データを生成する（ステップＳ１０４）。
【０１１８】
続いて、回路構造ファイル生成プログラム１０７１は、論理合成処理およびレイアウト処理に必要となるＲＴＬファイルＦ２１を生成するとともに（ステップＳ１０５）、制約ファイルＦ２２を生成する（ステップＳ１０６）。
【０１１９】
続いて、情報処理装置２は、情報処理装置１により生成されたＲＴＬファイルＦ２１と、制約ファイルＦ２２とに対して、論理合成処理およびレイアウト処理を行う（ステップＳ１０７）。論理合成処理およびレイアウト処理に異常が発生した場合（ステップＳ１０８否定）、ユーザは、端子情報ファイルＦ１１等の定義内容を修正し、情報処理装置１が、端子情報ファイルＦ１１等を受け付ける処理を再度行う（ステップＳ１０１）。
【０１２０】
一方、論理合成処理およびレイアウト処理が正常に終了した場合（ステップＳ１０８肯定）、結線チェック処理を実行するための論理回路と、端子データおよび比較データが記憶されるメモリとを含むＲＯＭデータＲ３０が生成される（ステップＳ１０９）。
【０１２１】
［ＦＰＧＡによる処理手順（端子データ出力処理手順）］
次に、ＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂによる端子データ出力処理の手順を説明する。なお、ＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂによる端子データ出力処理手順は、同様の処理手順であるため、ここでは、ＦＰＧＡ５０−１ａを例にして説明する。
【０１２２】
図１８は、ＦＰＧＡ５０−１ａによる端子データ出力処理手順を示すフローチャートである。同図に示すように、ＦＰＧＡ５０−１ａをバックボード２０に搭載する情報処理装置１０の電源が投入された後、ＦＰＧＡ５０−１ａに、ＲＯＭデータＲ３０が書き込まれる（ステップＳ２０１）。
【０１２３】
続いて、ＦＰＧＡ５０−１ａは、バックボード２０から搭載情報を取得する（ステップＳ２０２）。取得した搭載情報に従って、ＦＰＧＡ５０−１ａは、セレクタＳ１０ａ、Ｓ１１ａ、Ｓ１２ａ、Ｓ２０ａ、Ｓ２１ａおよびＳ２２ａ等を活性化する（ステップＳ２０３）。例えば、ＦＰＧＡ５０−１ａがスロット３０ａに搭載されている場合、セレクタＳ１０ａは、対向用データ記憶部Ｄ１１ａから受け付ける端子データを出力するように制御されるとともに、セレクタＳ１１ａは、スロット１用データ記憶部Ｄ１１１ａから受け付ける端子データを出力するように制御される。
【０１２４】
続いて、端子データ出力部５１０ａのアドレス生成部５１１ａが、スタート信号を検出すると（ステップＳ２０４肯定）、端子データ記憶部５１２ａは、ＦＰＧＡ５０−１ａが有する出力端子から端子データを出力する（ステップＳ２０５）。
【０１２５】
［ＦＰＧＡによる処理手順（端子データ比較処理手順）］
次に、ＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂによる端子データ比較処理の手順を説明する。なお、ＦＰＧＡ５０−１ａ、５０−１ｂ、５０−２ａおよび５０−２ｂによる端子データ比較処理手順は、同様の処理手順であるため、ここでは、ＦＰＧＡ５０−１ａを例にして説明する。
【０１２６】
図１９は、ＦＰＧＡ５０−１ａによる端子データ比較処理手順を示すフローチャートである。同図に示すように、他のＦＰＧＡから出力された端子データを、ＦＰＧＡ５０−１ａの入力端子が受信すると（ステップＳ３０１肯定）、検査部５３０ａのデータ検出部５３１ａは、入力端子から入力される端子データを検出して、比較部５３２ａへ出力する。
【０１２７】
続いて、比較部５３２ａは、データ検出部５３１ａから入力された端子データと、比較データ記憶部５２２ａから入力された比較データとが同一であるか否かを判定して（ステップＳ３０２）、判定結果を結果表示部６１ａ等へ出力する。かかる判定結果を受け付けた結果表示部６１ａ等は、判定結果を表示する（ステップＳ３０３）。
【０１２８】
［本実施例の効果］
上述してきたように、本実施例に係る結線チェック処理は、各々のＦＰＧＡが、出力端子から端子データを出力し、入力端子に端子データが入力された場合に、かかる端子データと、端子データを受信した入力端子に対応する比較データとが同一であるか否かを判定し、判定結果を結果表示部に表示するので、ＦＰＧＡ間の配線パターンを目視で確認したり、専用のテスターを用いて結線の導通チェック、または、入出力データのモニタリングを行ったりすることなく、パッケージ間の結線チェックを行うことができる。すなわち、本実施例に係る結線チェック処理によれば、複数のスロットを介して複数のパッケージを搭載するバックボードにおけるパッケージ間の配線を容易、かつ、確実にチェックすることができる。
【０１２９】
また、本実施例に係る結線チェック処理では、結線チェック処理の結果が「ＮＧ」である場合、結果表示部に異常であると判定された出力端子および入力端子を特定できるように表示するので、不具合が、ＦＰＧＡ間のどの配線パターンに起因するのかを容易に切り分けわけることができる。これにより、ＦＰＧＡ間の配線ミスや、ＦＰＧＡ間の結線が物理的に断線している場合などの欠陥がある場合に、不具合を特定するために要する工数を低減することができる。
【０１３０】
また、所定の定義ファイル（端子情報ファイルＦ１１等）を、回路構造ファイル生成プログラム１０７１を実行する情報処理装置１に入力するだけで、ＲＯＭデータＲ３０が自動的に生成されるので、所定の定義ファイルさえ用意すれば、本実施例に係る結線チェック処理を実行することができる。
【０１３１】
なお、本実施例に係る結線チェック処理は、ＳＥＲＤＥＳ（SERializer／DESerializer）デバイスを介して、バックボード２０等と接続されるＦＰＧＡにおいても適用可能である。かかる場合、デバイスの制御情報に対応する比較データを予め記憶しておき、入力される制御情報と、比較データとが同一であるか否かを判定することで、結線チェック処理を行うことができる。
【０１３２】
また、上記実施例では、実施例に係る結線チェック処理が、情報処理装置、バックボード、または、ＦＰＧＡの製造工程において実行されることを前提として説明したが、結線チェック処理を実行する回路（以下、「結線チェック回路」という）を書き込んだＦＰＧＡをユーザに提供することもできる。
【０１３３】
図２０を用いて具体的に説明する。図２０は、結線チェック回路とユーザ回路とを有するＦＰＧＡの一例を示す図である。同図に示したＦＰＧＡ５０−１ａは、結線チェック回路９１と、ユーザ回路部９２と、セレクタ９３とを有する。結線チェック回路９１は、上述した結線チェック処理を行うための回路である。ユーザ回路部９２は、ユーザによって利用される所定の機能を実現するためのＲＯＭデータが書き込まれる領域である。セレクタ９３は、結線チェック回路９１による結線チェック処理が終了した場合に、ユーザ回路部９２を有効にするように切り替えるセレクタ回路である。このような構成の下、結線チェック処理が終了したことを外部の結果表示部に表示させることで、ユーザに本実施例に係る結線チェック処理が行われていることを通知することができる。これにより、情報処理装置等の信頼性が高いことをユーザに通知することができる。
【０１３４】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散、統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散、統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３５】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１３６】
（付記１）バックボード上のスロットを介して接続される複数のプログラマブルデバイスは、複数の出力端子と複数の入力端子を有し、互いに接続されている一のプログラマブルデバイスの出力端子と他のプログラマブルデバイスの入力端子間の結線をチェックする結線チェック方法であって、
第一のプログラマブルデバイスが、
前記第一のプログラマブルデバイスが有する出力端子から、該第一のプログラマブルデバイスが有する端子を識別するための端子情報を記憶する端子情報記憶手段に記憶されている前記出力端子の端子情報を出力する端子情報出力工程と、
前記第一のプログラマブルデバイスの出力端子と結線されている他のプログラマブルデバイスの入力端子が、
前記端子情報出力工程において出力された端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子と接続される出力端子の端子情報である比較情報を記憶する比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査する検査工程と
前記検査工程によって検査された結果を所定の出力部に出力させる出力工程と
を含んだことを特徴とする結線チェック方法。
【０１３７】
（付記２）前記端子情報記憶手段は、前記第一のプログラマブルデバイスを示すプログラマブルデバイス番号と、前記第一のプログラマブルデバイスが有する出力端子を識別するための出力端子識別情報との組合せを、前記スロットを識別するためのスロット番号のすべてに組み合わせた情報を、端子情報として記憶し、
前記比較情報記憶手段は、前記他のプログラマブルデバイスを示すプログラマブルデバイス番号と前記他のプログラマブルデバイスが有する入力端子を識別するための入力端子識別情報と前記スロット番号との組合せに対応付けて、前記入力端子と接続される出力端子の端子情報を、比較情報として記憶し、
前記端子情報出力工程は、前記端子情報記憶手段に記憶されている端子情報のうち、前記プログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する端子情報を、前記出力端子から出力し、
前記検査工程は、前記比較情報記憶手段に記憶されている比較情報のうち、前記他のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する比較情報と、前記端子情報出力工程において出力された端子情報とが一致しているか否かを検査することを特徴とする付記１に記載の結線チェック方法。
【０１３８】
（付記３）前記第一のプログラマブルデバイスが、
前記端子情報出力工程において出力された端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子と接続される出力端子の端子情報である比較情報を記憶する比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査する自己検査工程をさらに含んだことを特徴とする付記１または２に記載の結線チェック方法。
【０１３９】
（付記４）前記端子情報出力工程は、前記第一のプログラマブルデバイスが備えるＳＥＲＤＥＳ（SERializer／DESerializer）デバイスを介して端子情報を出力端子から出力することを特徴とする付記１〜３のいずれか一つに記載の結線チェック方法。
【０１４０】
（付記５）バックボード上のスロットを介して他のプログラマブルデバイスと接続されるプログラマブルデバイスであって、
当該のプログラマブルデバイスが有する端子を識別するための端子情報を記憶する端子情報記憶手段と、
当該のプログラマブルデバイスが有する入力端子を識別するための入力端子識別情報に対応付けて、前記入力端子と接続される出力端子の端子情報である比較情報を記憶する比較情報記憶手段と、
当該のプログラマブルデバイスが有する出力端子から、前記端子情報記憶手段に記憶されている前記出力端子の端子情報を出力する端子情報出力手段と、
前記他のプログラマブルデバイスから端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子の入力端子識別情報に対応付けて前記比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査する検査手段と、
前記検査手段によって検査された結果を所定の出力部に出力させる出力手段と
を備えたことを特徴とするプログラマブルデバイス。
【０１４１】
（付記６）前記端子情報記憶手段は、当該のプログラマブルデバイスを示すプログラマブルデバイス番号と、当該のプログラマブルデバイスが有する出力端子を識別するための出力端子識別情報との組合せを、前記スロットを識別するためのスロット番号のすべてに組み合わせた情報を、端子情報として記憶し、
前記比較情報記憶手段は、当該のプログラマブルデバイスを示すプログラマブルデバイス番号と前記入力端子識別情報と前記スロット番号との組合せに対応付けて、前記入力端子と接続される出力端子の端子情報を、比較情報として記憶し、
前記端子情報出力手段は、前記端子情報記憶手段に記憶されている端子情報のうち、当該のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する端子情報を、前記出力端子から出力し、
前記検査手段は、前記比較情報記憶手段に記憶されている比較情報のうち、当該のプログラマブルデバイスが搭載されたスロットを示すスロット番号に対応する比較情報と、前記他のプログラマブルデバイスから受け付けた端子情報とが一致しているか否かを検査することを特徴とする付記５に記載のプログラマブルデバイス。
【０１４２】
（付記７）前記検査手段は、当該のプログラマブルデバイスから出力された端子情報を受け付けた場合に、該端子情報と、該端子情報を受け付けた入力端子の入力端子識別情報に対応付けて前記比較情報記憶手段に記憶されている比較情報とが一致しているか否かを検査することを特徴とする付記５または６に記載のプログラマブルデバイス。
【０１４３】
（付記８）ユーザ回路を実現するためのユーザ回路部と、
前記検査手段による検査が終了した場合に、前記ユーザ回路部を有効にするセレクタ手段とをさらに備えたことを特徴とする付記５〜７のいずれか一つに記載のプログラマブルデバイス。
【０１４４】
（付記９）バックボード上のスロットを介して互いに接続される複数のプログラマブルデバイスに書き込まれる回路構造を定義したファイルを生成する回路構造ファイル生成プログラムであって、
前記複数のプログラマブルデバイスに設けられた端子と前記スロットとの接続関係が定義されている端子情報ファイルと、前記スロット間の接続関係が定義されているスロット接続情報ファイルとを取得する取得手順と、
前記取得手順において取得された端子情報ファイルとスロット接続情報ファイルとに基づいて、前記端子を識別するための端子情報を生成する端子情報生成手順と、
前記端子情報生成手順において生成された端子情報を用いて、前記端子間の結線状態をチェックするチェック回路の回路構造を所定のファイルに出力する回路構造出力手順と
をコンピュータに実行させることを特徴とする回路構造ファイル生成プログラム。
【図面の簡単な説明】
【０１４５】
【図１−１】本実施例に係る結線チェック処理の概要を説明するための図である。
【図１−２】本実施例に係る結線チェック処理の概要を説明するための図である。
【図２】スロット間における結線チェック処理を説明するための図である。
【図３】自己折り返し時の結線チェック処理を説明するための図である。
【図４】本実施例に係る結線チェック処理を実現するためのＲＯＭデータを生成する手法の概要を説明するための図である。
【図５】結線チェックデータ生成プログラムを実行する情報処理装置の構成を示すブロック図である。
【図６】本実施例に係る結線チェック処理を実行する情報処理装置の一例を示す図である。
【図７】端子情報ファイルの一例を示す図である。
【図８】スロット接続情報ファイルの一例を示す図である。
【図９】設定ファイルの一例を示す図である。
【図１０】回路構造ファイル生成プログラムによる端子データ生成処理を説明するための図である。
【図１１】回路構造ファイル生成プログラムによる比較データ生成処理を説明するための図である。
【図１２】ＲＴＬファイルの一例を示す図である。
【図１３】制約ファイルの一例を示す図である。
【図１４】ＲＯＭデータが書き込まれたＦＰＧＡの構成を示すブロック図である。
【図１５】端子データ出力部による端子データ出力処理の一例を説明するための図である。
【図１６】比較データ出力部および検査部による端子データ比較処理の一例を説明するための図である。
【図１７】情報処理装置によるＲＯＭデータの生成処理手順を示すフローチャートである。
【図１８】ＦＰＧＡによる端子データ出力処理手順を示すフローチャートである。
【図１９】ＦＰＧＡによる端子データ比較処理手順を示すフローチャートである。
【図２０】結線チェック回路とユーザ回路とを有するＦＰＧＡの一例を示す図である。
【符号の説明】
【０１４６】
Ｄ１１  対向用データ記憶部
Ｄ１２  自己折り返し用データ記憶部
Ｄ２１  対向用比較データ記憶部
Ｄ２２  自己折り返し用比較データ記憶部
Ｆ１１  端子情報ファイル
Ｆ１２  スロット接続情報ファイル
Ｆ１３  設定ファイル
Ｆ２１  ＲＴＬファイル
Ｆ２２  制約ファイル
Ｒ３０  ＲＯＭデータ
Ｓ１０、Ｓ１１、Ｓ１２、Ｓ２０、Ｓ２１、Ｓ２２  セレクタ
Ｄ１１１、Ｄ１２１  スロット１用データ記憶部
Ｄ１１２、Ｄ１２２  スロット２用データ記憶部
Ｄ２１１、Ｄ２２１  スロット１用比較データ記憶部
Ｄ２１２、Ｄ２２２  スロット２用比較データ記憶部
１、２、１０、１１  情報処理装置
２０                バックボード
３０、８０          スロット
４０                パッケージ
５０−１、５０−２  ＦＰＧＡ
６１、６２、６３    結果表示部
７０                自己折り返し用バックボード
９１                結線チェック回路
９２                ユーザ回路部
９３                セレクタ
５１０              端子データ出力部
５１１              アドレス生成部
５１２              端子データ記憶部
５２０              比較データ出力部
５２１              アドレス生成部
５２２              比較データ記憶部
５３０              検査部
５３１              データ検出部
５３２              比較部
１０１０            ＣＰＵ
１０２０            入力装置
１０３０            モニタ
１０４０            媒体読取り装置
１０５０            ネットワークインターフェース装置
１０６０            ＲＡＭ
１０６１            回路構造ファイル生成プロセス
１０７０            ハードディスク装置
１０７１            回路構造ファイル生成プログラム
１０８０            バス
【図１−１】
0005262240.tif 000002
【図１−２】
0005262240.tif 000003
【図２】
0005262240.tif 000004
【図３】
0005262240.tif 000005
【図４】
0005262240.tif 000006
【図５】
0005262240.tif 000007
【図６】
0005262240.tif 000008
【図７】
0005262240.tif 000009
【図８】
0005262240.tif 000010
【図９】
0005262240.tif 000011
【図１０】
0005262240.tif 000012
【図１１】
0005262240.tif 000013
【図１２】
0005262240.tif 000014
【図１３】
0005262240.tif 000015
【図１４】
0005262240.tif 000016
【図１５】
0005262240.tif 000017
【図１６】
0005262240.tif 000018
【図１７】
0005262240.tif 000019
【図１８】
0005262240.tif 000020
【図１９】
0005262240.tif 000021
【図２０】
0005262240.tif 000022