(57)【要約】      （修正有）【課題】配線の短絡や断線を容易にテストする。【解決手段】検査ボードの出力端子に接続された出力バッファに記憶されたビット値をその段に対応する出力バッファに出力する第１のシフトレジスタが第１のＦＰＧＡの中に形成され、基準ボードの出力端子に接続された出力バッファに記憶されたビット値をその段に対応する出力バッファに出力する第２のシフトレジスタが第２のＦＰＧＡの中に形成され、検査ボードの複数の外部接続端子のそれぞれの出力と基準ボードの複数の外部接続端子のそれぞれの出力とを一対一で比較して一致あるいは不一致を検出し、かつ、第１のシフトレジスタと第２のシフトレジスタに対する入力データをシフトして検査ボードの外部接続端子とこれに一対一で比較される基準ボードの外部接続端子との出力が同じビット値になるように第１のシフトレジスタと第２のシフトレジスタのそれぞれにデータを設定するものである。【選択図】図１
2004317221.tif 000002
【特許請求の範囲】
【請求項１】
検査対象となる第１のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された検査ボードと、良品としての第２のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された良品としての基準ボードとを有し、
前記検査ボードの前記出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する前記出力バッファに出力する第１のシフトレジスタが前記第１のＦＰＧＡの中に形成され、
前記基準ボードの前記出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する出力バッファに出力する第２のシフトレジスタが前記第２のＦＰＧＡの中に形成され、
前記検査ボードの前記複数の外部接続端子のそれぞれの出力と前記基準ボードの前記複数の外部接続端子のそれぞれの出力とを一対一で比較して一致あるいは不一致を検出し、かつ、
前記第１のシフトレジスタと前記第２のシフトレジスタに対する入力データをシフトして前記検査ボードの前記外部接続端子とこれに一対一で比較される前記基準ボードの前記外部接続端子との出力が同じビット値になるように前記第１のシフトレジスタと前記第２のシフトレジスタのそれぞれにデータを設定するＦＰＧＡ搭載ボードのテスト方法。
【請求項２】
前記第２のシフトレジスタは前記第２のＦＰＧＡに前もって形成され、前記第１のシフトレジスタは前記第１のＦＰＧＡに検査に当たって形成され、前記第１のシフトレジスタと前記第２のシフトレジスタに入力される前記入力データは、同じデータであり、前記外部接続端子の出力の比較は、ビット不一致検出回路により行われ、前記ビット不一致検出回路の複数の出力が第１のＯＲ回路により論理和が採られ、さらに前記第１のＯＲ回路の出力が第２のＯＲ回路により論理和が採られて、この第２のＯＲ回路の出力に応じて前記検査ボードあるいは前記第１のＦＰＧＡの短絡または断線が判定される請求項１記載のＦＰＧＡ搭載ボードのテスト方法。
【請求項３】
前記第２のＯＲ回路の出力は、最終段で１出力とされる論理和回路であって、この最終段の１出力を入力データのシフトとともに得て、シフトされた数に応じて短絡あるいは断線の位置を解析する請求項２記載のＦＰＧＡ搭載ボードのテスト方法。
【請求項４】
前記第１のシフトレジスタと前記第２のシフトレジスタとに設定される前記入力データは、少なくとも２段階で異なるデータが設定される請求項３記載のＦＰＧＡ搭載ボードのテスト方法。
【請求項５】
検査対象となる第１のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された検査ボードと、
良品としての第２のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された良品としての基準ボードと、
前記検査ボードの前記出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する前記出力バッファに出力する前記第１のＦＰＧＡの中に形成された第１のシフトレジスタと、
前記基準ボードの前記出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する前記出力バッファに出力する前記第２のＦＰＧＡの中に形成された第２のシフトレジスタと、
前記検査ボードの前記複数の外部接続端子のそれぞれの出力と前記基準ボードの前記複数の外部接続端子のそれぞれの出力とを一対一で比較して一致あるいは不一致を検出する比較回路と、
前記第１のシフトレジスタと前記第２のシフトレジスタに対する入力データをシフトして前記検査ボードの前記外部接続端子とこれに一対一で比較される前記基準ボードの前記外部接続端子との出力が同じビット値になるように前記第１のシフトレジスタと前記第２のシフトレジスタのそれぞれにデータを設定するデータ設定手段とを備えるＦＰＧＡ搭載ボードのテスト装置。
【請求項６】
さらに、前記検査ボードあるいは前記第１のＦＰＧＡの短絡または断線を判定する判定回路を有し、前記第２のシフトレジスタは前記第２のＦＰＧＡに前もって形成されたものであり、前記第１のシフトレジスタは前記第１のＦＰＧＡに検査に当たって形成されるものであり、前記第１のシフトレジスタと前記第２のシフトレジスタに入力される前記入力データは、同じデータであり、前記比較回路は、前記外部接続端子から出力されるビット出力の不一致を検出する複数の不一致検出回路と、これら不一致検出回路の出力の論理和を採る複数の第１のＯＲ回路と、これら複数の第１のＯＲ回路の出力の論理和を採る第２のＯＲ回路とを有し、
前記判定回路は、前記第２のＯＲ回路の出力により前記判定をする請求項５記載のＦＰＧＡ搭載ボードのテスト装置。
【請求項７】
前記第２のＯＲ回路の出力は、最終段で１出力とされる論理和回路であって、前記判定回路は、この最終段の１出力を入力データのシフトとともに得て、シフトされた数に応じて短絡あるいは断線の位置を解析する請求項６記載のＦＰＧＡ搭載ボードのテスト装置。
【請求項８】
前記第１のシフトレジスタと前記第２のシフトレジスタとに設定される前記入力データは、少なくとも２段階で異なるデータが設定される請求項７記載のＦＰＧＡ搭載ボードのテスト装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＦＰＧＡ搭載ボードのテスト方法とテスト装置に関し、詳しくは、内部セルから出力バッファを含むＦＰＧＡの外部端子への接続ラインと出力端子からその搭載ボードの外部接続端子までの配線の短絡や断線を容易にテストすることができるＦＰＧＡ搭載ボードのテスト方法とテスト装置に関する。
【０００２】
【従来の技術】
従来の半導体装置（半導体デバイス）を搭載したボードのテスト装置としては、多数のソケットに検査半導体（ＤＵＴ）を搭載して、正常な基準デバイスの動作出力と各ソケットに搭載した半導体デバイスの動作出力とを比較判定することで行われている。
その１つとして、半導体デバイスの初期不良を加熱下で行う技術が公知である（特許文献１）。
一方、半導体デバイスの１つにプログラマブルに回路設計ができるＦＰＧＡがあるが、このＦＰＧＡは、現在では、そのゲート数も１０万〜２０万ゲートと大きくなり、そのピン数も多数であり、通常、これ専用のソケットボードあるいはボード基板に搭載されて使用される。
この種の半導体デバイスとその搭載ボードとをテストするものとしてボードテスターがある。これは、期待値と検査ボードからの出力値とを比較することでテストを行う。このテストの際には、各ピン対応にスキャンしていく、バウンダリィスキャン方式が採用されている。
【０００３】
【特許文献１】
特開昭６１−１０５４７４号公報
【０００４】
【発明が解決しようとする課題】
ＦＰＧＡ搭載ボードのテスト方法として前者の比較回路を設けて基準デバイスの動作と比較するテストを用いる場合、出力端子や入力端子を対応した関係に保持して出力ピン対応に出力値を比較する検査が行われる。このような出力値の比較検査では、各出力について隣接する出力ピンとの間で出力関係を任意に選択することができない。そのため、出力端子間のテストとなる短絡や断線を検査することは難しい。特に、半導体デバイスとこれを搭載したボードの接続ラインを含めてそれらの短絡や断線を短時間に検査することはピン数が多くなると難しくなる。
一方、後者の期待値を用いるテスト装置では、シリアルな診断専用パスを用いて１ステップで１個所の比較判定を行うので、半導体デバイスおよびこれを搭載したボードをピン対応にテストするには、多量の処理ステップが必要になる。そのため、テスト効率が悪い。特に、ＦＰＧＡでは、これを搭載したボードの接続ラインにおける短絡や断線をテストしなければならず、そのテストを複数箇所同時にすることができないため、ボードテスト全体のテストステップ数が大きく、テスト効率が悪くなる。
また、ＦＰＧＡあるいはこれを搭載したボードの短絡や断線の場合には、各ピンに設定する出力値により発生する隣接ピンとの電圧関係が必要になるために、各ピンに設定する出力値を自由に設定することが必要である。しかし、前記のようなテスト方法では、それができない。
さらに、従来のボードテスターでは、ＦＰＧＡボードの実速度に対応したテストスピードを実現するには、その都度、実速度に対応した動作をさせるテストプログラム等の開発が必要になる。
この発明の目的は、このような従来技術の問題点を解決するものであって、内部セルから出力バッファを含むＦＰＧＡの出力端子への接続ラインと出力端子からその搭載ボードの外部接続端子までの配線の短絡や断線を容易にテストすることができるＦＰＧＡ搭載ボードのテスト方法とテスト装置を提供することにある。
【０００５】
【課題を解決するための手段】
このような目的を達成するこの発明のＦＰＧＡ搭載ボードのテスト方法とテスト装置の特徴は、検査対象となる第１のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された検査ボードと、良品としての第２のＦＰＧＡを搭載しこれの複数の各出力端子がボードの複数の各外部接続端子にそれぞれ接続された良品としての基準ボードとを有し、検査ボードの出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する出力バッファに出力する第１のシフトレジスタが第１のＦＰＧＡの中に形成され、基準ボードの出力端子に接続された出力バッファに関してある段に記憶されたビット値をその段に対応する出力バッファに出力する第２のシフトレジスタが第２のＦＰＧＡの中に形成され、検査ボードの複数の外部接続端子のそれぞれの出力と基準ボードの複数の外部接続端子のそれぞれの出力とを一対一で比較して一致あるいは不一致を検出し、かつ、第１のシフトレジスタと第２のシフトレジスタに対する入力データをシフトして検査ボードの外部接続端子とこれに一対一で比較される基準ボードの外部接続端子との出力が同じビット値になるように第１のシフトレジスタと第２のシフトレジスタのそれぞれにデータを設定するものである。
【０００６】
【発明の実施の形態】
このように、この発明にあっては、ＦＰＧＡの内部バッファから出力端子への接続ラインと、この出力端子からその搭載ボードの外部接続端子までの配線の短絡や断線テストに当たって、良品のＦＰＧＡを搭載した基準ボード（マスタボード）と検査対象となるＦＰＧＡを搭載したボード（検査ボード）とを設けて、それぞれのＦＰＧＡの出力端子に接続されるそれぞれの出力バッファ、例えば、Ｉ／Ｏバッファに対してこれに出力するフリップフロップ回路をそれぞれ形成して、形成したそれぞれのフリップフロップ回路を接続してシフトレジスタの各段の１つとして第１のシフトレジスタと第２のシフトレジスタを構成する。そして、これらのシフトレジスタに所定のデータ設定することで、隣接する出力端子の出力値を自由に選択できるようにする。
具体的には、ＦＰＧＡのＩ／Ｏ端子のピン数に対応する段を持つの第１，第２のシフトレジスタへ、セット、リセット、もしくは検査ボードと良品ボードに同じビットストリームデータをシフトレジスタを介して入力することによって一対一で比較される外部接続端子の出力ビット値を一致させるデータをシフトレジスタに発生させてＩ／Ｏバッファにラッチする。そして、第１，第２のシフトレジスタの出力をＩ／Ｏ端子（出力端子）経由でボードの外部接続端子から出力させる。この場合、シフトレジスタに入力するデータは任意に選択できるので、隣接する端子の電圧値が選択可能になる。また、データをシフトする速度もクロックに応じて選択可能になる。
このようにして、選択的にＦＰＧＡの出力端子に検査に必要な出力値を発生させて、内部セルからＩ／Ｏバッファを含むＦＰＧＡのＩ／Ｏ端子（出力端子）への接続ラインとＩ／Ｏ端子（出力端子）からその搭載ボードの外部接続端子までの配線の短絡や断線を検査する。
その結果、各出力端子に設定する出力値を任意に選択でき、これにより発生する隣接出力端子との電圧関係を任意に設定することが可能となり、ＦＰＧＡの外部接続端子への接続ラインを含めて、検査ボードの接続ラインの短絡や断線を容易にテストすることができる。
【０００７】
【実施例】
図１は、この発明のＦＰＧＡ搭載ボードのテスト方法を適用した一実施例のテスト装置のブロック図、図２は、そのＦＰＧＡについての説明図、図３は、短絡／断線のテスト処理のフローチャート、図４は、他の実施例において他の検査データを設定した一例の説明図、図５は、図４の実施例においてさらに他の検査データを設定した一例の説明図、図６は、図４の実施例においてさらに他の検査データを設定した一例の説明図、そして、図７は、この発明のさらに他の一実施例の説明図である。
図１において、１０は、ＦＰＧＡ搭載ボードのテスト装置であって、１は、検査対象となるＦＰＧＡであって、検査対象となる検査ボード２に搭載されている、３は、良品のＦＰＧＡであって、基準ボード４に搭載されている。もちろん、この場合の基準ボード４も良品である。
検査ボード２には矩形のＦＰＧＡ１の各辺に設けられた多数のＩ／Ｏ端子１ａ（これには出力端子だけを含め、出力端子の一例としてＩ／Ｏ端子を挙げる。）に一対一で対応して接続された多数の外部接続端子２ａが設けられている。そして、各Ｉ／Ｏ端子１ａと各外部接続端子２ａとは、各接続ライン２ｂで接続されている。また、基準ボード４には矩形のＦＰＧＡ３の各辺に設けられた多数のＩ／Ｏ端子３ａに一対一で対応して接続された多数の外部接続端子４ａが設けられている。そして、各Ｉ／Ｏ端子３ａと各外部接続端子４ａとは、各接続ライン４ｂで接続されている。
ＦＰＧＡ１，３は、それぞれＣＬＢ（コンフィギュレーション・ロジック・ブロック）の各ＳＲＡＭ等のメモリに所定のデータを書込むことにより内部回路を構成するものであって、その都度、データを制御装置２０に内蔵されたＲＯＭ２３から読出してコンフィギュレーションデータＤＡＴを設定データ入力端子１４から入力して、所望の機能を持つ回路を内部に形する。
【０００８】
ところで、ＦＰＧＡ１，３は、図２に示すように、ボンディングパッド１１を有するＩ／Ｏ領域１２と内部セル領域１３とに分かれていて、内部セル領域１３には、ＣＬＢが縦横にタイルを貼ったように多数設けられていて、それぞれのＣＬＢを接続する接続ラインがマトリックス状に配置されている。ＣＬＢが参照するフラッシュメモリに所定のデータを外部から設定データ入力端子１４を介して書込むことで、検査ボード２にシフトレジスタ５が形成され、これに対するデータの入力端子７ａとクロック入力端子７ｂが割り当てられる。
なお、ＣＬＢには、基本的なゲート回路が複数設けられていて、フリップフロップ回路を構成する基本的な回路が多数ある。そこで、このフリップフロップ回路により前記のシフトレジスタは容易に形成できる。
また、基準ボード４のシフトレジスタ６は、同様にしてあらかじめ形成されているものであって、シフトレジスタ６に対してこれの入力端子７ａとクロック入力端子７ｂが割り当てられる。
クロック入力端子７ｂは、可変クロック発生回路１７から検査のためのクロックＣＬＫを受ける。可変クロック発生回路１７は、データ処理装置２０の制御に従って所定の周波数のクロックＣＬＫを所定数発生する。
ここでは、検査ボード２のＦＰＧＡ１には、出力端子１ａに接続されるそれぞれのＩ／Ｏバッファに対してこれに接続されるフリップフロップ回路を形成し、さらに、これらフリップフロップを接続して各段としてシフトレジスタを形成する。それがＦＰＧＡ１に形成されたシフトレジスタ５であり、ＦＰＧＡ３には同様にしてシフトレジズタ６が形成される。
そして、これらのシフトレジスタ５，６の入力端子をＦＰＧＡの出力端子のＩ／Ｏ端子の１つである端子７ａをそのデータの入力端子とし、他の１つである端子７ｂをシフトクロックＣＬＫのクロック入力端子に設定するコンフィギュレーションを行う。なお、クロック入力端子７ｂは、ＦＰＧＡ１，３においてあらかじめ決められているクロック入力端子を用いる場合には特別にコンフィギュレーションを行う必要はない。
【０００９】
８は電源ピンであり、９はグランドピン（ＧＮＤ）であり、これら電源ピン８とグランドピン（ＧＮＤ）９の接続ラインについては図では省略してある（各図において同じ）。
１５は外部記憶装置、１６は比較回路、１７は可変クロック発生回路、１８は良否判定回路、そして、２０はデータ処理装置である。
データ処理装置２０は、外部記憶装置１５を有し、さらに、ＭＰＵ２１とメモリ２２、ＲＯＭ２３、ＣＲＴディスプレイ２４、インタフェース２５等により構成され、これらがバス２６により相互に接続されている。
メモリ２２には、ＦＰＧＡ１にシフトレジスタ５を形成するシフトレジスタ形成プログラム２２ａと、シフトレジスタ５，６に所定の検査データを設定して短絡／断線等のテストをする短絡／断線テストプログラム２２ｂ、検査結果表示プログラム２２ｃ等が格納され、ソフトカウンタ２２ｅが設けられている。
また、インタフェース２５を介して接続されたＨＤＤ（ハードディスク装置）等の外部記憶装置１５にはテストのための各種のデータファイルが格納されている。
データ処理装置２０は、インタフェース２５を介して可変クロック発生回路１７を制御して、検査クロックとして所定の周波数のクロックＣＬＫを発生してクロック入力端子７ｂに送出させ、そのクロックＣＬＫをインタフェース２５を介して受けてソフトカウンタ２２ｅによりカウントする。また、データ処理装置２０は、インタフェース２５を介して入力端子７ａに検査のためのデータを送出してシフトレジスタ５，６にそれぞれに同じデータを設定する。
【００１０】
比較回路１６は、検査ボード２のそれぞれの外部接続端子２ａ，２ａ，…の出力と基準ボード４のＩ／Ｏ端子４ａ，４ａ…の出力の不一致を検出をする比較回路であり、ＦＰＧＡ１の各Ｉ／Ｏ端子１ａに接続された検査ボード２の各外部接続端子２ａ，２ａ…と、ＦＰＧＡ３の対応する位置に配置されるＩ／Ｏ端子３ａに接続された基準ボード４の各外部接続端子４ａ，４ａ…とをＸＯＲゲート１６０に入力して、ＸＯＲゲート１６０により対応する位置の各外部接続端子の出力の不一致を検出する。
図では、そのＸＯＲゲート１６０をもつ不一致検出ブロックのうちの一部として２ブロック１６ａ，…，１６ｉだけを示してある。例えば、１ブロック４ピンとして前記の入力端子７，７ａ，７ｂと、電源ピン８，ＧＮＤピン９、そして設定データ入力端子１４を除いた全てのＩ／Ｏ端子（出力端子だけを含む）を対応接続して不一致検出をする回路である。４ピンごとの各不一致検出ブロックであるブロック１６ａ，…，１６ｉの検出値は、それぞれオアゲート１６１により１つにまとめられて、さらに上位のオアゲート１６２により各ブロックごとのオアゲート１６１の出力がまとめられて出力される。その結果として、１個の良否判定結果の出力が出力端子１６３に出力される。
この出力端子１６３の出力は、良否判定回路１８に入力され、さらにインタフェース２５を介してデータ処理装置２０に不一致の検出信号として送出される。
これにより、ＦＰＧＡ１の各辺についてのそのそれぞれ外部接続端子２ａ，４ａの不一致検出の出力は、それぞれオアゲート１６２により論理和が採られて、最終的な出力が１本になるように構成されている。
良否判定回路１８は、データ処理装置２０に制御されて、検査期間中に出力端子１６３に“１”が出力したときに赤のＬＥＤを点灯して検査対象となったＦＰＧＡ１がＮＧ（不合格）であることを検出し、そうでないときには緑のＬＥＤを点灯してしてＦＰＧＡ１が合格であることを検出する。
【００１１】
これにより、基準ボード４のＩ／Ｏ端子３ａの出力ビット値（“１”あるいは“０”）と、これに対して検査ボード２の対応する位置のＩ／Ｏ端子１ａの出力ビット値とが一致し、かつ、基準ボード４の外部接続端子４ａの出力ビット値と、これに対して検査ボード２の対応する位置の外部接続端子２ａの出力ビット値とが一致した場合には、各ＸＯＲゲート１６０は、“０”を出力し、いずれかが不一致のときには“１”を出力する。これらＸＯＲゲート１６０の出力は、オアゲート１６１により４ビット分対応にそれぞれに論理和が採られ、対応したＩ／Ｏ端子のビット出力、対応した外部接続端子のビット出力のいずれかが、不一致のときにこれに“１”が出力され、それがオアゲート１６２によりそれぞれに論理和が採られて、基準ボード４に対して検査ボード２の対応したＩ／Ｏ端子のビット出力、対応した外部接続端子のビット出力のいずれかが、不一致のときに出力端子１６３に“１”が出力される。
【００１２】
検査ボード２と基準ボード４とのＦＰＧＡ１，３では、それぞれシフトレジスタ５，６の各段がＦＰＧＡ１，３の四辺のＩ／Ｏバッファに対応して形成され、それぞれ各段の出力の値（“１”あるいは“０”）は、結果的に各外部接続端子２ａ，４ａにそれぞれ接続されている。そこで、外部接続端子２ａ，４ａの１つを介して入力端子７ａからデータを入力してクロックの入力端子７ｂに入力される可変クロック発生回路１７からの検査クロックＣＬＫに応じて検査ボード２のＦＰＧＡ１のシフトレジスタ５と、基準ボード４のＦＰＧＡ３のシフトレジスタ６とにビットデータを設定する。これにより、一対一で比較される各Ｉ／Ｏ端子１ａ，３ａに同じ“１”あるいは“０”のビットの出力を発生させることができる。
例えば、シフトレジスタ５，６に入力される検査データは、時計方向にデータをシフトして隣接する各Ｉ／Ｏ端子１ａ，３ａが求める出力関係になるように入力端子７ａから各段に入力データを、入力端子７ｂの検査クロックＣＬＫに応じてシリアルに入力する。
これにより、検査ボード２と基準ボード４のシフトレジスタ５，６の対応する段に同じビットデータがセットされて、不一致検出されたか、否かを良否判定回路１８のＬＥＤの点灯により、検査対象となるＦＰＧＡ１の良否が判定できる。その結果、シフトレジスタ５，６の各段を構成するＣＬＢ（コンフィギュレーション・ロジック・ブロック）の出力から外部接続端子２ａ、そしてＩ／Ｏ端子４ａ、接続ライン２ｂ，４ｂを経たラインの断線、あるいは短絡の検査ができる。
さらに、シフトレジスタ６を“０”リセットしておき、データをシフトさせて、データ処理装置２０において、そのシフトの回数と不良検出との関係によって不良個所の特定ができる。
【００１３】
図３は、このような判定処理をするデータ処理装置２０の検査処理のフローチャートである。
まず、データ処理装置２０のメモリ２２に記憶されたシフトレジスタ形成プログラム２２ａがＭＰＵ２１により実行されて、ＭＰＵ２１は、インタフェース２５を介してＦＰＧＡ１に前記のシフトレジスタ５を形成するデータを設定データ入力端子１４に送出する。これにより、ＦＰＧＡ１にシフトレジスタ５が形成され、入力端子７ａとクロックの入力端子７ｂが設定される（ステップ１０１）。なお、ＦＰＧＡ３は、あらかじめ同様なデータが設定データ入力端子１４に送出されて同様なシフトレジスタ６が形成され、入力端子７ａとクロックの入力端子７ｂがすでに設定されている。
【００１４】
次に、短絡／断線テストプログラム２２ｂがＭＰＵ２１により実行されて、ＭＰＵ２１は、インタフェース２５を介して入力端子７ａに検査データを入力し、同時に検査クロックＣＬＫを発生して、検査クロックＣＬＫに同期させて入力された検査データを時計方向に順次シフトして各シフトレジスタ５，６にデータを書込んでいく（ステップ１０２）。この検査データは、例えば、図１に示すように、“１０１０…”のデータである。これと同時に出力端子１６３から不一致の検出信号を得て、これを検査結果のデータとして読込んで、検査結果データとしてメモリ２２に記憶し、同時にシフト数をソフトカウンタ２２ｅによりカウントする（ステップ１０３）、クロックＣＬＫ発生回路１７から発生するクロックＣＬＫ数が総接続端子数分のクロックとなり、シフトが終了した時点で入力検査データとクロックＣＬＫ発生回路１７のクロックＣＬＫを停止させて（ステップ１０４）、短絡／断線の判定処理に入る（ステップ１０５）。
次に、検査結果をディスプレイ２４に表示する（ステップ１０６）。
なお、すでに検査結果が表示されているときには、次の画面あるいは次の行に検査結果を表示する。そのため、ステップ１０３においては、前の検査結果があるときには別の領域に検査結果データを記憶する。
次のステップ１０７では、さらに検査データあるかの判定をし（ステップ１０７）、ＹＥＳであるときには、ステップ１０２へと戻り、次の検査データがシフトレジスタ５，６に設定されて前記の各ステップでの処理が行われる。ここで、ＮＯとなると、検査ボード２の検査が終了する。
なお、ステップ１０７でＹＥＳとなる場合は、後述する図４，図５で示すように、２種類のテストデータを２段階で順次与えるような検査である。
【００１５】
以上の検査処理で検査データが図示するように、“１０１０…”の場合には、ある出力端子の出力が“１”のときに隣接する出力端子は、“０”となっているので、不一致が検出された場合には、“１”が“０”となっているか、あるいは“０”が“１”となっている場合である。これにより隣接する端子との間で短絡あるいは断線があることが判る。
また、メモリ２２の検査結果データを解析することで、何回目のシフトで期待値に反する値が出力されたかを検出することができ、これにより、不良個所の特定が可能となる。なお、このような解析のために、良否判定回路１７で不一致の検出信号が発生したときのソフトカウンタ２２ｅのカウント値を不一致の検出に対応して記憶することができる。
ところで、データ処理装置２０により可変クロック発生回路１７の発生クロックＣＬＫをＦＰＧＡ１，３の仕様範囲あるいはそれ以上に設定することにより実速度に対応した動作あるいはそれ以上の動作速度での検査が容易にできる。
【００１６】
図４の実施例は、検査ボード２と基準ボード４のＦＰＧＡ１，３が相互に鏡に映した状態で対称に配置されている例である。
ＦＰＧＡ１，３のＩ／ＯバッファからＩ／Ｏ端子までの配線は、１本の線であり、同じ構造であるので、図４に示すように鏡像関係であっても対応する外部接続端子２ａ、外部接続端子４ａとに同じビット値が出力される条件が確保できるので、同じように検査ができる。
この場合に、ＦＰＧＡ１，３とに形成されるシフトレジスタ５，６は、入力端子と出力端子の位置関係が逆になっていて、シフトする方向も逆になる。
すなわち、シフトレジスタ６を図１の場合と同様とすれば、シフトレジスタ５は、シフトレジスタ６の初段の位置に相当する位置のフリップフロップが最終段となり、シフトレジスタ６の最終段の位置に相当する位置のフリップフロップが初段となる。そして、シフトレジスタ６は、時計方向にシフトされ、シフトレジスタ５は、反時計方向にシフトされる。
図４では、シフトレジスタ５，６にセットされる検査データがオールビット“１”となっている。このように“１１１１…”の検査データがシフトされて設定されたときには、不良の場合には、“１”が“０”となるので、数十クロック乃至数百クロック分程度の動作により検査ボード２に搭載したＦＰＧＡ１の断線やピン浮き、また短絡により、論理値「０」となる不良の有無を確認することができる。なお、コンフィギュレーションのデータ設定によりセット端子を形成してＩ／Ｏ端子の１つに設定して、このセット端子に対して“セット”を行なうことでシフトレジスタ５，６にオールビット“１”を入力してもよく、この場合は、全シフトレジスタのセットに要する数クロック程度の動作により、検査ボード２に搭載したＦＰＧＡ１の断線やピン浮き、また短絡により、論理値「０」となる不良の有無を確認することができ、検査時間を短縮することができる。
【００１７】
また、図５に示すように、ＦＰＧＡ１，３のシフトレジスタ５，６にオール“０”を設定してシフトレジスタ５，６をリセットしたケースでは、検査ボード２およびこれに搭載したＦＰＧＡ１における短絡により論理値“１”となる不良の有無を確認することができる。
なお、この場合のリセットは、コンフィギュレーションのデータ設定によりリセット端子を形成してＩ／Ｏ端子の１つに設定して、このリセット端子に対して行ってもよく、あるは検査データとしてオールビット“０”を入力してもよい。
ここで、図３のフローチャートのステップ１０７でＹＥＳの判定により連続的な検査データを設定する処理として、まず、この図５のリセットをしてシフトレジスタ５，６にオール“０”を設定して、このリセット後に論理値“１”のビットストリームデータをシフトしていくことによって、論理値が“０”となっている不良個所を特定することができる。シフト回数によってその個所を確認することが可能となる。逆に、図４に示すように、先にシフトレジスタ５，６にオール“１”を設定した後に論理値“０”を順次シフトして書込む検査では、論理値“１”の不良個所を特定することが可能となる。
【００１８】
さらに、図６に示すように、特定の２端子の関係について追跡するときには、シフトレジスタ５，６にオール“０”を設定した後に、検査データとして“１１００”のビットを入力してこれを順次シフトしていけばよい。
以上は一例であって、その他、各種の検査データを設定することで隣接する端子を種々の条件に設定して、種々の出力状態における断線／短絡の検査が可能になる。
これによりＦＰＧＡのピン数に制限を受けず、かつテストピン数に対応した段数のシフトレジスタに書込む、“０”と“１”の値を羅列したビットストリームデータを用意することによって、ＦＰＧＡおよびＦＰＧＡを搭載するボードのテストが容易にできる。
【００１９】
図７は、基準ボード４のＦＰＧＡ３の中に比較回路１６を内蔵するコンフィギュレーションデータを設定データ入力端子１４から入力して、比較回路１６を内部に形した実施例である。外部に回路を設ける必要がないため、ＦＰＧＡ内の余りゲートを利用すれば、より以上のコスト低減となる。
【００２０】
このように、この発明では、ＦＰＧＡ１，３のシフトレジスタ５，６に“０”と“１”の値を羅列したビットストリームデータを順次クロックで同期を取りながらシフトしていき、検査ボード２の外部接続端子２ａからの出力値と基準ボード４からの外部接続端子４ａからの出力値が、検査ボード２および搭載したＦＰＧＡ１の短絡や断線によって異なった場合、比較回路１６から論理値“１”が出力され、検査ボード２が不良であると判定することができる。
このテストはＩ／Ｏ端子の本数分のステップ数をデータシフトすれば、検査ボード２のテストが可能となる上、何回目のシフトで期待値に反する値が出力されたか確認することにより、不良個所の判定も可能となる。また、データシフトの同期を取るためにクロックＣＬＫの周波数を可変にすることにより、検査ボード１に搭載したＦＰＧＡ１の動作速度を評価することが可能となる。
【００２１】
このような検査では、専用ソフトウェア利用によるテストデータ生成が必要がなく、テストステップ数もＦＰＧＡのピン数と同程度のクロック数をシフトレジスタに与えるサイクル数で十分となる。また、データシフトの同期を取るために検査ボード２と基準ボード４に供給するクロックを保証性能最低限の周波数に設定することで、検査ボード２に搭載したＦＰＧＡの動作速度を評価することが可能となり、さらに速度をあげての性能評価も可能となる。
このように、この発明にあっては、検査ボード２にシフトレジスタ５を内蔵するＦＰＧＡ１を搭載し、シフトレジスタ５にラッチされた値は、ＦＰＧＡ１のＩ／Ｏ端子１ａを経由して検査ボード２の外部接続端子２ａからそのまま出力される特徴を持つ。
また、検査ボード２と同じ構成の既テスト済み基準ボード４を用意しておき、その外部接続端子４ａと検査ボード２の外部接続端子２ａとを比較回路１６の１段目に設置したビット不一致検出回路（ＸＯＲ回路１６０）の入力に１対１で接続させて、その出力と他のビット不一致検出回路（ＸＯＲ回路１６０）の出力を入力としたＯＲ回路１６１で構成して、以降はＯＲ回路１６１の出力を入力とするＯＲ回路１６２を介して最終的な出力が１本になるように構成すれば、検出データのビット数を低減でき、高速な判定処理が可能になる。
【００２２】
以上説明してきたが、実施例では、シフトレジスタ５，６は、ＦＰＧＡの出力端子に対応した段数のシフトレジスタを形成しているが、シフトレジスタ５，６は、途中に余分な段が存在していてもよい。さらに、ＦＰＧＡの各辺に対応して複数個分割して設けられ、それらが接続されていてもよい。さらに、各辺に対して複数のシフトレジスタが設けられていて、それらがパラレルに動作するような構成であってもよい。これら複数のシフトレジスタは、それぞれ同時に検査データを入力して並列に動作させれば、検査するときのシフトクロックの数をさらに低減できる。
【００２３】
【発明の効果】
以上説明したきたように、この発明にあっては、ＦＰＧＡの内部バッファから出力端子への接続ラインと、この出力端子からその搭載ボードの外部接続端子までの配線の短絡や断線テストに当たって、良品のＦＰＧＡを搭載した基準ボード（マスタボード）と検査対象となるＦＰＧＡを搭載したボード（検査ボード）とを設けて、それぞれのＦＰＧＡの出力端子に接続されるそれぞれの出力バッファ、例えば、Ｉ／Ｏバッファに対してこれに出力するフリップフロップ回路をそれぞれ形成して、形成したそれぞれのフリップフロップ回路を接続してシフトレジスタの各段の１つとして第１のシフトレジスタと第２のシフトレジスタを構成する。そして、これらのシフトレジスタに所定のデータ設定することで、隣接する出力端子の出力値を自由に選択できるようにする。
その結果、各出力端子に設定する出力値を任意に選択でき、これにより発生する隣接出力端子との電圧関係を任意に設定することが可能となり、ＦＰＧＡの外部接続端子への接続ラインを含めて、検査ボードの接続ラインの短絡や断線を容易にテストすることができる。
【図面の簡単な説明】
【図１】図１は、この発明のＦＰＧＡ搭載ボードのテスト方法を適用した一実施例のテスト装置のブロック図である。
【図２】図２は、そのＦＰＧＡについての説明図である。
【図３】図３は、短絡／断線のテスト処理のフローチャートである。
【図４】図４は、他の実施例において他の検査データを設定した一例の説明図である。
【図５】図５は、図４の実施例においてさらに他の検査データを設定した一例の説明図である。
【図６】図６は、図４の実施例においてさらに他の検査データを設定した一例の説明図である。
【図７】図７は、この発明のさらに他の一実施例の説明図である。
【符号の説明】
１，３…ＦＰＧＡ、１ａ，３ａ…Ｉ／Ｏ端子、
２…検査ボード、２ａ，４ａ…外部接続端子、
２ｂ，４ｂ…接続ライン、
４…基準ボード、５，６…シフトレジスタ、
７ａ…入力端子、７ｂ…クロック入力端子、
８…電源ピン、９…グランドピン（ＧＮＤ）、
１１…ボンディングパッド、１２…Ｉ／Ｏ領域、
１３…内部セル領域、１４…設定データ入力端子、
１５…外部記憶装置、１６…比較回路、
１７…可変クロック発生回路、１８…良否判定回路、
２０…データ処理装置、２１…ＭＰＵ、２２…メモリ、
２２ａ…シフトレジスタ形成プログラム、
２２ｂ…短絡／断線テストプログラム、
２２ｃ…検査結果表示プログラム、
２２ｅ…ソフトカウンタ、
２３…ＲＯＭ、２４…ＣＲＴディスプレイ、
２５…インタフェース。
【図１】
2004317221.tif 000003
【図２】
2004317221.tif 000004
【図３】
2004317221.tif 000005
【図４】
2004317221.tif 000006
【図５】
2004317221.tif 000007
【図６】
2004317221.tif 000008
【図７】
2004317221.tif 000009