Design For Testability Guidelines 日本語版
Download printable version
はじめに
以下 DFTガイドラインは、XJTAG を用いて基板のテスト容易性を向上させるための提案です。これらガイドラインは、ルールと言ったわけでは有りません。得られる効果は、他の要素(機能性、デバイスのコスト、基板面積など)と合わせて考慮させるべきでしょう。
この資料の内容を理解する為には、IEEE standard 1149.1-1990、1993、1994 に対する多少の理解・ 知識が必要です。この資料を通して、1149.1 は、 IEEE 1149.1 (JTAG) Boundary Scan standard のこ とを意味しています。
1149.1 準拠のデバイスを指定し、採用する
XJTAG を用いて準拠していないデバイスのテストもできますが、可能な限りは1149.1 準拠のデバイ スを選択することで、より高いテストのカバレッジを得ることができます。基板上に1149.1 準拠のデ バイスが多ければ多いほど、より多くのノードが全面的に実行され、テストされるようになります。
1149.1 準拠のデバイス用 BSDL ファイルを確認する
1149.1 準拠には、BSDL ファイル(Boundary Scan Description Language)が必要です。これには、準拠 しているデバイスごとのインターフェイスが記述されています。このファイルが入手可能であること (通常は、デバイスメーカのWeb サイトから入手可能)、そしてこのファイルが検証済みであること を確認しましょう。(XJTAG 開発システムには、BSDL のシンタックス・チェック機能といった、欠 かすことのできない機能が搭載されています)
1149.1 チェインが正しく設計され、配線されていることを確認
基盤の設計に、必要となる1149.1 TAP 信号が含まれていること、正しく配線されていること、を確認 しましょう。望ましくは、TAP 信号は他のアクティブな信号から離すこと、GND や電源信号から切り 離すこと。そうすることで、TAP 信号上のショートが容易に検出できるようになります。適切なTAP コネクタを用意して、必要となる信号線にアクセスできるようにすること。そして重要なのは、シス テムのディフォルトのパワーアップ・モードで、1149.1 準拠デバイスのチェインに電源を供給し、準 拠したモードに入るようにすることです。

TAP 信号間のスキューを低く抑える
正しい動作を実現させるには、TAP 信号間のスキューが、低く抑えられていることが重要です。とり わけ、TCK とTMS 間。それゆえ、配線長、バッファの遅延は、可能な限り同じに保ちましょう。
全TAP 信号に正しい終端を
ボードに入力されるTCK は、68R のシリーズ抵抗と100pF のキャパシターを、グランドに対してシ リーズに用いて、終端される必要があります。TDI,TMS は、電源ラインに対して10K の抵抗でプルア ップします。TDO には、電源ラインに対して10K の抵抗でプルして、22R のシリーズ抵抗をチェイン の最終デバイスの近くに配置します。またフローティング(入力が不安定になること)を防ぐ為に、 nTRST ラインにプルダウンレジスタを追加されることをお勧めします。(この値は次の要素に注意し て選択。ドライバーの強さ。および、nTRST に対する1149.1 準拠デバイスから提供されるプルアッ プの強さ)
TAP 信号に対するバッファ
可能ならば、初段のTAP 信号へのバッファは、ノイズの削減、インピーダンスのミスマッチの回避、 さらにファン・アウトの向上が見込まれます。TCK, TDI, TMS, nTRST に対しては、ボードの入口、 TDO に対しては出口に。信号を完全にするために、4~6 ごとの 1149.1 準拠デバイスの後ろの信号を バッファすることは賢明ですが、信号間のスキューを低く抑えることも忘れないようにしましょう。

1149.1 準拠したデバイスのスペア・ピンを使用する
1149.1 準拠デバイスに スペアのI/O ピンがあるならば、アクセスすることが困難な回路上のノードを モニタするために用いましょう(これが、基板の通常動作に影響を与えないことを前提に) モニタ するべきノードを注意深く選択することで、テストのカバレッジは飛躍的に向上させることができる でしょう。
1149.1 準拠デバイスのI/O ピンを使いこなす
1149.1 準拠のデバイスが、準拠していないデバイスの入力をドライブしているなら、準拠したデバイ ス上のI/O ピンを用いることができるかもしれません。信号を読み返すことで、L あるいはH のスタ ックのテストが出力ノードで実現できるようになります。
1149.1 準拠デバイスがオプションで搭載されない場合のバイパス
1149.1 に準拠したデバイスの搭載が、オプションの選択に依存する場合、そのデバイスが搭載されな い場合に、TAP データ・チェインが途切れることのないように(下図の様に)しましょう。

1149.1 チェインに追加ボードとそれに対する設定を用意
ドータボードを用いているなら、そのドータボード上のデバイスとボードコネクタを介して、1149.1 チェインを作りましょう。ドータボードがオプションなら、搭載されない場合を検知して、TAP デー タパスをバイパスすることができるようにもしましょう。

ASIC を設計、あるいは採用する場合に1149.1 を忘れずに
ASIC などのカスタム設計のシリコンを採用する場合には、1149.1 に準拠させることを考えるべきでしょう。
ボードの動作に影響を与えるような制御信号にアクセスできること
ボードやデバイスの動作に重要な影響を与える制御信号がある場合(reset, power enables, watchdogs, and shutdown signals)、これらが1149.1 に準拠するデバイスで制御できるようにしましょう。もし、 1149.1 に準拠したデバイスが、それに準拠しないモードを持っている場合(FPGA に対するプログラ ムピンなど)、1149.1 のモード、あるいは全チェインに影響が出ることを想定しておくべきでしょう。
プログラマブルなデバイスに 1149.1 からアクセスできること
EEPROM/flash/FPGA/CPLD などのシステム内でプログラミングができるデバイスを用いる場合、そ してこれらが1149.1 のプログラミングインターフェイスを持たないならば、これらデバイスの全ての 必要な信号線を、1149.1 に準拠するデバイスでアクセスできるようにしましょう。望ましくは、全て の必要なノードを、一つの1149.1 に準拠するデバイスからアクセスできること。そうすることで、 XJTAG 開発システムは、自動的に全ての他のデバイスを1149.1 チェイン内にCLAMP モードとして設 定し、パフォーマンスを向上させることができます。

場合によって、1149.1 に準拠するデバイスからのショートチェイン(1149.1 でイネーブルされるバッ ファ)を、頻繁に切り替わる制御回路ノード(Flash 上のnWE ピンなど)に採用することは効果的で す。これによりXJAG 開発システムにとって、アクティブなチェイン長を短くすることになり、これ らノードに対するパフォーマンスが向上します。(XJTAG の今後のバージョンでは、これらのノード に対してダイレクトにI/O アクセスできるようになり、更にパフォーマンスの向上が期待されます。こ の場合、これらノードはテストコネクタに接続するなどアクセスできるようにすることです)

ドライバーデバイスの出力イネーブルピンと方向制御ピンを接続
ある信号が複数のソースからドライブされるなら、これらドライバー側が十分に1149.1 に準拠するデ バイスから制御できるようにし、これらドライバーの出力のOn/Off ができるようにしましょう。もし、 1149.1 に準拠しないバイディレクショナル(双方向)な、バスドライバーがあるなら、その方向も制 御できるようにしましょう。
同期型デバイスのクロックを制御可能にする
同期型デバイスは、クロックの制御ができるならXJTAG でテスト可能です。例えば、FPGA に接続さ れるSDRAM は、そのSDRAMクロックが1149.1 に準拠するデバイスから制御できる場合にのみテス トが可能です。フリーランニングなクロックがSDRAMに直接繋がっている場合は、XJTAG のテスト ベクタは。クロックに対してリアルタイムに同期できません。CPLD やFPGA などの1149.1 に準拠し たデバイスを、そのクロックソースとSDRAM のクロックの、バッファの間に介することで、下図の 様にテストのカバレッジを最大限に拡張できるでしょう。

I/O インターフェイスを設計する
テストのカバレッジは、外部コネクタが1149.1 でアクセス可能なネットに接続されることで向上しま す。1149.1 ネット上の多くのコネクタピンに対するテストは1149.1 でコントロール可能なI/O(XJIO ボードなど)を接続することで、オープンサーキットテストなどの拡張が追加されます。
あるいは、I/O ポートを設計することでループバックテストが可能になります。そうすればボードを接 続すること無しに、テストのカバレッジを向上させられます。大抵のインターフェイス(Ethernet, RS232, RS485 など)にはシンプルなループバックコネクタで十分でしょう。しかし、外部テスト回路 があれば、TAP チェインでコントロールさせることもできます。

クラスタを1149.1 に準拠するデバイスで包囲する
1149.1 に準拠しないロジックは、1149.1 準拠したデバイスに取り囲まれるクラスタ内に配置し、全入 力の制御、クラスタに対する・クラスタからの出力のモニタ、をできるようにしましょう。クラスタ 動作のテストを実現させるために、クラスタのノードへの十分なアクセスができるように。必要なら、 追加の1149.1 に準拠するデバイスにてクラスタのノードへのアクセスを得ましょう。

単一パネル上の複数基板への考察
複数基板が単一パネル上に構成されている場合、これらが分離される前に、これらに対する同時テス トが出来るように、電源、TAP 信号が一貫するような検討をしてみましょう。

ウォッチドッグ動作に対する考察
ウォッチドッグがある場合、テスト中はディスエーブルされるようにしましょう。(望ましくは 1149.1 の制御ピンで。あるいは、link を用いて)ウォッチドックのイベントがテスト実行中に発生す ると、想定できない結果が起こりえます。望ましくは、ウォッチドッグはXJTAG を介してのみディス エーブルされることです。ソフトウエアで実現させる場合に、そのソフトの不具合でディスエーブル させてしまうことを避けるためです。もしくは、タイムアウトの時間を十分に長く取って、テスト実 行中にイベントが発生しないようにすることです。
不揮発性ストレージを構成情報に利用
XJTAG のファイルI/O 機能を用いて、オプション設定、serial numbers, Ethernet MAC addresses な どの情報を不揮発性メモリに対して、テストの一環として書き込むことができます。
アナログ回路のテスト
1149.1 ではアナログ回路のテストは明記されていませんが、上手く設計することで多くのテストを実 行することができます。方法は、1149.1 準拠のデバイスの出力でコンパレータやアンプの入力値を設 定し、それらの出力を1149.1 準拠のデバイスに入力させることです。また、追加で低価格なDAC や ADC を用いれば、アナログクラスターを制御したり、モニタすることができるようになるでしょう。 僅かながらでも適切な回路上の追加により、多くのアナログテストが実行できるようになります。
プログラマブルデバイスのI/O を用いる場合の注意点
例えば、FPGA のI/O パッドに搭載されている外部ロジックを動作させる為のプログラマブルな、プル アップを使わないほうが良いでしょう。もしI2C バス上のプルアップが、それらのようにプログラマブルであると、I2C バス上に接続される全てのデバイスは、XJTAG でテストできなくなるでしょう。 どうしても必要なら、I2C バスピンを外部コネクタでアクセスできるようにすることで、テスト時に外 部からプルアップを追加できるでしょう。あるいは、I2C バスがSDRAMアクセスに用いられているな らば、テスト用のモジュールを追加のレジスタと合わせて取り付けることが必要でしょう。
インテリジェントなデバイス、XJTAG の機能をフルに活用する
標準的な1149.1 の機能ではテストできない、あるいはリアルタイムのテスト実行が必要、と言った場 合は、XJTAG の革新的なXJEase を用いてボード上の機能IC を活用することができます。例えば、オ ンボード上のFlash メモリやCPLD デバイスに小さなプログラムをダウンロードし、CPLD やMPU の リアルタイムテスト実行や設定を行えるようになります。
Glossary
XJTAGシステムに関するご質問や、価格等のお問合せは、弊社(あるいは富士設備)まで連絡下さると幸いです。
