(57)【要約】【課題】共通のハードウェアを用いて論理回路の機能検証とスタック故障テストに特化した半導体デバイスのテストとが行えるようにすること。【解決手段】検証／テスト用ハードウェア１００は、テーブル形式のパターンを用いた検証／テストに必要な中核的機能（ＤＵＴの検証／テスト用パターンのパターン格納メモリへの保存、ＤＵＴに対する信号印加、タイミング制御、出力捕捉／比較、検証／テスト結果の抽出、検証／テスト結果の結果格納メモリへの保存と読出）を制御用ＦＰＧＡにて構築する。ＤＵＴの検証／テストパターンの転送（外部コンピュータ→制御用ＦＰＧＡ→パターン格納メモリ）と、ＤＵＴの検証／テスト制御データの転送（外部コンピュータ→制御用ＦＰＧＡ）と、検証／テスト結果の転送（結果格納メモリ→制御用ＦＰＧＡ→外部コンピュータ）は、共にマイコンを介して制御用ソフトウェアによって指示される。【選択図】        図１
2005301370.tif 000002
【特許請求の範囲】
【請求項１】
検証／テスト対象回路の検証／テストを行う検証／テスト用ハードウェアと、前記検証／テスト用ハードウェアに対して前記検証／テスト対象回路の検証／テストに必要な情報を提供する制御用ソフトウェアを装備する外部コンピュータとを備え、
検証／テスト用ハードウェアは、
制御用プログラマブルデバイスと、
前記制御用プログラマブルデバイスに検証／テストを実施する回路を構成させるためのデータが格納されるコンフィギュレーションメモリと、
前記検証／テスト対象回路を交換可能に搭載する検証／テスト対象回路搭載手段と、
前記検証／テスト対象回路の検証／テストに使用するテーブル形式の検証／テスト用パターンを格納するパターン格納メモリと、
前記検証／テスト対象回路の検証／テスト結果を格納する結果格納メモリと、
前記外部コンピュータからの指示を受けて、前記制御用プログラマブルデバイスによる前記検証／テスト対象回路の検証／テスト、および、前記制御用プログラマブルデバイスと前記検証／テスト対象回路との相互間接続テストをそれぞれ制御する制御手段と、
を備え、
前記制御手段の制御下に動作する前記制御用プログラマブルデバイスは、前記外部コンピュータが送信する前記検証／テスト用パターンと制御情報とを前記制御手段を介して受け取り、前記検証／テスト用パターンを前記パターン格納メモリに保存し、前記制御情報に従って前記パターン格納メモリから前記検証／テスト用パターンを読み出し、前記検証／テスト対象回路に対する信号印加、タイミング制御、出力捕捉／比較を行い、検証／テスト結果として必要十分な情報を抽出して前記結果格納メモリに保存し、その保存した検証／テスト結果を前記制御手段を介して前記外部コンピュータに送信するように回路が構成されている、
ことを特徴とする論理回路検証・テストシステム。
【請求項２】
検証／テスト対象回路搭載手段は、
検証／テスト対象回路と周辺回路とを搭載した独立基板と、
前記検証／テスト用ハードウェアに設けられ、前記独立基板と前記制御用プログラマブルデバイスとを接続する連結機構と、
で構成されることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【請求項３】
検証／テスト用ハードウェアには、
前記検証／テスト対象回路以外用の第１電源、および前記検証／テスト対象回路用の第２電源と、
前記第１電源と前記第２電源とを同時にＯＮ／ＯＦＦ操作できる第１電源スイッチ、および前記第２電源のみをＯＮ／ＯＦＦ操作できる第２電源スイッチと、
を備えることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【請求項４】
前記制御用プログラマブルデバイスは、
前記第２電源が閾値電圧以下のとき、または、前記第２電源スイッチがＯＦＦ操作されているときは、前記検証／テスト対象回路への信号印加を遮断する回路、
を備えていることを特徴とする請求項３に記載の論理回路検証・テストシステム。
【請求項５】
検証／テスト用ハードウェアには、波形観測用外部デバイスを接続できるモニタ用コネクタが設けられ、
前記制御用プログラマブルデバイスは、前記検証／テスト対象回路のインタフェース信号を選択して前記モニタ用コネクタに出力する回路、
を備えていることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【請求項６】
前記制御用ソフトウェアは、前記制御手段を介して前記検証／テスト対象回路のデバイスＩＤ情報を読み出し、当該デバイスＩＤ情報に対応するデバイス端子属性情報から、前記制御用プログラマブルデバイスの端子属性の調整を行い、前記制御用プログラマブルデバイスの回路構成が変更された場合は、前記コンフィギュレーションメモリの更新を行う手順を備えることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【請求項７】
前記制御用ソフトウェアは、前記制御手段を介して前記検証／テスト対象回路のデバイスＩＤ情報を読み出し、当該デバイスＩＤ情報に対応するデバイス端子属性情報から、前記制御用プログラマブルデバイスと前記検証／テスト対象回路との接続テストパターンの選択または生成を行い、そのような接続テストパターンを用いて前記制御手段に接続テストを実行させ、異常が検出されたときには、その原因箇所を特定し報知する手順を備えることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【請求項８】
前記制御用プログラマブルデバイスは、前記検証／テスト対象回路への入力信号生成や出力比較を能動的に実行可能な回路に再構築し、前記パターン格納メモリに格納される検証／テスト用パターンを用いずに、ハードウェア的に検証／テスト動作を行うことも可能になっていることを特徴とする請求項１に記載の論理回路検証・テストシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、実デバイス上に対象論理回路をマッピングすることで論理回路の機能・性能の検証を行う機能と半導体デバイス製造時の機能的不良を検査する機能とを併有する論理回路検証・テストシステムに関するものである。
【背景技術】
【０００２】
従来、論理回路の検証は、ソフトウェアを用いた手法、すなわち、コンピュータ上で仮想的に論理回路を表現するデータを用い、ソフトウェアによって入力印加に対する応答を模擬するシミュレーション（動的解析技術）が主流であった。しかし、近年の半導体集積度の向上と機能複雑度の増加に伴い、論理回路の機能検証には、プログラマブルデバイス等に検証対象をマッピングしてハードウェア的に検証を行う方法や、論理回路の特性や機能を数学的に解析する静的解析技術が台頭してきている（例えば、特許文献１〜３）。
【０００３】
一方、半導体デバイス製造時の機能的不良を検査するためのテストシステムは、種々提案されているが（例えば、特許文献４〜７）、製造された半導体デバイスの特性不良や機能不良を測定するために、一般に、温度や電源電圧、信号印加／補足タイミングの微調整など、多数の調整機構を備えている。また、多彩なデバイスに対応するためデバイスの個別パッケージに対応したソケットが搭載可能である。
【０００４】
以下、この発明の理解を容易にするため、図１９を参照して従来の検証とテストの方法を概略説明する。図１９は、対象論理回路をハードウェア的に検証する検証システムおよびテストシステムでの検証・テストの方法を説明する図である。
【０００５】
図１９において、対象論理回路の検証では、まず、検証対象論理回路の回路データが制御用計算機１９０１から検証システム１９０２に転送され、検証システム１９０２において検証対象論理回路が実際の論理回路として構築される。次いで、検証用パターンが制御用計算機１９０１から検証システム１９０２に転送される。検証用パターンの転送方法には、検証開始に先行して検証用パターンの全てあるいは一部を分割して転送する方法や、制御用計算機１９０１上で動作するシミュレータと連動して、１検証周期毎に入力パターン送信と出力パターン受信を繰り返すコ・シミュレーション法などがある。制御用計算機１９０１は、この他にも制御データを必要に応じて検証システム１９０２に送信し、初期化・検証開始・停止などの制御を行う。検証システム１９０２上での検証実行結果の情報は、制御用計算機１９０１に転送され、表示される。
【０００６】
また、対象論理回路のテストでは、まず、検証・テスト回路（以降「ＤＵＴ」と記す）１９０３のテストパターンが制御用計算機１９０１からテストシステム１９０５に転送され、テストシステム１９０５上のパターンメモリに格納される。次いで、初期化・タイミング制御・テスト開始・終了などに使用される制御データが制御用計算機１９０１からテストシステム１９０５に転送され、テストシステム１９０５にてＤＵＴ１９０３に対するテストが実行される。実行結果の情報は、テストシステム１９０５から制御用計算機１９０１に転送され、テストの合否が表示される。なお、テストシステム１９０５に装備されている機能で対応が困難な場合には、それを補足するアドオンボード１９０４を追加装着して、テストを行うことが可能である。
【０００７】
【特許文献１】特開２００１−５１８７０号公報
【特許文献２】特開２００２−２２９８１３号公報
【特許文献３】特開２００３−５８３８６号公報
【特許文献４】特開平１０−６３７０４号公報
【特許文献５】特開平１１−１７４１３１号公報
【特許文献６】特開平１０−２５４９１５号公報
【特許文献７】特開２００３−２７１４１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の検証システムとテストシステムにおいては、以下の２つの問題点がある。第１の問題点は、信号パターンを使用して実際のデバイスを動作させるという共通点があるにも拘らず、一般的に検証システムとテストシステムは、個別システムとして構築されている点である。これは、要求されるハードウェア要件の相違が大きな要因である。すなわち、検証システムは、対象が設計段階の論理回路であるので、ＦＰＧＡ（Field Programmable Gate Array）や専用プロセッサ等、論理回路をマッピングできる固定デバイスで実現可能である。これに対してテストシステムは、実際のデバイスが対象であるので、多種多様なパッケージや端子機能（信号の電圧、電流レベル、方向など）に対応する必要がある。
【０００９】
また、第２の問題点は、テストシステムでは、高額の投資が必要となる点である。これは、半導体集積回路に対して汎用的に使用されることを目的とし、高い検査精度および前述の多種多様なパッケージや端子機能への対応を目的として高精度の部品などを多用して構築されているためである。このため、断線や半導体素子不良などに起因する単一縮退故障（スタック故障）の検出といった基本的な機能のみを使用するユーザには導入が困難となっている。かかるユーザはテスト用の基板システムを自作する必要があるが、特定半導体デバイス専用であることが多く、その場合には用途毎にハードウェア全体の再設計が必要となっている。
【００１０】
この発明は、上記に鑑みてなされたものであり、共通のハードウェアを用いて論理回路の機能検証を行う検証システムおよび半導体デバイスのスタック故障テストに特化したテストシステムとして使用可能な論理回路検証・テストシステムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した目的を達成するために、この発明の論理回路検証・テストシステムは、検証／テスト対象回路の検証／テストを行う検証／テスト用ハードウェアと、前記検証／テスト用ハードウェアに対して前記検証／テスト対象回路の検証／テストに必要な情報を提供する制御用ソフトウェアを装備する外部コンピュータとを備え、検証／テスト用ハードウェアは、制御用プログラマブルデバイスと、前記制御用プログラマブルデバイスに検証／テストを実施する回路を構成させるためのデータが格納されるコンフィギュレーションメモリと、前記検証／テスト対象回路を交換可能に搭載する検証／テスト対象回路搭載手段と、前記検証／テスト対象回路の検証／テストに使用するテーブル形式の検証／テスト用パターンを格納するパターン格納メモリと、前記検証／テスト対象回路の検証／テスト結果を格納する結果格納メモリと、前記外部コンピュータからの指示を受けて、前記制御用プログラマブルデバイスによる前記検証／テスト対象回路の検証／テスト、および、前記制御用プログラマブルデバイスと前記検証／テスト対象回路との相互間接続テストをそれぞれ制御する制御手段とを備え、前記制御手段の制御下に動作する前記制御用プログラマブルデバイスは、前記外部コンピュータが送信する前記検証／テスト用パターンと制御情報とを前記制御手段を介して受け取り、前記検証／テスト用パターンを前記パターン格納メモリに保存し、前記制御情報に従って前記パターン格納メモリから前記検証／テスト用パターンを読み出し、前記検証／テスト対象回路に対する信号印加、タイミング制御、出力捕捉／比較を行い、検証／テスト結果として必要十分な情報を抽出して前記結果格納メモリに保存し、その保存した検証／テスト結果を前記制御手段を介して前記外部コンピュータに送信するように回路が構成されていることを特徴とする。
【００１２】
この発明によれば、検証／テスト用ハードウェアでは、テーブル形式のパターンを用いた検証／テストに必要な中核的機能（検証／テスト対象回路の検証／テスト用パターンのパターン格納メモリへの保存、検証／テスト対象回路に対する信号印加、タイミング制御、出力捕捉／比較、検証／テスト結果として必要十分な情報の抽出、検証／テスト結果の結果格納メモリへの保存と読み出し）を制御用プログラマブルデバイスにて構築する。また、検証／テスト対象回路の検証／テストパターンの外部コンピュータからパターン格納メモリへの転送と、検証／テスト対象回路の検証／テスト制御データの外部コンピュータから制御用プログラマブルデバイスへの転送と、検証／テスト結果の結果格納メモリから外部コンピュータへの転送とは、共に制御手段を介して制御用ソフトウェアによって指示される。すなわち、共通のハードウェアを用いて論理回路の機能検証と半導体デバイスのスタック故障テストとが行える論理回路検証・テストシステムが得られる。
【発明の効果】
【００１３】
この発明によれば、共通のハードウェアを用いて論理回路の機能検証と半導体デバイス製造時の機能的不良検査とを行うことできるので、低コスト化が図れるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に図面を参照して、この発明にかかる論理回路検証・テストシステムの好適な実施の形態を詳細に説明する。
【００１５】
図１は、この発明の一実施の形態である論理回路検証・テストシステムの構成を示すブロック図である。図１に示す論理回路検証・テストシステムは、検証／テスト用ハードウェア１００と、外部コンピュータ１１０と、外部コンピュータ１１０に接続されるインタフェース装置（以降「マイコンインタフェース」と記す）１１１およびインタフェース装置（以降「コンフィギュレーションメモリインタフェース」と記す）１１２と、マイコンインタフェース１１１を介して外部コンピュータ１１０に接続される波形観測用外部デバイスとしての信号観測システム１１３とを備えている。
【００１６】
検証／テスト用ハードウェア１００は、制御用プログラマブルデバイス（以降「制御用ＦＰＧＡ」と記す）１０１を備えている。制御用ＦＰＧＡ１０１には、コンフィギュレーションメモリ（configＲＯＭ）１０２、マイコン１０３、パターン格納メモリ１０４、結果格納メモリ１１８、ＤＵＴ搭載基板１０８との連結機構１０９およびモニタ用コネクタ（ＣＯＮ）１０７が接続されている。つまり、制御用ＦＰＧＡ１０１には、モニタ用コネクタ（ＣＯＮ）１０７を介して信号観測システム１１３が接続されている。
【００１７】
ＤＵＴ搭載基板１０８は、検証／テスト用ハードウェア１００とは別個独立した基板であって、ＤＵＴソケットと周辺回路とが搭載されている。検証／テスト用ハードウェア１００本体に設けられる連結機構１０９とＤＵＴ搭載基板１０８との全体でＤＵＴ搭載手段を構成している。ＤＵＴ搭載基板１０８は、以降、単に「ＤＵＴ」とも言う。連結機構１０９がＤＵＴと制御用ＦＰＧＡ１０１とを接続することで、ＤＵＴの信号端子、電源、グランド（接地）がそれぞれ接続される。このうち、信号端子については、制御用ＦＰＧＡ１０１と接続され、ＤＵＴに入力信号が印加され、出力信号を制御用ＦＰＧＡ１０１に供給することで、検証／テストが実行される。
【００１８】
コンフィギュレーションメモリ１０２は、複数回書き換え可能な不揮発性メモリであって、制御用ＦＰＧＡ１０１に検証／テストを実施する回路を構成させるためのデータが格納される。コンフィギュレーションメモリ１０２は、検証／テスト用ハードウェア１００に設けたコネクタ（ＣＯＮ）１１４を介してコンフィギュレーションメモリインタフェース１１２に接続されている。コンフィギュレーションメモリインタフェース１１２は、外部コンピュータ１１０から出力される制御用ＦＰＧＡ１０１の再構成用データを、コンフィギュレーションメモリ１０２の書込みプロトコルや電気的特性に合うように変換する装置である。
【００１９】
コンフィギュレーションメモリ１０２の内容は、電源投入時または再構築の指示が出たときに制御用ＦＰＧＡ１０１に転送される。内容の書き換えは、外部コンピュータ１１０が書き換えデータをコンフィギュレーションメモリインタフェース１１２およびコネクタ１１４を経由して送信することで行う。
【００２０】
マイコン１０３は、検証／テスト用ハードウェア１００に設けたコネクタ（ＣＯＮ）１１５を介してマイコンインタフェース１１１に接続されている。マイコン１０３は、マイコンインタフェース１１１を介して外部コンピュータ１１０と通信を行い、外部コンピュータ１１０の指示に従って、制御用ＦＰＧＡ１０１の検証／テスト制御、および制御用ＦＰＧＡ１０１とＤＵＴとの相互間接続テストなどの制御を行う。
【００２１】
マイコンインタフェース１１１は、外部コンピュータ１１０とマイコン１０３との間の外部通信プロトコル変換や電気的特性の変換、ＵＳＢ（Universal Serial Bus）に代表されるようなバス構成による多機器接続が可能な通信プロトコルのブリッジ機能を司る装置である。
【００２２】
検証／テスト制御に係る外部コンピュータ１１０と制御用ＦＰＧＡ１０１との通信は、マイコンインタフェース１１１、マイコン１０３およびマイコンバス１２２を介して行われる。制御用ＦＰＧＡ１０１とＤＵＴとの相互間接続テストは、この実施の形態においては、ＩＥＥＥ−ＳＴＤ１１４９．１規格に準じたテスト方式（Joint Test Access Group：以降「ＪＴＡＧ方式」と記す）を使用して行うようにしている。
【００２３】
制御用ＦＰＧＡ１０１は、コンフィギュレーションメモリ１０２のデータによって回路の構築が完了した後に、マイコン１０３からの指示に従ってＤＵＴ搭載基板１０８上の周辺回路の検証／テストを行う。連結機構１０８によってＤＵＴ搭載基板１０９と検証／テスト用ハードウェア１００とが連結したときに、マイコン１０３から制御用ＦＰＧＡ１０１にＪＴＡＧチェーン信号１２３を出力し、制御用ＦＰＧＡ１０１から連結機構１０９を介してＤＵＴにＪＴＡＧチェーン信号１１６を出力し、連結機構１０９を介してＤＵＴからコンフィギュレーションメモリ１０２にＪＴＡＧチェーン信号１１７を出力し、コンフィギュレーションメモリ１０２からマイコン１０３にＪＴＡＧチェーン信号１２４を出力することで、マイコン１０３を起点／終点として制御用ＦＰＧＡ１０１とＤＵＴ（連結機構１０９）とコンフィギュレーションメモリ１０２とを接続するＪＴＡＧチェーンが形成される。
【００２４】
パターン格納メモリ１０４には、ＤＵＴの検証／テストに使用するテーブル形式の検証／テスト用パターンである入力／期待値パターンが格納される。結果格納メモリ１１８には、ＤＵＴの検証／テスト結果が格納される。可変電圧電源は、検証／テスト用ハードウェア１００用の可変電圧電源１０５と、ＤＵＴ搭載基板１０８用の可変電圧電源１０６との２系統に分かれている。対応して、電源を接続するコネクタ（ＣＯＮ）１１９には、一次電源スイッチ１２０と二次電源スイッチ１２１とがこの順に直列に配置されている。すなわち、可変電圧電源１０５には一次電源スイッチ１２０を介して電源が供給され、可変電圧電源１０６には一次電源スイッチ１２０および二次電源スイッチ１２１を介して電源が供給される。つまり、一次電源スイッチ１２０では、検証／テスト用ハードウェア１００とＤＵＴ搭載基板１０８とのハードウェア全体の電源ＯＮ／ＯＦＦが行えるのに対し二次電源スイッチ１２１では、ＤＵＴ搭載基板１０８のみの電源ＯＮ／ＯＦＦが行える。
【００２５】
次に、図２は、制御用ＦＰＧＡ１０１の機能を説明するブロック図である。図２に示すように、制御用ＦＰＧＡ１０１は、マイコン１０３にマイコンバス１２２を介して接続されるマイコンバスＩ／Ｆ部２００、パターン格納メモリ１０４を制御するパターン格納メモリ制御部２０１、パターン並列化処理部２０２、タイミング調整部２０３、クロック逓倍回路２０４、ＤＵＴ連結機構１０９に接続されるＩ／Ｏバッファ２０５、信号捕捉部２０６、モニタ用コネクタ１０７に接続されるモニタ制御部２０７、比較処理部２０８、および結果格納メモリ１１８を制御する結果格納メモリ制御部２０９を備えている。
【００２６】
マイコン１０３からの指示情報は、マイコンバス１２２を経由してマイコンバスＩ／Ｆ部２００に入力され、マイコンバスＩ／Ｆ部２００から各ブロックへの制御信号やデータが出力される。すなわち、パターン格納メモリ制御部２０１に対し制御信号と書込データが出力される。パターン並列化処理部２０２とタイミング調整部２０３とに対し検証／テスト制御信号が出力される。モニタ制御部２０７に対し制御信号が出力される。また、結果格納メモリ制御部２０９に制御信号を出力し、結果格納メモリ制御部２０９から読み出しデータを受け取る。
【００２７】
パターン格納メモリ１０４へのテストパターンのロードは、外部コンピュータ１１０からマイコンバスＩ／Ｆ部２００に転送された書込み用パターンデータと制御情報とを、パターン格納メモリ制御部２０１がパターン格納メモリ１０４に書き込むことで行われる。マイコンバス１２２とパターン格納メモリ１０４のデータバス幅との相違を補完するために、図示してないがパターン格納メモリ制御部２０１には並列化回路が内蔵されている。
【００２８】
検証／テストの制御は、外部コンピュータ１１０から発行される検証／テスト開始の指示に基づいて発行される検証／テスト実行中信号が有効のときに実行される。まず、パターン格納メモリ制御部２０１がパターン格納メモリ１０４の内容を読み出す。読み出されたデータは、複数メモリワードにて１パターンを形成するので、パターン並列化処理部２０２にて検証／テストに使用できる形式に復元する。復元されたパターンデータを用いた検証／テストを行うためには、入力印加並びに期待値比較のタイミング調整が必要であるので、タイミング調整部２０３にてそのタイミング調整を行う。調整に必要な位相情報はマイコンバスＩ／Ｆ部２００から与えられる。
【００２９】
また、より精度の高い調整を行うため、タイミング調整部２０３では、クロック逓倍回路２０４にて生成された他ブロックよりも高速なクロックを使用する。生成されたタイミング調整済入力パターンは、Ｉ／Ｏバッファ２０５を経由してＤＵＴ連結機構１０９の端子に入力される。ＤＵＴ連結機構１０９の端子から出力された信号はＩ／Ｏバッファ２０５を経由して信号捕捉部２０６にて同期化サンプリングされ、比較処理部２０８に入力される。タイミング調整部２０３で生成されたタイミング調整済期待値パターンも、ＤＵＴ出力信号と位相を合わせるため、同様に信号捕捉部２０６にてサンプリングされ、比較処理部２０８に入力される。
【００３０】
比較処理部２０８での比較結果は、タイミング調整部２０３にて生成された比較タイミングに基づいて捕捉され、不一致があった場合、タイミング調整部２０３にて生成されたパターン番号情報と共に比較処理部２０８から結果格納メモリ制御部２０９に対して出力される。結果格納メモリ制御部２０９では、上記不一致情報並びにパターン番号情報を結果格納メモリ１１８に書き込む。
【００３１】
テストの終了条件には、パターン終了、ユーザ指示による外部コンピュータ１１０からの割り込み終了、エラー数上限値到達時などがある。当該エラー数上限値はユーザによって設定可能である。図示してないが、ユーザが設定するエラー数上限値は、マイコンバスＩ／Ｆ部２００にて保持され、比較処理部２０８にて制御されるようになっている。
【００３２】
テスト終了後のテスト結果読出しは、外部コンピュータ１１０から発行されるテスト結果読出し指示に基づき、マイコンバスＩ／Ｆ部２００が結果格納メモリ制御部２０９に指示を出して結果格納メモリ１１８に格納されているデータを読出し、マイコンバスＩ／Ｆ部２００からマイコンバス１２２経由で外部コンピュータ１１０に送出することで行われる。データの有効判定に必要な不一致パターン数情報は、比較処理部２０８もしくは結果格納メモリ制御部２０９に格納されており、結果格納メモリ１１８の内容同様にマイコンバスＩ／Ｆ部２００を経由して外部コンピュータ１１０から読み出すことが可能である。
【００３３】
ここで、検証／テストの制御について詳細に説明する。まず、パターン格納メモリ読出しからタイミング調整に至る動作は、次のようにして行われる。すなわち、システムの汎用性を保つため、制御用ＦＰＧＡ１０１のＤＵＴとのインタフェース信号は、双方向端子として実装することを基本とする。この条件で、当該信号を制御するには、信号値と方向と期待値のマスクとの３情報が必要である。つまり、ＤＵＴとのインタフェース信号１ビットの制御には、１パターン当たり３ビット必要ということになる。
【００３４】
図３は、パターン格納メモリ１０４に格納されるテストパターンのパターン値と検証／テスト動作との関係を説明する真理値表である。図３に示すように、パターン値は、信号値と方向と期待値のマスクとの３情報で構成される。対する検証／テスト動作は、入力と期待値との２情報で構成されている。図３に示す真理値表３００では、「方向」ビットが“０”のときにＤＵＴへの入力とし、“１”のときにＤＵＴからの出力と定義した場合の「パターン値」と「検証／テスト動作」との関係が示されている。すなわち、「方向」ビットが０のとき、「信号値」ビットの値がＤＵＴ端子に入力される。「方向」ビットおよび「マスク」ビットが共に“１”のとき、「信号値」ビットは「検証／テスト動作」での期待値となり、ＤＵＴ端子出力と比較される。
【００３５】
一方、ビット数は、パターン格納メモリ１０４のデータバスと制御用ＦＰＧＡ１０１のＤＵＴとのインタフェース信号とでは、一般にインタフェース信号の方が多い。これは、パターン格納メモリ１０４のデータバスビット幅を増加させると、制御用ＦＰＧＡ１０１の必要端子数が増加し、システム規模の増大を招くことが要因として挙げられる。パターン格納メモリ１０４のデータバス信号数を１としたときの制御用ＦＰＧＡ１０１のＤＵＴとのインタフェース信号数の比率をＮとすると、パターン格納メモリ１０４に１パターンを格納するには（３×Ｎ）メモリワードが必要となる。
【００３６】
図４は、制御用ＦＰＧＡ１０１のＤＵＴとのインタフェース信号数比率ＮをＮ＝２としたときのパターン格納メモリ読出しからタイミング調整に至る処理過程を説明する図である。Ｎ＝２であるので、図４に１パターン分のメモリワードとして示すように、パターン格納メモリ１０４に格納される１パターンは、（３×２）＝６ワードで構成される。パターン格納メモリ１０４に表記される「Ｖｘｙ」は、パターンｘ番目の「信号値」ビット群の第ｙメモリワードを示す。同様に、「方向」「マスク」ビット群のメモリワードを各々「Ｄｘｙ」「Ｍｘｙ」と表記されている。
【００３７】
図４において、マイコンバスＩ／Ｆ部２００が出力する検証／テスト実行中信号４１０が有効になると、パターン格納メモリ制御部２０１は制御信号４１１により、パターン格納メモリ１０４の内容をメモリアドレス順に読み出す。パターン格納メモリ出力信号４１２には、Ｖ１１、Ｖ１２、Ｄ１１、Ｄ１２、Ｍ１１、Ｍ１２、・・・と時系列にメモリデータが逐次出力される。パターン格納メモリ制御部２０１は、このパターン格納メモリ出力信号４１２を取り込んでパターン格納メモリ読出しデータ４１４とし、パターン並列化処理部２０２に対し、パターン有効信号４１３と共に、パターン格納メモリ読出しデータ４１４を同一時系列で出力する。
【００３８】
パターン並列化処理部２０２では、パターン有効信号４１３が有効であるときに、書込み制御回路４０１がパターン格納メモリ読出しデータ４１４を並列に再配置し、１パターン分のデータを並列配置できると並列化用レジスタ４０２に転送する。並列化用レジスタ４０２の出力は並列化後パターン４１６としてタイミング調整回路４０３に出力される。また、同時にパターン並列化処理部２０２では、並列化後パターン有効信号４１５をタイミング調整部２０３に出力する。
【００３９】
タイミング調整部２０３では、検証／テストに必要となるタイミング調整処理を行う。信号のタイミングを調整するためのタイミングカウンタ４０４およびパターン数カウンタ４０５は、共に、並列化後パターン有効信号４１５が「有効」を示すときにクロック逓倍回路２０４の逓倍クロック４１８に従って計数することを行う。タイミング調整回路４０３は、タイミングカウンタ４０４の値とマイコンバスＩ／Ｆ部２００からの信号位相情報４１７とに基づきＤＵＴインタフェースの各信号ビットの位相を調整し、出力比較タイミング信号４１９、タイミング調整済のパターン有効信号４２０、およびタイミング調整済の並列化後パターン４２１を出力する。また、パターン数カウンタ４０４の値はパターン番号情報４２２として出力される。
【００４０】
図５−１は、以上の図４に示す処理動作を説明するタイムチャートである。また、図５−２は、図５−１に示すタイミング調整後の信号５００の詳細を説明するタイムチャートである。図５−１では、パターン格納メモリ読出データ４１４と、並列化後のパターン４１６と、並列化後のパターン有効信号４１５と、タイミング調整後の信号５００との関係が示されている。図５−１に示すように、並列化後のパターン４１６は、第１パターン＃１、第２パターン＃２、の順にサンプリングされる。パターン格納メモリ１０４から１パターン分のメモリワード“Ｖ２１、Ｖ２２、Ｄ２１、Ｄ２２、Ｍ２１、Ｍ２２”が全て読み出された直後のパターン格納メモリ読出しデータ４１４は、第２パターン＃２として並列化後のパターン４１６にサンプリングされる。また、並列化後のパターン有効信号４１５は、第１パターン＃１が並列化後のパターン４１６にサンプリングされたタイミングで有効に切り替わっている。
【００４１】
一方、タイミング調整後の信号５００には、基準タイミングパターンビット４２１Ａとオフセット有りパターンビット４２１Ｂとパターン有効信号４２０とが示されている。基準タイミングパターンビット４２１Ａは、並列化後のパターン４１６よりも若干の遅延を伴って設定されている。オフセット有りパターンビット４２１Ｂは、図５−２に示すように、基準タイミングパターンビット４２１Ａに対する信号位相情報４１７で指定される相対遅延を示すオフセット５０１を有して生成される。また、タイミング調整後のパターン有効信号４２０は、第１パターン＃１の基準タイミング４２１Ａと同一タイミングで有効になっている。
【００４２】
次に、図６は、図２に示した制御用ＦＰＧＡにおいてＤＵＴへの信号印加並びにＤＵＴ出力の比較動作を行う回路の詳細を示す回路図である。この図６を参照して、ＤＵＴへの信号印加並びにＤＵＴ出力の比較動作について説明する。図６において、タイミング調整部２０３には、並列化後有効信号４１５が検証／テスト実行中として入力され、また並列化後パターン４１６のサブセットである方向パターン６０１と信号値パターン６０２とマスクパターン６０３とが入力される。また、タイミング調整部２０３は、タイミング調整済のパターン有効信号４２０を出力するとともに、タイミング調整済の並列化後パターン４２１のサブセットである方向パターン６０５と信号値パターン６０６とマスクパターン６０７とを出力する。
【００４３】
マスクパターン６０７は、信号捕捉部２０６に入力する。ＮＡＮＤ回路６１０は、ＤＵＴ電源ＯＮのモニタ信号６０８とタイミング調整済のパターン有効信号４２０とが直接入力され、方向パターン６０５がインバータ６０９を介して入力され、イネーブル信号６１１を双方向バッファ６２２の制御端と信号捕捉部２０６とに出力する。信号値パターン６０６は、双方向バッファ６２２の入力段と信号捕捉部２０６とに入力される。双方向バッファ６２２は、出力イネーブル信号６１１によって出力制御がなされ、出力イネーブル信号６１１がイネーブル状態のときに、信号値パターン６０６をＤＵＴとのインタフェース信号６１２として出力する一方、そのＤＵＴとのインタフェース信号６１２をＤＵＴ出力信号６１３として信号捕捉部２０６に出力する。
【００４４】
ここで、出力イネーブル信号６１１が「イネーブル状態」となるのは、方向パターン６０５がＤＵＴへの入力状態を示しており、かつＤＵＴ電源ＯＮのモニタ信号６０８およびタイミング調整済のパターン有効信号４２０が共に有効を示すときである。前述の通り、方向パターン６０５が“０”のときにＤＵＴへの入力状態となるので、方向パターン６０５をインバータ６０９で反転した信号とモニタ信号６０８とパターン有効信号４２０とのＮＡＮＤ出力を出力イネーブル信号６１１とする。これによって、正常なテスト動作中以外のＤＵＴへのパターン印加、特にＤＵＴ電源遮断時の信号印加によるＤＵＴへの電気的ストレスの発生を防ぐことができる。
【００４５】
比較処理部２０８では、期待値の比較が次のようにして行われる。すなわち、ＯＲ回路６１４は、信号捕捉部２０６にて同期化されたマスクパターン６０７とイネーブル信号６１１とから比較結果マスク信号６１６を生成しＡＮＤ回路６１８に出力する。また、排他的論理和回路６１５は、信号捕捉部２０６にて同期化された信号値パターン６０６とＤＵＴ出力信号６１３とからＤＵＴ出力と期待値との比較結果（マスク未処理の比較結果）６１７を生成し、ＡＮＤ回路６１８に出力する。
【００４６】
比較結果マスク信号６１６は、マスク条件、すなわち、双方向バッファ６２２が入力状態（ＤＵＴ出力）で、かつマスクパターン６０７が“０”のときに“０”となるので、ＡＮＤ回路６１８では、比較結果マスク信号６１６によってＤＵＴ出力と期待値との比較結果６１７に対してマスク処理を施す操作が行われる。そして、比較結果捕捉回路６２０では、ＡＮＤ回路６１８の出力とタイミング調整部２０３からのパターン番号情報４２２とをタイミング調整部２０３にて生成された出力比較タイミング信号４１９に基づいてサンプリングを行って最終比較結果６２１を生成する。この最終比較結果６２１は図示しない比較結果有効信号と共に結果格納メモリ制御部２０９に出力される。
【００４７】
次に、図７は、図１に示す外部コンピュータ１１０上で動作する制御用ソフトウェアの処理手順を説明するフローチャートである。図７において、まず、制御用ＦＰＧＡ１０１内のマイコンバスＩ／Ｆ部２００内にある制御用レジスタ群を初期化する（ステップＳＴ１）。次いでＤＵＴのデバイスＩＤ情報を読み出す（ステップＳＴ２）。この実施の形態では、ＪＴＡＧチェーン信号１２３, １１６, １１７および１２４によって形成されるＪＴＡＧチェーンを通じて、ＪＴＡＧのデバイスＩＤ情報読出し命令（ＩＤＣＯＤＥ）を用いて読み出す。その後、制御用ＦＰＧＡ端子属性調整処理（ステップＳＴ３）とＤＵＴ⇔制御用ＦＰＧＡ接続テスト選択／生成処理（ステップＳＴ４）とＤＵＴ⇔制御用ＦＰＧＡ接続テスト処理（ステップＳＴ５）によって、検証／テスト準備を完了し、ステップＳＴ６に進む。
【００４８】
ステップＳＴ６では、手操作入力装置７１０から入力される検証／テストパターンの選択が行われる。その後、その選択されたパターンを外部コンピュータ１１０からパターン格納メモリ１０４に転送し（ステップＳＴ７）、検証／テストを実施する（ステップＳＴ８）。そして、パターンが複数ページに分割されていて、後続ページの再ロードが必要な場合に備え、検証／テストが完了したか否かを判定する（ステップＳＴ９）。未完了の場合（ステップＳＴ９：Ｎｏ）は、ステップＳＴ７に戻り、検証／テストパターンをロードする。検証／テスト完了の場合（ステップＳＴ９：Ｙｅｓ）は、結果格納メモリ１１８に格納された内容を読み出し、外部コンピュータ１１０で表示する（ステップＳＴ１０）。その後、検証／テストは全て終了したか否かを判断し（ステップＳＴ１１）、再度検証／テストを実行する場合（ステップＳＴ１１：Ｎｏ）は、ステップＳＴ６に戻り、パターン選択を行う。
【００４９】
図８は、図７に示す制御用ＦＰＧＡ端子属性調整処理（ステップＳＴ３）の詳細を説明するフローチャートである。図８において、まず、現ＤＵＴのデバイスＩＤ情報８２０と前回の検証／テスト時のデバイスＩＤ情報８２１とを確認し（ステップＳＴ２０）、現ＤＵＴのデバイスが前回の検証／テストから変更されているか否かを判定する（ステップＳＴ２１）。デバイスＩＤが一致した場合（ステップＳＴ２１：Ｎｏ）は、当該デバイスが端子属性可変（例：ＦＰＧＡ、マイコン）であるかを確認する（ステップＳＴ２２）。その結果、可変である場合（ステップＳＴ２２：Ｙｅｓ）には、現ＤＵＴの端子属性情報８２２と前回の検証／テスト時の端子属性情報８２３とを確認し（ステップＳＴ２３）、制御用ＦＰＧＡ１０１のＤＵＴインタフェース端子の属性を前回の検証／テスト時から変更する必要があるか否かを確認する（ステップＳＴ２４）。かかる変更が必要となる条件としては、例えば信号の電圧レベルや駆動方式の変更などが挙げられる。
【００５０】
そして、ステップＳＴ２２において端子属性が可変でない場合（ステップＳＴ２２：Ｎｏ）およびステップＳＴ２４において制御用ＦＰＧＡ１０１のＤＵＴインタフェース端子の属性を変更する必要がない場合（ステップＳＴ２４：Ｎｏ）は、制御用ＦＰＧＡ１０１の内容は変更不要であるので、ＦＰＧＡ端子属性調整処理は終了する。
【００５１】
一方、ステップ２１においてデバイスＩＤが一致せず（ステップ２１：Ｙｅｓ）かつステップＳＴ２４において制御用ＦＰＧＡ１０１のＤＵＴインタフェース端子の属性を変更する必要がある場合（ステップＳＴ２４：Ｙｅｓ）は、制御用ＦＰＧＡ１０１の端子属性は再構成が必要であるので、ＦＰＧＡコンフィギュレーションデータを準備する。
【００５２】
すなわち、当該デバイス／端子属性情報をキーとしてデータベース８２４を検索し、合致するＦＰＧＡコンフィギュレーションデータを取得する（ステップＳＴ２５）。検索できず取得できなかった取得失敗の場合、すなわち、該当するＦＰＧＡコンフィギュレーションデータがデータベース８２４に登録されていない場合（ステップＳＴ２６：Ｙｅｓ）、当該デバイス／端子属性情報を基にＦＰＧＡコンフィギュレーションデータを生成し、データベース８２４に登録する（ステップＳＴ２７）。登録したデータは、以降の再利用に供される。
【００５３】
そして、データベース８２４から合致するＦＰＧＡコンフィギュレーションデータの取得に成功した場合（ステップＳＴ２６：Ｎｏ）にはその取得したＦＰＧＡコンフィギュレーションデータを、またステップＳＴ２７にてＦＰＧＡコンフィギュレーションデータを生成した場合にはその生成したＦＰＧＡコンフィギュレーションデータを、それぞれ、
制御用ＦＰＧＡコンフィギュレーションメモリ１０２に書き込む（ステップＳＴ２８）。この書き込み時の経路は前述の通りである。最後に、現ＤＵＴのデバイスＩＤ情報８２０と現ＤＵＴの端子属性情報８２２とを、それぞれの検証／テスト時のデバイスＩＤ情報８２１と前回の検証／テスト時の端子属性情報８２３に上書きし（ステップＳＴ２９）、次回の検証／テスト時のＤＵＴ構成判定に供する。
【００５４】
図９は、図７に示すＤＵＴ⇔制御用ＦＰＧＡ接続テスト選択／生成処理（ステップＳＴ４）の詳細を説明するフローチャートである。図９において、現ＤＵＴのデバイスＩＤ情報８２０をキーとしてデータベース８２４を検索し、合致するＤＵＴ⇔制御用ＦＰＧＡ接続テストパターンを取得する（ステップＳＴ３１）。検索できず取得できなかった取得失敗の場合、つまり、該当するＤＵＴ⇔制御用ＦＰＧＡ接続テストパターンがデータベース８２４に登録されていない場合（ステップＳＴ３２：Ｙｅｓ）は、データベース８２４その他から当該デバイスのテスト回路情報を取得し、ＦＰＧＡコンフィギュレーションデータを生成する（ステップＳＴ３３）。この実施の形態では、ＪＴＡＧ方式の接続テストであるので、テスト回路情報は、ＢＳＤＬ（Boundary Scan Descriptor Language）で供給される。したがってＪＴＡＧチェーンの接続情報を作成した上で、公知の自動生成方式を用いてテストパターンが生成される。生成されたテストパターンは、データベース８２４に登録され、以降の再利用に供される。また、テスト回路情報がデータベース８２４から取得されたものでなければ、同様にデータベース８２４に登録される。
【００５５】
図１０は、図８と図９に示すデータベース８２４の構成例を示す図である。図１０において、データベース８２４は、ｎ種のデバイスＩＤ（＃１）１０００、デバイスＩＤ（＃２）１００１、・・デバイスＩＤ（＃ｎ）１００２に分類され、各デバイスＩＤでは、各種データ１００３における情報が関連付けられている。具体的には、各種データ１００３には、端子属性情報（＃１）１００４、端子属性情報（＃２）１００５、・・端子属性情報（＃ｎ）１００６、ＤＵＴ⇔制御用ＦＰＧＡ接続テスト回路情報１００７、ＤＵＴ⇔制御用ＦＰＧＡ接続テストパターン１００８が含まれている。そして、端子属性情報（＃１）１００４には、制御用ＦＰＧＡコンフィギュレーションデータ群１００９が関連付けられている。端子属性情報（＃２）１００５には、制御用ＦＰＧＡコンフィギュレーションデータ群１０１０が関連付けられている。以降同様に端子属性情報（＃ｎ）１００６には、制御用ＦＰＧＡコンフィギュレーションデータ群１０１１が関連付けられている。
【００５６】
制御用ＦＰＧＡコンフィギュレーションデータ群１００９，１０１０，…，１０１１には、それぞれ、上述したパターン格納メモリ１０４を使用する制御用ＦＰＧＡコンフィギュレーションデータ１０１２と、内蔵する能動的に動作する制御用ＦＰＧＡ構成の検証／テスト制御回路の回路情報（＃１）１０１３、回路情報（＃２）１０１４、…，回路情報（＃ｎ）１０１５とが含まれる。そして、回路情報（＃１）１０１３には制御用ＦＰＧＡコンフィギュレーションデータ１０１６が用意されている。回路情報（＃２）１０１４には制御用ＦＰＧＡコンフィギュレーションデータ１０１７が用意されている。以降同様に回路情報（＃ｎ）１０１５には制御用ＦＰＧＡコンフィギュレーションデータ１０１８が用意されている。
【００５７】
次に、図１に示した信号観測用システム１１３を用いてＤＵＴの信号を観測する構成について説明する。図２に示したモニタ制御部２０７は、ＤＵＴへの入力パターンおよび出力信号を選択し、モニタ用コネクタ１０７に出力する。また、モニタ用コネクタ１０７と連結される信号観測用システム１１３が必要とする観測制御情報も、同様にモニタ用コネクタ１０７に送られる。上記のモニタ用信号選択および観測制御の信号情報は、共に外部コンピュータ１１０からマイコンバスＩ／Ｏ部２００に設定され、マイコンバスＩ／Ｏ部２００から制御信号としてモニタ制御部２０７に供給される。なお、信号観測用システム１１３には、例えば、特許文献７に開示された「論理集積回路の内部信号モニタ装置」を用いることができる。
【００５８】
図１１と図１２は、制御用ＦＰＧＡ１０１内のモニタ制御部２０７の構成例を示す図である。具体的には、図１１は、ＦＰＧＡ内蔵のトライステートバスを使用した回路例である。また、図１２は、セレクタを使用した回路例である。
【００５９】
図１１において、マイコンバスＩ／Ｆ部２００から出力される選択信号１１０６は、トライステートバッファ１１０３，１１０４，…，１１０５の出力イネーブルとして使用される。モニタ対象信号１１００,１１０１,…, １１０２はトライステートバッファ１１０３,１１０４, …,１１０５に入力され、トライステートバッファ１１０３,１１０４,…,１１０５の出力はトライステートバス１１１０に接続され、モニタ用コネクタ１０７へのインタフェース信号１１１１として出力される。選択信号１１０６は、１ビットのみイネーブルになるように制御し、トライステートバス１１１０のコンフリクトを避けるようにしている。
【００６０】
図１２において、マイコンバスＩ／Ｆ部２００から出力される選択信号１２０１は、セレクタ１２００のセレクト信号として使用される。モニタ対象信号１１００,１１０１,…,１１０２はセレクタ１２００の被選択入力である。これらのうち１本が選択されて、モニタ用コネクタ１０７へのインタフェース信号１１１１として出力される。
【００６１】
次に、図１３は、制御用ＦＰＧＡ１０１によるＤＵＴ用可変電圧電源１０６のモニタ回路の構成例を示す図である。図１３において、ＤＵＴ用可変電圧電源１０６の電源ライン１３００は入力バッファ１３０２に接続され、接地ライン１３０１は、接地に接続されている。ＤＵＴ用可変電圧電源１０６の電源ライン１３００上の電圧は、入力バッファ１３０２にてデジタル信号化され、ＤＵＴ電源ＯＮ信号６０８として使用される。ＤＵＴ用可変電圧電源１０６の電源ライン１３００上の電圧が入力バッファ１３０２の閾値電圧以上になると、ＤＵＴ電源ＯＮ信号６０８は“０”から“１”になる。逆に、ＤＵＴ用可変電圧電源１０６の出力１３００が入力バッファ１３０２の閾値電圧以下になると、ＤＵＴ電源ＯＮ信号６０８は“１”から“０”になる。したがって、図６における双方向バッファ６２２の動作において、ＤＵＴ用可変電圧電源１０６の電圧が閾値電圧以下になると、双方向バッファ６２２は出力ディセーブル状態となり、ＤＵＴが電源ＯＦＦあるいはそれに準ずる状態のときに入力端子への信号供給を遮断することができる。
【００６２】
次に、図１４は、ＤＵＴ搭載基板１０８の構成例を示す図である。図１４において、ＤＵＴ搭載基板１０８は、検証／テスト用ハードウェア１００上に搭載された連結機構１０９と結合させるための連結機構１４００と、ＤＵＴソケット１４０１と、補助回路１４０３とを搭載している。補助回路１４０３は、連結機構１４００とＤＵＴソケット１４０１と間の信号経路に存在し、ノイズ対策や信号の補正などを行うようになっている。
【００６３】
ＤＵＴがＦＰＧＡである場合には、制御用ＦＰＧＡ１０１と同様に、ＤＵＴの回路構成に必要なデータを格納する内容書換え可能な不揮発性メモリであるコンフィギュレーションメモリ１４０５と、そのコンフィギュレーションメモリ１４０５の内容の書換え時に使用するコネクタ（ＣＯＮ）１４０６とを搭載する。また、必要に応じて周辺回路１４０４も搭載する。周辺回路１４０４は、電源や機能部品など、ＤＵＴを動作させるために必須な部品から構成される。連結機構１４００とＤＵＴソケット１４０１とコンフィギュレーションメモリ１４０５とは、ＪＴＡＧチェーン信号１４０７〜１４０９によって接続される。なお、コンフィギュレーションメモリ１４０５が搭載されていない場合は、チェーン信号１４０８とチェーン信号１４０９とが直結された構成となる。
【００６４】
次に、図１５と図１６を参照して、制御用ＦＰＧＡ１０１とＤＵＴと間のインタフェース信号におけるノイズ低減策について説明する。この実施の形態では、既知の低ノイズ化技術を使用する。図１５は、シングルエンド方式のノイズ対策例を示す図である。図１６は、差動方式の信号を用いた対策例を示す図である。
【００６５】
図１５において、制御用ＦＰＧＡ１０１のダンピング抵抗群１５００とＤＵＴのダンピング抵抗群１５０３とは、同一信号の両端点に位置する抵抗値を同一にしている。また、配線群１５０１と配線群１５０２とはそれぞれその物理的配線長を等しく設計してある。また、図１６において、差動方式では、逆位相の信号２本を使用して、通常の単一信号を転送する。本例では、制御用ＦＰＧＡ１０１内蔵の差動ドライバ／レシーバ群１６００と、ＤＵＴ搭載基板１０８上の差動ドライバ／レシーバ群１６０１との間を、連結機構１０９，１４００によって接続して示している。本差動方式を使用する場合、前述した双方向バッファ６２２から差動バッファに変更するため、図８に示した手順でＦＰＧＡの端子属性の再構成を行う必要がある。
【００６６】
次に、図７に示したＤＵＴ⇔制御用ＦＰＧＡ接続テスト処理（ステップＳＴ５）において行われる、ＤＵＴ⇔制御用ＦＰＧＡ相互間が正しく接続されているか否かのテスト動作について説明する。ＤＵＴ１４０２をＤＵＴソケット１４０１に搭載した状態で、ＤＵＴ搭載基板１０８の連結機構１４００と検証／テスト用ハードウェア１００上の連結機構１０９とを連結することで、検証／テスト用ハードウェア１００上のマイコン１０３を起点及び終点としたＪＴＡＧチェーンの閉ループを構成することができる。
【００６７】
一方、図７に示すステップＳＴ５では前のステップＳＴ４にて取得したＤＵＴ⇔制御用ＦＰＧＡ接続テストパターンを外部コンピュータ１１０からマイコン１０３に転送する。マイコン１０３は、ＪＴＡＧチェーンの閉ループの起点（ＪＴＡＧチェーン信号１２３）から逐次テスト用入力を印加していく。テストが進行していくにつれて、テスト結果がＪＴＡＧチェーンを辿って、終点（ＪＴＡＧチェーン信号１２４）に逐次到達するので、マイコン１０３は期待値と当該テスト結果とを比較し、不一致情報を保持する。テスト終了後、不一致情報がマイコン１０３から外部コンピュータ１１０に転送される。外部コンピュータ１１０では、その不一致情報をユーザが確認可能な形式（例えば端末への表示やファイル出力）で報知する。
【００６８】
次に、図１７と図１８を参照して、パターン格納メモリ１０４を使用せずに検証／テストを実施する場合について説明する。図１７は、パターン格納メモリ１０４を使用せずに検証／テストを実施する場合に制御用ＦＰＧＡ１０１が備える検証／テスト制御回路の構成例を示すブロック図である。図１８は、図１７に示す検証／テスト制御回路を制御してパターン格納メモリ１０４を使用せずに検証／テストを実施する外部コンピュータ上の制御用ソフトウェアの処理手順を説明するフローチャートである。
【００６９】
図１７において、検証／テスト制御回路１７１０は、入力パターンの生成、出力比較、テストの動作制御（例えば出力パターンの値に基づく、テストシーケンスの切替）を行う回路であり、機能検証で言うところのテストベンチに相当する回路である。この検証／テスト制御回路１７１０では、能動的に検証／テストを実行することができるようになっている。
【００７０】
マイコンバスＩ／Ｆ部１７００、タイミング調整部１７０３、クロック逓倍回路１７０４、モニタ制御部１７０７および結果格納メモリ制御部１７０９は、それぞれ図２におけるマイコンバスＩ／Ｆ部２００, タイミング調整部２０３, クロック逓倍回路２０４, モニタ制御部２０７および結果格納メモリ制御部２０９に対応する回路であり、検証／テスト制御回路１７１０の制御用に最適化されている。
【００７１】
図１８では、図７に示したパターン格納メモリ１０４を使用した外部コンピュータ上の制御用ソフトウェアの処理手順をベースに、図１７に示す検証／テスト制御回路１７１０の制御用に最適化した処理手順が示されている。
【００７２】
図１８において、制御用ＦＰＧＡ初期化処理（ステップＳＴ１）とＩＤ情報読出し処理（ステップＳＴ２）とを実行した後に、手操作入力装置１８１０による検証／テスト制御回路の選択を行い（ステップＳＴ４０）、制御用ＦＰＧＡ選択／再構成処理（ステップＳＴ４１）、ＤＵＴ⇔制御用ＦＰＧＡ接続テスト選択／生成処理（ステップＳＴ４）、ＤＵＴ⇔制御用ＦＰＧＡ接続テスト処理（ステップＳＴ５）をそれぞれ実行し、検証／テスト準備を完了する。次に、検証／テストを行う（ステップＳＴ４２）。ここでは、パターンの再ロードは発生しない。検証／テスト終了後、検証／テスト結果の取得／表示を行う（ステップＳＴ１０）。その後、検証／テストは全て終了したか否かを判断し（ステップＳＴ１１）、検証／テスト制御回路を変更して再実行する場合（ステップＳＴ１１：Ｎｏ）は、ステップＳＴ４０に戻る。
【００７３】
ここで、制御用ＦＰＧＡ選択／再構成処理（ステップＳＴ４１）は、図８に示したパターン格納メモリ１０４を使用した外部コンピュータ１１０における制御用ソフトウェアの処理手順である制御用ＦＰＧＡ端子属性調整処理（ステップＳＴ３）を図１７に示す検証／テスト制御回路１７１０の制御用に機能拡充したものである。図８に示した制御用ＦＰＧＡ端子属性調整処理（ステップＳＴ３）との差異は、検証／テスト制御回路の選択および制御用ＦＰＧＡデータ生成に係る内容である。図８を参照して説明する。
【００７４】
すなわち、第１に、ステップＳＴ２２の前またはステップＳＴ２３の後に、現在の検証／テスト制御回路と前回の検証／テスト時の検証／テスト制御回路とを比較するステップが存在し、本ステップにおいて不一致であるとステップＳＴ２５に遷移する。第２に、ステップＳＴ２５では、現ＤＵＴのデバイスＩＤ情報８２０と現ＤＵＴの端子属性情報８２２に加えて、検証／テスト制御回路情報をキーとし、図１０に示すコンフィギュレーションデータ１０１６〜１０１８を検索する。第３に、ステップＳＴ２７では、検証／テスト制御回路を含めたコンフィギュレーションデータの生成を行う。当該検証／テスト制御回路は、従来手法によって回路データに合成可能なデータとする。第４に、ステップＳＴ２９では、現ＤＵＴのデバイスＩＤ情報８２０と現ＤＵＴの端子属性情報８２２に加えて、検証／テスト制御回路の情報も保存し、次回の検証／テスト時のＦＰＧＡ再構築要否判定に供する。
【００７５】
なお、この実施の形態では、ＤＵＴ⇔制御用ＦＰＧＡ接続テストとしてＪＴＡＧ方式を使用する場合を示したが、独自方式を含む他の方式を使用しても良い。
【００７６】
また、コンフィギュレーション用メモリのＪＴＡＧチェーン信号線は、ＤＵＴ⇔制御用ＦＰＧＡ接続テスト専用としているが、このコンフィギュレーション用メモリへの書込み方式としてＪＴＡＧ方式を採用しているケースも存在する。この場合は、接続テストとコンフィギュレーション用メモリへの書込みの２系統のＪＴＡＧチェーン信号線を排他的に使用する構成にすると良い。例えば、コンフィギュレーション用メモリへのＪＴＡＧ入力選択用のセレクタを挿入する方法がある。
【００７７】
また、パターン格納メモリ１０４を使用する場合としない場合とで、図７と図１８に示したように、独立の処理を行っているが、ステップＳＴ１とステップＳＴ２とを共通化し、その後にパターン格納メモリ１０４を使用した方式としない方式との選択ステップを設け、ステップＳＴ３とステップＳＴ４０とに分岐するように構成することで、制御用ソフトウェアを統合化しても良い。
【００７８】
このように、この実施の形態によれば、検証／テスト用ハードウェアに、制御用ＦＰＧＡ、マイコン、パターン格納メモリ等を搭載し、制御用ＦＰＧＡはパターン格納メモリを用いた検証／テスト制御と、検証／テスト制御回路による能動的制御とのいずれにも再構成可能とし、そのような回路構成変更を外部コンピュータ上の制御用ソフトウェアによって実行可能としたので、論理回路の検証／テストにおける代表的な２つの手法、つまり、予め入力／期待値がテーブル形式のパターンを用いる手法と、外部で能動的にＤＵＴを制御する外部回路を用いる手法とを単一ハードウェアを用いて実現できるようになる。
【００７９】
また、ＤＵＴはノイズ対策を施した本体ハードウェアと独立の基板に搭載する構成としたので、従来のテストシステムなどで使用されている高精細の専用部品を使用せずに、多彩なデバイスおよびパッケージをＤＵＴとして搭載でき、制御用ＦＰＧＡ接続テストを制御用ソフトウェアによって実行することで、確実なＤＵＴとの接続を確認した状態で検証／テストを実行することができる。そして、制御用ＦＰＧＡのＤＵＴインタフェース信号の変更やタイミング調整などには柔軟に対応することができる。したがって、汎用性が高く低コストのハードウェアベースの論理回路検証・テストシステムを提供することができる。
【００８０】
さらに、本体ハードウェアの電源を１次電源とし、ＤＵＴの電源を２次電源として個別にＯＮ／ＯＦＦできるようにしたので、ＤＵＴの電源ＯＦＦ時に制御用ＦＰＧＡのＤＵＴインタフェース信号を遮断することで、本体ハードウェアの電源投入状態で安全にＤＵＴ交換が行える。加えて、制御用ＦＰＧＡでは、電源モニタを行い、検証／テスト時に不慮の事故によってＤＵＴの電源がＯＦＦした場合や電圧低下などが生じた場合に、ＤＵＴに信号が印加されるのを遮断することができるので、ＤＵＴの電気的ストレスを回避することができる。
【００８１】
加えて、制御用ＦＰＧＡは、ＤＵＴのインタフェース信号を選択してモニタ用コネクタに出力するようになっているので、モニタ用コネクタに信号観測用システム（波形観測用外部デバイス）を接続することで、ＤＵＴの信号を容易に観測することができる。
【００８２】
また、外部コンピュータ上の制御用ソフトウェアは、マイコンを介してＤＵＴのデバイスＩＤ情報を読み出し、当該デバイスＩＤ情報に対応するデバイス端子属性情報から、制御用ＦＰＧＡとＤＵＴとの接続テストパターンの選択または生成を行い、そのような接続テストパターンを用いてマイコンに接続テストを実行させ、異常が検出されたときには、その原因箇所を特定し報知することができる。
【産業上の利用可能性】
【００８３】
以上のように、この発明にかかる論理回路検証・テストシステムは、共通のハードウェアを用いて論理回路の機能検証と半導体デバイス製造時の機能的不良検査とを行うに有用であり、特に検証／テストの対象回路に高精細の専用部品ではなく多彩なデバイスおよびパッケージを用いることができるので、汎用性と低コスト化とを図るのに好適である。
【図面の簡単な説明】
【００８４】
【図１】この発明の一実施の形態である論理回路検証・テストシステムの構成を示すブロック図である。
【図２】図１に示す制御用ＦＰＧＡの機能を説明するブロック図である。
【図３】図１に示すパターン格納メモリに格納されるテストパターンのパターン値と検証・テスト動作との関係を説明する真理値表である。
【図４】図１に示すパターン格納メモリの読み出しからタイミング調整に至るまでの処理過程を説明する図である。
【図５−１】図４に示す処理動作を説明するタイムチャートである。
【図５−２】図５−１に示すタイミング調整後の信号の詳細を説明するタイムチャートである。
【図６】図２に示した制御用ＦＰＧＡにおいてＤＵＴへの信号印加並びにＤＵＴ出力の比較動作を行う回路の詳細を示す回路図である。
【図７】図１に示す外部コンピュータ上で動作する制御用ソフトウェアの処理手順を説明するフローチャートである。
【図８】図７に示す制御用ＦＰＧＡ端子属性調整処理の詳細を説明するフローチャートである。
【図９】図７に示すＤＵＴ⇔制御用ＦＰＧＡ接続テスト選択／生成処理の詳細を説明するフローチャートである。
【図１０】図８と図９に示すデータベースの構成例を示す図である。
【図１１】図１に示す制御用ＦＰＧＡ内のモニタ制御部の構成例を示す図（ＦＰＧＡ内蔵のトライステートバスを使用した回路例）である。
【図１２】図１に示す制御用ＦＰＧＡ内のモニタ制御部の内部構成を示す図（セレクタを使用した回路例）である。
【図１３】図１に示す制御用ＦＰＧＡによるＤＵＴ用可変電圧電源のモニタ回路の構成例を示す図である。
【図１４】図１に示すＤＵＴ搭載基板の構成例を示す図である。
【図１５】制御用ＦＰＧＡとＤＵＴと間のインタフェース信号におけるノイズ低減策（シングルエンド方式）を説明する図である。
【図１６】制御用ＦＰＧＡとＤＵＴと間のインタフェース信号におけるノイズ低減策（差動方式）を説明する図である。
【図１７】パターン格納メモリ１０４を使用せずに検証／テストを実施する場合に図１に示す制御用ＦＰＧＡが備える検証／テスト制御回路の構成例を示すブロック図である。
【図１８】図１７に示す検証／テスト制御回路を制御してパターン格納メモリを使用せずに検証／テストを実施する外部コンピュータ上の制御用ソフトウェアの処理手順を説明するフローチャートである。
【図１９】対象論理回路をハードウェア的に検証する検証システムおよびテストシステムでの検証・テストの方法を説明する図である。
【符号の説明】
【００８５】
１００  検証／テスト用ハードウェア
１０１  制御用プログラマブルデバイス（制御用ＦＰＧＡ）
１０２  コンフィギュレーションメモリ
１０３  マイコン（制御手段）
１０４  パターン格納メモリ
１０５  ＤＵＴ以外用の可変電圧電源
１０６  ＤＵＴ用の可変電圧電源
１０７  モニタ用コネクタ
１０８  ＤＵＴ搭載基板
１０９  ＤＵＴ搭載基板と検証／テスト用ハードウェアの連結機構
１１０  外部コンピュータ
１１１  マイコンインタフェース
１１２  コンフィギュレーションメモリインタフェース
１１３  信号観測用システム
１１４  コネクタ（コンフィギュレーションメモリインタフェース用）
１１５  コネクタ（マイコンインタフェース用）
１１６，１１７，１２３，１２４  ＪＴＡＧチェーン信号
１１８  結果格納メモリ
１１９  電源コネクタ
１２０  一次スイッチ
１２１  二次スイッチ
１２２  マイコンバス
２００  マイコンバスＩ／Ｆ部
２０１  パターン格納メモリ制御部
２０２  パターン並列化処理部
２０３  タイミング調整部
２０４  クロック逓倍回路
２０５  Ｉ／Ｏバッファ
２０６  信号捕捉部
２０７  モニタ制御部
２０８  比較処理部
２０９  結果格納メモリ制御部
３００  テストパターンの真理値表
４０１  パターン並列化用レジスタ書込み制御回路
４０２  パターン並列化用レジスタ
４０３  タイミング調整回路
４０４  タイミングカウンタ
４０５  パターン数カウンタ
６０９  インバータ
６１０  ＮＡＮＤ回路
６１４  ＯＲ回路
６１５  排他的論理和回路
６２０  比較結果捕捉回路
６２２  双方向バッファ
７１０，１８１０  手操作入力装置
１１００〜１１０２  モニタ対象入力信号
１１０３〜１１０５  トライステートバッファ
１１０６  出力イネーブル信号（束線）
１１０７〜１１０９  出力イネーブル信号（単線）
１１１０  ＦＰＧＡ内部バス
１１１１  モニタ出力信号
１２００  セレクタ
１２０１  モニタ信号のセレクト信号
１４００  ＤＵＴ搭載基板側の連結機構
１４０１  ＤＵＴソケット
１４０２  ＤＵＴ
１４０３  補助回路
１４０４  周辺回路
１４０５  コンフィギュレーションメモリ（ＤＵＴがＦＰＧＡの場合に使用）
１４０６  コネクタ（コンフィギュレーションメモリインタフェース用）
１４０７，１４０８  ＪＴＡＧライン
１５００，１５０３  インピーダンス整合用抵抗器群
１５０１，１５０２  配線群
１６００，１６０１  差動ドライバ／レシーバ群
１７００  マイコンバスＩ／Ｆ部
１７０３  タイミング調整部
１７０４  クロック逓倍回路
１７０７  モニタ制御部
１７０９  結果格納メモリ制御部
１７１０  検証／テスト制御回路
【図１】
2005301370.tif 000003
【図２】
2005301370.tif 000004
【図３】
2005301370.tif 000005
【図４】
2005301370.tif 000006
【図５−１】
2005301370.tif 000007
【図５−２】
2005301370.tif 000008
【図６】
2005301370.tif 000009
【図７】
2005301370.tif 000010
【図８】
2005301370.tif 000011
【図９】
2005301370.tif 000012
【図１０】
2005301370.tif 000013
【図１１】
2005301370.tif 000014
【図１２】
2005301370.tif 000015
【図１３】
2005301370.tif 000016
【図１４】
2005301370.tif 000017
【図１５】
2005301370.tif 000018
【図１６】
2005301370.tif 000019
【図１７】
2005301370.tif 000020
【図１８】
2005301370.tif 000021
【図１９】
2005301370.tif 000022