(57)【特許請求の範囲】
【請求項１】
TAPコントローラとクロックに同期してテストデータ収集を行うテストデータ収集部とＪＴＡＧ解析ソフトウェア処理実行部とを含み、ＤＵＴのテストを行うＪＴＡＧテストシステムであって、
前記TAPコントローラとテストデータ収集部の間に、プログラマブルロジックよりなるTAPステート発生部とデータ発生部とトレースクロック発生部とで構成されたTAPステート解析処理部を設け、
このTAPステート解析処理部は、TAPステート解析をハードウェア処理でリアルタイムで実行するとともにシリアル→パラレルデータ変換を行い、さらにシリアル→パラレル変換にあたり、有効ビット長を示す信号も生成出力することを特徴とするＪＴＡＧテストシステム。
【請求項２】
前記テストデータ収集部は、前記ＪＴＡＧ解析ソフトウェア処理実行部の機能と前記TAPステート解析処理部の機能を含むことを特徴とする請求項１記載のＪＴＡＧテストシステム。
【請求項３】
前記テストデータ収集部は、ロジックアナライザまたはロジックアナライザと同等の機能を有するデータロガーであることを特徴とする請求項１または請求項２記載のＪＴＡＧテストシステム。
【請求項４】
前記ＤＵＴの固有処理部分の解析をソフトウェア処理で行うことを特徴とする請求項１から請求項３のいずれかに記載のＪＴＡＧテストシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＴＡＧテストシステムに関し、詳しくは、ＪＴＡＧを用いたテストシステムにおける解析時間の短縮に関するものである。
【背景技術】
【０００２】
近年のマイクロプロセッサ、DSP、FPGA、ASICなどのLSI化された多機能電子部品類における高集積度化や、BGA(Ball Glid Array)などによる電子基板への電子部品類の実装高密度化に伴って、以前のような電子部品の端子にプローブを接触させるインサーキット形式のテスト装置による測定が困難になりつつある。
【０００３】
そこで、電子部品の端子にプローブを接触させることなくインサーキット形式と同等のテストを行うテスト方法として、ＪＴＡＧが注目されている。
【０００４】
ＪＴＡＧはJoint Test Action Groupの略であり、IEEE1149.1として規格化されたボード試験の標準規格である。
【０００５】
ＪＴＡＧによるテストは、テスト対象となる集積回路素子の内部にＪＴＡＧ対応機能を組み込むことにより実現される。具体的には、集積回路素子内部の素子本来の機能部分と各ピンの間にプローブと同等の働きをするレジスタを設け、これらレジスタを制御してテストコードの入力とこの入力に対する応答を求めることによってテストを実行する。このとき、テスト対象の内部と外部の境界をスキャニングすることから、バウンダリスキャンともいわれる。
【０００６】
ＪＴＡＧ対応集積回路素子には、TAP(Test Access Port)といわれる以下に示す５個の端子TDI,TDO,TMS,TCK,TRSTが設けられている。なおTRSTはオプションとされている。
最近では、ターゲットシステムのクロックにより、TCKをサンプリングしたRTCKと呼ばれる信号をターゲットから出力し、この信号を基準に通信を行うシステムも存在する。そのようなシステムの場合には、TAP_CLK=RTCKとなる。
【０００７】
TDI(Test Data Input)
シリアルテストデータの入力ピンであり、データや命令が入力される。入力されたデータはデータレジスタに転送され、命令は命令レジスタに転送される。
【０００８】
TDO(Test Data Output)
シリアルテストデータの出力ピンであり、TDIから入力されたデータをバイパスさせたり、データレジスタや命令レジスタの値を取り出すことができる。
【０００９】
TMS(Test Mode Select)，TCK(Test Clock)
ＪＴＡＧ対応集積回路素子に内蔵されているTAPコントローラの制御信号であり、データレジスタや命令レジスタやマルチプレクサなどを制御する。
【００１０】
TRST(Test Reset)
ＪＴＡＧ対応集積回路素子に内蔵されているTAPコントローラを初期化する信号であって、オプションである。
【００１１】
【特許文献１】特許２５９０２９４
【００１２】
図４は従来のＪＴＡＧテストシステムの一例を示す主要部の構成ブロック図である。図４において、TAPコントローラ１からテスト対象集積回路素子であるDUT２に対してテストモード選択信号TMS，シリアルテスト入力データTDI，TAPクロックTAP_CLK，テストリセット信号nTRSTが入力される。これらの入力信号や入力データは、ロジックアナライザ３にも入力される。DUT２はTAPコントローラ１にシリアルテスト出力データTDOを出力する。この出力データは、ロジックアナライザ３にも入力される。
【００１３】
ロジックアナライザ３は、テストデータ収集部として用いられるものであり、TAPコントローラ１とDUT２との間で授受される信号およびデータに基づいてDUT２のテスト結果を解析するためのデータを抽出し、これらデータをPC４に入力する。
【００１４】
PC４は、ロジックアナライザ３に取り込まれたDUT２のテスト結果データを、作業者などがより理解しやすい形式に変換して解析する解析ソフトウェアを実行する。作業者は、PC４の解析結果に基づき、DUT２が所定の性能を発揮しているか否かを判断する。
【００１５】
図４の構成によれば、従来のような電子部品の端子にプローブを接触させるインサーキット形式のテスト装置に比べて、使用する信号線を大幅に少なくできるというハードウェア的に大きなメリットが得られる。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかし、ＪＴＡＧによるテストでは、テスト解析に必要な情報をシリアル通信で収集することから、有効な情報を得るためには非常に多くのクロック数が必要となり、それに応じた深さのトレース情報を格納するための機能が必要となる。
【００１７】
また、収集するデータはシリアルデータであり、DUT２のテスト結果を得るためにはこれらのシリアルデータを解析する必要があるが、データ量が非常に多いので相当の処理時間を要するという欠点がある。
【００１８】
ＪＴＡＧによるテストシステムのようなクロック同期式のデータの収集にあたっては、図４のようにロジックアナライザ３を使用するのが一般的であるが、市販されているロジックアナライザでは、信号数はそれなりに多いもののトレース量が大きいものになると非常に高価となる。
【００１９】
本発明は、このような従来の問題点に着目したものであり、その目的は、シリアルデータをパラレルデータに変換することによりトレース量がそれほど多くないロジックアナライザなどのテストデータ収集部でも十分なデータを収集できるようにするとともに、トレースデータの解析の一部をデータ収集中にリアルタイムで行うことにより、最終的な解析時間を大幅に短縮できるＪＴＡＧテストシステムを提供することにある。
【課題を解決するための手段】
【００２０】
このような課題を達成するために、請求項１の発明は、
TAPコントローラとクロックに同期してテストデータ収集を行うテストデータ収集部とＪＴＡＧ解析ソフトウェア処理実行部とを含み、ＤＵＴのテストを行うＪＴＡＧテストシステムであって、
前記TAPコントローラとテストデータ収集部の間に、プログラマブルロジックよりなるTAPステート発生部とデータ発生部とトレースクロック発生部とで構成されたTAPステート解析処理部を設け、
このTAPステート解析処理部は、TAPステート解析をハードウェア処理でリアルタイムで実行するとともにシリアル→パラレルデータ変換を行い、さらにシリアル→パラレル変換にあたり、有効ビット長を示す信号も生成出力することを特徴とする。
【００２１】
請求項２の発明は、請求項１記載のＪＴＡＧテストシステムにおいて、
前記テストデータ収集部は、前記ＪＴＡＧ解析ソフトウェア処理実行部の機能と前記TAPステート解析処理部の機能を含むことを特徴とする。
【００２２】
請求項３の発明は、請求項１または請求項２記載のＪＴＡＧテストシステムにおいて、
前記テストデータ収集部は、ロジックアナライザまたはロジックアナライザと同等の機能を有するデータロガーであることを特徴とする。
【００２３】
請求項４の発明は、請求項１から請求項３のいずれかに記載のＪＴＡＧテストシステムにおいて、
前記ＤＵＴの固有処理部分の解析をソフトウェア処理で行うことを特徴とする。
【発明の効果】
【００２５】
これらにより、トレースデータの解析の一部をデータ収集中にリアルタイムで行うことができ、最終的な解析時間を大幅に短縮できるＪＴＡＧテストシステムが実現できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明について、図１を用いて説明する。図１は本発明の実施例の主要部を示すブロック図であり、図４と共通する部分には同一符号を付けている。図１に示す本発明と図４に示す従来例との違いは、TAPコントローラ１とロジックアナライザ３の間に、TAPステートトレーサー５を接続していることである。
【００２７】
TAPステートトレーサー５は、従来のテストシステムではソフトウェア処理で行っていたTAPステート解析をハードウェア（FPGA）によりリアルタイムで実行し、ソフトウェアによる解析処理負荷を大幅に軽減させることができ、テストシステム全体として解析時間の大幅な短縮化が実現できる。
【００２８】
また、シリアル→パラレルデータ変換を行うことにより、従来のトレースの深さによる要求を緩和させることができ、容量に限界があるロジックアナライザ３のトレースメモリを効率よく有効に活用できる。
【００２９】
また、TAPステートトレーサー５をプログラマブルロジックで構成することにより、TAPステートが標準的なものでない場合や採取可能なデータ長や種類が異なる場合などにも柔軟に対応できる。
【００３０】
また、DUT２の固有処理部分の解析をソフトウェア処理で行うことにより、ハードウェア部分を変更することなく各種の派生品のテストに対応できる。
【００３１】
図２はTAPステートトレーサー５の具体的な構成例を示すブロック図である。図２のTAPステートトレーサー５は、TAPステート発生部５１とデータ発生部５２とトレースクロック発生部５３とで構成されている。以下、各部について詳しく説明する。
【００３２】
＜TAPステート発生部５１＞
TAPコントローラ１から入力されるテストモード選択信号TMSとTAPクロックTAP_CLKに基づき、現在のTAPステートを示すTAP_State信号を生成する。TAP_State信号はn本の複数ビットで構成されるものであり、データ発生部５２およびトレースクロック発生部５３に入力される。図３はIEEE std 1149.1-1990.で規定されているTAPステートの遷移図である。TAPステート発生部５１は、図３のTAPステート遷移図に基づき、TAPステートに対応した所定のTAP_State信号を生成する。例えばTAPステートが"Select_DR_Scan"であれば、"0x7"を示すTAP_State信号を生成する。
【００３３】
なお、現在のステートを特定するためには初期ステートを認識する必要があり、nTRST="L"の場合にステートを初期化する。
【００３４】
TAPクロックTAP_CLKは、通常のテストクロックTCLKがそのまま使用可能であるが、一部の環境下においては、追加回路が必要となる場合も考えられる。
【００３５】
＜データ発生部５２＞
データ発生部５２は、mビット長のシフトレジスタで構成されている。データ発生部５２は、TAPステート発生部５１で生成されたTAP_State信号を参照しながらシリアルテスト入力データTDIおよびシリアルテスト出力データTDOに対してシリアル→パラレル変換を行い、それぞれがmビット長のパラレルテスト入力データTDI_DATA[m-1:0]およびパラレルテスト出力データTDO_DATA[m-1:0]を生成してロジックアナライザ３に出力する。
【００３６】
なお、シリアル→パラレル変換にあたり、ビット長には限界があるため、有効ビット長を示すData_Length信号も合わせて生成してロジックアナライザ３に出力する。例えばmビット長を超える場合にはData_Length信号を"０"として次のサンプルも連続していることを示し、これに満たない場合には有効ビット長を示す値を生成する。具体的には、例えばm=8の場合において同一ステートで有効なシリアルテスト入力データTDIが20ビット存在するときは、Data_Length信号は"0,0,4"として生成される。
【００３７】
State_Dataは、基本的にはTAPステート発生部５１から生成入力されるTAP_State信号をそのままロジックアナライザ３に出力するが、他の信号群（TDI_Data、TDO_Data、Data_Length）はTap_Stateを参照して生成されるため、1クロック分の遅延が生じる。この遅延については、FPGA内部で吸収することも、解析ソフトウェアで吸収することも可能である。
【００３８】
＜トレースクロック発生部５３＞
データ発生部５２で生成された信号群を所定のタイミングでロジックアナライザ３に取り込むためのサンプリングクロックTRACE_CLKを生成して、ロジックアナライザ３に出力する。通常は、TAPステートの変化点でサンプリングクロックが生成されるが、同一ステートでmビット長を超える有効データ(シリアルテスト入力データTDIやシリアルテスト出力データTDO)が存在した場合には、同一ステート内においてもmビット単位でサンプリングクロックを生成する。このようにサンプリングクロックの生成条件を有効データの状態に応じて調整することにより、より柔軟性のあるデータ採取が実現できる。
【００３９】
このように構成される本発明のＪＴＡＧテストシステムによれば、図３に示すIEEE std 1149.1-1990.で規定されているTAPステートの場合、ステート数は15ステートあるが、それらのうちシリアル→パラレル変換によってロジックアナライザ３のメモリ効率を改善できるステートは6ステート存在する。ここで、仮にパラレル変換のビット数を8ビットとすると、最大で約1/8までトレースの深さを改善できることになる。
【００４０】
また、ステート解析をTAPステートトレーサー５のハードウェア処理で行うので、データ収集が完了した時点ですでにステート解析は完了することになり、PC４における解析ソフトウェアの処理時間を大幅に短縮できる。
また、TAPステートをリアルタイムに解析することにより、不要なTAPステートをサンプル対象から外すことが可能である。このことにより、より効率的なデータ収集が可能となる。
【００４１】
なお、上記実施例では、TAPステートトレーサー５から生成される信号を既存のロジックアナライザ３に入力するものとして説明したが、ロジックアナライザに限るものではなく、既存のロジックアナライザと同等の機能を有するデータロガーであってもよい。
【００４２】
また、解析用ソフトウェア処理を実行するPC４については、ロジックアナライザやデータロガーにOSとしてのWindows(登録商標)が搭載されていれば、別途用意することなく代替可能な場合も考えられる。すなわち、本発明の実施形態としては、PC４とTAPステートトレーサー５の機能をロジックアナライザやデータロガーに取り込むことも可能であり、主要機能が一体化されたスペース効率のよいJTAGテストシステムをユーザーに提供できることになる。
【００４３】
また、上記実施例では、DUT２がIEEE std 1149.1-1990.で規定されているTAPステートに準拠したＪＴＡＧ対応集積回路素子であるものとして説明したが、これに限るものではなく、他のTAPステートに基づくものであってもよい。
【００４４】
なお、ＪＴＡＧはテスト以外にも使用されつつある。例えば多くのPLD(Programmable Logic Device)では、チップにOSやソフトを組み込むためのISP(In-System-Programming)の標準バスとして採用されている。
【００４５】
また、フラッシュメモリのプログラミングやエミュレーションにもＪＴＡＧバスが利用されている。
【００４６】
また、テストバスをボードからバックプレーンまで拡張することにより、システムレベルにおけるテストやISPを実現することも実用化されている。
【００４７】
これらから、本発明は、フラッシュメモリとフラッシュメモリコントローラとの間の通信など、同期クロックを使用した各種のシリアル通信分野におけるデータ解析にも有効である。
【００４８】
以上説明したように、本発明によれば、シリアルデータをパラレルデータに変換することによりトレース量がそれほど多くないロジックアナライザなどのテストデータ収集部でも十分なデータを収集できるようにするとともに、トレースデータの解析の一部をデータ収集中にリアルタイムで行うことにより、最終的な解析時間を大幅に短縮できるＪＴＡＧテストシステムが実現でき、同期クロックを使用した各種のシリアル通信分野におけるデータ解析に好適である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施例の主要部を示すブロック図である。
【図２】TAPステートトレーサー５の具体的な構成例を示すブロック図である。
【図３】IEEE std 1149.1-1990.で規定されているTAPステートの遷移図である。
【図４】従来のＪＴＡＧテストシステムの主要部の一例を示すブロック図である。
【符号の説明】
【００５０】
１  TAPコントローラ
２  DUT(テスト対象集積回路素子)
３  ロジックアナライザ(テストデータ収集部)
４  PC
５  TAPステートトレーサー
５１  TAPステート発生部
５２  データ発生部
５３  トレースクロック発生部
【図１】
0004714606.tif 000002
【図２】
0004714606.tif 000003
【図３】
0004714606.tif 000004
【図４】
0004714606.tif 000005