インテル® Stratix® 10 JTAGバウンダリー・スキャン・テスト ユーザーガイド
概要
インテル® Stratix® 10 デバイスは、IEEE Std. 1149.1 BSTとIEEE Std. 1149.6 BSTをサポートします。バウンダリー・スキャン・テスト(BST)を実行する際、物理的なテストプローブを使用せずにピン接続をテストし、通常動作中に機能データをキャプチャーすることができます。デバイスのバウンダリー・スキャン・セル(BSC)は、ピンに信号を強制したり、ピンあるいはコアロジック信号からデータをキャプチャーすることができます。強制されたテストデータは、順にBSCへとシフトインします。キャプチャーされたデータは、順にシフトアウトし、外部で期待値と比較されます。
インテル® Stratix® 10 デバイスは複数のダイを使用してパッケージに実装されており、エンベデッド・マルチダイ・インターコネクト・ブリッジ(EMIB)テクノロジーにより結合されています。このマルチダイの実装はBSTに対して等価的です。デバイスに対して単一のバウンダリー・スキャン・チェインが存在し、これにはパッケージ内のすべてのダイが含まれます。
BSTは、インテル® Stratix® 10 デバイスのコンフィグレーション実行前と実行後だけでなく、コンフィグレーションの実行中にも実行することができます。
JTAG BSTのアーキテクチャー
JTAG回路機能モデル
JTAG BST回路には、以下のレジスターが必要です。
- 命令レジスター—実行する動作およびアクセスするデータレジスターを決定します
- バイパスレジスター— (1ビット長のデータレジスター) TDIピンとTDOピンの間に最短のシリアルパスを提供します
- バウンダリー・スキャン・レジスター—デバイスのすべてのBSCで構成されたシフトレジスターです
- テスト・アクセス・ポート (TAP) コントローラー—JTAG BSTを制御します
- TMSピンとTCKピン—TAPコントローラーを操作します
- TDIピンとTDOピン—データおよび命令レジスターにシリアルパスを提供します
JTAGピン
ピン | 機能 | 説明 |
---|---|---|
TDI | 以下に用いるシリアル入力ピンです。
|
|
TDO | 以下に用いるシリアル出力ピンです。
|
|
TMS | TAP コントローラー・ステート・マシンの遷移を決定するコントロール信号を提供する入力ピンです。 |
|
TCK | BST回路へのクロック入力です。 | — |
IEEE Std. 1149.1バウンダリー・スキャン・レジスター
バウンダリー・スキャン・レジスターは、TDIピンを入力、そしてTDOピンを出力として使用する大規模なシリアル・シフト・レジスターです。バウンダリー・スキャン・レジスターは、各I/O ピンのバウンダリー・スキャン・セルとパディングビットで構成されています。バウンダリー・スキャン・レジスターは、外部ピンとの接続をテストしたり内部データをキャプチャーするために使用することができます。
インテル® Stratix 10 デバイスI/Oピンのバウンダリー・スキャン・セル
インテル®® Stratix® 10 デバイスの3ビット BSCは、以下のレジスターで構成されています。
- キャプチャーレジスター—OUTJ、OEJと PIN_IN 信号を介して内部デバイスデータへ接続します
- アップデートレジスター— PIN_OUT と PIN_OE 信号を介して外部データへ接続します
TAPコントローラーはIEEE Std. 1149.1 BSTレジスターへのグローバルコントロール信号 (shift、clockとupdate) を内部で生成します。命令レジスターのデコードは、MODE信号を生成します。
バウンダリー・スキャン・レジスターのデータ信号パスは、SDI (Serial Data In) 信号からSDO (Serial Data Out) 信号に続いています。スキャンレジスターは、デバイスのTDIピンから始まりTDOピンで終わります。
ピンの種類 | キャプチャー | ドライブ | 備考 | ||||
---|---|---|---|---|---|---|---|
出力キャプチャー レジスター | OEキャプチャー レジスター | 入力キャプチャー レジスター | 出力アップデート レジスター | OEアップデート レジスター | 入力アップデート レジスター | ||
ユーザーI/Oピン | OUTJ | OEJ | PIN_IN | PIN_OUT | PIN_OE | INJ | — |
専用入力 | 0 | 1 | PIN_IN | N.C. | N.C. | N.C. | PIN_INはコントロールロジックへ駆動します |
専用双方向1 | 0 | OEJ | PIN_IN | N.C. | N.C. | N.C. | PIN_INはコントロールロジックへ駆動します |
専用出力2 | OUTJ | 0 | 0 | N.C. | N.C. | N.C. | OUTJは出力バッファーへ駆動 |
IEEE Std. 1149.6バウンダリー・スキャン・レジスター
インテル®® Stratix® 10 デバイスのHSSIトランスミッター ( GXB_TX[p,n] ) とレシーバー/入力クロック・バッファー ( GXB_RX[p,n] ) / ( REFCLK[p,n] ) のBSCは、I/Oピン用のBSCとは異なります。
BST動作コントロール
デバイスID
デバイスIDは、各 インテル®® Stratix® 10デバイスに固有です。このコードを使用して、JTAGチェイン内のデバイスを識別します。
製品ライン | デバイスID (32ビット) | |||
---|---|---|---|---|
バージョン (4ビット) | パートナンバー (16ビット) | メーカーID (11ビット) | LSB (1ビット) | |
1SG040H | 0001 | 0011 0010 0010 0001 | 000 0110 1110 | 1 |
1SG065H | 0000 | 0011 0010 0010 0001 | 000 0110 1110 | 1 |
1SG085H | 0001 | 0011 0010 0010 0010 | 000 0110 1110 | 1 |
1SG110H | 0000 | 0011 0010 0010 0010 | 000 0110 1110 | 1 |
1SG165H (ES) | 0011 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG210H (ES) | 0010 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG250L (ES) | 0001 | 0011 0010 0001 0101 | 000 0110 1110 | 1 |
1SG250H (ES) | 0001 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG280L (ES) | 0000 | 0011 0010 0001 0101 | 000 0110 1110 | 1 |
1SG280H (ES) | 0000 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG165H | 1111 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG210H | 1110 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG250L | 1101 | 0011 0010 0001 0101 | 000 0110 1110 | 1 |
1SG250H | 1101 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG280L | 1100 | 0011 0010 0001 0101 | 000 0110 1110 | 1 |
1SG280H | 1100 | 0011 0010 0010 0101 | 000 0110 1110 | 1 |
1SG450H | 0001 | 0011 0010 0010 0111 | 000 0110 1110 | 1 |
1SG550H | 0000 | 0011 0010 0010 0111 | 000 0110 1110 | 1 |
1SX040H | 0001 | 0011 0010 0010 1001 | 000 0110 1110 | 1 |
1SX065H | 0000 | 0011 0010 0010 1001 | 000 0110 1110 | 1 |
1SX085H | 0001 | 0011 0010 0010 1010 | 000 0110 1110 | 1 |
1SX110H | 0000 | 0011 0010 0010 1010 | 000 0110 1110 | 1 |
1SX165H (ES) | 0011 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX210H (ES) | 0010 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX250L (ES) | 0001 | 0011 0010 0001 1101 | 000 0110 1110 | 1 |
1SX250H (ES) | 0001 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX280L (ES) | 0000 | 0011 0010 0001 1101 | 000 0110 1110 | 1 |
1SX280H (ES) | 0000 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX165H | 1111 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX210H | 1110 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX250L | 1101 | 0011 0010 0001 1101 | 000 0110 1110 | 1 |
1SX250H | 1101 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX280L | 1100 | 0011 0010 0001 1101 | 000 0110 1110 | 1 |
1SX280H | 1100 | 0011 0010 0010 1101 | 000 0110 1110 | 1 |
1SX450H | 0001 | 0011 0010 0010 1111 | 000 0110 1110 | 1 |
1SX550H | 0000 | 0011 0010 0010 1111 | 000 0110 1110 | 1 |
1ST165E | 0001 | 0011 0010 0011 0100 | 000 0110 1110 | 1 |
1ST210E | 0000 | 0011 0010 0011 0100 | 000 0110 1110 | 1 |
1ST250E (ES) | 0001 | 0011 0010 0011 1101 | 000 0110 1110 | 1 |
1ST280E (ES) | 0000 | 0011 0010 0011 1101 | 000 0110 1110 | 1 |
1ST250E | 1101 | 0011 0010 0011 1101 | 000 0110 1110 | 1 |
1ST280E | 1100 | 0011 0010 0011 1101 | 000 0110 1110 | 1 |
1SM110H | 0000 | 0011 0010 1010 1010 | 000 0110 1110 | 1 |
1SM165H | 0001 | 0011 0010 1010 0100 | 000 0110 1110 | 1 |
1SM165E | 0001 | 0011 0010 1011 0100 | 000 0110 1110 | 1 |
1SM210H | 0000 | 0011 0010 1010 0100 | 000 0110 1110 | 1 |
1SM210E | 0000 | 0011 0010 1011 0100 | 000 0110 1110 | 1 |
サポートされるJTAG命令
JTAG命令 | 命令コード | 説明 |
---|---|---|
SAMPLE 3/PRELOAD | 00 0000 0101 |
|
EXTEST | 00 0000 1111 |
|
BYPASS | 11 1111 1111 |
|
USERCODE | 00 0000 0111 | 32 ビットのUSERCODEレジスターを選択してTDIピンとTDOピンの間に配置し、USERCODEがTDOに順にシフトアウトできるようにします。 |
IDCODE | 00 0000 0110 |
|
HIGHZ | 00 0000 1011 |
|
CLAMP | 00 0000 1010 |
|
EXTEST_PULSE | 00 1000 1111 | 以下の3つの出力遷移を生成することにより、ACカップリングされているトランスミッターとレシーバーとのボードレベルの接続チェックをイネーブルします。
|
EXTEST_TRAIN | 00 0100 1111 | TAPコントローラーがRUN_TEST/IDLEステートにある限り出力がTCKの立ち下がりエッジでトグルし続けていることを除いて、 EXTEST_PULSE 命令と同じ動作をします。 |
COMMAND | 10 0000 0001 | セキュア・デバイス・マネージャー (SDM) にJTAGホストがコマンドを送信する方法を提供します。 4 |
RESPONSE | 10 0000 0010 | SDMに送信されたコマンドへの応答をJTAGホストが受信する方法を提供します。4 |
PROGRAM | 00 0000 0010 | JTAGホストがSDMをコンフィグレーションする方法を提供します。4 |
JTAGセキュアモード
インテル®® Stratix® 10 デバイスのJTAGセキュアモードは、セキュア・デバイス・マネージャー (SDM) を介してサポートされています。
JTAG動作用のI/O電圧
IEEE Std. 1149.1モードとIEEE Std. 1149.6モードで動作する インテル®® Stratix® 10 デバイスは、TDI、TDO、TMS、TCKの4つの必須のJTAG ピンを使用します。
TCKピンは内蔵のウイークプルダウン抵抗を備えており、これに対してTDIピンとTMSピンは内蔵のウイークプルアップ抵抗を備えています。VCCIO_SDM は、TDI、TDO、TMS、およびTCKピンに電力を供給します。
JTAGピンは、1.8 VのTTL/CMOS I/O規格をサポートします。
TDO出力バッファー条件 | 電圧 (V) |
---|---|
VCCIO_SDM | 1.8 |
JTAGバウンダリー・スキャン・テストの実行
コンフィグレーションを中断することなく、BYPASS、IDCODE、SAMPLE JTAG 命令をコンフィグレーションの前、後あるいはコンフィグレーション中に発行することができます。
BSTを実行する目的でコンフィグレーションを中断するには、nCONFIGをLowに保持するか、JTAGを使用して次のシーケンスを発行します。つまり、0x201 (COMMAND) でIRスキャンを更新し、次に34'h3_0000_0000と35'h1_0000_0005で2個の34ビットDRスキャンを更新します。設定が中断されると、他のJTAG命令を発行してBSTを実行できます。コンフィグレーションが中断されると、BSTを実行するよう他のJTAG命令が発行可能となります。
インテル®® Stratix® 10デバイスのJTAG コンフィグレーションを行うボードをデザインする場合には、専用コンフィグレーション・ピンの接続について考慮する必要があります。
BST回路のイネーブルとディスエーブル
IEEE Std. 1149.1 BST回路は、 インテル®® Stratix® 10 デバイスのパワーアップ後にイネーブルされます。
必要ではないときに不用意にIEEE Std. 1149.1回路を有効にしないように、以下の表にリストしているピン接続によって常に回路を無効にしておきます。
JTAG ピン5 | 無効にするための接続 |
---|---|
TMS | VCCIO_SDM |
TCK | GND |
TDI | VCCIO_SDM |
TDO | 解放のまま |
IEEE Std. 1149.1 BSTのガイドライン
IEEE Std. 1149.1デバイスでBSTを実行する際には、以下のガイドラインを考慮します。
-
SHIFT_IR
ステートで、インストラクション・レジスターからシフトアウトされる最初の2ビットが1でなく、0の場合、TAPコントローラーが適切なステートに達しなかったことを意味します。この問題を解決するには、以下の手順のいずれかを実行します。
- TAPコントローラーが適切に SHIFT_IR ステートに入ったことを確認します。TAPコントローラーを SHIFT_IR ステートに進めるには、TEST-LOGIC-RESETステートに戻り、 01100 コードをTMSピンに送ります。
- デバイスのVCC、GND、JTAGならびに専用コンフィグレーション・ピンとの接続を確認します。
- 最初のEXTESTテストサイクルの前に SAMPLE/PRELOAD テストサイクルを実行して、EXTESTモードに入る時点でデバイスピンに確実に既知のデータを存在させます。OEJアップデート・レジスターに0が含まれていれば、OUTJアップデート・レジスターのデータが出力駆動されます。システムの他のデバイスとの衝突を避けるためには、ステートが既知であり、精確でなければいけません。
- in-circuitリコンフィグレーション中のEXTESTはサポートされていないため、in-circuitリコンフィグレーション時にEXTESTテストは実行しないでください。
- コンフィグレーション後は、差動ピンペアのいずれのピンもテストすることができません。コンフィグレーション後にBSTを実行するには、これらの差動ピンペアに対応するBSCグループを内部セルとして編集、再定義します。
インテル® Stratix 10 JTAGバウンダリー・スキャン・テスト・ユーザーガイドの改訂履歴
日付 | バージョン | 変更内容 |
---|---|---|
2017年11月 | 2017.11.06 | デバイスIDコードを更新しました。 |
2017年5月 | 2017.05.08 | デバイスIDコードを更新しました。 |
2016年10月 | 2016.10.31 | 初版 |