(57)【要約】【課題】  ＦＰＧＡの破損を防止しつつＦＰＧＡを改造することなく誤接続の箇所を容易に検出することができるＦＰＧＡの誤接続検出方法およびＦＰＧＡの誤接続検出回路を提供する。【解決手段】  接続データ保持用ＲＯＭ１１に記憶されたＦＰＧＡ１００，２００のピンどうしの接続情報と、ＩＯレジスタ逐次読出回路１２，ＩＯレジスタ参照用メモリ１３で取得したＦＰＧＡ１００，２００のピンの設定情報とに基づいて、ＦＰＧＡ１００，２００の相互に接続されるピンの接続が誤接続であるか否かを不正バス検出回路１３で検出する。【選択図】        図１
2006005708.tif 000002
【特許請求の範囲】
【請求項１】
複数のＦＰＧＡのピン間の接続における誤接続を検出するＦＰＧＡの誤接続検出方法において、
各ＦＰＧＡの各ピンの設定情報と複数のＦＰＧＡのピンどうしの接続情報とを記憶しておき、
前記接続情報に基づいて、複数のＦＰＧＡの相互に接続されるピンを認識し該相互に接続されるピンの設定情報に基づいて該相互に接続されるピンの接続が誤接続であるか否かを検出することを特徴とするＦＰＧＡの誤接続検出方法。
【請求項２】
複数のＦＰＧＡのピン間の接続における誤接続を検出するＦＰＧＡの誤接続検出回路において、
複数のＦＰＧＡのピンどうしの接続情報を記憶しておく記憶部と、
各ＦＰＧＡの各ピンの設定情報を取得する取得部と、
前記接続情報と前記設定情報とに基づいて、複数のＦＰＧＡの相互に接続されるピンの接続が誤接続であるか否かを検出する検出部とを備えたことを特徴とするＦＰＧＡの誤接続検出回路。
【請求項３】
このＦＰＧＡの誤接続検出回路が、前記複数のＦＰＧＡのうちのいずれかのＦＰＧＡに組み込まれた回路であることを特徴とする請求項２記載のＦＰＧＡの誤接続検出回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＦＰＧＡのピン間の接続における誤接続を検出するＦＰＧＡの誤接続検出方法およびＦＰＧＡの誤接続検出回路に関する。
【背景技術】
【０００２】
従来より、論理検証装置としてＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が広く用いられている。ＦＰＧＡは、回路構成を自在に設定することができるデバイスであり、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の開発において製造前の回路検証に用いられている。また、ＦＰＧＡは、小規模な変更が容易であるため、ハードウェアのデバッグ（検証）に広く利用されている。
【０００３】
一般に、ＦＰＧＡはＲＯＭとともに用いられる。ＲＯＭには、ＦＰＧＡを所望の論理回路に構成するための回路情報が格納されている。電源が投入されると、ＲＯＭからＦＰＧＡに向けて回路情報が送られる。ＦＰＧＡは、送られた回路情報に基づいて所望の論理回路を構成し、これによりＦＰＧＡがその論理回路として動作することとなる。
【０００４】
ここで、ＲＯＭからの回路情報の書込みは、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）規格に準拠したＪＴＡＧ装置により、ＦＰＧＡの特定のピンを経由して行なわれる。ＪＴＡＧ装置を使用することで、ＦＰＧＡを、回路情報の書込み状態、動作状態、停止状態のいずれかの状態に設定することや、ＦＰＧＡの現在の状態を知ることができる。ここで、停止状態とは、ＦＰＧＡの入力ピン，出力ピン，入出力ピンの全てのピンがハイインピーダンス状態になることをいう。
【０００５】
検証するハードウェアの回路規模が大きい場合、１つのブロックを複数の部分に分割し、これら複数の部分に対応する複数のＦＰＧＡを使用してハードウェアを検証することがある。このような場合、検証段階においてＦＰＧＡ間の接続に変更が加わることが多い。このため、論理検証においてＦＰＧＡのピンに期待値とは異なる論理が入出力されるという論理不良（バグ）が発生したり、各ピンどうしの接続において配線ミスが発生したりする。これら論理不良や配線ミスに起因して、特にＦＰＧＡ間において出力ピンに接続されたバスどうしが衝突した場合には、最悪のときにはＦＰＧＡが破損する恐れがある。ＦＰＧＡは大規模な回路が構成可能なものほどピン数が多く且つコストも高い。このようなＦＰＧＡでは、より一層論理不良等が発生しやすく且つ破損した際のコスト上のダメージも大きいという問題がある。
【０００６】
そこで、３ステートバスのイネーブル信号の論理不良により３ステートバスが衝突した場合にバス衝突信号を出力するバス衝突検出回路を備え、このバス衝突信号によりＦＰＧＡから出力される信号をハイインピーダンス状態にすることにより、ＦＰＧＡが破損されることを防止する技術が提案されている（特許文献１参照）。
【０００７】
また、ＦＰＧＡに３つのオペアンプを用いたアナログ回路を備え、このアナログ回路によりバスが衝突していることを検出する技術が提案されている（特許文献２参照）。
【特許文献１】特開２００３−５０２５８号公報
【特許文献２】特開２００２−３１３０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のＦＰＧＡを使用して論理検証を行なうにあたり、特許文献１に記載された論理不良によるバスの衝突だけでなく、配線ミスによるバスの衝突がある。複数のＦＰＧＡ間では、入力ピンと、出力ピンと、入出力ピン（３ステートピンとも称する）とが混在している。ここで、配線ミスにより出力ピンどうしが接続されるという不適切な接続（誤接続）によりバスどうしが衝突するということが有り得る。このような場合は、回路全体に大きな電流が流れる。そこで、回路全体に流れる電流を測定することで、出力ピンどうしが誤接続されていることを検出することが考えられる。しかし、誤接続されている出力ピンに流れる電流を測定するものではないため、原因となっている配線ミスによる誤接続の箇所を特定することは困難である。従って、配線ミスの修正は困難であるという問題がある。また、ＦＰＧＡの破損にまでは至らなくても、誤接続により論理検証が正常に行われず、誤配線の発見に手間取るという問題もある。
【０００９】
また、特許文献２に記載された、ＦＰＧＡにアナログ回路を設けてバスが衝突していることを検出する技術では、市販のＦＰＧＡを改造する必要があるという問題を抱えている。
【００１０】
本発明は、上記事情に鑑み、ＦＰＧＡの破損を防止しつつＦＰＧＡを改造することなく誤接続の箇所を容易に検出することができるＦＰＧＡの誤接続検出方法およびＦＰＧＡの誤接続検出回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成する本発明のＦＰＧＡの誤接続検出方法は、複数のＦＰＧＡのピン間の接続における誤接続を検出するＦＰＧＡの誤接続検出方法において、
各ＦＰＧＡの各ピンの設定情報と複数のＦＰＧＡのピンどうしの接続情報とを記憶しておき、
上記接続情報に基づいて、複数のＦＰＧＡの相互に接続されるピンを認識しその相互に接続されるピンの設定情報に基づいてその相互に接続されるピンの接続が誤接続であるか否かを検出することを特徴とする。
【００１２】
本発明のＦＰＧＡの誤接続検出方法は、複数のＦＰＧＡの相互に接続されるピンを認識し、次いで相互に接続されるピンが入力ピン，出力ピン，入出力ピン，未接続のいずれに設定されているのかの設定情報に基づいて、相互に接続されるピンの接続が誤接続であるか否かを検出する方法である。このため、複数のＦＰＧＡの相互に接続されるピンが出力ピンどうしであるか否かを検出することができる。従って、配線ミスによる誤接続の箇所を容易に検出することができる。また、ＦＰＧＡを改造する必要はなく、誤接続であることが検出された時点で複数のＦＰＧＡのピンをハイインピーダンス状態にすることにより、それらＦＰＧＡの破損を防止することができる。
【００１３】
また、上記目的を達成する本発明のＦＰＧＡの誤接続検出回路は、複数のＦＰＧＡのピン間の接続における誤接続を検出するＦＰＧＡの誤接続検出回路において、
複数のＦＰＧＡのピンどうしの接続情報を記憶しておく記憶部と、
各ＦＰＧＡの各ピンの設定情報を取得する取得部と、
上記接続情報と上記設定情報とに基づいて、複数のＦＰＧＡの相互に接続されるピンの接続が誤接続であるか否かを検出する検出部とを備えたことを特徴とする。
【００１４】
本発明のＦＰＧＡの誤接続検出回路は、複数のＦＰＧＡのピンどうしの接続情報と、各ピンが入力ピン，出力ピン，入出力ピン，未接続のいずれに設定されているのかの設定情報とに基づいて、複数のＦＰＧＡの相互に接続されるピンの接続が誤接続であるか否かを検出するものであるため、複数のＦＰＧＡの相互に接続されるピンが出力ピンどうしであるか否かを検出することができる。従って、配線ミスによる誤接続の箇所を容易に検出することができる。また、ＦＰＧＡを改造する必要はなく、誤接続であることが検出された時点で複数のＦＰＧＡのピンをハイインピーダンス状態にすることにより、それらＦＰＧＡの破損を防止することができる。
【００１５】
ここで、このＦＰＧＡの誤接続検出回路が、上記複数のＦＰＧＡのうちのいずれかのＦＰＧＡに組み込まれた回路であることが好ましい。
【００１６】
複数のＦＰＧＡのうちのいずれかのＦＰＧＡに、ＦＰＧＡの誤接続検出回路を組み込むと、装置のコストを削減することができる。
【００１７】
さらに、この誤接続検出回路は、誤接続を検出すると誤接続のピン情報を不正接続出力として外部へ出力するものであることが好ましい。
【００１８】
こうすると誤接続の修正を容易に行なうことができる。
【発明の効果】
【００１９】
本発明のＦＰＧＡの誤接続検出方法およびＦＰＧＡの誤接続検出回路によれば、ＦＰＧＡの破損を防止しつつ、ＦＰＧＡを改造することなく誤接続の箇所を容易に検出することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。
【００２１】
図１は、本発明の一実施形態のＦＰＧＡの誤接続検出回路および２つのＦＰＧＡの回路構成を示す図である。
【００２２】
図１には、本発明の一実施形態であるＦＰＧＡの誤接続検出回路１と、２つのＦＰＧＡ１００，２００が示されている。尚、この誤接続検出回路１には、本発明の一実施形態のＦＰＧＡの誤接続検出方法が採用されている。
【００２３】
誤接続検出回路１は、２つのＦＰＧＡ１００，２００のピン間の接続における誤接続を検出する回路である。先ず、ＦＰＧＡ１００，２００について説明する。
【００２４】
ＦＰＧＡ１００は、各ＩＯ領域に備えられた各ＩＯレジスタ１０１，１０２，１０３，１０４，１０５、および後述する停止処理回路１０６を有する。各ＩＯレジスタ１０１，１０２，１０３，１０４，１０５は、それぞれ、２ビット構成のレジスタである。
【００２５】
ここで、ＦＰＧＡ１００に電源が投入されると、ＦＰＧＡ１００では、図示しないＲＯＭからの回路データに基づいた論理回路が構成される。また、ＩＯレジスタ１０１，１０２，１０３，１０４，１０５は、以下に説明するように、未接続，入力ピン，出力ピン，入出力ピン（３ステートピン）のいずれか用に設定される。
【００２６】
ＩＯレジスタ１０１，１０２，１０３，１０４，１０５には、表１に示す値（本発明にいう設定情報の一例に相当）が書き込まれる。
【００２７】
【表１】
2006005708.tif 000003
【００２８】
表１に示すように、ＩＯレジスタを未接続用に設定する（いずれのピンにも接続しない状態）場合は、そのＩＯレジスタにレジスタの値として‘０’（２ビットのデータ００）が書き込まれる。また、ＩＯレジスタを入力ピン用に設定する場合は、そのＩＯレジスタに‘１’（２ビットのデータ０１）が書き込まれる。さらに、ＩＯレジスタを出力ピン用に設定する場合は、そのＩＯレジスタに‘２’（２ビットのデータ１０）が書き込まれる。また、ＩＯレジスタを入出力ピン用に設定する場合は、そのＩＯレジスタに‘３’（２ビットのデータ１１）が書き込まれる。
【００２９】
ＦＰＧＡ２００もＦＰＧＡ１００と同様であり、このＦＰＧＡ２００は、各ＩＯ領域に備えられた、それぞれが２ビット構成の各ＩＯレジスタ２０１，２０２，２０３，２０４，２０５、および後述する停止処理回路２０６を有する。また、ＦＰＧＡ２００に電源が投入されると、図示しないＲＯＭからの回路データに基づいた論理回路が構成される。さらに、ＩＯレジスタ２０１，２０２，２０３，２０４，２０５には、前述した表１に示す値が書き込まれ、これによりＩＯレジスタ２０１，２０２，２０３，２０４，２０５は、未接続，入力ピン，出力ピン，入出力ピンのいずれかのピン用に設定される。
【００３０】
ＦＰＧＡ１００，２００に表１に示す値が書き込まれた後、ＦＰＧＡ１００，２００から動作開始信号Ｓ１，Ｓ２が、誤接続検出回路１に出力される。ここで、ＩＯレジスタ１０１，１０２，１０３，１０４，１０５とＩＯレジスタ２０１，２０２，２０３，２０４，２０５は、それぞれ、シリアルに接続されている。また、ＦＰＧＡ１００，２００において論理回路が構成される前に、接続される順にあらかじめＩＤが１から割り振られている。ＦＰＧＡ１００，２００からは、接続されているＩＯレジスタの順に表１に示すＩＯレジスタの値が出力される。
【００３１】
図２は、図１に示すＦＰＧＡ１００のＩＯレジスタの回路構成を示す図である。
【００３２】
図２に示す、ＦＰＧＡ１００を構成するＩＯレジスタ１０１には、２つのフリップフロップ１０１＿１，１０１＿２が備えられている。このＩＯレジスタ１０１は、ＦＰＧＡ１００に電源が投入された時点で、表１に示すレジスタの値‘１’（０１）が書き込まれる。これにより、入力側に入力ピンが接続された入力バッファ１０１＿３を有する入力ピン用に設定される。
【００３３】
以下、同様にして、ＩＯレジスタ１０２には、２つのフリップフロップ１０２＿１，１０２＿２が備えられており、未接続に設定される。さらに、ＩＯレジスタ１０３には、２つのフリップフロップ１０３＿１，１０３＿２が備えられており、出力側に出力ピンが接続された出力バッファ１０３＿３を有する出力ピン用に設定される。また、ＩＯレジスタ１０４には、２つのフリップフロップ１０４＿１，１０４＿２が備えられており、未接続に設定される。さらに、ＩＯレジスタ１０５には、２つのフリップフロップ１０５＿１，１０５＿２が備えられており，出力側に出力ピンが接続された出力バッファ１０５＿３を有する出力ピン用に設定される。これらＩＯレジスタ１０１，１０２，１０３，１０４，１０５は、前述したようにシリアルに接続されている。
【００３４】
ＦＰＧＡ１００からは、ＩＯレジスタ１０１，１０２，１０３，１０４，１０５の順に表１に示すＩＯレジスタの値‘１’，‘０’，‘２’，‘０’，‘２’が誤接続検出回路１に向けて出力される。ＦＰＧＡ１００は、誤接続検出回路１からの、後述する停止信号Ｓ３を、図１に示す停止処理回路１０６で受け取ると、全てのピンをハイインピーダンス状態にする。尚、ＦＰＧＡ２００の動作についても、このＦＰＧＡ１００の動作と同様である。
【００３５】
通常、ＦＰＧＡ１００，２００は、ＪＴＡＧ装置を使用して全てのピンをハイインピーダンス状態にして回路を停止させることができるため、停止処理回路１０６，２０６を省くこともできる。また、本実施形態では、各ピンごとに各ＩＯレジスタを備え、電源が投入された時点で、ＦＰＧＡ１００，２００に回路データを送出して論理回路を構成するＲＯＭによって上記ＩＯレジスタを設定する構成であるため、例えば特許文献２に提案された、アナログ回路を搭載した専用のＦＰＧＡを新規に開発製造する必要はなく、市販のＦＰＧＡで済み、コストの低減化が図られる。次に、誤接続検出回路１について説明する。
【００３６】
図１に示す誤接続検出回路１には、ＦＰＧＡ１００，２００のピンどうしの接続情報を記憶しておく接続データ保持用ＲＯＭ１１（本発明にいう記憶部の一例に相当）が備えられている。また、誤接続検出回路１には、ＦＰＧＡ１００の各ピンの設定情報を取得するＩＯレジスタ逐次読出回路１２（本発明にいう取得部の一例に相当）が備えられている。さらに、誤接続検出回路１には、ＦＰＧＡ２００の各ピンの設定情報を取得するＩＯレジスタ参照用メモリ１３（本発明にいう取得部の他の一例に相当）が備えられている。
【００３７】
また、誤接続検出回路１には、上記接続情報と上記設定情報とに基づいて、２つのＦＰＧＡ１００，２００の相互に接続されるピンの接続が誤接続であるか否かを検出する不正バス検出回路１４（本発明にいう検出部の一例に相当）が備えられている。
【００３８】
さらに、誤接続検出回路１には、ＦＰＧＡ１００，２００からの動作開始信号Ｓ１，Ｓ２が入力される動作開始検出回路１５と、不正バス検出回路１４からのパルス信号を受けてアドレスを生成するアドレス生成回路１６が備えられている。
【００３９】
このように構成された誤接続検出回路１では、以下の手順で、ＦＰＧＡ１００，２００の出力ピンどうしが接続される誤接続の検出が行なわれる。
【００４０】
先ず、手順１において、動作開始検出回路１５が、ＦＰＧＡ１００，２００の双方からの動作開始信号Ｓ１，Ｓ２を検出する。すると、誤接続検出回路１において、手順２〜手順１０の順で誤接続の検出が開始される。
【００４１】
手順２では、動作開始検出回路１５からパルス信号がＩＯレジスタ参照用メモリ１３および不正バス検出回路１４に出力される。すると、ＩＯレジスタ参照用メモリ１３は、ＦＰＧＡ２００のＩＯレジスタ２０１〜２０５の値をシリアルに読み込む。読み込まれた値は、ＩＯレジスタ参照用メモリ１３のアドレス１から順に配置される。ここで、ＦＰＧＡ２００のＩＯレジスタ２０１〜２０５から読み出された後のＩＯレジスタ参照用メモリ１３のメモリマップを表２に示す。
【００４２】
【表２】
2006005708.tif 000004
【００４３】
例えば、ＦＰＧＡ２００の２番目のＩＯレジスタ２０２（ＩＯ  Ｎｏ．＝ＩＯ２’）は出力ピン用に設定されており、ＩＯレジスタ２０２の値は‘２’であるので、ＩＯレジスタ参照用メモリ１３のアドレス２に値２が書き込まれる。
【００４４】
手順３では、動作開始検出回路１５が出力するパルス信号を受けて、不正バス検出回路１４がＦＰＧＡ１００，２００の不正バスの検出、即ちＦＰＧＡ１００，２００の出力ピンどうしが接続される誤接続の検出を開始する。不正バス検出回路１４は、ＦＰＧＡ１００のＩＯレジスタ１０１〜１０５までの値とＦＰＧＡ２００のＩＯレジスタ２０１〜２０５までの値とを順に比較する。比較にあたっては、２つのＦＰＧＡ１００，２００の相互に接続されるピンの接続が誤接続であるか否かを検出するように比較する。具体的には、不正バス検出回路１４は、２つのＦＰＧＡ１００，２００の、相互に接続されるピンに対応する１組のＩＯレジスタどうしの値を比較し、比較が終了するとＩＯレジスタ逐次読出回路１２およびアドレス生成回路１６にパルス信号を送出する。これらの動作は各組ごとに実行される。
【００４５】
手順４において、ＩＯレジスタ逐次読出回路１２は、不正バス検出回路１４からパルス信号が送られるたびに、ＦＰＧＡ１００の１番目のＩＯレジスタ１０１から５番目のＩＯレジスタ１０５まで順に、それらＩＯレジスタ１０１〜１０５の値を不正バス検出回路１４に向けてシリアルに読み出す。不正バス検出回路１４は、１組のＩＯレジスタどうしの値を比較し、その比較が終了するとＩＯレジスタ逐次読出回路１２にパルス信号を送出して、次に比較するＦＰＧＡ１００のＩＯレジスタの値を、ＩＯレジスタ逐次読出回路１２から入力する。これらの動作は各組ごとに実行される。
【００４６】
手順５において、アドレス生成回路１６は、不正バス検出回路１４からパルス信号が送出されるたびに番号１〜５までの順でインクリメントすることによりアドレスを順次生成して、接続データ保持用ＲＯＭ１１に出力する。尚、番号１〜５は、ＦＰＧＡ１００のＩＯレジスタ１０１〜１０５に対応している。不正バス検出回路１４は１組のＩＯレジスタの比較を終了するたびにアドレス生成回路１６にパルス信号を送出し、これによりアドレス生成回路１６は次に比較するＦＰＧＡ１００のＩＯレジスタに対応するアドレスを出力する。
【００４７】
手順６において、接続データ保持用ＲＯＭ１１は、ＦＰＧＡ１００のＩＯレジスタに対応するアドレスを入力して、そのＩＯレジスタに対応するＦＰＧＡ２００のＩＯレジスタの番号（ＩＯ  Ｎｏ．）を出力する。例えば、接続データ保持用ＲＯＭ１１にアドレス１が入力されると、接続データ保持用ＲＯＭ１１は、ＦＰＧＡ２００のＩＯレジスタ２０３の番号（ＩＯ３’）をＩＯレジスタ参照用メモリ１３に出力する。
【００４８】
手順７において、ＩＯレジスタ参照用メモリ１３は、接続データ保持用ＲＯＭ１１からＦＰＧＡ２００のＩＯレジスタの番号が入力されると、その番号に対応した値を出力する。例えば、番号（ＩＯ３’）が入力されると、ＩＯレジスタ２０３の値２（＝出力ピン）が不正バス検出回路１４に出力される。
【００４９】
手順８では、アドレス生成回路１６から、ＦＰＧＡ１００のＩＯレジスタ１０１〜１０５を指定するためのアドレスが、接続データ保持用ＲＯＭ１１に入力される。すると、接続データ保持用ＲＯＭ１１を経由してＩＯレジスタ参照用メモリ１３から、ＩＯレジスタ１０１〜１０５のピンと接続されたピンに対応するＦＰＧＡ２００のＩＯレジスタの値が、不正バス検出回路１４に出力される。例えば、ＦＰＧＡ１００のＩＯレジスタ１０１の値とＦＰＧＡ２００のＩＯレジスタ２０３の値とを比較する場合、アドレス生成回路１６がＦＰＧＡ１００のＩＯレジスタ１０１に対応するアドレス１を接続データ保持用ＲＯＭ１１に出力し、接続データ保持用ＲＯＭ１１はＦＰＧＡ１００のＩＯレジスタ１０１のピンと接続されたピンに対応するのはＦＰＧＡ２００のＩＯレジスタ２０３である旨のアドレス３を、ＩＯレジスタ参照用メモリ１３に出力する。ＩＯレジスタ参照用メモリ１３は、表２を参照してＦＰＧＡ２００のＩＯレジスタ２０３の値として２（＝出力ピン）を不正バス検出回路１４に出力する。不正バス検出回路１４は、ＦＰＧＡ１００のＩＯレジスタ１０１のピンと接続するピンに対応するＦＰＧＡ２００のＩＯレジスタ２０３の値を入力し、不正バスの検出、即ち出力ピンどうしが接続される誤接続の検出を行なう。
【００５０】
手順９において、不正バス検出回路１４は、パルス信号をアドレス生成回路１６とＩＯレジスタ逐次読出回路１２に送出し、ＦＰＧＡ１００のＩＯレジスタの値に対応するＩＯレジスタ逐次読出回路１２の出力とＦＰＧＡ２００のＩＯレジスタに対応するＩＯレジスタ参照用メモリ１３の出力比較、即ちＦＰＧＡ１００，２００の相互に接続されているピンに対応するＩＯレジスタの値どうしの比較を行なう。その際、不正なバスの組み合わせの場合にはＦＰＧＡ１００の誤接続のＩＯレジスタの番号を不正接続（誤接続）ＩＯ出力Ｓ５として外部のデバイスに出力すると同時に、ＦＰＧＡ１００，２００に停止信号Ｓ３，Ｓ５を送出する。この不正接続ＩＯ出力Ｓ５を使用して、例えば不正接続されたＩＯレジスタの番号をＬＥＤで表示する等して不正接続された箇所を回路の使用者に通知する。ここで、不正バス検出回路１４において、最初の不正バスの検出で停止信号Ｓ３，Ｓ４を送出し、以後検出処理を停止する場合と全ての不正バスを検出して停止信号Ｓ４，Ｓ５をＦＰＧＡ１００，２００に送出する場合とが想定される。全ての不正バスを検出する場合には不正なバスが検出され次第、逐次、不正接続ＩＯ出力Ｓ５で誤接続されたＩＯレジスタの箇所を出力する。このようにして、ＦＰＧＡ１００，２００を改造することなく、誤接続の箇所を容易に検出することができる。このため、ハードウェアの開発期間を短縮することができるとともにコストの上昇を抑えることができる。
【００５１】
手順１０において、ＦＰＧＡ１００，２００は、誤検出検出回路１から出力される停止信号Ｓ３，Ｓ４を停止処理回路１０６，２０６で受けて全てのＩＯレジスタをハイインピーダンス状態にしてＦＰＧＡ１００，２００の回路動作を停止させる。このようにすることにより、ＦＰＧＡ１００，２００の破損を防止することができる。
【００５２】
図３は、図１に示す誤接続検出回路がＦＰＧＡ１００に組み込まれた回路構成を示す図である。
【００５３】
図３に示すＦＰＧＡ１００は、回路基板２を有する。このＦＰＧＡ１００が有する回路基板２上に、誤接続検出回路１が組み込まれている。回路検証を行なうハードウェア（ＡＳＩＣ）の回路規模が比較的小さい場合は、このように、ＦＰＧＡ１００に誤接続検出回路１を組み込んだ構成にしてもよい。これにより、ハードウェアの回路検証を低価格で実現することができる。
【００５４】
図４は、図１に示す誤接続検出回路がＦＰＧＡ２００に組み込まれた回路構成を示す図である。
【００５５】
図４に示すＦＰＧＡ２００は、回路基板３を有する。このＦＰＧＡ２００が有する回路基板３上に、誤接続検出回路１が組み込まれている。このように、ＦＰＧＡ２００に誤接続検出回路１を組み込んだ構成にしてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態のＦＰＧＡの誤接続検出回路および２つのＦＰＧＡの回路構成を示す図である。
【図２】図１に示すＦＰＧＡ１００のＩＯレジスタの回路構成を示す図である。
【図３】図１に示す誤接続検出回路がＦＰＧＡ１００に組み込まれた回路構成を示す図である。
【図４】図１に示す誤接続検出回路がＦＰＧＡ２００に組み込まれた回路構成を示す図である。
【符号の説明】
【００５７】
１  誤接続検出回路
２，３  回路基板
１１  接続データ保持用ＲＯＭ
１２  ＩＯレジスタ逐次読出回路
１３  ＩＯレジスタ参照用メモリ
１４  不正バス検出回路
１５  動作開始検出回路
１６  アドレス生成回路
１００，２００  ＦＰＧＡ
１０１，１０２，１０３，１０４，１０５，２０１，２０２，２０３，２０４，２０５  ＩＯレジスタ
１０１＿１，１０１＿２，１０２＿１，１０２＿２，１０３＿１，１０３＿２，１０４＿１，１０４＿２，１０５＿１，１０５＿２  フリップフロップ
１０１＿３  入力バッファ
１０３＿３，１０５＿３  出力バッファ
１０６，２０６  停止処理回路
【図１】
2006005708.tif 000005
【図２】
2006005708.tif 000006
【図３】
2006005708.tif 000007
【図４】
2006005708.tif 000008