テスト容易化設計(DFT)ガイドライン

はじめに

BGA実装でも電気的に実装検査や不良解析ができることから、改めてJTAGバウンダリスキャンテストが注目されていますが、このテストは、基板上に実装されたマイクロプロセッサやFPGAなどJTAGデバイスの信号線をプローブとして、ソフトウエアによって操作・観測することで実現されています。

そのため、回路図設計段階でJTAGテストの容易化設計を行うことで、最大限の効果を得ることができるようになります。仮にJTAGバウンダリスキャンテストの利用を予定しない場合でも、想定外の事態に直面した時に、不良解析等で思わぬ成果を発揮することになるでしょう。

以下 DFTガイドラインは、XJTAGを用いて基板のテスト容易性を向上させるための提案です。これらガイドラインは、ルールと言ったわけでは有りません。得られる効果は、他の要素(機能性、デバイスのコスト、基板サイズなど)と合わせて考慮するべきでしょう。

この資料を理解するために、IEEE標準1149.1と1149.6に精通している必要はありません。この資料で「1149.x」はIEEE 1149.x(JTAG)バウンダリスキャン規格を指し、「JTAGデバイス」はJTAGバウンダリスキャンを実装し、これらの規格に完全に準拠しているデバイスを意味し、 「JTAG未対応デバイス」とはJTAGバウンダリスキャンを実装していないものです。

JTAGデバイスを指定して採用する

XJTAGを用いてJTAGデバイスとJTAG未対応デバイス間のネットをテストすることができますが、より多くのJTAGデバイスを使用することにより、より広い範囲のテストカバレッジが得られます。 回路に組み込まれるJTAGデバイスが多くなればなるほど、完全に制御されテストされるノードの数が増えます。

1149.6規格では、1149.1ではテストすることができない、ACカップリングされた高速のシングルエンド信号や差動信号のテストを可能にします。 この機能を使用するには、このようにしてテストされるネットの結合キャパシタの両側に1149.6に準拠したピンを持つことが重要です。

JTAGデバイス用の BSDLファイルを確認する

1149.x標準に準拠するには、デバイスにBSDL(Boundary Scan Description Language)ファイルが必要です。 このファイルは、デバイス固有の1149.xの実装について説明しています。 このファイルが利用可能であることを確認し(通常、デバイスメーカーのWebサイトから直接入手できる)、完全に検証されていることを確認します(XJTAG 開発システムには、BSDLのシンタックス・チェック機能といった、欠かすことのできない機能も搭載されています)。

1149.1 チェーンが正しく設計され、配線されていることを確認

JTAGデバイスは、TAP信号へのアクセスを提供する個々のコネクタを持ちます。 また一方、次のデバイスのTDIに、TDO信号で「デイジーチェーン」に接続することができます。

TCK、TMS、および(オプションの)nTRST信号は、デイジーチェーン形式で接続されたすべてのデバイスに並列に接続する必要があります。 nTRST信号が直接グランドに接続されていないことが重要です。これは、個々のデバイスだけでなく、全スキャンチェーンに対してJTAGを完全に無効にするためです。

可能であれば、TAP信号を他のアクティブな信号から遠ざけて、ノイズを低減し、デジタル信号品質を向上させます。 シリアルJTAGインターフェイスは通常10MHz〜30MHzのクロックレートで動作しますが、レイアウトが悪いと、問題個所を特定するのが非常に難しいエラーが発生し、修正するためにボードを再設計することになりかねません。

TAP信号を電源またはグランドに交互に配置することで、機能しないJTAGチェーンの問題を診断し易くなります。 固定信号に短絡されたTAP信号は、短絡された2本のTAPピンよりはるかに容易に診断することができます。

 

Ensure JTAG chains are correctly designed and laid out

全TAP信号に正しい終端を

TCKは、68Ωの抵抗と100 pFのコンデンサをグランドに対してシリーズに用いて、信号がチェーン内の最終デバイスに入る場所のできるだけ近くに配置する必要があります。 TDIとTMSは、10kΩの抵抗を使用して電源ラインに対してプルアップ接続する必要があります。 TDOは、10kΩの抵抗を使用して電源ラインにプルアップ接続し、22Ωの直列抵抗をチェーンの最終デバイスの近くに取り付ける必要があります。 またフローティング(入力が不安定になること)を避けるため、nTRSTラインに10kΩのプルダウン抵抗を追加することも推奨します。

Use correct termination for all TAP signals

複数のJTAGチェーン

開発時またはプログラミング時に、デバッグを目的に固有のコネクタに直接接続する必要があるデバイスがあるかもしれません。これらのコネクタを、製造テスト用に単一のJTAGチェーンにリンクできるようにすれば、BOM(部品表)と製造時のコストの両方を削減できます。 XJTAGのXJLink2コントローラは、ボード上の最大4つのJTAGコネクタに接続して、単一チェーンとしてリンクさせることができます。

JTAG コネクタの設計

JTAG Connector pinoutJTAGコネクタ上の信号配置を設計する場合、クロストーク/干渉の可能性を考慮することが重要です。 アクティブな信号をグランド接続と交互に配置することで、これらの影響を最小限に抑えます。 コネクタで使用されるピン数からこれが現実的でない場合は、TCKをグランドの横に配置することを優先します。 これが不可能な場合は、リセットやnTRSTなどのJTAGスキャン中に変更される可能性の低い信号を使用してください。

TDO信号をTCKに隣接することを避ける配線は特に重要です。 TDOの遷移はTCKの立ち下がりエッジで発生します。したがって、TDOからのクロストークにより、TCK上でグリッチが発生し、データが破損する可能性があります。

JTAGコントローラとテスト中のボードとの間に強力なグランド接続を設けることは非常に重要です。ボードへのJTAGコネクタ上にスペアピンがある場合は、グランド信号を追加することが有益です。 XJLink2は10番ピンと20番ピンにグランド接続が固定されているため、これらを接続するとシグナル・インテグリティが改善します。

理想的には、ケーブルを再利用できるように、それぞれの新しいデザインは同じタイプのコネクタと信号レイアウトを使用します。これらのコネクタは、挿し間違いを防止するために「キー付き」にするほうが良いでしょう。誤ってコネクタを逆に取り付ける可能性がある場合は、電源ピンとTAPコントローラのGND(または「ソフトGND」)ピンとの間の短絡を防止するピンレイアウトを選択します。

TAP信号を他のコネクタのスペアピンに配線することで、専用のテストアクセスコネクタが装備されていない場合や、アクセスできない場合でもスキャンチェーンにアクセスできるかもしれません。

JTAGモードの選択

一部のデバイスでは、TAPピンを1149.xバウンダリスキャン以外の機能に設定することができます。そのため、デバイスがJTAGテストに使用されることを阻害することのないように設計することが重要です。 これらのピンの機能は通常、デバイスの他のピンをリセットしてサンプリングすることで設定されます。 設計の要件に応じて、この設定はいくつかの方法で実現されます。

  • バウンダリスキャンがTAPピンに求められる唯一の機能である場合、コンフィギュレーション用のピンを必要なレベルに接続することができます。
  • バウンダリスキャンが各ピンの支配的機能であるが、他の機能が必要になることもある場合は、オプションの固定抵抗器を使用することで、ボードのマイナーチェンジでコンフィギュレーション用のピンをハイまたはローにすることができます。
  • 簡単に機能を切り替えることができるようにする必要がある場合、コンフィギュレーション信号をコネクタに取り出すことができます。 プル抵抗を使用してデフォルト状態を定義し、XJLink2などのコントローラでオーバーライドすることができます。

テキサス・インスツルメンツ社のプロセッサのEMU0ピンとEMU1ピンは、このようなコンフィギュレーション用のピンの一般的な例の1つです。他には、Freescale社プロセッサのModeピンや、AT91ファミリ・プロセッサのJTAGSEL信号もあります。

これらのピンに必要な値は、デバイスのデータシート/リファレンス・マニュアルに定義されています。 またデバイスのBSDLファイルのCOMPLIANCE_PATTERNSセクションに記載されることもあります。

同期デバイスへのクロックを考慮する

多くの同期デバイスはバウンダリスキャンでテストできますが、これはクロックのソースに依存します。 例えば、SDRAMは、クロックが1149.x準拠のデバイスによって制御されている場合のみ、テストすることができます。 フリーランニングクロックをSDRAMに直接接続する場合は、バウンダリスキャンテストベクタをリアルタイムでそのクロックに同期させることができません。

コンフィギュレーション可能なJTAGデバイス(CPLDまたはFPGAなど)が使用可能な場合、以下に示すようにクロックソースをそのデバイスからSDRAM、またはクロックバッファにルーティングして、テストカバレッジを最大化することができます。

Clock to synchronous devices

最小動作周波数がないクロックバッファを採用することも重要です。 一部のクロックバッファには、低周波信号を許可する特別な制御入力があります。 このような信号は、JTAG対応ピンからアクセス可能でなければなりません。

イーサネットPHYやスイッチなどの他のデバイスは、機能するために特定の周波数クロック入力を必要とします。 このような場合、クロックが1149.x対応ピンによって供給されないようにすることが重要です。 水晶または発振器は、未対応デバイスに直接またはクロックバッファを介して接続する必要があります。

これらの速度で非対応デバイスにバウンダリスキャンを使用することはできませんが、 適切なクロックを提供することで、何らかのテストが可能になります。

ウォッチドッグを考慮する

テスト中にウォッチドッグ動作を無効にするためのリンク、または1149.xで制御可能なロジックを提供するようにしましょう。 ウォッチドッグがテスト中に通常の入力を受け取れなかったときに生成するリセットイベントによって、予期しないテスト結果が生成されることや、テストの完了を妨げる可能性があります。

Download the full DFT Guidelines eBook

Further points covered:

  • FPGAおよびCPLDを活用する
  • TAP信号間のスキューを低く抑える
  • スキャンチェーン上の問題特定への備え
  • TAP信号をバッファして、異なる電圧レベルを分離する
  • 1149.x 準拠デバイスがオプションの場合のバイパス案
  • ドーターボードにも1149.xチェーンを考慮する
  • ASIC を1149.x 準拠にする
  • プログラマブルなデバイスに1149.x
  • チェインからアクセスさせるプログラミングに必要な信号を直接制御する
  • JTAG未対応なロジックをJTAGデバイスで包囲する
  • コネクタにも1149.x テストを活用する
  • 単一パネル上の複数基板への考察
  • アナログ回路のテスト
  • プログラマブルデバイスのI/O を用いる場合の注意点
  • JTAG デバイスの機能を検討する
  • JTAG 未対応デバイスのテスト機能を活用する
  • 作業者による対話形式のテスト
  • 不揮発性メモリをプログラムする
  • 高速Flashプログラミング
  • 不揮発性メモリをプログラムする
  • 回路図入力段階でJTAGテストの容易化設計(DFT)
  • 用語集

Want to be the first to know of new eBooks and JTAG Resources?

Find out how XJTAG can help you test your PCB faster
From Prototype To Manufacture