(57)【要約】【課題】プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行うこと。【解決手段】まず、ボード上に搭載される複数のＦＰＧＡそれぞれのピンに係るピン情報が取得される（ステップＳ１０１）。そして、結線チェックに関する設定情報が取得される（ステップＳ１０２）。ピン情報および設定情報が取得されると、データを出力し得るすべてのピンに対して、各ピンに固有の固有データが結線チェック用のデータとして付与される（ステップＳ１０３）。そして、固有データを含む入力ピン情報および出力ピン情報が生成され、これらの情報を記憶し、出力ピンと入力ピン間の結線をチェックするチェック回路が生成される（ステップＳ１０４）。そして、チェック回路に対応するＲＯＭデータが生成される（ステップＳ１０５）。【選択図】        図１
2008102043.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成方法であって、
互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得工程と、
前記取得工程にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与工程と、
前記付与工程にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成工程と、
前記回路生成工程にて生成された回路に対応するＲＯＭデータを生成するデータ生成工程と
を有することを特徴とするデータ生成方法。
【請求項２】
前記付与工程は、
前記複数のプログラマブルデバイス以外の外部に接続される外部接続端子の端子情報からすべての外部接続端子と接続する対向プログラマブルデバイスを想定し、この対向プログラマブルデバイスの入出力端子に係る接続に固有データを付与することを特徴とする請求項１記載のデータ生成方法。
【請求項３】
前記付与工程は、
データの入力および出力の両方に用いられる双方向端子について、入力および出力それぞれに係る接続に異なる固有データを付与することを特徴とする請求項１記載のデータ生成方法。
【請求項４】
プログラマブルデバイスにＲＯＭデータを書き込む書込装置と、書込装置によって書き込まれたＲＯＭデータに従って動作しボード上で互いに接続される複数のプログラマブルデバイスとを有する結線チェックシステムであって、
前記書込装置は、
前記複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手段と、
前記取得手段によって取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手段と、
前記付与手段によって付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する生成手段と、
前記生成手段によって生成された回路に対応するＲＯＭデータを前記複数のプログラマブルデバイスに書き込む書込手段とを有し、
前記複数のプログラマブルデバイスは、
前記書込装置によって書き込まれたＲＯＭデータに従って前記ボード上のすべての結線に異常があるか否かをチェックする
ことを特徴とする結線チェックシステム。
【請求項５】
プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成プログラムであって、
互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手順と、
前記取得手順にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手順と、
前記付与手順にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成手順と、
前記回路生成手順にて生成された回路に対応するＲＯＭデータを生成するデータ生成手順と
をコンピュータに実行させることを特徴とするデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成方法、結線チェックシステム、およびデータ生成プログラムに関し、特に、プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行うことができるデータ生成方法、結線チェックシステム、およびデータ生成プログラムに関する。
【背景技術】
【０００２】
近年、特定の用途ために製造される集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）のプロトタイプが生成される際などに、例えばＦＰＧＡ（Field Programmable Gate Array）などのプログラマブルデバイスが用いられることがある。具体的には、ＦＰＧＡは、プログラミングをすることによって機能を自由に変更することができるＬＳＩであるため、ＡＳＩＣの設計時に、ＦＰＧＡを用いてＡＳＩＣの論理と等価なボードが生成され、このボードによってＡＳＩＣが所望の機能を果たすか否か検証されることがある。
【０００３】
通常、ＡＳＩＣのプロトタイプとしてのボードには、複数のＦＰＧＡが搭載され、互いに結線される。このとき、ＦＰＧＡ間の結線が物理的に断線しているなどの欠陥があると、たとえＡＳＩＣの論理が正しく、この論理と等価なボードが生成されても、論理の検証を正確に行うことはできない。そこで、例えば特許文献１に記載されているように、ＦＰＧＡに結線チェック用のプログラムのデータ（一般に「ＲＯＭデータ」または「ＢＩＴデータ」などと呼ばれる）を書き込み、論理の検証に先立って、あらかじめボードの結線のチェックを行うことが検討されている。特許文献１に記載された技術では、互いに接続されるＦＰＧＡの入出力ピン間で結線チェック用のデータが授受され、データが入力される側のＦＰＧＡに正しく結線チェック用のデータが入力されたことが確認され、ＦＰＧＡ間の結線に物理的な欠陥がないことが保証される。
【０００４】
【特許文献１】特開２００４−１５１０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、ボード上のＦＰＧＡ間の結線をチェックすることができるものの、ＦＰＧＡとボードの外部との接続については結線をチェックすることができないという問題がある。すなわち、ＦＰＧＡが搭載されるボードの周縁部には、ボードを外部と接続するためのコネクタが設けられるが、このコネクタはＡＳＩＣの単なる外部端子に相当し、結線チェック用のデータの生成や比較ができないため、コネクタとＦＰＧＡの接続については結線をチェックすることができない。
【０００６】
この点に関して、例えばオシロスコープなどの測定機器をコネクタを介してボードの外部に接続し、コネクタに接続されるＦＰＧＡからデータが出力されることを確認することが考えられる。つまり、測定機器によって、コネクタからのデータの出力が確認されれば、ＦＰＧＡとコネクタの間に物理的な欠陥がないと判断することができる。しかし、高集積化などによりＦＰＧＡの入出力ピン数は増加の一途を辿っており、必然的にコネクタに接続される入出力ピン数も多くなることから、測定機器を用いてすべての入出力ピンに関する結線を手動でチェックするのは現実的ではない。
【０００７】
また、測定機器を用いる場合、コネクタに接続されるＦＰＧＡのピンがすべてデータを出力する出力ピンであるという前提の下で結線がチェックされることになるが、これらのＦＰＧＡのピンの中には、ボードの外部からコネクタを介してＦＰＧＡへデータを入力する入力ピンもあり、実際の機能に即した結線のチェックを行うことができない。
【０００８】
同様に、上記従来の技術では、ＦＰＧＡ間の結線チェックに関しても、各ピンが入力ピンであるか出力ピンであるか考慮されておらず、例えば入出力が制御されて切り替えられる双方向ピンなどについて、実際の機能に即した結線チェックが困難であるという問題がある。
【０００９】
本発明はかかる点に鑑みてなされたものであり、プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行うことができるデータ生成方法、結線チェックシステム、およびデータ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成方法であって、互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得工程と、前記取得工程にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与工程と、前記付与工程にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成工程と、前記回路生成工程にて生成された回路に対応するＲＯＭデータを生成するデータ生成工程とを有することを特徴とする。
【００１１】
また、本発明は、上記発明において、前記付与工程は、前記複数のプログラマブルデバイス以外の外部に接続される外部接続端子の端子情報からすべての外部接続端子と接続する対向プログラマブルデバイスを想定し、この対向プログラマブルデバイスの入出力端子に係る接続に固有データを付与することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記付与工程は、データの入力および出力の両方に用いられる双方向端子について、入力および出力それぞれに係る接続に異なる固有データを付与することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記回路生成工程は、前記付与工程にて付与された固有データをそれぞれ出力端子から出力させる出力回路と、それぞれの入力端子から入力されたデータと前記付与工程にて付与された固有データとを比較する比較回路とを生成することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記回路生成工程は、データの入力および出力の両方に用いられる双方向端子における固有データの入出力方向を入力または出力の一方に固定する方向決定回路をさらに生成することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記回路生成工程は、前記比較回路において比較が行われるたびに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替える制御回路をさらに生成することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記回路生成工程は、所定時間が経過するごとに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替えるタイマ回路をさらに生成することを特徴とする。
【００１７】
また、本発明は、上記発明において、前記回路生成工程は、１つの入力端子に複数の出力端子が接続される場合、これらの複数の出力端子から順に固有データを出力させる順序制御回路をさらに生成することを特徴とする。
【００１８】
また、本発明は、プログラマブルデバイスにＲＯＭデータを書き込む書込装置と、書込装置によって書き込まれたＲＯＭデータに従って動作しボード上で互いに接続される複数のプログラマブルデバイスとを有する結線チェックシステムであって、前記書込装置は、前記複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手段と、前記取得手段によって取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手段と、前記付与手段によって付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する生成手段と、前記生成手段によって生成された回路に対応するＲＯＭデータを前記複数のプログラマブルデバイスに書き込む書込手段とを有し、前記複数のプログラマブルデバイスは、前記書込装置によって書き込まれたＲＯＭデータに従って前記ボード上のすべての結線に異常があるか否かをチェックすることを特徴とする。
【００１９】
また、本発明は、プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成プログラムであって、互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手順と、前記取得手順にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手順と、前記付与手順にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成手順と、前記回路生成手順にて生成された回路に対応するＲＯＭデータを生成するデータ生成手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得し、取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与し、付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を複数のプログラマブルデバイスごとに生成し、生成された回路に対応するＲＯＭデータを生成する。このため、すべての入出力ピンにおける結線を遺漏なく列挙しておき、各ピンの実際の動作と同様に固有データを入出力して結線チェックをすることができ、プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行うことができる。
【００２１】
また、本発明によれば、複数のプログラマブルデバイス以外の外部に接続される外部接続端子の端子情報からすべての外部接続端子と接続する対向プログラマブルデバイスを想定し、この対向プログラマブルデバイスの入出力端子に係る接続に固有データを付与する。このため、対向プログラマブルデバイスを導入することにより、実際に接続される複数のプログラマブルデバイス間の結線のみでなく、外部に接続される結線についてもチェックすることができる。
【００２２】
また、本発明によれば、データの入力および出力の両方に用いられる双方向端子について、入力および出力それぞれに係る接続に異なる固有データを付与するため、双方向ピンがデータを入力する場合と出力する場合の両方について確実に結線チェックをすることができる。
【００２３】
また、本発明によれば、付与された固有データをそれぞれ出力端子から出力させる出力回路と、それぞれの入力端子から入力されたデータと付与された固有データとを比較する比較回路とを生成する。このため、接続先の出力回路によって出力端子から出力された固有データが適切に入力端子から入力されると、結線に異常がないことを確実に保証することができる。
【００２４】
また、本発明によれば、データの入力および出力の両方に用いられる双方向端子における固有データの入出力方向を入力または出力の一方に固定する方向決定回路をさらに生成する。このため、双方向ピンについても簡便な方法により結線チェックを行うことができる。
【００２５】
また、本発明によれば、比較回路において比較が行われるたびに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替える制御回路をさらに生成する。このため、双方向ピンの入出力を毎回切り替えながら結線チェックを行い、双方向ピンの実際の機能に即したチェックを行うことができる。
【００２６】
また、本発明によれば、所定時間が経過するごとに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替えるタイマ回路をさらに生成する。このため、双方向ピンの入出力を所定時間ごとに切り替えながら結線チェックを行い、双方向ピンの実際の機能に即したチェックを行うことができる。
【００２７】
また、本発明によれば、１つの入力端子に複数の出力端子が接続される場合、これらの複数の出力端子から順に固有データを出力させる順序制御回路をさらに生成するため、ピンが１対多接続されても、固有データが衝突することがなく、確実に結線チェックを行うことができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。なお、以下においては、プログラマブルデバイスの一例としてＦＰＧＡを挙げながら説明するが、本発明は、例えばＰＬＤ（Programmable Logic Device）など様々なプログラマブルデバイスが使用される場合にも適用することができる。また、以下の説明においては、論理回路がインプリメントされて得られ、プログラマブルデバイスに書き込まれる（コンフィグレーションされる）データを「ＲＯＭデータ」という。すなわち、プログラマブルデバイスは、ＲＯＭデータに変換された論理回路と同様に動作する。
【００２９】
図１は、本発明の一実施の形態に係るＲＯＭデータのデータ生成動作を示すフロー図である。図１に示すフローは、例えばコンピュータなどの装置において実行され、ＲＯＭデータが生成される。そして、生成されたＲＯＭデータがＦＰＧＡにコンフィグレーションされると、ＦＰＧＡはＲＯＭデータに従って、ＦＰＧＡのすべてのピンに関する結線チェックを行う。
【００３０】
コンピュータなどの装置におけるＲＯＭデータ生成時には、まず、ボード上に搭載される複数のＦＰＧＡそれぞれのピンに係るピン情報が取得される（ステップＳ１０１）。ピン情報とは、各々のＦＰＧＡに設けられたピンについて、ピンの名称、入出力の別、接続するＦＰＧＡ、およびボードの外部に接続する外部接続ピンであるか否かなどの情報がまとめられたものである。このピン情報は、ＦＰＧＡが例えばＡＳＩＣのプロトタイプに用いられる場合は、このＡＳＩＣの機能に応じて規定される。換言すれば、各ＦＰＧＡのピン情報は、ボード全体が果たす機能から規定されるＦＰＧＡ間の接続関係によって、あらかじめ構築されている。
【００３１】
図２は、ＦＰＧＡ＃１〜＃４のピン情報を例示する図である。例えばＦＰＧＡ＃１のピン情報には、ＦＰＧＡ＃１の４つのピンに関する情報が格納されており、各ピンのピン名に様々な情報が対応付けられている。具体的には、例えば「ビットレンジ」はピンから入出力されるデータのビット幅を示し、「入出力」はピンが入力ピン（図中「Ｉ」で示す）であるか出力ピン（図中「Ｏ」で示す）であるか双方向ピン（図中「ＩＯ」で示す）であるかを示し、「接続ＦＰＧＡ」はピンが接続されるＦＰＧＡを示し、「接続ピン名」はピンが接続されるピン名を示している。
【００３２】
ただし、「接続ＦＰＧＡ」および「接続ピン名」は、「入出力」が「Ｉ」か「ＩＯ」である入力ピンまたは外部接続ピンについてのみ情報が格納されている。つまり、入力ピンまたは双方向ピンについては、このピンへデータを出力するＦＰＧＡが「接続ＦＰＧＡ」とされ、データを出力するピンのピン名が「接続ピン名」とされている。また、外部接続ピンについては、「接続ＦＰＧＡ」が「Ｉ／Ｏ」とされ、「接続ピン名」としてはボードの外部に接続される対向ＦＰＧＡを想定し、この対向ＦＰＧＡのピン名が命名されて格納されている。例えば、ＦＰＧＡ＃１の「Ｆ１＿ＩＤＴＡ」のピンは、「接続ＦＰＧＡ」が「Ｉ／Ｏ」となっているため外部接続ピンであることがわかり、「接続ピン名」が対向ＦＰＧＡの「ＩＤＴＡ」と名付けられたピンであることがわかる。なお、各ＦＰＧＡの「ＣＬＫ」のピンは、ボードの外部からクロックが供給されるピンである。
【００３３】
ボード上のすべてのＦＰＧＡのピン情報が取得されると、結線チェックに関する設定情報がコンピュータなどの装置に取得される（ステップＳ１０２）。設定情報には、結線チェックが行われる際の設定が、例えば図３に示すような形式で格納されている。具体的には、例えば入出力が切り替えられる双方向ピンに対するチェック方法を単一方向モード、制御回路モード、およびタイマ回路モードのいずれにするかなどが指定されている。ここで、単一方向モードとは、結線チェック対象のピンが双方向ピンであっても入力および出力の一方に固定して結線をチェックするモードである。また、制御回路モードとは、双方向ピンの入出力を毎回切り替えて結線をチェックするモードである。タイマ回路モードとは、双方向ピンの入出力を所定時間ごとに切り替えて結線をチェックするモードである。
【００３４】
結線チェック用のＲＯＭデータを生成するコンピュータなどの装置にピン情報および設定情報が取得されると、データを出力し得るすべてのピンに対して、各ピンに固有の固有データが結線チェック用のデータとして付与される（ステップＳ１０３）。同時に、データを入力し得るすべてのピンに対して、接続元のピンに付与された固有データに等しく、結線チェック時に入力されることが期待される比較データが登録される。すなわち、すべてのピンの接続ごとに、入出力を区別した上で他のピンの接続と識別可能な固有データおよび比較データが割り当てられる。したがって、双方向ピンについては、チェック方法が制御回路モードまたはタイマ回路モードであれば、出力する固有データと入力される比較データとの両方が付与・登録される。
【００３５】
また、ボード上のＦＰＧＡのみではなく、ボード外部への接続が想定される対向ＦＰＧＡのすべてのピンにも固有データおよび比較データが関連付けられる。そして、固有データの付与により、出力ピンに対して付与される固有データの情報を含む出力ピン情報がＦＰＧＡごとに生成され、同様に、入力ピンに対して登録される比較データの情報を含む入力ピン情報がＦＰＧＡごとに生成される。
【００３６】
このように、本実施の形態においては、ピン情報および設定情報が参照され、すべてのＦＰＧＡの出力ピンに対して固有データが付与されるとともに対応する入力ピンに対して比較データが登録され、双方向ピンについては固有データと比較データの両方が関連付けられた入力ピン情報および出力ピン情報が生成される。換言すれば、対向ＦＰＧＡのピンを含むすべてのピン間の接続に対して、入出力を区別した上で固有データおよび比較データが割り当てられることになる。このため、ＦＰＧＡごとの入力ピン情報および出力ピン情報を含むＲＯＭデータを生成して、各ＦＰＧＡにコンフィグレーションすることにより、ボード上のすべてのＦＰＧＡ間の結線を実際の動作に即して遺漏なくチェックすることができる。さらに、本実施の形態においては、対向ＦＰＧＡに関する入力ピン情報および出力ピン情報が生成されるため、結線チェック用に対向ＦＰＧＡを用意して入力ピン情報および出力ピン情報を含むＲＯＭデータをコンフィグレーションすることにより、ボード上のＦＰＧＡの外部接続ピンとボード外部に接続するためのコネクタとの接続についても結線チェックを行うことができる。なお、固有データ付与の具体的な処理手順については、後に詳述する。
【００３７】
すべての出力ピンに固有データが付与され、すべての入力ピンに比較データが登録されると、生成された入力ピン情報および出力ピン情報が記憶されるメモリを含む論理回路であって、出力ピンと入力ピン間の結線をチェックするチェック回路が生成される（ステップＳ１０４）。チェック回路の生成時には設定情報が参照され、双方向ピンに対する結線チェック方法に応じたチェック回路が生成される。すなわち、双方向ピンに対して単一方向モードのチェックを行うか、制御回路モードのチェックを行うか、またはタイマ回路モードのチェックを行うかによって、異なるチェック回路が生成される。このチェック回路には、ＦＰＧＡの出力ピンから固有データを出力する出力回路と、ＦＰＧＡの入力ピンから入力されたデータと比較データを比較してチェック結果を出力する比較回路とが設けられている。
【００３８】
チェック回路が生成されると、このチェック回路と同様の動作をＦＰＧＡに実行させるためのＲＯＭデータが生成される（ステップＳ１０５）。すなわち、生成されたＦＰＧＡごとのチェック回路がインプリメントされ、ＦＰＧＡごとの結線チェック用ＲＯＭデータが生成される。生成されたＲＯＭデータは、それぞれＦＰＧＡにコンフィグレーションされ、複数のＦＰＧＡが搭載されたボードと対向ＦＰＧＡとによって、ボード上のすべての結線をチェックすることが可能になる。具体的には、例えば各ＦＰＧＡにおいて得られるチェック結果がすべて異常なしを示せばボード上のＬＥＤを点灯させるなどの処理が可能となる。
【００３９】
次いで、本実施の形態に係る固有データ付与の処理について、具体的に説明する。図４−１および図４−２は、本実施の形態に係る出力ピンへの固有データ付与の動作を示すフロー図である。
【００４０】
出力ピンへの固有データ付与時には、ＲＯＭデータを生成するコンピュータなどの装置は、ボード上のすべてのＦＰＧＡのピン情報と双方向ピンに対する結線チェック方法などが指定された設定情報を取得している。これらの情報が取得されると、ボード上のすべてのＦＰＧＡについて、出力ピンへの固有データ付与が終了したか否かが判断されるが（ステップＳ２０１）、ここではいずれのＦＰＧＡについても処理が終了していないため（ステップＳ２０１Ｎｏ）、ボード上のいずれか１つのＦＰＧＡが対象とするＦＰＧＡとして選択される（ステップＳ２０５）。そして、選択されたＦＰＧＡのすべてのピンについて、入力ピン情報または出力ピン情報が生成されているか否かが判断されるが（ステップＳ２０６）、ここではいずれのピンについても処理が終了していないため（ステップＳ２０６Ｎｏ）、ＦＰＧＡのいずれか１つのピンが対象とするピンとして選択される（ステップＳ２０７）。
【００４１】
対象ピンが選択されると、このピンが双方向ピンまたはトライステートピンであるか否かがピン情報から判定される（ステップＳ２０８）。すなわち、図２に示したピン情報において、対象ピンの「入出力」が参照され、この欄に「ＩＯ」が格納されているか否かが判定される。なお、トライステートピンとは、入出力に加えて何の動作もしない状態の３通りの状態を取り得るピンのことである。上記の判定の結果、対象ピンが双方向ピンまたはトライステートピンである場合は（ステップＳ２０８Ｙｅｓ）、設定情報などが参照され、双方向ピンに対するチェック方法に応じた入力ピン情報および出力ピン情報が生成される双方向処理が実行される（ステップＳ２０９）。双方向処理については、後述する。
【００４２】
一方、対象ピンが双方向ピンおよびトライステートピンでない場合は（ステップＳ２０８Ｎｏ：図４−２のＡへ続く）、このピンが出力ピンであるか否かがピン情報から判定される（ステップＳ２１０）。すなわち、図２に示したピン情報において、対象ピンの「入出力」が「Ｏ」であるか否かが判定される。この判定の結果、対象ピンが出力ピンである場合は（ステップＳ２１０Ｙｅｓ）、さらに対象ピンが他のＦＰＧＡではなくボードのコネクタに接続する外部接続ピンであるか否かが判定される（ステップＳ２１１）。そして、対象ピンが出力ピンであり、かつ外部接続ピンでなければ（ステップＳ２１１Ｎｏ）、この対象ピンに固有の固有データが付与され（ステップＳ２１２）、対象ピンのピン情報と固有データとが対応付けられた出力ピン情報が追加生成される（ステップＳ２１３）。ここで、固有データは、ＦＰＧＡの結線チェック時に出力ピンから出力されてチェック用のデータとして用いられ、ボード上のすべてのＦＰＧＡにおける出力ピンを識別可能なように、すべての出力ピンに固有のデータである。
【００４３】
また、対象ピンが出力ピンであり、かつ外部接続ピンでもあれば（ステップＳ２１１Ｙｅｓ）、この対象ピンから出力されるデータがボード外部の対向ＦＰＧＡの入力ピンに入力されることになるため、対向ＦＰＧＡに入力ピンを新たに１つ設けることとして設定される（ステップＳ２１４）。そして、新たに設けられた対向ＦＰＧＡの入力ピンについて、接続される対象ピンのピン情報が用いられることにより入力ピン情報が追加生成される（ステップＳ２１５）。具体的には、対象ピンが外部接続ピンであることから、図２に示したピン情報において、対象ピンの「接続ピン名」に対向ＦＰＧＡのピン名が格納されているため、このピン名に対象ピンの「ビットレンジ」や「入出力」などの情報を対応付けて対向ＦＰＧＡの入力ピン情報とする。この入力ピン情報においては、「接続ＦＰＧＡ」は対象ピンを有するＦＰＧＡとなり、「接続ピン名」は対象ピンのピン名となる。
【００４４】
そして、対象ピンが外部接続ピンである場合も、対象ピンに固有の固有データが付与され（ステップＳ２１２）、対象ピンのピン情報と固有データが対応付けられた出力ピン情報が追加生成される（ステップＳ２１３）。
【００４５】
一方、対象ピンが出力ピンであるか否かの判定の結果、対象ピンが出力ピンでない場合は（ステップＳ２１０Ｎｏ）、双方向ピンやトライステートピンでも出力ピンでもないことから、対象ピンは入力ピンであることとなり、さらに対象ピンが外部接続ピンであるか否かが判定される（ステップＳ２１６）。そして、対象ピンが入力ピンであり、かつ外部接続ピンでなければ（ステップＳ２１６Ｎｏ）、この対象ピンのピン情報を含む入力ピン情報が追加生成される（ステップＳ２１７）。
【００４６】
また、対象ピンが入力ピンであり、かつ外部接続ピンでもあれば（ステップＳ２１６Ｙｅｓ）、この対象ピンに入力されるデータがボード外部の対向ＦＰＧＡの出力ピンから出力されることになるため、対向ＦＰＧＡに出力ピンを新たに１つ設けることとして設定される（ステップＳ２１８）。そして、新たに設けられた対向ＦＰＧＡの出力ピンに固有の固有データが付与され（ステップＳ２１９）、対象ピンのピン情報から得られる対向ＦＰＧＡの出力ピンの情報と固有データとが対応付けられた対向ＦＰＧＡの出力ピン情報が追加生成される。そして、対象ピンが外部接続ピンである場合も、対象ピンのピン情報を含む入力ピン情報が追加生成される（ステップＳ２１７）。
【００４７】
以上の処理により、選択された対象ピンの入力ピン情報または出力ピン情報が生成されると（図４−１のＢへ続く）、すべてのピンについて入力ピン情報がまたは出力ピン情報が生成されているか否かが再び判断され（ステップＳ２０６）、選択されているＦＰＧＡのすべてのピンについて入力ピン情報または出力ピン情報が生成されるまで処理が繰り返される。そして、すべてのピンに関する処理が終了すると（ステップＳ２０６Ｙｅｓ）、すべてのＦＰＧＡが処理対象となったか否かが再び判断され（ステップＳ２０１）、ボード上のすべてのＦＰＧＡについて入力ピン情報および出力ピン情報が生成されるまで処理が繰り返される。そして、すべてのＦＰＧＡに関する処理が終了すると（ステップＳ２０１Ｙｅｓ）、生成された入力ピン情報が参照され、結線チェック時に固有データと比較される比較データが登録されていない入力ピンがあるか否かが判定される（ステップＳ２０２）。
【００４８】
ここでは、出力ピン情報においてはすべての出力ピンに固有データが対応付けられているものの、入力ピン情報においてはいずれの入力ピンにも比較データが対応付けられていないため、すべての入力ピン情報から１つの入力ピンが対象とする入力ピンとして選択される（ステップＳ２０３）。そして、対象入力ピンの入力ピン情報において「接続ピン名」が確認され、「接続ピン名」にピン名が格納された出力ピンの出力ピン情報が検索される。検索された出力ピン情報においては、既に出力ピンの固有データが決定されており、結線チェック時には、この固有データが対象入力ピンへ入力されることになるため、対象入力ピンの入力ピン情報における比較データとして、検索された固有データが登録される（ステップＳ２０４）。これにより、互いに接続される出力ピンと入力ピンについて、それぞれの固有データと比較データが一致することになる。
【００４９】
以降、入力ピン情報において比較データが未登録の入力ピンが順次対象入力ピンとなり、すべての入力ピンに比較データが対応付けられると（ステップＳ２０２Ｎｏ）、固有データ付与の処理が完了する。この一連の処理によって生成される入力ピン情報および出力ピン情報の例を図５に示す。図５においては、ＦＰＧＡ＃１およびＦＰＧＡ＃３の入力ピン情報および出力ピン情報を例示する。同図に示す入力ピン情報および出力ピン情報は、図２に示したピン情報から生成されたものである。図５を参照すれば明らかなように、入力ピン情報の比較データは、接続される出力ピン情報の固有データと一致している。すなわち、例えばＦＰＧＡ＃３の「Ｆ３＿ＩＤＴＡ」の入力ピンについては、ＦＰＧＡ＃１の「Ｆ１＿ＯＤＴＡ」の出力ピンに接続されるため、「Ｆ１＿ＯＤＴＡ」の固有データと「Ｆ３＿ＩＤＴＡ」の比較データとはいずれも「０００１００１０」と一致している。
【００５０】
また、上記の一連の処理では、ボードの外部に接続される対向ＦＰＧＡの入力ピン情報および出力ピン情報も生成される。図６は、対向ＦＰＧＡであるＦＰＧＡ＃０の入力ピン情報および出力ピン情報の例である。ＦＰＧＡ＃０については、ボード上に搭載されていないものの、結線チェック時にはボード外部に接続され、ＦＰＧＡ＃０を含むすべてのＦＰＧＡ間で同様に入出力ピン間の結線チェックが実行される。したがって、ＦＰＧＡ＃０の入力ピン情報においても、比較データは、接続される出力ピン情報の固有データと一致している。すなわち、例えばＦＰＧＡ＃０の「ＯＤＴＢ」の入力ピンについては、ＦＰＧＡ＃３の「Ｆ３＿ＯＤＴＢ」の出力ピン（図５参照）に接続されるため、「Ｆ３＿ＯＤＴＢ」の固有データと「ＯＤＴＢ」の比較データとはいずれも「００１１００１１」と一致している。
【００５１】
このように、ボード上のＦＰＧＡのピン情報から入力ピン情報および出力ピン情報を生成することにより、ＦＰＧＡ間の接続関係が明確になり、対向ＦＰＧＡを想定することにより、すべての入出力ピン間の接続を列挙することが可能となる。このため、例えば図７に示すように、対向ＦＰＧＡであるＦＰＧＡ＃０を含めたすべてのＦＰＧＡの接続を正確に把握することができ、結線チェック時のチェック漏れなどを確実に防止することができる。また、図７において、各入出力ピン間におけるデータの入出力の方向も明確になっており、これらの方向は各ＦＰＧＡの実際の動作時と同一であることから、各ＦＰＧＡの実際の動作に即した結線チェックが可能となる。
【００５２】
次に、固有データ付与時に、対象ピンが双方向ピンまたはトライステートピンである場合の双方向処理について、図８−１および図８−２を参照しながら説明する。
【００５３】
対象ピンが双方向ピンまたはトライステートピンである場合、設定情報が参照されて双方向ピン（トライステートピン）のチェック方法が取得される（ステップＳ３０１）。例えば図３に示した設定情報においては、双方向ピン（トライステートピン）のチェック方法として、単一方向モード、制御回路モード、およびタイマ回路モードの３つの方法が設定可能になっている。そして、チェック方法が単一方向モードであるか否かが判定され（ステップＳ３０２）、単一方向モードであれば（ステップＳ３０２Ｙｅｓ）、対象ピンが出力ピンに固定される（ステップＳ３０３）。すなわち、単一方向モードとは、双方向ピン（トライステートピン）であってもデータの入出力の向きを一方向に固定して結線チェックを行う方法であるため、対象ピンを出力ピンとし、対象ピンに接続されるピンを入力ピンとする。このとき、対象ピンおよび対象ピンに接続されるピンのピン情報を書き換えて、それぞれ出力ピンおよび入力ピンに固定しておく。
【００５４】
そして、対象ピンが他のＦＰＧＡではなくボードのコネクタに接続する外部接続ピンであるか否かが判定され（ステップＳ３０４）、対象ピンが外部接続ピンであれば（ステップＳ３０４Ｙｅｓ）、この対象ピンから出力されるデータがボード外部の対向ＦＰＧＡへ入力されることになるため、対向ＦＰＧＡに入力ピンを新たに１つ設けることとして設定される（ステップＳ３０５）。また、対象ピンが外部接続ピンでない場合（ステップＳ３０４Ｎｏ）、および対象ピンが外部接続ピンであって対向ＦＰＧＡの入力ピンが新たに設定された後は、対象ピンに接続されるピンについて、対象ピンのピン情報が用いられることにより入力ピン情報が生成される（ステップＳ３０６）。具体的には、対象ピンが双方向ピン（トライステートピン）であることから、図２に示したピン情報において、対象ピンの「接続ピン名」に接続先のピン名が格納されているため、このピン名に対象ピンの「ビットレンジ」や「入出力」などの情報を対応付けて接続先のピンの入力ピン情報とする。この入力ピン情報においては、「接続ＦＰＧＡ」は対象ピンを有するＦＰＧＡとなり、「接続ピン名」は対象ピンのピン名となる。
【００５５】
そして、対象ピンに固有の固有データが付与され（ステップＳ３０７）、対象ピンのピン情報と固有データが対応付けられた出力ピン情報が追加生成される（ステップＳ３０８）。これにより、双方向ピン（トライステートピン）間の接続であっても、一方のピンを出力ピンとし、他方のピンを入力ピンとした場合と同様に、入力ピン情報および出力ピン情報が生成される。
【００５６】
一方、チェック方法が単一方向モードであるか否かの判定の結果、チェック方法が制御回路モードまたはタイマ回路モードであれば（ステップＳ３０２Ｎｏ：図８−２のＣへ続く）、対象ピンは入力ピンおよび出力ピンのどちらにもなり得る。この場合も、対象ピンが外部接続ピンであるか否かが判定され（ステップＳ３０９）、対象ピンが外部接続ピンであれば（ステップＳ３０９Ｙｅｓ）、この対象ピンから出力されるデータがボード外部の対向ＦＰＧＡへ入力されることになるため、対向ＦＰＧＡに入力ピンを新たに１つ設けることとして設定される（ステップＳ３１０）。そして、新たに設けられた対向ＦＰＧＡの入力ピンについて、接続される対象ピンのピン情報が用いられることにより入力ピン情報が追加生成される（ステップＳ３１１）。
【００５７】
さらに、対象ピンが双方向ピン（トライステートピン）であるため、新たに設けられた入力ピンも双方向ピン（トライステートピン）であり、出力ピンとしても動作する。そこで、対向ＦＰＧＡに出力ピンを新たに１つ設けることとして設定される（ステップＳ３１２）。ただし、ここで設けられる出力ピンは、実際は上記で設けられた入力ピンと同一のピンであり、機能としての入出力をそれぞれ１つのピンとしている。そして、新たに設けられた対向ＦＰＧＡの出力ピンに固有の固有データが付与され（ステップＳ３１３）、対象ピンのピン情報から得られる対向ＦＰＧＡの出力ピンの情報と固有データとが対応付けられた対向ＦＰＧＡの出力ピン情報が追加生成される。これにより、対向ＦＰＧＡの１つの双方向ピン（トライステートピン）について、入力ピン情報および出力ピン情報の両方が生成されたことになる。
【００５８】
また、対象ピンが外部接続ピンでない場合（ステップＳ３０９Ｎｏ）、および対象ピンが外部接続ピンであって対向ＦＰＧＡの入力ピンおよび出力ピンが新たに設定された後は、出力ピンとしての対象ピンに固有データが付与され（ステップＳ３１４）、対象ピンのピン情報と固有データとが対応付けられた出力ピン情報が追加生成される（ステップＳ３１５）。さらに、対象ピンは出力ピンであると同時に入力ピンとしても動作するため、この対象ピンのピン情報を含む入力ピン情報が追加生成される（ステップＳ３１６）。
【００５９】
以上の処理により、選択された対象ピンが双方向ピン（トライステートピン）である場合に、結線チェック方法が単一方向モードであれば、対象ピンが出力ピンに固定されて出力ピン情報が生成され、結線チェック方法が単一方向モード以外であれば、対象ピンについて入力ピン情報および出力ピン情報の両方が生成される。このため、対象ピンが双方向ピン（トライステートピン）であっても、結線チェック時にチェックすべき個々の接続を出力ピン情報および入力ピン情報として列挙することができ、結線チェック時のチェック漏れなどを確実に防止することができる。また、結線チェック方法が単一方向モード以外であれば、双方向ピン（トライステートピン）がデータを入出力するどちらの場合についても結線チェックが行われることになり、各ＦＰＧＡの実際の動作に即した結線チェックが可能となる。
【００６０】
次に、本実施の形態に係るチェック回路生成の処理について、具体的に説明する。図９は、本実施の形態に係るチェック回路生成の動作を示すフロー図である。本実施の形態では、生成されたチェック回路がインプリメントされることにより、各ＦＰＧＡに結線チェックを実行させるためのＲＯＭデータが生成される。
【００６１】
チェック回路の生成時には、ＲＯＭデータを生成するコンピュータなどの装置は、対向ＦＰＧＡも含めたすべてのＦＰＧＡの入力ピン情報および出力ピン情報を生成している。これらの情報が生成されると、すべてのＦＰＧＡに関するチェック回路の生成が終了したか否かが判断されるが（ステップＳ４０１）、ここではいずれのＦＰＧＡについても処理が終了していないため（ステップＳ４０１Ｎｏ）、対向ＦＰＧＡも含めたすべてのＦＰＧＡからいずれか１つのＦＰＧＡが対象とするＦＰＧＡとして選択される（ステップＳ４０２）。そして、対象となったＦＰＧＡのピン情報が参照され、このＦＰＧＡに双方向ピンがあるか否かが判定される（ステップＳ４０３）。すなわち、図２に示したピン情報において、「入出力」に「ＩＯ」が格納されているピンがあるか否かが判定される。
【００６２】
この判定の結果、すべてのピンが入力ピンまたは出力ピンであり、双方向ピンがないＦＰＧＡであれば（ステップＳ４０３Ｎｏ）、このＦＰＧＡの出力ピン情報に含まれる固有データを各出力ピンから出力する出力回路が生成され（ステップＳ４０７）、このＦＰＧＡの入力ピン情報に含まれる比較データと各入力ピンから入力されるデータとを比較する比較回路が生成される（ステップＳ４０８）。また、入力ピン情報および出力ピン情報を記憶するメモリが出力回路および比較回路から参照可能に形成される。このように生成されたチェック回路の機能がＲＯＭデータとしてＦＰＧＡにコンフィグレーションされることにより、各ＦＰＧＡの比較回路において結線チェック結果が得られ、ボード上のＦＰＧＡおよび対向ＦＰＧＡを互いに接続する結線のチェックを行うことができる。
【００６３】
一方、対象のＦＰＧＡに双方向ピンがあれば（ステップＳ４０３Ｙｅｓ）、設定情報が参照され、双方向ピンに対するチェック方法が取得される（ステップＳ４０４）。そして、双方向ピンに対するチェック方法が単一方向モードであるか否かが判定され（ステップＳ４０５）、単一方向モードであれば（ステップＳ４０５Ｙｅｓ）、対象ＦＰＧＡの双方向ピンから出力ピン情報に含まれる固有データが出力され、この双方向ピンに接続される双方向ピンからはデータが出力されないようにするための方向決定回路が生成される（ステップＳ４０６）。また、双方向ピンがないＦＰＧＡと同様に、固有データを出力する出力回路が生成され（ステップＳ４０７）、入力ピンから入力されるデータと比較データとの比較を行う比較回路が生成される（ステップＳ４０８）。
【００６４】
図１０は、双方向ピンに対するチェック方法が単一方向モードである場合のチェック回路例を示す図である。同図においては、ＦＰＧＡ１００−１が対象ＦＰＧＡであり、ＦＰＧＡ１００−１の双方向ピンの接続先は、他のＦＰＧＡ１００−２の双方向ピンとなっている。
【００６５】
双方向ピンに対するチェック方法が単一方向モードである場合、ＦＰＧＡ１００−１およびＦＰＧＡ１００−２からの固有データの出力を制御するために、方向決定回路２００が生成される。この方向決定回路２００は、対象ＦＰＧＡであるＦＰＧＡ１００−１上に生成されることとしても良いが、ＦＰＧＡ１００−２を含む他のＦＰＧＡに生成されることとしても良い。方向決定回路２００は、固定信号生成回路２０１および反転器２０２を有している。
【００６６】
固定信号生成回路２０１は、対象ＦＰＧＡであるＦＰＧＡ１００−１から固有データを出力させるための固有信号を生成する。具体的には、固定信号生成回路２０１は、例えばＦＰＧＡ１００−１内の出力回路１０１および出力増幅器１０４ａを動作させるオン信号を固定的に生成する。反転器２０２は、固定信号生成回路２０１によって生成される固定信号を反転して、ＦＰＧＡ１００−２による固有データの出力を停止させる。具体的には、反転器２０２は、例えば固定信号生成回路２０１によって生成されるオン信号を反転してオフ信号とし、このオフ信号をＦＰＧＡ１００−２内の出力回路１０１および出力増幅器１０４ａへ供給する。
【００６７】
ＦＰＧＡ１００−１およびＦＰＧＡ１００−２は、出力回路１０１、比較回路１０２、メモリ１０３、およびバッファ１０４を有している。なお、図１０に示すＦＰＧＡ１００−１およびＦＰＧＡ１００−２内のチェック回路構成は、対象ＦＰＧＡに双方向ピンがない場合も同様である。
【００６８】
出力回路１０１は、メモリ１０３に記憶された出力ピン情報１０３ａを参照し、各出力ピンに対応付けられた固有データをバッファ１０４経由でそれぞれの出力ピンから出力させる。ここでは、方向決定回路２００の固定信号生成回路２０１からオン信号が供給されると、出力回路１０１は、出力ピンから固有データを出力させる。
【００６９】
比較回路１０２は、入力ピンからバッファ１０４経由でデータが入力されると、メモリ１０３に記憶された入力ピン情報１０３ｂを参照し、入力されたデータと入力ピンに対応付けられた比較データとを比較し、両者が一致する場合に結線に異常がない旨のチェック結果を出力する。ここでは、ＦＰＧＡ１００−１の双方向ピンが出力ピンとして固定されているため、この双方向ピンに関してはデータが入力されることがなく、比較回路１０２は、ＦＰＧＡ１００−１の入力ピンや入力ピンとして固定された双方向ピンからデータが入力される場合にのみ動作する。
【００７０】
メモリ１０３は、出力ピン情報１０３ａおよび入力ピン情報１０３ｂを記憶する。これらの出力ピン情報１０３ａおよび入力ピン情報１０３ｂは、各ＦＰＧＡの出力ピンへの固有データ付与時に生成されたものである。
【００７１】
バッファ１０４は、出力回路１０１からの固有データを出力ピンや出力ピンとして固定された双方向ピンから出力させ、入力ピンや入力ピンとして固定された双方向ピンからのデータを比較回路１０２へ入力する。具体的には、バッファ１０４は、出力増幅器１０４ａおよび入力増幅器１０４ｂを有しており、それぞれの増幅器が各ピンにおいてデータを入出力する。ここでは、ＦＰＧＡ１００−１の双方向ピンが出力ピンとして固定されているため、方向決定回路２００の固定信号生成回路２０１から出力増幅器１０４ａへオン信号が供給され、ＦＰＧＡ１００−１の出力増幅器１０４ａから固有データが出力されるとともに、この双方向ピンに関してはデータが入力されることがなく、入力増幅器１０４ｂは動作しない。
【００７２】
図９のフロー図に戻り、双方向ピンに対するチェック方法が単一方向モードでない場合（ステップＳ４０５Ｎｏ）、引き続き双方向ピンに対するチェック方法が制御回路モードであるか否かが判定される（ステップＳ４０９）。この結果、制御回路モードであれば（ステップＳ４０９Ｙｅｓ）、互いに接続されるＦＰＧＡ１００−１およびＦＰＧＡ１００−２の比較回路１０２からチェック結果が出力されるたびに双方向ピンの入出力を切り替えるための制御回路が生成される（ステップＳ４１０）。また、双方向ピンがないＦＰＧＡと同様に、固有データを出力する出力回路が生成され（ステップＳ４０７）、入力ピンから入力されるデータと比較データとの比較を行う比較回路が生成される（ステップＳ４０８）。
【００７３】
図１１は、双方向ピンに対するチェック方法が制御回路モードである場合のチェック回路例を示す図である。同図において、図１０と同じ部分には同じ符号を付し、その説明を省略する。図１１においては、ＦＰＧＡ１００−１が対象ＦＰＧＡであり、ＦＰＧＡ１００−１の双方向ピンの接続先は、他のＦＰＧＡ１００−２の双方向ピンとなっている。
【００７４】
双方向ピンに対するチェック方法が制御回路モードである場合、ＦＰＧＡ１００−１およびＦＰＧＡ１００−２からの固有データの出力を制御するために、制御回路３００が生成される。この制御回路３００は、対象ＦＰＧＡであるＦＰＧＡ１００−１上に生成されることとしても良いが、ＦＰＧＡ１００−２を含む他のＦＰＧＡに生成されることとしても良い。制御回路３００は、信号生成回路３０１および反転器２０２を有している。
【００７５】
信号生成回路３０１は、対象ＦＰＧＡであるＦＰＧＡ１００−１からの固有データの出力と非出力とを切り替える制御信号を生成する。具体的には、信号生成回路３０１は、例えばＦＰＧＡ１００−１内の出力回路１０１および出力増幅器１０４ａを動作させるオン信号を生成し、これにより、ＦＰＧＡ１００−２内の比較回路１０２から結線チェック結果が出力されると、ＦＰＧＡ１００-１内の出力回路１０１および出力増幅器１０４ａを停止させるオフ信号を生成する。換言すれば、信号生成回路３０１は、ＦＰＧＡ１００−１またはＦＰＧＡ１００−２の比較回路１０２からチェック結果が出力されるたびに、生成する制御信号を反転する。
【００７６】
信号生成回路３０１が制御信号を切り替えながら生成するため、制御回路３００は、ＦＰＧＡ１００−１へオン信号を出力するタイミングではＦＰＧＡ１００−２へオフ信号を出力し、ＦＰＧＡ１００−１へオフ信号を出力するタイミングではＦＰＧＡ１００−２へオン信号を出力することになる。そして、この切り替えは、比較回路１０２からチェック結果が出力されるたびに実行されるため、双方向ピンからデータが出力される場合と双方向ピンへデータが入力される場合の両方について確実に結線チェックを行うことができる。
【００７７】
再び図９のフロー図に戻り、双方向ピンに対するチェック方法が制御回路モードでない場合（ステップＳ４０９Ｎｏ）、チェック方法はタイマ回路モードであることになり、互いに接続されるＦＰＧＡ１００−１およびＦＰＧＡ１００−２の双方向ピンの入出力を所定時間ごとに切り替えるためのタイマ回路が生成される（ステップＳ４１１）。また、双方向ピンがないＦＰＧＡと同様に、固有データを出力する出力回路が生成され（ステップＳ４０７）、入力ピンから入力されるデータと比較データとの比較を行う比較回路が生成される（ステップＳ４０８）。
【００７８】
図１２は、双方向ピンに対するチェック方法がタイマ回路モードである場合のチェック回路例を示す図である。同図において、図１０と同じ部分には同じ符号を付し、その説明を省略する。図１２においては、ＦＰＧＡ１００−１が対象ＦＰＧＡであり、ＦＰＧＡ１００−１の双方向ピンの接続先は、他のＦＰＧＡ１００−２の双方向ピンとなっている。
【００７９】
双方向ピンに対するチェック方法がタイマ回路モードである場合、ＦＰＧＡ１００−１およびＦＰＧＡ１００−２からの固有データの出力を制御するために、タイマ回路４００が生成される。このタイマ回路４００は、対象ＦＰＧＡであるＦＰＧＡ１００−１上に生成されることとしても良いが、ＦＰＧＡ１００−２を含む他のＦＰＧＡに生成されることとしても良い。タイマ回路４００は、タイマ４０１、信号生成回路４０２、および反転器２０２を有している。
【００８０】
タイマ４０１は、所定時間をカウントし、所定時間が経過するごとにその旨を信号生成回路４０２へ通知する。換言すれば、タイマ４０１は、一定の周期を信号生成回路４０２へ報知する。
【００８１】
信号生成回路４０２は、タイマ４０１から所定時間が経過したことを通知されるごとに対象ＦＰＧＡであるＦＰＧＡ１００−１からの固有データの出力と非出力とを切り替える制御信号を生成する。具体的には、信号生成回路４０２は、例えばＦＰＧＡ１００−１内の出力回路１０１および出力増幅器１０４ａを動作させるオン信号を生成し、タイマ４０１によって一定の周期がカウントされると、ＦＰＧＡ１００-１内の出力回路１０１および出力増幅器１０４ａを停止させるオフ信号を生成する。換言すれば、信号生成回路４０２は、タイマ４０１から通知を受けるたびに、生成する制御信号を反転する。
【００８２】
信号生成回路４０２が制御信号を切り替えながら生成するため、タイマ回路４００は、ＦＰＧＡ１００−１へオン信号を出力するタイミングではＦＰＧＡ１００−２へオフ信号を出力し、ＦＰＧＡ１００−１へオフ信号を出力するタイミングではＦＰＧＡ１００−２へオン信号を出力することになる。そして、この切り替えは、タイマ４０１によって一定周期がカウントされるたびに実行されるため、双方向ピンからデータが出力される場合と双方向ピンへデータが入力される場合の両方について確実に結線チェックを行うことができる。
【００８３】
なお、上述した回路のほかにも、例えば１つの入力ピンに複数の出力ピンが接続される場合などには、複数の出力ピンが順に固有データを出力するように制御する順序制御回路などが生成される。このような場合の出力ピンは、例えばトライステートピンで構成されており、固有データを出力する出力ピン以外はデータの入出力が停止するように制御される。
【００８４】
このようにＦＰＧＡごとのチェック回路が生成されると、このチェック回路がインプリメントされてＲＯＭデータが生成され、生成されたＲＯＭデータは、対向ＦＰＧＡを含む各ＦＰＧＡにコンフィグレーションされる。これにより、ボード上のＦＰＧＡおよび対向ＦＰＧＡによる結線チェックが実行され、結線チェックの実行後、すべての結線に異常がないことが保証されると、例えば所望のＡＳＩＣと同等の機能を果たすためのＲＯＭデータがボード上の各ＦＰＧＡにコンフィグレーションされ、論理の検証が行われる。このとき、結線チェックにより物理的な異常がないことが保証されているため、論理の検証を効率的に行うことができる。
【００８５】
以上のように、本実施の形態によれば、ＦＰＧＡの外部接続ピンによるボードの外部との接続も含めてすべてのピン間の接続をボード上のＦＰＧＡのピン情報から取得し、すべてのピン間の接続に対して、入出力を区別した上で固有データを割り当て、固有データを用いて各ＦＰＧＡが結線チェックを実行するためのＲＯＭデータを生成する。このため、外部接続ピンに対しても結線チェック用の固有データが付与されるとともに、双方向ピンに対しては入出力それぞれに固有データが付与され、プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行うことができる。
【００８６】
（付記１）プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成方法であって、
互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得工程と、
前記取得工程にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与工程と、
前記付与工程にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成工程と、
前記回路生成工程にて生成された回路に対応するＲＯＭデータを生成するデータ生成工程と
を有することを特徴とするデータ生成方法。
【００８７】
（付記２）前記付与工程は、
前記複数のプログラマブルデバイス以外の外部に接続される外部接続端子の端子情報からすべての外部接続端子と接続する対向プログラマブルデバイスを想定し、この対向プログラマブルデバイスの入出力端子に係る接続に固有データを付与することを特徴とする付記１記載のデータ生成方法。
【００８８】
（付記３）前記付与工程は、
データの入力および出力の両方に用いられる双方向端子について、入力および出力それぞれに係る接続に異なる固有データを付与することを特徴とする付記１記載のデータ生成方法。
【００８９】
（付記４）前記回路生成工程は、
前記付与工程にて付与された固有データをそれぞれ出力端子から出力させる出力回路と、
それぞれの入力端子から入力されたデータと前記付与工程にて付与された固有データとを比較する比較回路と
を生成することを特徴とする付記１記載のデータ生成方法。
【００９０】
（付記５）前記回路生成工程は、
データの入力および出力の両方に用いられる双方向端子における固有データの入出力方向を入力または出力の一方に固定する方向決定回路をさらに生成することを特徴とする付記４記載のデータ生成方法。
【００９１】
（付記６）前記回路生成工程は、
前記比較回路において比較が行われるたびに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替える制御回路をさらに生成することを特徴とする付記４記載のデータ生成方法。
【００９２】
（付記７）前記回路生成工程は、
所定時間が経過するごとに、データの入力および出力の両方に用いられる双方向端子における固有データの入出力を切り替えるタイマ回路をさらに生成することを特徴とする付記４記載のデータ生成方法。
【００９３】
（付記８）前記回路生成工程は、
１つの入力端子に複数の出力端子が接続される場合、これらの複数の出力端子から順に固有データを出力させる順序制御回路をさらに生成することを特徴とする付記４記載のデータ生成方法。
【００９４】
（付記９）プログラマブルデバイスにＲＯＭデータを書き込む書込装置と、書込装置によって書き込まれたＲＯＭデータに従って動作しボード上で互いに接続される複数のプログラマブルデバイスとを有する結線チェックシステムであって、
前記書込装置は、
前記複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手段と、
前記取得手段によって取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手段と、
前記付与手段によって付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する生成手段と、
前記生成手段によって生成された回路に対応するＲＯＭデータを前記複数のプログラマブルデバイスに書き込む書込手段とを有し、
前記複数のプログラマブルデバイスは、
前記書込装置によって書き込まれたＲＯＭデータに従って前記ボード上のすべての結線に異常があるか否かをチェックする
ことを特徴とする結線チェックシステム。
【００９５】
（付記１０）プログラマブルデバイスに書き込まれるＲＯＭデータを生成するデータ生成プログラムであって、
互いに接続される複数のプログラマブルデバイスそれぞれに設けられた入出力端子の端子情報を取得する取得手順と、
前記取得手順にて取得された端子情報に基づいてすべての入出力端子に係る接続ごとに固有の固有データを付与する付与手順と、
前記付与手順にて付与された固有データを用いて入出力端子間の結線をチェックするチェック回路を前記複数のプログラマブルデバイスごとに生成する回路生成手順と、
前記回路生成手順にて生成された回路に対応するＲＯＭデータを生成するデータ生成手順と
をコンピュータに実行させることを特徴とするデータ生成プログラム。
【産業上の利用可能性】
【００９６】
本発明は、プログラマブルデバイスの入出力ピンが多数ある場合にも、すべての入出力ピンの実際の機能に即して結線チェックを行う場合に適用することができる。
【図面の簡単な説明】
【００９７】
【図１】一実施の形態に係るＲＯＭデータ生成動作を示すフロー図である。
【図２】一実施の形態に係るピン情報の例を示す図である。
【図３】一実施の形態に係る設定情報の例を示す図である。
【図４−１】一実施の形態に係る固有データ付与動作を示すフロー図である。
【図４−２】図４−１に続く図である。
【図５】一実施の形態に係る入力ピン情報および出力ピン情報の例を示す図である。
【図６】一実施の形態に係る対向ＦＰＧＡの入力ピン情報および出力ピン情報を示す図である。
【図７】一実施の形態に係るＦＰＧＡ間の結線状態を示す図である。
【図８−１】一実施の形態に係る双方向処理を示すフロー図である。
【図８−２】図８−１に続く図である。
【図９】一実施の形態に係るチェック回路生成動作を示すフロー図である。
【図１０】一実施の形態に係る双方向ピンチェック回路の例を示す図である。
【図１１】一実施の形態に係る双方向ピンチェック回路の他の例を示す図である。
【図１２】一実施の形態に係る双方向ピンチェック回路のさらに他の例を示す図である。
【符号の説明】
【００９８】
１０１  出力回路
１０２  比較回路
１０３  メモリ
１０３ａ  出力ピン情報
１０３ｂ  入力ピン情報
１０４  バッファ
１０４ａ  出力増幅器
１０４ｂ  入力増幅器
２００  方向決定回路
２０１  固定信号生成回路
２０２  反転器
３００  制御回路
３０１、４０２  信号生成回路
４００  タイマ回路
４０１  タイマ
【図１】
2008102043.tif 000003
【図２】
2008102043.tif 000004
【図３】
2008102043.tif 000005
【図４−１】
2008102043.tif 000006
【図４−２】
2008102043.tif 000007
【図５】
2008102043.tif 000008
【図６】
2008102043.tif 000009
【図７】
2008102043.tif 000010
【図８−１】
2008102043.tif 000011
【図８−２】
2008102043.tif 000012
【図９】
2008102043.tif 000013
【図１０】
2008102043.tif 000014
【図１１】
2008102043.tif 000015
【図１２】
2008102043.tif 000016