ultrascale architecture soft error mitigation …ultrascale architecture sem controller v3.1 6 pg187...

173
UltraScale Architecture Soft Error Mitigation Controller v3.1 LogiCORE IP 製品ガ イ ド Vivado Design Suite PG187 2019 5 22 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。

Upload: others

Post on 07-Feb-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

UltraScale Architecture Soft Error Mitigation Controller v3.1LogiCORE IP 製品ガイド

Vivado Design Suite

PG187 2019 年 5 月 22 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

UltraScale Architecture SEM Controller v3.1 2

PG187 2019 年 5 月 22 日 japan.xilinx.com

目次

IP の概要

第 1章: 概要メモ リ タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

エラー軽減のアプローチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

信頼性の推定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

SEM IP の導入に関する主な考慮事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

パーシャル リ コンフ ィギュレーシ ョ ンのサポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

暗号化と認証のサポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

サポート されていない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 2章: 製品仕様機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

パフォーマンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

リ ソース使用状況 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

第 3章: コアを使用するデザイン一般的なデザイン ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

構造オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

コンフ ィギュレーシ ョ ン メモ リのマスク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

第 4章: デザイン  フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

統合およびバリデーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

第 5章: サンプル デザイン機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

インプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

外部メモ リ プログラ ミ ング ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

UltraScale Architecture SEM Controller v3.1 3

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 6章: テストベンチ

付録 A: 検証、 互換性、 相互運用性検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

バリデーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

適合性検査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

付録 B: アップグレードVivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

付録 C: 評価ボードを使用した SEM Controller の動作デモビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

ハードウェアと ソフ ト ウェアのセッ ト アップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

付録 D: UART ログの例初期化レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

ステータス レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

挿入コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

監視ステートへの移行コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

アイ ドル ステートへの移行コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

検出ステートへの移行コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

ソフ ト ウェア リセッ ト コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

フレーム アドレス変換コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Query コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

外部メモ リ読み出し (Xmem) コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Peek コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

監視ステートのエラー レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

検出ステートのエラー レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

診断スキャン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

付録 E: エラー挿入のガイダンス

付録 F: IP デザインのチェ ックリス ト

付録 G: SPI バス タイ ミング バジェ ッ トSPI バス ク ロ ッ クの波形およびタイ ミ ング バジェッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

SPI バス送信の波形およびタイ ミ ング バジェッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

SPI バス受信の波形およびタイ ミ ング バジェッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

SPI バス タイ ミ ング バジェッ トのま とめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

付録 H: モニター インターフェイスのシグナリングとプロ ト コルモノ リ シッ クおよび UltraScale+ SSI デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

UltraScale SSI デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

付録 I: フェ ッチ インターフェイスのシグナリングとプロ ト コル

付録 J: デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

デバッグ ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

ハードウェア デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

インターフェイスのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

UltraScale Architecture SEM Controller v3.1 4

PG187 2019 年 5 月 22 日 japan.xilinx.com

その他のエラー挿入オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

ク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

デバイスへの依存性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

デザインのプロパティおよび制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

付録 K: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

UltraScale Architecture SEM Controller v3.1 5

PG187 2019 年 5 月 22 日 japan.xilinx.com Production 製品仕様

はじめにLogiCORE™ IP UltraScale™ Architecture Soft Error Mitigation (SEM) Controller (以下、 SEM Controller またはコン ト ローラー ) は、 ザイ リ ンクス FPGA のコンフ ィギュレーシ ョ ン メモ リで発生したソフ ト エラーを検出および訂正するための事前検証済みソ リ ューシ ョ ンで、 自動的に設定されます。ソフ ト エラーとは、 ステート エレ メン トに格納した値が電離放射線によって変化してしま う こ とをいいます。

SEM Controller はソフ ト エラーを防ぐのではなく、 ソフ ト エラーのシステム レベルでの影響をよ り適切に管理するための手段を提供します。 これらイベン ト を適切に管理するこ とで信頼性と可用性が向上し、 システム メ ンテナンス とダウンタイムのコス ト を削減できます。

機能• KU040 において標準的な検出レイテンシは 13ms。

• FPGA 内蔵のエラー検出機能を完全に利用しつつさらに発展させたビルト イン シ リ コン プリ ミ ティブを統合。

• 用途に応じた 6 つのモード

° 軽減 + テス ト (Mitigation and Testing) モード

° 軽減 (Mitigation only) モード

° 検出 + テス ト (Detect and Testing) モード

° 検出 (Detect only) モード

° エミ ュレーシ ョ ン (Emulation) モード

° モニター (Monitoring) モード

• 隣接フレームにまたがる複数ビッ トエラーを高速に訂正する ECC (エラー訂正符号) アルゴ リズム ベースのエラー訂正機能 (オプシ ョ ン)。

• ザイ リ ンクスのエッセンシャル ビッ ト テク ノ ロジを利用したオプシ ョ ンのエラー分類機能によ り、 ソフ ト エラーがユーザー デザインの機能に影響したかど うかを判定。

° デザインの動作に影響しないエラーについては、 動作を中断して リ カバリ を実行する必要がなくなるため、 アップタイムが向上。

° 実効 FIT (Failures In Time) が改善。

• オプシ ョ ンのエラー挿入および便利なデバッグ機能によ り、 SEM Controller のアプリ ケーシ ョ ンの評価をサポート。

• ICAP (内部コンフ ィギュレーシ ョ ン アクセス ポート ) プリ ミ ティブの共有を容易にする ICAP アービ ト レーシ ョン インターフェイス。

• コンフ ィギュレーシ ョ ン メモ リ を継続的にスキャンして、 初に検出された ECC または CRC (巡回冗長検査) エラーを報告する機能 (訂正なし ) (検出スキャン)。

• コンフ ィギュレーシ ョ ン メモ リに対して診断スキャンを実行し、 フレーム レベル ECC によって検出されたすべてのエラーを報告する機能 (診断スキャン)。

• SEM Controller の使用および統合を支援するための 「IP デザインのチェッ ク リ ス ト 」 あ り。

IP の概要

この LogiCORE IP について

コアの概要

サポート される

デバイス ファ ミ リ (1)

UltraScale+™ (1)、 UltraScale

サポート される

ユーザー インターフェイス

RS-232、 SPI

リ ソース 表 2-12 ~表 2-13 を参照

コアに含まれるもの

デザイン ファイル 暗号化された RTL (Register Transfer Level)

サンプル デザイン Verilog

テス トベンチ N/A

制約ファイル ザイ リ ンクス デザイン制約ファ イル (.xdc)

シ ミ ュレーシ ョ ン モデル

N/A

サポート される

ソフ ト ウェア ド ラ イバー

N/A

テスト済みデザイン  フロー (2)

デザイン入力 Vivado® Design Suite

シ ミ ュレーシ ョ ン N/A

合成 Vivado 合成

サポート

ザイ リ ンクス サポート ウェブ ページで提供

注記:1. サポート されているデバイスの一覧は、 AR 63609 を参照してく

ださい。

2. サポート されているツールのバージ ョ ンは、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびラ

イセンス』 を参照してください。

UltraScale Architecture SEM Controller v3.1 6

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1章

概要ほとんどのシ リ コン デバイスは、 電離放射線から望まし くない影響を受ける可能性があ り ます。 1 回のイベン トで生じる望まし くない影響を、 シングル イベン ト効果 (SEE) と総称します。 ほとんどの場合、 このイベン トによってシ リ コン デバイスが恒久的な損傷を受けるこ とはあ り ません。 このよ うに、 デバイスに恒久的な損傷を与えない SEE をソフ ト エラーと呼びます。 ただしソフ ト エラーによって信頼性が低下する可能性があ り ます。

ザイ リ ンクスのデバイスはソフ ト エラーの影響を受けにくいよ うに設計されています。 ただし、 商業性などを考慮した現実的な制約の中でソフ ト エラーを完全になくすのは不可能であるこ と もザイ リ ンクスは認識しています。このため、 ザイ リ ンクスの多くのデバイス ファ ミ リはソフ ト エラーの検出/訂正機能を内蔵しています。

ソフ ト エラーは多くのアプリ ケーシ ョ ンで無視できます。 特に高い信頼性が要求されるアプリ ケーシ ョ ンでは、UltraScale™ Architecture SEM Controller を使用するこ とでこの要求を満たすこ とができます。

SEM コン ト ローラーを使用した方がよいアプリ ケーシ ョ ンでは、 付録 F の 「IP デザインのチェッ ク リ ス ト 」 に記載されたガイダンスおよび考慮事項に従って SEM Controller を使用および統合してください。

メモリ  タイプ

ソフ ト エラーが発生する と、 1 ビッ ト または複数ビッ トのメモ リ内容が破損します。 ソフ ト エラーがデバイスのコンフ ィギュレーシ ョ ン メモ リで発生する とデザインの動作が影響を受け、 デザインのメモ リ素子で発生する とデザインのステートが影響を受けます。 デバイスには、 主に次の 4 種類のメモ リがあ り ます。

• コンフ ィギュレーシ ョ ン メモ リ – このス ト レージ素子を使用して、 デバイスに読み込まれるデザインの機能を設定します。 これには、 ファンクシ ョ ン ブロ ッ クの動作および接続がそれぞれ含まれます。 このメモ リはデバイス全体に物理的に分散しており、 デバイス内で もビッ ト数の多いメモ リです。 ただし、 デバイスに読み込まれるデザインの実際の動作に影響するエッセンシャル ビッ トは全体のご く一部です。

• ブロ ッ ク メモ リ – デザイン ステートの格納に使用する大容量のス ト レージ素子です。 名前が示すよ うに、 これらのビッ トは物理的なブロ ッ クにま とめられており、 デバイス全体にいくつかのブロッ クが分散しています。ブロ ッ ク メモ リはデバイス内で 2 番目にビッ ト数の多いメモ リです。

• 分散メモ リ – デザイン ステートの格納に使用する中容量のス ト レージ素子です。 分散メモ リは一部のコンフ ィギャラブル ロジッ ク ブロ ッ ク (CLB) に存在し、 デバイス全体に分散しています。 分散メモ リはデバイス内で 3 番目にビッ ト数の多いメモ リです。

• フ リ ップフロ ップ – デザイン ステートの格納に使用する小容量のス ト レージ素子です。 このメモ リはすべての CLB に存在し、 デバイス全体に分散しています。 フ リ ップフロ ップはデバイス内で 4 番目にビッ ト数の多いメモ リです。

これ以外のメモ リ と して、 内部デバイス制御レジスタおよびステート エレ メン トがあ り ますが、 これらのビッ ト数はご くわずかです。 これらのメモ リ領域でソフ ト エラーが発生する と、 局所的またはデバイス全体に障害が起こるこ とがあ り、 これをシングル イベン ト ファンクシ ョナル インタラプ ト (SEFI) と呼びます。 これらのメモ リはビッ ト数が少ないため、 こ こでは SEFI イベン トの発生確率は無視できるものと見なします。 また、 ほとんど発生するこ とのないこれらのイベン トには SEM Controller は対処しません。

UltraScale Architecture SEM Controller v3.1 7

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

エラー軽減のアプローチ

ブロ ッ ク メモ リ、 分散メモ リ、 フ リ ップフロ ップに格納したデザイン ステートに対するソフ ト エラーは、 エラー検出/訂正コードや冗長性などの標準的な手法を用いてデザイン自体で軽減策を実行できます。 未使用のデザイン ステート リ ソース、 すなわちデバイスに物理的に存在していてもデザインが使用していないリ ソースで発生したソフト エラーは無視されます。 特に信頼性が重視されるデザインではリ スク エリ アを評価し、 保証内容に応じてデザイン ステートに対するエラー軽減手法を採用する必要があ り ます。

コンフ ィギュレーシ ョ ン メモ リに格納されたデザイン機能に対するソフ ト エラーは、 エラー検出および訂正コードを使用して軽減を図り ます。

コンフ ィギュレーシ ョ ン メモ リは幅の広いスタティ ッ ク RAM のよ うにフレームの配列と して構成されます。 各フレームは多くのデバイス ファ ミ リで ECC によって保護されており、 フレームの配列全体はすべてのデバイス ファ ミリで CRC によって保護されています。 これら 2 つの手法は補完的な関係にあ り、 CRC はエラー検出性能が非常に高く、 ECC はエラー位置を高精度で特定します。

SEM Controller はデバイス内蔵ロジッ クの強力な機能をさらに発展させ、 コンフ ィギュレーシ ョ ン メモ リのエラーをエッセンシャルと非エッセンシャルに分類するオプシ ョ ン機能を備えています。 この機能は、 実際のデザインの動作に影響するエッセンシャル ビッ トがコンフ ィギュレーシ ョ ン メモ リ ビッ ト全体のご く一部であるこ とを利用しています。

エラー分類を無効にした場合、 コンフ ィギュレーシ ョ ン メモ リのすべてのエラーをエッセンシャルと見なす必要があ り ます。 エラー分類を有効にする とほとんどのエラーが非エッセンシャルと判定されるため、 実害のないエラーに対する警告を防ぐこ とができ、 システム レベルでの動作中断を伴うエラー軽減策の実行頻度が低下します。

また、 SEM Controller はデバイス内蔵の訂正機能を拡張してエラー検出を高速化する と共に、 オプシ ョ ンで複数ビット エラーの処理にも対応します。

信頼性の推定

システム信頼性に関する仕様を決定するには、 まずシステム デザイン全体のうち特に重要なセクシ ョ ンを特定し、セクシ ョ ンごとに必要な信頼性の値を決定していく必要があ り ます。 一般に、 信頼性の要件は FIT (Failures In Time) で表します。 これは、 109 時間 (約 114,155 年) あたりに予想されるデザインの故障回数です。

同じデザインを複数出荷する場合、 いずれか 1 つのデザインがソフ ト エラーの影響を受ける確率は出荷台数に比例して大き くな り ます。 たとえばあるデザインを製品と して 1,000 個出荷した場合、 出荷全数の公称 FIT は 1,000 倍になり ます。 出荷全数の公称 FIT が大き くなる と保守/メ ンテナンスの負担が増大するこ とが考えられます。

出荷全数の公称 FIT は、 個々のデザインが影響を受ける確率とは異なり ます。 また、 ある特定のデザインで 2 回目のエラーが発生する確率は、 出荷全数の FIT ではなくデザイン個体の FIT によって決ま り ます。 これは、 個々のアプリ ケーシ ョ ンに適したソフ ト エラー軽減方針を検討する際に考慮すべき重要な点です。

ソフ ト エラーに関する FIT と製品の推定耐用年数に関連する FIT は区別して考える必要があ り ます。 後者はシステムの部品の一部交換または物理的な修理が必要になる故障を想定したものです。

ザイ リ ンクス デバイスの FIT データは 『ザイ リ ンクス デバイス信頼性レポート 』 (UG116) [参照 1] に記載しています。 このデータは、 全体的にソフ ト エラーがほとんど発生しないこ とを示しています。

ヒン ト : 故障率は非常に低いため、 ほとんどのデザインでソフ ト エラー軽減策は必要あ り ません。

フ リ ップフロ ップは数が少なく FIT の値も非常に小さいため、 デザイン全体の FIT にはほとんど影響しません。とはいえ、 フ リ ップフロ ップに格納されたデザイン ステート を保護するこ との重要性は変わり ません。 フ リ ップフロ ップに格納されたステートがデザインの動作にとってきわめて重要な場合、 ソフ ト エラーを検出および訂正してエラーから回復するためのロジッ クをアプリ ケーシ ョ ンに適した形でデザインに実装する必要があ り ます。

UltraScale Architecture SEM Controller v3.1 8

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

分散メモ リやブロ ッ ク メモ リ を多用するデザインでは、 これら リ ソースがデザイン全体の FIT に大き く影響する可能性があ り ます。 前述のとおり、 デザインでソフ ト エラー軽減策をと るこ とで、 デザイン全体の FIT への影響を大幅に抑えるこ とができます。 たとえばブロッ ク メモ リ リ ソースにはエラー検出/訂正回路が内蔵されており、 ブロ ック メモ リのコンフ ィギュレーシ ョ ンによってはこの軽減機能を利用できます。 プログラマブル ロジッ ク リ ソースを使用したソフ ト エラー軽減手法は、 コンフ ィギュレーシ ョ ンに依存せずすべてのブロ ッ ク メモ リ と分散メモ リに使用できます。

コンフ ィギュレーシ ョ ン メモ リはデザイン全体の FIT に大き く影響します。 エラー分類機能を使用しない場合、 コンフ ィギュレーシ ョ ン メモ リで発生したソフ ト エラーはすべてエッセンシャルと見なす必要があ り ます。 その場合、 コンフ ィギュレーシ ョ ン メモ リによる FIT への影響がその他の要因による影響よ り圧倒的に大き くな り ます。

エラー分類機能を使用する と ソフ ト エラーのほとんどを故障と見なす必要がなくなるため、 デザイン全体の FIT への影響を抑えるこ とができます。 実害のないソフ ト エラーは、 動作を中断せず訂正できます。

高レベルの信頼性が要求されるデザインでは、 コンフ ィギュレーシ ョ ン メモ リで発生したソフ ト エラーの分類が必須です。 SEM Controller はこの機能を提供します。

機能概要

SEM Controller は、 デザインの要件に応じて 6 種類のモードのいずれかで生成できます。

• 軽減 + テス ト (Mitigation and Testing) モード

• 軽減 (Mitigation only) モード

• 検出 + テス ト (Detect and Testing) モード

• 検出 (Detect only) モード

• エミ ュレーシ ョ ン (Emulation) モード

• モニター (Monitoring) モード

軽減 (+ テス ト ) モードではエラー検出、 エラー訂正、 およびオプシ ョ ンでエラー分類が可能です。 軽減モードではエラー挿入はできません。

検出 (+ テス ト ) モードではエラー検出が可能で、 エラーの訂正と分類はできません。 検出モードではエラー挿入はできません。

残りの 2 つのモード (エミ ュレーシ ョ ン モード とモニター モード ) では、シングル イベン ト アップセッ ト (SEU) イベン トが発生した場合のシステム動作を評価および観察できます。 これらのモードには、 エラー検出、 エラー訂正、およびエラー分類の機能はあ り ません。 モニター モードではエラーは挿入できません。

いずれのモードでも、 SEM Controller はまず初期化を実行します。 この初期化によ り、 FPGA がユーザー モードになった後、 FPGA 内蔵のソフ ト エラー検出機能が既知のステートに移行します。 この初期化後の SEM Controller の動作は、 選択したモードによって異なり ます。 軽減 (+ テス ト ) モードおよび検出 (+ テス ト ) モードの場合、 SEM Controller は内蔵のソフ ト エラー検出ステータスを監視します。 エ ミ ュレーシ ョ ンおよびモニター モードの場合はアイ ドル ステートに移行し、 コマンドまたはモニター インターフェイスからのコマンド入力を待ちます。

軽減 (+ テス ト ) モードで ECC または CRC エラーを検出する と、 SEM Controller は状況を評価してエラーの発生したコンフ ィギュレーシ ョ ン メモ リ位置を特定します。

メモ リ位置を特定できた場合、 SEM Controller はソフ ト エラーを訂正します。 訂正にはアクティブ パーシャル リ コンフ ィギュレーシ ョ ンを使用し、 Read-Modify-Write によってコンフ ィギュレーシ ョ ン メモ リ を部分的に訂正します。 この方法は、 アルゴ リズムを使用して訂正の必要なエラーを特定します。

SEM Controller には、 ルッ クアップ テーブルを使用してソフ ト エラーがエッセンシャルかそ うでないかを分類するオプシ ョ ン機能があ り ます。 エラー分類の実行中、 必要に応じて情報がフェッチされます。 このデータもインプリメンテーシ ョ ン ツールによって提供され、 SEM Controller の外部に格納されます。

UltraScale Architecture SEM Controller v3.1 9

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

ヒン ト : そのまま使用可能なソ リ ューシ ョ ンでエラー分類機能を利用するには、 外部 SPI フラ ッシュにエッセンシャル ビッ ト データを格納する必要があ り ますが、 分類機能は IP 外部に実装するこ と もできます。 この場合、 エッセンシャル ビッ ト データをシステム メモ リに格納し、 SEM Controller のモニター /UART インターフェイスで報告されるエラー位置に基づいてルッ クアップを実行してください。

検出 (+ テス ト ) モードで ECC または CRC エラーを検出する と、 SEM Controller は状況を評価してエラーの発生したコンフ ィギュレーシ ョ ン メモ リ位置を特定し、 可能であればそのメモ リ位置を報告します。 エラー検出レポートの出力が終わる と、 SEM Controller はアイ ドル ステートに遷移します。

軽減 + テス ト 、 検出 + テス ト、 およびエミ ュレーシ ョ ン モードでは、 SEM Controller がアイ ドル ステートの場合にユーザーがコマンドを入力してコンフ ィギュレーシ ョ ン メモ リにエラーを挿入できます。 軽減 + テス ト モードおよび検出 + テス ト モードでこの機能を使用する と、 よ り大規模なシステム デザインに統合した SEM Controller をテストするのに役立ちます。

エミ ュレーシ ョ ン モードでこの機能を使用する と、 システム デザインに対する SEU イベン トの影響を評価するのに役立ちます。 システム検証/バリデーシ ョ ン エンジニアはエラー挿入機能を使用してテス ト ケースを構築し、 システム全体がソフ ト エラー イベン トに想定どおりの応答を示すかど うかを確認できます。

エラー挿入以外にも、 アイ ドル ステートではフレーム読み出し、 コンフ ィギュレーシ ョ ン レジスタ読み出し、 外部メモ リ読み出し、 フレーム アドレス変換などテス トやデバッグに役立つ機能を実行できます。

これ以外に、 検出スキャンと診断スキャンという 2 種類のエラー検出機能があ り ます。 これらのコマンドは、 どのモードでもアイ ドル ステート時に SEM Controller に発行できます。

• 検出スキャン – このコマンドを実行する と SEM Controller は ECC または CRC エラーを検出するまでコンフ ィギュレーシ ョ ン メモ リのスキャンを継続します。 エラーを検出する と、 SEM Controller はエラー レポート を出力してアイ ドル ステートに移行します。 軽減 (+ テス ト ) モード とは異なり、 この機能にはエラー訂正は含まれません。

• 診断スキャン – このコマンドを実行する と SEM Controller はコンフ ィギュレーシ ョ ン メモ リ を 1 回スキャンして、 検出されたすべての ECC エラーを報告します。 1 回のスキャンが完了する と、 SEM Controller はアイ ドル ステートに戻り ます。 この機能で使用するエラー検出メカニズムは、 デバイス内蔵のエラー検出機能を使用しません。 このタイプのスキャンでは、 エラー訂正は実行されません。

ほとんどの場合、 SEM Controller は軽減 + テス ト モードでデフォルトのコンフ ィギュレーシ ョ ンのまま使用します。この場合、 SEU イベン トの検出と訂正に加え、 エラー挿入機能も利用でき、 アイ ドル ステートでその他の便利な機能をすべて利用できます。 量産段階で軽減モードに変更して、 エラー挿入機能を無効にするこ と もできます。

その他のモードおよび機能は、 ユーザー制御によるものなど高度な SEU 軽減ソ リ ューシ ョ ンを必要とするシステム向けに用意されています。

ユーザー制御による軽減ソ リ ューシ ョ ンを必要とする軽減ス ト ラテジの一例と して、 訂正は行わずエラー ログのみを記録する という ものがあ り ます。 このよ うな軽減ス ト ラテジは、 SEM Controller を検出モードでコンフ ィギュレーシ ョ ンして実装できます。

たとえば SEM Controller を検出モードでコンフ ィギュレーシ ョ ンして使用する と、 コン ト ローラーは初期化完了後すぐに検出スキャンを自動で実行します。 エラーが検出された場合、 そのエラーに対してユーザーはデバイスのリ コンフ ィギュレーシ ョ ンやロジッ クの リセッ ト など任意の措置をと るこ とができます。

初のエラーまたは 初の訂正不能エラーが検出された時点でデバイスに対する診断スキャンを周期的に実行し、デバイスに累積したすべての ECC エラーのログを記録します。 ログに記録された検出済みフレーム レベル ECC エラーを使用して、 後でオフライン ポス トプロセスを実行できます。

重要: 診断スキャン機能は軽減用には設計されていないため、 リ アルタイムの軽減には使用しないでください。 コンフ ィギュレーシ ョ ン メモ リでエラーが発生したまま動作させた場合、 ザイ リ ンクスは FPGA の機能を保証しません。この機能は検出モードや軽減モードに比べエラー検出レイテンシがはるかに大きいため、 診断目的の使用にとどめてください。

UltraScale Architecture SEM Controller v3.1 10

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

アプリケーシ ョ ン

SEM Controller は自律動作が可能ですが、 ほとんどのアプリケーショ ンではこのソ リ ューシ ョ ンをアプリケーショ ン レベルの監視機能と組み合わせて使用します。 この監視機能は SEM Controller からのイベン ト報告を監視し、 デバイスのリ コンフィギュレーショ ンやアプリケーシ ョ ンのリセッ トなど、 何らかの追加措置が必要かど うかを判断します。

システムを設計する際は、 各デザインの信頼性要件、 および各種情報に基づいて判断を下すシステム レベルの監視機能を慎重に検討してください。

そもそも、 エラー軽減ソ リ ューシ ョ ンが必要なのかを検討します。 SEM Controller が必要な場合は、 どの機能を使用するかを検討します。

アプ リ ケーシ ョ ン要件を考慮して SEM Controller が 善の選択肢である と判断した場合、外部デバイス との接続に使用するシステム レベル デザインのヘルパー ブロ ッ クを含め、 SEM Controller を提供された状態のままで使用することを推奨します。 ただし必要であれば、 これらのインターフェイスをアプリ ケーシ ョ ンに合わせて変更するこ と も可能です。

推奨: ザイ リ ンクスは、 SEM IP コアをなるべく早い段階で (理想的にはプロジェク トの 初から ) 統合するこ とを推奨しています。 詳細は、 102 ページの 「統合およびバリデーシ ョ ン」 を参照してください。

SEM IP の導入に関する主な考慮事項

このセクシ ョ ンでは、 出荷後の製品におけるソフ ト エラー軽減の目標達成に SEM IP が役立つかど うか、 そしてソフト エラー発生時にどのよ うな軽減アプローチを選択すべきかを評価する方法を示します。 以下の説明では、 こ こまでのセクシ ョ ンで取り上げた基本概念を使用します。

主に考慮すべき事項は、 次の 2 つです。

• 個々のデザインについて、 ソフ ト エラー軽減に関する要件を理解する。

• ソフ ト エラー発生時にどのよ うな措置を実行する必要があるか。

ソフ ト  エラー軽減に関する要件を理解する

出荷後の製品においてソフ ト エラーの影響が懸念される場合、 通常はシステム デザイン内のコンポーネン ト ごとに FIT バジェッ トが必要となり ます。 ザイ リ ンクス FPGA の FIT を計算するには、 SEU ラウンジで提供される SEU FIT レート エスティ メーターを使用します。 FIT レート エスティ メーターの使用方法は、 XAPP472 を参照してください。

出荷全数に対する FIT を計算するには、 少なく と も次の情報が必要です。

• ターゲッ ト デバイス

• デバイスの予想出荷数

SEU FIT レート エスティ メーターは、 デバイスの推定 FIT レートのほか、 ある一定期間内に予想されるソフ ト エラーの数も提示します。

インプ リ メンテーシ ョ ン後のデザインでは、 よ り正確に FIT を見積もるこ とができます。 よ り正確な見積も りには、使用するブロ ッ ク RAM の数、 ソフ ト エラーの検出と訂正にブロ ッ ク RAM の ECC 機能を使用するかど うか、 およびデザインに含まれるエッセンシャル ビッ トの割合を入力する必要があ り ます。 エッセンシャル ビッ ト とは、FPGA の機能を定義するために使用するコンフ ィギュレーシ ョ ン RAM のビッ ト をいいます。 ソフ ト エラーによってエッセンシャル ビッ トが意図せず変化した場合、 FPGA の機能が正し く動作しなくなる可能性があ り ます。

UltraScale Architecture SEM Controller v3.1 11

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

これに対し、 エッセンシャル ビッ ト以外のビッ トが変化しても、 機能には影響しません。 デザインに含まれるエッセンシャル ビッ トの割合 (%) は、 次の手順で調べるこ とができます。

1. Vivado で次のプロパティを設定します。

set_property bitstream.seu.essentialbits yes [current_design]

2. デザインのビッ ト ス ト リームを再生成します。

3. エッセンシャル ビッ トの割合は Vivado Tcl コンソールに表示され、 ビッ ト ス ト リームおよびエッセンシャル ビッ ト データの生成時に Vivado ログにも記録されます。 次に例を示します。

Writing bitstream ./sem_ultrap_v3_1_example.bit...Creating bitstream...Writing bitstream ./sem_ultrap_v3_1_example.ebc...Creating essential bits data...This design has 707717 essential bits out of 143015456 total (0.49%).

FIT の見積も りが完了したら、 出荷全数に対する FIT の要件が満たされているかど うかを確認する必要があ り ます。FIT を軽減するには、 その他の設計アプローチの導入が必要になるこ と もあ り ます。

FIT の目標値がないと、 SEM IP を使用するこ とにメ リ ッ トがあるかど うかを含め、 ソフ ト エラーの影響を軽減するためにどのよ うな設計変更 (およびそれに伴う ト レードオフ) が必要かが明確になり ません。 このよ うな場合は、SEM IP を統合する前に、 SEM IP を使用して得られる メ リ ッ ト を明らかにしておく こ とが重要です。

ソフ ト  エラー発生時に考慮すべき措置 

SEM IP は、 ソフ ト エラーの検出のみを実行するか、 検出して訂正するかを設定できます。 したがって、 ソフ ト エラー発生時にシステム レベルでどのよ うな措置が必要かを検討する必要があ り ます。 デザインでソフ ト エラーが検出されても何も措置を講じない場合、 デザインに SEM IP を統合するこ とに利点があるかど うかを評価し、 把握する必要があ り ます。 そのよ うなユース ケースも可能ですが、 ソフ ト エラーがデザインに与える影響を洗い出し、 このよ うな軽減アプローチでソフ ト エラー軽減の目標が達成されるかど うかを十分に理解する必要があ り ます。

推奨: デザインで SEM IP を使用する場合は、 モニター インターフェイスの出力をログに記録するこ とを強く推奨します。

図 1-1 に、 ソフ ト エラー発生時にシステムがどのよ うな措置を講じるかを判定する決定木の例を示します。 さまざまな可能性とシステム レベルの考慮事項を理解するこ とによ り、 SEM IP をデザインで使用するかど うかを決定できます。

注記: この図は一例であ り、 これ以外にも考慮事項が存在する可能性があ り ます。

UltraScale Architecture SEM Controller v3.1 12

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

X-Ref Target - Figure 1-1

図 1‐1: ソフ ト  エラー検出時の決定木

Use SEM IP with correction and essential bit classification enabled.Detects and corrects soft errors occurring in configuration RAM

Has a soft error been detected?

Soft error corrected(~99.7% of events)

Soft errorcannot be corrected(< 0.3% of events)

Upset was a non-essential bit(typically > 50% of events1)

Upset was an essential bit(typically < 50% of events1)

Error did not affect the design’s function

Consider Action Dependent on Design and System

Error was transient but present on the device for some amount of time and could affect the design’s functionality.

Possible options:Internal reset on programmable logic design (or

module)Rely on other device or design-level detection of

any functional error ratesSet alert to system and continue to operate until

at a point where reset makes sense or until outside reset commanded

Do nothing and log errorOther actions (dependent on system design)

Functional error rate for a full device is about 2 to 10% of events. This is the typical percentage of configuration memory bits that are critical to the function’s behavior.

Consider Action Dependent on Design and System

Unclear what the error affected, but since it is not corrected, it continues to be present in the device.

Possible options:Reconfigure deviceRely on other device or design-level

detection of any function error ratesSet alert to system, and continue to

operate until at a point where reconfiguration makes sense

Do nothing and log errorOther actions (dependent on system

design)

The design’s integrity maybe compromised but only in about 2% to 10% of events.

After encountering an uncorrectable event, the SEM IP will stop scanning for errors and soft errors

can accumulate on the device (as if SEM IP is not present).

Legend:1 Percentages can be replaced with actual percentage of essential bits for a design.

X20044-022218

UltraScale Architecture SEM Controller v3.1 13

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

パーシャル リ コンフ ィギュレーシ ョ ンのサポート

UltraScale デバイスでは、 SEM IP とパーシャル リ コンフ ィギュレーシ ョ ン (PR) の組み合わせはモノ リ シッ ク デバイスを使用する場合のみサポート されます。 スタ ッ ク ド シ リ コン インターコネク ト (SSI) デバイスでは、 SEM IP とパーシャル リ コンフ ィギュレーシ ョ ンの組み合わせはサポート されません。

UltraScale+ デバイスでは、SEM IP とパーシャル リ コンフ ィギュレーシ ョ ンの組み合わせはモノ リ シッ ク デバイス と SSI デバイスの両方でサポート されます。

SEM IP とパーシャル リ コンフ ィギュレーシ ョ ンを含むデザインのインプリ メンテーシ ョ ンは、 この製品ガイ ドではなく、アプ リ ケーシ ョ ン ノートで詳し く説明しています。『モノ リ シッ ク デバイスでの Soft Error Mitigation IP およびパーシャル リ コンフ ィギュレーシ ョ ンのデモ』 (XAPP1261) [参照 6] を参照してください。 XAPP1261 は SEM IP とモノ リ シッ ク デバイスの互換性についてのデモを取り上げていますが、 UltraScale+ SSI デバイスにも同じガイダンスが使用できます。

暗号化と認証のサポート

UltraScale デバイスでは、 SEM IP で AES-GCM-256 (自己認証 AES アルゴ リ ム) を使用したビッ ト ス ト リームの秘密キー暗号化がサポート されます。 RSA-2048 を使用した公開キー認証も SEM IP でサポート されます。

UltraScale+ FPGA では、 SEM IP で AES-GCM-256 (自己認証 AES アルゴ リ ム) を使用したビッ ト ス ト リームの秘密キー暗号化がサポート されます (検証済み)。 RSA-2048 を使用した公開キー認証も SEM IP でサポート されます (検証済み)。

UltraScale+ MPSoC では、 SEM IP で AES-GCM-256 (自己認証 AES アルゴ リ ム) を使用したビッ ト ス ト リームの秘密キー暗号化がサポート されます (検証済み)。 RSA-4096 を使用した公開キー認証も SEM IP でサポート されます (検証済み)。

UltraScale Architecture SEM Controller v3.1 14

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 1 章:概要

サポート されていない機能

SEM Controller は、 ブロ ッ ク メモ リ、 分散メモ リ、 またはフ リ ップフロ ップで発生したソフ ト エラーに対しては動作しません。 これら メモ リ リ ソースで発生したソフ ト エラーは、 冗長性またはエラー検出/訂正コードなどの予防手段を用いてユーザー ロジッ クで軽減策をと る必要があ り ます。

デザインで SEM Controller を使用する際は、 次の点にも注意してください。

• SEM Controller は、 FPGA シ リ コンに内蔵されたソフ ト エラー軽減機能を初期化および管理します。 これをデザインに含める場合は、 内蔵の検出機能を有効にするよ うなデザイン制約またはオプシ ョ ンを含めないでください。 たとえば POST_CRC、 POST_CONFIG_CRC、 またはこれらに関連する制約を設定しないでください。 同様に、 GLUTMASK を変更するオプシ ョ ンは指定しないでください。

• ソフ ト ウェアで計算した ECC および CRC 値はサポート されません。

• コン ト ローラーをインスタンシエート したデザインのシ ミ ュレーシ ョ ンがサポート されます。 ただしシ ミ ュレーシ ョ ンではコン ト ローラーの動作は観察できません。 コン ト ローラーを含むデザインのシ ミ ュレーシ ョ ンはコンパイルできますが、 コン ト ローラーは初期化ステートから遷移しません。 コン ト ローラーの動作はハードウェアで評価する必要があ り ます。

• コン ト ローラーは SelectMAP の persist をサポート していません。

• UltraScale アーキテクチャでは、 デバイスの各ダイまたは SLR (Super Logic Region) ごとに SEM Controller と ICAP のインスタンスが 1 つ必要です。 ICAP はそのダイの物理的に 上位の位置に配置する必要があ り ます。別のロジッ クが ICAP 経由でコンフ ィギュレーシ ョ ン メモ リにアクセスする必要がある場合、 マルチプレクサーを使用して ICAP へのアクセスを共有する必要があ り ます。 BITSTREAM.Readback_ICAP_Select および ICAP_AUTO_SWITCH は使用しないでください。 これらは ICAP を Top と Bottom の間で切り替えるための手段です。 これらを使用しても、 ほかのロジッ ク との間でマルチプレクサーを使用した共有はできません。

• コンフ ィギュレーシ ョ ン エラーが発生し、 SPI/BPI フラ ッシュからゴールデン (フォールバッ ク ) ビッ ト ス トリームが読み込まれた場合、 SEM Controller は動作しません。 AR 67645 を参照してください。

• 複数のロジッ クがコンフ ィギュレーシ ョ ン メモ リにアクセスする場合、 このメモ リへのアクセスを管理するアービ ト レーシ ョ ン ロジッ クを作成する必要があ り ます。 詳細は、 第 3 章の 「ICAP アービ ト レーシ ョ ン インターフェイス」 を参照してください。

• SEM IP の開発およびテス トでは、 宇宙放射線環境での使用は想定していません。 したがって、 このよ うな環境での使用に対するサポートや、 質問への回答は行っていません。 宇宙放射線環境における SEM IP の使用は、 使用者の自己責任となり ます。

ライセンスおよび注文情報

このザイ リ ンクス LogiCORE™ IP モジュールは、ザイ リ ンクス エンドユーザー ライセンス規約のも とザイ リ ンクス Vivado® Design Suite を使用して追加コス ト なしで提供されています。

その他のザイ リ ンクス LogiCORE IP モジュールに関する情報は、 ザイ リ ンクス IP コアのページから入手できます。その他のザイ リ ンクス LogiCORE IP モジュールおよびツールの価格や提供状況については、 ザイ リ ンクス販売代理店にお問い合わせください。

UltraScale Architecture SEM Controller v3.1 15

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2章

製品仕様この章では、LogiCORE™ IP UltraScale™ Architecture Soft Error Mitigation (SEM) Controller の仕様について説明します。コンフ ィギュレーシ ョ ン メモ リ内のソフ ト エラーを緩和するこの設定可能なコン ト ローラーには、 実際のシステムでの使用例を示したシステム レベルのサンプル デザインも付属します。

機能

SEM Controller はデバイスへの依存性があ り、 次の機能を備えています。

• SEU 軽減の用途に応じた 6 つの IP モード

° 軽減 + テス ト (Mitigation and Testing) モード

° 軽減 (Mitigation only) モード

° 検出 + テス ト (Detect and Testing) モード

° 検出 (Detect only) モード

° エミ ュレーシ ョ ン (Emulation) モード

° モニター (Monitoring) モード

• 軽減 (+ テス ト ) モード専用の機能

° 軽減 (+ テス ト ) モードではデバイス内蔵のエラー検出機能を利用するシ リ コン機能を統合。

° ソフ ト エラーの訂正をサポート したエラー訂正機能を実装。

° 大 4 ビッ トのエラーを含むコンフ ィギュレーシ ョ ン メモ リ フレームの訂正をサポート した ECC アルゴリズム ベースの訂正機能。

° 1 回の SEU イベン トによって隣接する複数のフレームで発生した複数ビッ ト エラーを 小限のレイテンシで検出および訂正。

° 訂正したエラーが実際のデザインの機能に影響するコンフ ィギュレーシ ョ ン メモ リ位置で発生したかど うかを判定するエラー分類機能を実装。

° コン ト ローラーの検証およびコン ト ローラーのアプリ ケーシ ョ ン評価に役立つエラー挿入機能をサポート。

° SEM Controller に対してソフ ト エラーの検出スキャン実行を命令するコマンド。 このステートでは、 エラーが検出されるまで SEM Controller がコンフ ィギュレーシ ョ ン メモ リのスキャンを続けます。 エラーを検出する と、 SEM Controller はエラー レポート を出力してアイ ドル ステートに移行します。 このコマンドにはエラー訂正機能は含まれません。

UltraScale Architecture SEM Controller v3.1 16

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

• アイ ドル ステートで実行可能な各種デバッグおよびテス ト機能

° コンフ ィギュレーシ ョ ン フレーム読み出し (Query コマンド )。

エラー挿入の前後にコンフ ィギュレーシ ョ ン フレームを読み出して、 ビッ トがマスク されておらずエラーが正し く挿入されたこ とを確認するこ とを推奨します。

° コンフ ィギュレーシ ョ ン レジスタ読み出し (Peek コマンド )。

° 物理フレーム アドレス (PFA) と リ ニア フレーム アドレス (LFA) のコンフ ィギュレーシ ョ ンを双方向に変換するフレーム アドレス変換 (Translate コマンド )。

° 外部 SPI フラ ッシュ メモ リ読み出し (Xmem コマンド )。 このコマンドを利用できるのはエラー分類機能を有効にした場合のみです。

• エラー訂正は行わず、 エラーのスキャンとレポート を継続実行するオプシ ョ ン機能 (検出 (+ テス ト ) モードおよび検出スキャン コマンド )。 このステートでは、 SEM Controller は 1 つのエラーを検出する とレポート を出力してアイ ドル ステートに移行します。

• SEM Controller に対して診断スキャンの実行を命令するコマンド。 このステートでは、 SEM Controller はコンフ ィギュレーシ ョ ン メモ リ全体に対してスキャンを 1 回実行し、 検出したすべての ECC エラーを報告します。1 回のコンフ ィギュレーシ ョ ン メモ リ スキャンが完了する と、 SEM Controller はアイ ドル ステートに戻り ます。この機能で使用するエラー検出メカニズムは、 デバイス内蔵のエラー検出機能を使用しません。 このタイプのスキャンでは、 エラー訂正は実行されません。

• コン ト ローラーと外部ス ト レージを接続するインターフェイスを提供する SPI フラ ッシュ マスター ヘルパー ブロ ッ ク。 コン ト ローラーの設定でエラー分類を有効にした場合、 このインターフェイスが必要です。

• コン ト ローラーと外部プロセッサを接続するためのインターフェイスを提供する UART ヘルパー ブロ ッ ク。コン ト ローラー ステータスのログを記録する場合や、 エラー挿入を実行する場合の使い勝手が向上します。

• ヘルパー ブロ ッ ク と コンフ ィギュレーシ ョ ン プリ ミ ティブはコアまたはサンプル デザインのいずれかに柔軟に配置可能。

• ほかのブロ ッ ク との ICAP 共有を簡単にし、 安全なハンドオフを可能にする ICAP アービ ト レーシ ョ ン インターフェイス。

UltraScale Architecture SEM Controller v3.1 17

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

表 2-1 に各モードの機能をまとめます。

表 2-2 に、 サポート されるすべてのデバイスでスキャン対象となるコンフ ィギュレーシ ョ ン フレームの 大数を示します。 この値は、 ステータス コマンドで報告される 大リニア フレーム数 (MF {8-digit hex value}) と同じものです。

表 2‐1:各モードの機能

機能モード

軽減 + テスト 軽減 検出 + テスト 検出 エミ ュレーシ ョ ン モニター

初期化後の IP ステート 監視 OBSV DETECT DETECT IDLE IDLE

訂正 (修復) あ り あ り N/A N/A N/A N/A

分類 オプシ ョ ン オプシ ョ ン N/A N/A N/A N/A

エラー挿入 あ り N/A あ り N/A あ り N/A

デバッグ機能

• アイ ドル ステートへの遷移

• コンフ ィギュレーシ ョ ン フレームおよびレジスタ読み出し

• 外部メモ リ読み出し

• アドレス変換

あ り あ り あ り あ り あ り あ り

オンデマンド検出機能

• 検出

• 診断スキャン

あ り あ り あ り あ り あ り あ り

表 2‐2: コンフ ィギュレーシ ョ ン  フレームの最大数

デバイス MF (10 進数) MF (16 進数)

UltraScale

XCKU035 26179 00006643

XCKU040 26179 00006643

XCKU060 37651 00009313

XCKU085 37651 00009313

XCKU095 54559 0000D51F

XCKU115 37651 00009313

XCVU065 37706 0000934A

XCVU080 54559 0000D51F

XCVU095 54559 0000D51F

XCVU125 37706 0000934A

XCVU160 37706 0000934A

XCVU190 37706 0000934A

XCVU440 78555 000132DB

UltraScale Architecture SEM Controller v3.1 18

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

UltraScale+

XCKU3P 31287 00007A37

XCKU5P 31287 00007A37

XCKU9P 48054 0000BBB6

XCKU11P 49127 0000BFE7

XCKU13P 57532 0000E0BC

XCKU15P 75283 00012613

XCVU3P 56601 0000DD19

XCVU5P 56601 0000DD19

XCVU7P 56601 0000DD19

XCVU9P 56601 0000DD19

XCVU11P 61963 0000F20B

XCVU13P 61963 0000F20B

XCVU27P 61963 0000F20B

XCVU29P 61963 0000F20B

XCVU31P 61929 0000F1E9

XCVU33P 61929 0000F1E9

XCVU35P (SLR0) 61929 0000F1E9

XCVU35P (SLR1) 61963 0000F20B

XCVU37P (SLR0) 61929 0000F1E9

XCVU37P (SLR1 および SLR2) 61963 0000F20B

XCZU2 10373 00002885

XCZU3 10373 00002885

XCZU4 17907 000045F3

XCZU5 17907 000045F3

XCZU6 48054 0000BBB6

XCZU7 44273 0000ACF1

XCZU9 48054 0000BBB6

XCZU11 49127 0000BFE7

XCZU15 57532 0000E0BC

XCZU17 75283 00012613

XCZU19 75283 00012613

XCZU21DR 68119 00010A17

XCZU25DR 68119 00010A17

XCZU27DR 68119 00010A17

XCZU28DR 68119 00010A17

XCZU29DR 68119 00010A17

表 2‐2: コンフ ィギュレーシ ョ ン  フレームの最大数 (続き)

デバイス MF (10 進数) MF (16 進数)

UltraScale Architecture SEM Controller v3.1 19

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

規格

このコアが対象となる、 業界標準の適合性検査または認証試験は定義されていません。 SEM Controller は、 加速粒子の照射を含む大規模なハードウェア バリデーシ ョ ンを受けています。

パフォーマンス

SEM Controller のパフォーマンス メ ト リ クスはシ リ コン仕様および実測に基づいて求めたものであ り、事前の見積もり以外の用途には使用しないでください。 実際のパフォーマンスは異なる場合があ り ます。

最大周波数

SEM Controller の 大動作周波数は保証されていません。 いかなる場合も、 使用するデバイスのデータシートでコンフ ィギュレーシ ョ ン インターフェイスの AC タイ ミ ング パラ メーター FICAPCK と して定義されている ICAP の FMax を 大動作周波数が上回るこ とはできません。 表 2-3 に、 ICAP の FMax の値をまとめます。

大周波数には、 その他の制限が適用されるこ と もあ り ます。 SEM Controller の 大動作周波数の決定方法の詳細は、 第 3 章の 「システム ク ロ ッ ク インターフェイス」 を参照してください。

表 2‐3: ICAP の最大周波数

デバイス ICAP FMax (MHz)

UltraScale

Kintex 200

Virtex 200

Kintex SSI 200

Virtex SSI 200

すべてのデバイス (0.9V、 -1L) 175

UltraScale+

Kintex 200

Virtex 200

Virtex SSI 125

Zynq UltraScale+ デバイス 200

すべてのデバイス (0.72V、 -1L、 -2L) 150

UltraScale Architecture SEM Controller v3.1 20

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

ソ リューシ ョ ンの信頼性

こ こからはシステム レベル サンプル デザインを解析し、FPGA にインプリ メン ト したソ リ ューシ ョ ン自体の FIT の推定値を求めます。 この解析手法は、 FPGA にインプリ メン ト したほかの回路の FIT を推定する際にも利用できます。

この解析では、 すべての機能を有効にしてすべての信号を I/O ピンに接続した場合を想定しています。 Virtual Input Output (VIO) コアは解析には含めていません。 このよ うな対話型のデバッグおよび実験機能を含めたままデザインを出荷する可能性は低いためです。 このため、 この推定値は上限を表しています。

SEM IP を含むデザインの信頼性を設計前に推定するには、 スプレッ ドシート形式の SEU FIT Estimator を使用してください。 表 2-4 に、 SEM IP ソ リ ューシ ョ ンの 大推定 FIT レート (すべての機能を有効にし、 すべてのヘルパー ブロ ッ クを含めた場合) を示します。

上記の推定値は、 SEM Controller およびそのシステム レベル サンプル デザインで使用するコンフ ィギュレーシ ョ ン RAM とブロ ッ ク RAM を含めて計算しています。

ソリューシ ョ ンのレイテンシ

このソ リ ューシ ョ ンのエラー軽減レイテンシは、 エラー条件が発生してからエラー軽減プロセスが完了するまでの時間と定義されます。 エラー軽減プロセスは、 エラー検出、 訂正、 分類から成り ます。

推定データ

このソ リ ューシ ョ ンの動作の基本は、 FPGA コンフ ィギュレーシ ョ ン メモ リのフレーム処理にあ り ます。 1 ビッ ト エラーは常に 1 つのフレームで発生します。 N ビッ ト エラーの発生方法はいくつかあ り、 すべてのビッ ト エラーが 1 つのフレームで発生するこ と もあれば、 N 個のフレームでそれぞれ 1 ビッ ト エラーが発生するこ と もあ り ます。複数のフレームでエラーが発生している場合、 検出、 訂正、 分類のシーケンスをそのフレームの数だけ繰り返します。

このソ リ ューシ ョ ンは任意の数のエラーを適切に軽減します。 任意の数のエラーの場合、 エラー軽減レイテンシの推定は複雑です。 このセクシ ョ ンでは、 一般的な例と して 1 フレームのみのエラーを取り上げますが、 この例を通じて理解したコン ト ローラーの動作はほかのケースにも応用がききます。

表 2‐4:最大推定 FIT レート

デバイス FIT

UltraScale モノ リ シッ ク デバイス 9

UltraScale KU115 (SSI の例) 23

UltraScale+ モノ リ シッ ク デバイス 3

UltraScale+ SSI デバイス 6

UltraScale Architecture SEM Controller v3.1 21

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

スタートアップ レイテンシ

スタート アップ レイテンシとは、FPGA のコンフ ィギュレーシ ョ ンが完了してから SEM Controller の初期化が完了するまで (すなわち SEM Controller が監視ステートに遷移するまで) の遅延をいいます。このレイテンシは FPGA のサイズ (フレーム数) およびソ リ ューシ ョ ンのクロ ッ ク周波数によって変わり ます。

スタート アップ レイテンシは一度だけ加算されます。 これはエラー軽減プロセスの一部ではあ り ません。 表 2-5 と表 2-6 に示すよ うに、 スタート アップ レイテンシはブート時間と初期化時間で構成されます。

表 2‐5: UltraScale デバイスの最大スタートアップ レイテンシ (ICAP FMax の場合)

デバイス ブート時間 (ICAP FMax、 ms) 初期化時間 (ICAP FMax、 ms)

UltraScale

XCKU035 127 52

XCKU040(1) 127 52

XCKU060 127 75

XCKU085 127 75

XCKU095 127 109

XCKU115 127 75

XCVU065 127 75

XCVU080 127 109

XCVU095 127 109

XCVU125 127 75

XCVU160 127 75

XCVU190 127 75

XCVU440 127 156

注記:1. ハード ウェアで計測されています。 このアーキテクチャのほかのデバイスのデータは、 この計測値を元に外挿で求めます。

UltraScale Architecture SEM Controller v3.1 22

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

表 2‐6: UltraScale+ デバイスの最大スタートアップ レイテンシ (ICAP FMax の場合)

デバイス ブート時間 (ICAP FMax、 ms) 初期化時間 (ICAP FMax、 ms)

UltraScale+

XCKU3P 127 46

XCKU5P 127 46

XCKU9P 127 71

XCKU11P 127 73

XCKU13P 127 85

XCKU15P 127 111

XCVU3P(1) 127 84

XCVU5P 204 137

XCVU7P 204 137

XCVU9P(1) 204 137

XCVU11P 204 150

XCVU13P 204 153

XCVU27P 204 150

XCVU29P 204 150

XCVU31P 127 97

XCVU33P 127 97

XCVU35P 204 150

XCVU37P 204 150

XCZU2 127 16

XCZU3 127 16

XCZU4 127 27

XCZU5 127 27

XCZU6 127 71

XCZU7 127 66

XCZU9 127 71

XCZU11 127 73

XCZU15 127 85

XCZU17 127 111

XCZU19 127 111

XCZU21DR 127 106

XCZU25DR 127 106

XCZU27DR 127 106

XCZU28DR 127 106

XCZU29DR 127 106

注記:1. ハード ウェアで計測されています。 このアーキテクチャのほかのデバイスのデータは、 この計測値を元に外挿で求めます。

UltraScale Architecture SEM Controller v3.1 23

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

ブート時間と初期化時間の合計がスタート アップ レイテンシです。 実際の動作周波数でのスタート アップ レイテンシは、 表 2-5 および表 2-6 のデータ と式 2-1 から見積もるこ とができます。

式 2‐1

エラー検出レイテンシ

エラー軽減レイテンシ全体に占める割合が も大きいのが、 エラー検出レイテンシです。 このレイテンシは FPGA のサイズ (フレーム数) およびソ リ ューシ ョ ンのクロ ッ ク周波数によって変わり ます。 また、 エラーのタイプ、 およびシ リ コン リードバッ ク プロセスの位置を基準と したエラーの相対位置によっても変わり ます。

表 2-7 と表 2-8 に、 IP のエラー検出時間を示します。 これらの数値は、 IP が軽減 (+ テス ト ) モード (検出および訂正)、検出 (+ テス ト ) モード、 および検出ステートの場合のものです。

表 2‐7: UltraScale デバイスの最大 IP エラー検出時間 (ICAP FMax の場合)

デバイス 検出時間 (ICAP FMax、 ms)

UltraScale

XCKU035 22

XCKU040(1) 22

XCKU060 30

XCKU085 30

XCKU095 41

XCKU115 30

XCVU065 30

XCVU080 41

XCVU095 41

XCVU125 30

XCVU160 30

XCVU190 30

XCVU440 58

注記:1. ハード ウェアで計測されています。 このアーキテクチャのほかのデバイスのデータは、

この計測値を元に外挿で求めます。

S tartUpLatencyACTUAL S tartUpLatencyICAP_FMaxICAP_FMax

FrequencyACTUAL----------------------------------------=

UltraScale Architecture SEM Controller v3.1 24

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

表 2‐8: UltraScale+ デバイスの最大 IP エラー検出時間 (ICAP FMax の場合)

デバイス 検出時間 (ICAP FMax、 ms)

UltraScale+

XCKU3P 19

XCKU5P 19

XCKU9P 28

XCKU11P 29

XCKU13P 33

XCKU15P 42

XCVU3P(1) 32

XCVU5P 52

XCVU7P 52

XCVU9P(1) 52

XCVU11P 57

XCVU13P 57

XCVU27P 57

XCVU29P 57

XCVU31P 37

XCVU33P 37

XCVU35P 57

XCVU37P 57

XCZU2 9

XCZU3 9

XCZU4 13

XCZU5 13

XCZU6 28

XCZU7 26

XCZU9 28

XCZU11 29

XCZU15 33

XCZU17 42

XCZU19 42

XCZU21DR 40

XCZU25DR 40

XCZU27DR 40

XCZU28DR 40

XCZU29DR 40

注記:1. ハード ウェアで計測されています。 このアーキテクチャのほかのデバイスのデータは、

この計測値を元に外挿で求めます。

UltraScale Architecture SEM Controller v3.1 25

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

実際の動作周波数でのターゲッ ト デバイスの IP エラー検出時間は、 表 2-7 および表 2-8 のデータ と式 2-2 から見積もるこ とができます。

式 2‐2

エラー検出レイテンシには次の制限があ り ます。

• ECC による検出の場合、 大エラー検出レイテンシは DetectionTimeACTUAL

• CRC のみによる検出の場合、 絶対 大エラー検出レイテンシは 2.0 × DetectionTimeACTUAL

1 回の SEU イベン トで 4 つの隣接するフレームにまたがる複数ビッ ト エラーが発生した場合、SEM Controller のアルゴ リズムは 2 フレーム目以降のエラー検出時間が 小限に抑えられるよ うに 適化されています。 このアルゴ リズムによ り、 コン ト ローラーは 4 つの隣接したフレームにまたがる 大 16 ビッ トのエラーを 1 回のスキャンで検出および訂正できます。 1 ビッ ト エラーのワース ト ケースの検出時間に 1 ビッ ト エラーの数を掛けたものが、 複数ビット エラー全体のワース ト ケースの検出時間となり ます。

診断スキャン機能を使用した場合のエラー検出レイテンシは軽減 (+ テス ト ) モード、 検出 (+テス ト ) モード、 または検出スキャンよ り もはるかに大き く、 その値はデバイス、 検出されるエラーの数、 および実際の動作周波数によって異なり ます。

たとえば KU040 のコンフ ィギュレーシ ョ ン メモ リに 3 つのエラーが存在する場合、 クロ ッ ク周波数 90MHz で診断スキャンを実行する と、 すべてのエラーを検出して報告するのに 70 秒かかり ます。

エラー訂正レイテンシ

エラーを検出する と、 このソ リ ューシ ョ ンは訂正を試みます。 エラーが訂正可能かど うかは、 選択した訂正モードとエラー タイプによって決ま り ます。 表 2-9 に、 コンフ ィギュレーシ ョ ン フレームが反転した場合のエラー訂正レイテンシを示します。 これらの値は、 モニター インターフェイスでスロ ッ ト リ ングが発生していないこ とを前提としています。

表 2‐9: エラー訂正レイテンシ (モニター インターフェイスでのスロッ ト リングなし )

デバイス 訂正モード 訂正可能/不能エラー訂正レイテンシ 

(ICAP_FMax、 µs)

UltraScale修復

訂正可能(1) 41(2)

訂正不能 21(2)

すべて CRC のみ (訂正不能) 9

UltraScale+ モノ リ シッ ク修復

訂正可能(1) 44(3)

訂正不能 22(3)

すべて CRC のみ (訂正不能) 9

UltraScale+ SSI修復

訂正可能(1) 99(4)

訂正不能 38(4)

すべて CRC のみ (訂正不能) 15

注記:1. 物理的に隣接している場合、 フレーム内の 大 4 ビッ ト を訂正できます。

2. XCKU040 デバイスはハード ウェアで計測されています。

3. XCVU3P デバイスはハード ウェアで計測されています。

4. XCVU9P デバイスはハード ウェアで計測されています。

Detec tionT imeACTUAL Detec tionT imeICAP_FMaxICAP_FMax

F requencyACTUAL----------------------------------------=

UltraScale Architecture SEM Controller v3.1 26

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

実際の動作周波数でのエラー訂正レイテンシは、 表 2-9 のデータ と式 2-3 から見積もるこ とができます。

式 2‐3

エラー分類レイテンシ

エラーの訂正を試みた後、 このソ リ ューシ ョ ンはエラーを分類します。 分類結果は、 訂正モード、 エラー タイプ、エラー位置、 および選択した分類モードによって異なり ます。 表 2-10 に、 コンフ ィギュレーシ ョ ン フレームが反転した場合のエラー分類レイテンシを示します。 これらの値は、 モニター インターフェイスでスロ ッ ト リ ングが発生していないこ とを前提と しています。

実際の動作周波数でのエラー分類レイテンシは、 表 2-10 のデータ と式 2-4 から見積もるこ とができます。

式 2‐4

エラー挿入レイテンシ

表 2-11 に、 1 ビッ トのコンフ ィギュレーシ ョ ン フレームが反転した場合のエラー挿入レイテンシを示します。 これらの値は、 モニター インターフェイスでスロ ッ ト リ ングが発生していないこ とを前提と しています。

表 2-11 に示したエラー挿入レイテンシの値は、 クロ ッ ク周波数およびデバイスのコンフ ィギュレーシ ョ ン フレーム数によって変化します。

表 2‐10: エラー分類レイテンシ (モニター インターフェイスでのスロッ ト リングなし )

デバイス ファ ミ リフレーム内のエラー (訂正可能/不能)

分類モードエラー分類レイテンシ 

(ICAP_FMax、 µs)

UltraScale訂正可能 有効 185(1)

訂正不能 すべて 5(1)

UltraScale+ モノ リ シッ ク

訂正可能 有効 154(2)

訂正不能 すべて 5(2)

UltraScale+ SSI訂正可能 有効 247(3)

訂正不能 すべて 30(3)

注記:1. XCKU040 デバイスはハード ウェアで計測されています。

2. XCVU3P デバイスはハード ウェアで計測されています。

3. XCVU9P デバイスはハード ウェアで計測されています。

表 2‐11: LFA を使用した場合のエラー挿入レイテンシ (モニター インターフェイスでのスロッ ト リングなし )

デバイス ファ ミ リ エラー挿入レイテンシ (ICAP_FMax、 µs)

UltraScale KU040 50(1)

UltraScale+ VU3P 81(1)

UltraScale+ SSI VU9P 164(1)

注記:1. ハード ウェアで計測されています。

Correc tionLatencyACTUAL Correc tionLatencyICAP_FMaxICAP_FMax

F requencyACTUAL----------------------------------------=

Class ificationLatencyACTUAL Clas s ificationLatencyICAP_FMaxICAP_FMax

FrequencyACTUAL----------------------------------------=

UltraScale Architecture SEM Controller v3.1 27

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

その他の要因によるレイテンシ

モニター インターフェイスでのスロ ッ ト リ ングは全体的なエラー軽減レイテンシを増大させるため、 極力避けてください。

• エラーの訂正を試みた後、 コン ト ローラーはモニター インターフェイスから検出/訂正レポート を出力してから、 エラー訂正ステート を終了します (このと き、 status_uncorrectable フラグが更新される )。 このレポート生成中に UART ヘルパー ブロッ クの送信 FIFO がフルになる と、 コン ト ローラーは UART ヘルパー ブロ ッ クの送信 FIFO にレポート全体の書き込みが完了するまでこのステート を終了できません。 この場合、 エラー訂正レイテンシが増大します。

• エラーの分類を試みた後、 コン ト ローラーはモニター インターフェイスから分類レポート を出力してから、 エラー分類ステート を終了します (このと き、 status_essential フラグが更新される)。 このレポート生成中に UART ヘルパー ブロ ッ クの送信 FIFO がフルになる と、 コン ト ローラーは UART ヘルパー ブロ ッ クの送信 FIFO にレポート全体の書き込みが完了するまでこのステート を終了できません。 この場合、 エラー分類レイテンシが増大します。

ボ トルネッ クの発生が問題になるヘルパー ブロ ッ クまたはペリ フェラルの場合、 回避策をと るこ とができます。予想される 大バース ト長のステータス メ ッセージを格納できるよ うに送信 FIFO のサイズを調整する と、エラー軽減中に送信 FIFO がフルになるこ とを回避できます。

送信 FIFO がフルになった場合、 全体的なエラー軽減レイテンシのおおよその増加分は、 式 2-5 で見積もるこ とができます。

式 2‐5

式 2-5 で、 「MessageLength – BufferDepth」 はメ ッセージ バイ ト数、 「Transmission Rate」 は単位時間あたりのバイ ト数です。

LFA を使用してエラー挿入を実行した場合も、 コン ト ローラーがまず LFA を PFA に変換する必要があるため、 レイテンシが増大します。 この変換のレイテンシも、 エラー発生場所によ り異なり、 アドレスが大きいほど変換に時間がかかり ます。

レイテンシの見積もり例

初の例は、 XCKU40 (90MHz ク ロ ッ ク ) にソ リ ューシ ョ ンをインプ リ メン ト した場合の、 1 ビッ ト エラーの軽減レイテンシを見積も り ます。 このソ リ ューシ ョ ンは、 軽減 + テス ト モードおよびエラー分類無効でコンフ ィギュレーシ ョ ンしています。 こ こでは、 モニター インターフェイスのスロ ッ ト リ ングは発生しないものと仮定します。

式 2‐6

式 2‐7

式 2‐8

式 2‐9

AdditionalLatency MessageLength BufferDepth–Transmis s ionRate---------------------------------------------------------------------=

Detec tionLatency 22ms 200MHz90MHz----------------- 48.889ms= =

Correc tionLatency 41s 200MHz90MHz----------------- 0.091ms= =

Class ificationLatency 5s 200MHz90MHz----------------- 0.011ms= =

MitigationLatency 48.889ms 0.091ms 0.011ms+ + 48.991ms= =

UltraScale Architecture SEM Controller v3.1 28

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

次に、 モニター インターフェイスでスロ ッ ト リ ングが発生した場合に追加されるレイテンシの見積も り例を示します。 先の例で、 メ ッセージ長を約 80 バイ ト、 UART ヘルパー ブロ ッ クのバッファー深さを 32 バイ ト と仮定します。また、 UART ヘルパー ブロ ッ クのビッ ト レート を 9,600 ボーから 460,800 ボーへ変更しています。 標準 8-N-1 プロ トコルを使用しており、 1 バイ トのペイロードをシ リ アル リ ンクで送信するのに 10 ビッ ト時が必要です。

式 2‐10

この結果が示すよ うに、 特にデータ送信がシ リ アライズされデータ レートが低い場合、 モニター インターフェイスのスロ ッ ト リ ングによってレイテンシは非常に大き くな り ます。

スループッ ト

SEM Controller のスループッ ト メ ト リ クスは仕様で定義されていません。

消費電力

SEM Controller の電力メ ト リ クスは仕様で定義されていません。

リソース使用状況

SEM Controller のリ ソース使用量のメ ト リ クスは合成後レポートから求めたものであ り、 事前の見積も り以外の用途には使用しないでください。 実際のリ ソース使用量は異なるこ とがあ り ます。

AdditionalLatency 80bytes 32bytes–

460800bittimess--------------------------------- byte

10bittimes----------------------- s1000ms----------------

--------------------------------------------------------------------------------------- 1.042ms= =

表 2‐12:デバイスのリソース使用量 – モノ リシック  Kintex および Virtex UltraScale/UltraScale+ デバイス (非 SSI)(1)(2)

デバイス IP コアのコンフ ィギュレーシ ョ ン LUT FF I/O ブロック  RAM DSP48

UltraScale (全デバイス)完全ソ リ ューシ ョ ン (軽減 + テス ト モード、 オプシ ョ ン機能なし )。

425 490 59 4 RAMB36 1

UltraScale+ モノ リ シッ ク (全デバイス)

完全ソ リ ューシ ョ ン (軽減 + テス ト モード、 オプシ ョ ン機能なし )。

430 530 64 4 RAMB36 1

注記:1. 完全ソ リ ューシ ョ ンとは、 SEM Controller とサポート ラ ッパー階層に含まれるロジッ クを組み合わせたものをいいます。 これらは併用を

想定しています。 IP は Vivado® IDE のデフォルト オプシ ョ ン (軽減 + テス ト モード、 エラー分類無効) でコンフ ィギュレーシ ョ ンしてい

ます。

2. 上位のサンプル デザインに含まれる Vivado Design Suite のデバッグ機能 IP は含めていません。 Vivado Design Suite のデバッグ機能を使

用する と LUT/FF の使用量が増えますが、 I/O の使用量は減少します。

UltraScale Architecture SEM Controller v3.1 29

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

表 2‐13:デバイスのリソース使用量 – マルチ SLR UltraScale および UltraScale+ デバイス (SSI)(1)(2)

デバイス IP コアのコンフ ィギュレーシ ョ ン LUT FF I/O ブロック  RAM DSP48

KU115 完全ソ リ ューシ ョ ン (軽減 + テス ト モード、オプシ ョ ン機能なし )。

1,060 1,280 70 8 RAMB36、2 RAMB18

2

VU9P 完全ソ リ ューシ ョ ン (軽減 + テス ト モード、オプシ ョ ン機能なし )。

514 653 66 6 RAMB36 1

注記:1. 完全ソ リ ューシ ョ ンとは、 SEM Controller とサポート ラ ッパー階層に含まれるロジッ クを組み合わせたものをいいます。 これらは併用を想

定しています。 IP は Vivado IDE のデフォルト オプシ ョ ン (軽減 + テス ト モード、 エラー分類無効) でコンフ ィギュレーシ ョ ンしています。

2. 上位のサンプル デザインに含まれる Vivado Design Suite のデバッグ機能 IP は含めていません。 Vivado Design Suite のデバッグ機能を使

用する と LUT/FF の使用量が増えますが、 I/O の使用量は減少します。

UltraScale Architecture SEM Controller v3.1 30

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

ポートの説明

SEM Controller は、 ソフ ト エラー軽減ソ リ ューシ ョ ンの中心的な役割を果たします。 コン ト ローラーをデザインに統合する際は、 コンフ ィギュレーシ ョ ン プリ ミ ティブ、 UART および SPI フラ ッシュ マスター ヘルパー ブロ ッ ク (必要な場合) などで構成されるシステム レベル デザインを含め、 SEM Controller を提供された状態のままで使用することを推奨します。

図 2-1 に、UltraScale およびモノ リ シッ ク UltraScale+ デバイスの SEM Controller とシステム レベル サンプル デザインのポート を示します。 グレーで示したポート グループはエラー分類を有効にした場合のみ存在します。 特に記載のない限り、 ポートはコア レベルおよびサンプル デザインのすべての階層レベルで利用できます (図 5-1 参照)。

X-Ref Target - Figure 2-1

図 2‐1: UltraScale およびモノ リシック  UltraScale+ デバイスの SEM Controller ポート

Legend: 1 Ports only available on the SEM controller.2 Ports on the system-level example design solution.3 command_code port width depends on target architecture. For UltraScale devices, the port width is 40 and for all other architecture, it is 44.4 fecc_far port width depends on target architecture. For UltraScale devices, the port width is 26 and for all other architecture it is 27.

command_strobe

command_code[w:0]3status_heartbeat

status_initialization

status_observation

status_correctionstatus_classification

status_injection

status_uncorrectablestatus_essential

icap_o[31:0]

icap_clk

icap_csib

icap_rdwrb

icap_i[31:0]

fecc_eccerrornotsingle

fecc_eccerrorsingle

fecc_endofframe

fecc_endofscan

fecc_crcerror

fecc_far[w:0]4

monitor_txdata[7:0]

monitor_txwrite

monitor_txfull

monitor_rxdata[7:0]

monitor_rxread

monitor_rxempty

fecc_farsel[1:0]

fetch_txdata[7:0]

fetch_txwrite

fetch_txfull

fetch_rxdata[7:0]

fetch_rxread

fetch_rxempty

fetch_tbladdr[31:0]

aux_error_cr_ne

aux_error_cr_es

aux_error_uc

icap_prerror

icap_prdone

icap_avail

command_busy

uart_rxuart_tx

spi_c

spi_d

spi_s_n

spi_q

cap_rel

cap_gnt

cap_req

Command Interface

Status Interface

ICAP

Interface 1

ICAP ArbitrationInterface

Auxiliary Interface

Monitor

Interface 1

UART Interface 2

Fetch

Interface 1

Master SPI Flash

Interface 2

clkMaster ClockInterface 2

status_detect_onlystatus_diagnostic_scan

FRAME_ECC Interface

X16280-012617

UltraScale Architecture SEM Controller v3.1 31

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

図 2-2 に、 UltraScale+ SSI デバイスの場合の SEM Controller とシステム レベル サンプル デザインのポート を示します。 グレーで示したポート グループはエラー分類を有効にした場合のみ存在します。 特に記載のない限り、 ポートはコア レベルおよびサンプル デザインのすべての階層レベルで利用できます (図 5-1 参照)。

UltraScale と UltraScale+ では SSI の実装が異なり ます。 UltraScale では、 ソフ ト エラー軽減機能はそれぞれの SLR で個別に実行されます。 各 SLR に SEM Controller が 1 つずつあり、 それが同じ SLR の ICAP と FRAME_ECC に接続されます。 UltraScale+ デバイスでは、 この機能は 1 つのコン ト ローラーに集約されます。 デバイスの SLR の数にかかわらず、 SEM Controller は 1 つだけです。 SEM Controller は、 マスター SLR に存在する 1 つの ICAP、 および各 SLR の FRAME_ECC に接続されます。 第 5 章 「サンプル デザイン」 を参照して ください。

X-Ref Target - Figure 2-2

図 2‐2: UltraScale+ SSI デバイスの SEM Controller ポート

Legend: 1 Ports only available on the SEM controller.2 Ports on the system-level example design solution.3 There is a status_heartbeat port for each SLRs in a target device.4 SSI implementation has a FRAME_ECC interface for each SLR.

command_strobe

command_code[43:0]

slr#_status_heartbeat3

status_initialization

status_observation

status_correctionstatus_classification

status_injection

status_uncorrectablestatus_essential

icap_o[31:0]

icap_clk

icap_csib

icap_rdwrb

icap_i[31:0]

slr#_fecc_eccerrornotsingle4

slr#_fecc_eccerrorsingle4

slr#_fecc_endofframe4

slr#_fecc_endofscan4

slr#_fecc_crcerror4

slr#_fecc_far[26:0]4

monitor_txdata[7:0]

monitor_txwrite

monitor_txfull

monitor_rxdata[7:0]

monitor_rxread

monitor_rxempty

slr#_fecc_farsel[1:0]4

fetch_txdata[7:0]

fetch_txwrite

fetch_txfull

fetch_rxdata[7:0]

fetch_rxread

fetch_rxempty

fetch_tbladdr[31:0]

aux_error_cr_ne

aux_error_cr_es

aux_error_uc

icap_prerror

icap_prdone

icap_avail

command_busy

uart_rxuart_tx

spi_c

spi_d

spi_s_n

spi_q

cap_rel

cap_gnt

cap_req

Command Interface

Status Interface

ICAP

Interface 1

ICAP ArbitrationInterface

Auxiliary Interface

Monitor

Interface 1

UART Interface 2

Fetch

Interface 1

Master SPI Flash

Interface 2

clkMaster ClockInterface 2

status_detect_onlystatus_diagnostic_scan

FRAME_ECC Interface

X18677-012617

UltraScale Architecture SEM Controller v3.1 32

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

表 2-14 に各インターフェイスおよびそのインターフェイスが外部に現れる階層レベルを一覧にま とめます。 一部のインターフェイスは、 IP の機能によっては存在しないこ とがあ り ます。 IP 階層とそのインターフェイス接続を含むサンプル デザインのブロ ッ ク図は、 図 5-1 を参照してください。 階層レベルの詳細は、 第 3 章の 「構造オプシ ョ ン」を参照してください。

表 2‐14: インターフェイスと階層レベル

インターフェイス 説明

階層レベル

コンフ ィギュレーシ ョ ン プリ ミテ ィブを

サンプル デザインに配置

コンフ ィギュレーシ ョ ン プリ ミテ ィブをコアに配置

コマンド小限のコマンド セッ トで SEM

Controller と通信するためのインターフェイス。

SEM Controller SEM Controller

ICAP コンフ ィギュレーシ ョ ン メモ リ システムにアクセスするための ICAP へのインターフェイス。

SEM Controller。 ICAP インターフェイスはサポート レベルでプリ ミ ティブに接続。

外部には現れません。ICAP インターフェイスはコア内部でプリ ミ ティブに接続。

システム ク ロ ッ ク システム ク ロ ッ クをソ リ ューシ ョ ンに供給するためのインターフェイス。

サポート ラ ッパー レベル サポート ラ ッパー レベル

FRAME_ECC

シ リ コン内蔵のコンフ ィギュレーシ ョ ン リードバッ ク メカニズムからの情報にアクセスするための FRAME_ECC へのインターフェイス。

UltraScale+ SSI デバイスでは、 デバイスの各 SLR に FRAME_ECC インターフェイスがあ り ます。

SEM Controller。 FRAME_ECC インターフェイスはサポート レベルでプリ ミティブに接続。

外部には現れません。FRAME_ECC インターフェイスはコア内部でプリ ミティブに接続。

ICAP アービ ト レーシ ョ ン

ほかのブロ ッ ク との ICAP 共有を管理するためのインターフェイス。 ICAP へのアクセスの安全なハンドオフと SEM Controller による ICAP へのアクセス再開を簡単に実装できます。

SEM Controller SEM Controller

補助

コン ト ローラーから直接監視できないソフ ト エラー イベン ト をコン ト ローラーに通知する手段と して使用するインターフェイス。

SEM Controller SEM Controller

ステータス

コン ト ローラーが正常動作しているかど うかを含め、 コン ト ローラーの現在のステート を知らせるためのインターフェイス。

UltraScale+ SSI デバイスでは、 SLR ごとに個別の status_heartbeat 信号があり ます。

SEM Controller SEM Controller

モニター

コン ト ローラーとの通信手段としてのほか、 コン ト ローラーの動作と現在のステートについての詳細な情報を得る手段と しても使用可能なインターフェイス。システムと コン ト ローラーの通信にはこのインターフェイスの使用を推奨します。

SEM Controller SEM Controller

UltraScale Architecture SEM Controller v3.1 33

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

SEM Controller にはリセッ ト入出力はあ り ません。 GSR (グローバル セッ ト / リセッ ト ) 信号のディアサートから生成した内部同期リセッ トによって自動的に自己初期化します。

SEM Controller は、 icap_clk を唯一のクロ ッ ク と して使用する完全同期デザインです。すべてのステート エレ メントはこのクロ ッ クの立ち上がりエッジに同期します。 このため、 インターフェイスもすべてこのクロ ッ クの立ち上がりエッジに同期します。

ICAP インターフェイス

ICAP インターフェイスは SEM Controller と ICAP プリ ミ ティブをポイン ト ツー ポイン トで接続します。 ICAP プリミ ティブによ り、 FPGA コンフ ィギュレーシ ョ ン システム内のレジスタへの読み出しおよび書き込みアクセスが可能になり ます。 ICAP プリ ミ ティブおよびこのインターフェイスの信号の動作は、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 2] を参照してください。

IP が使用するコンフ ィギュレーシ ョ ン プリ ミ ティブ (ICAP および FRAME_ECC) をサンプル デザインに配置した場合、 このインターフェイスはコア レベルで外部に現れます。

UART

モニター インターフェイスで使用するバイ ト ス ト リーム ASCII コードのシ リアライズとデシ リ アライズを実行する UART ヘルパー ブロ ッ クへのインターフェイス。 システムと コン ト ローラーの通信にはこのインターフェイスの使用を推奨します。

サポート レベル サポート ラ ッパー レベル

フェッチ

コン ト ローラーが外部ソースからデータを要求する手段と して使用するインターフェイス。

注記: エラー分類機能を有効にした場合のみ

利用できます。

SEM Controller SEM Controller

SPI

外部 SPI フラ ッシュからエッセンシャル ビッ トのデータを取得する SPI フラ ッシュ マスター ヘルパー ブロッ クへのインターフェイス。

注記: エラー分類機能を有効にした場合のみ

利用できます。

サポート レベル サポート ラ ッパー レベル

表 2‐14: インターフェイスと階層レベル (続き)

インターフェイス 説明

階層レベル

コンフ ィギュレーシ ョ ン プリ ミテ ィブを

サンプル デザインに配置

コンフ ィギュレーシ ョ ン プリ ミテ ィブをコアに配置

表 2‐15: ICAP インターフェイスの信号

名前 センス 方向 説明

icap_o[icap_width – 1:0] High 入力 ICAP の O 出力を受信します。 変数 icap_width は 32 です。

icap_csib Low 出力 ICAP の CSIB 入力を駆動します。

icap_rdwrb Low 出力ICAP の RDWRB 入力を駆動します。読み出し (アクティブ High) または書き込み (アクティブ Low) セレク ト入力。

icap_i[icap_width – 1:0] High 出力 ICAP の I 入力を駆動します。 変数 icap_width は 32 です。

icap_clk エッジ 入力

デザインのクロ ッ クを受信します。 この同じクロ ッ クを ICAP の CLK 入力とする必要があ り ます。 このクロ ッ ク周波数は、ターゲッ ト デバイスのデータシートに記載された ICAP 入力クロ ッ クの要件を満たしている必要があ り ます。

UltraScale Architecture SEM Controller v3.1 34

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

システム クロック  インターフェイス

システム ク ロ ッ ク インターフェイスは、 ICAP および SEM Controller にシステム レベル ク ロ ッ クを供給するために使用します。 ク ロ ッ ク信号は内部でグローバル ク ロ ッ ク バッファーを経由してすべての同期ロジッ ク セルへ分配されます。 このインターフェイスはサポート ラ ッパー レベルで利用できます。

このインターフェイスの詳細は、 第 3 章の 「システム ク ロ ッ ク インターフェイス」 を参照してください。

ICAP アービ ト レーシ ョ ン  インターフェイス

ICAP アービ ト レーシ ョ ン インターフェイスは、 SEM Controller から ICAP へのアクセスの管理、および ICAP をほかのブロ ッ ク と共有する際のアクセスの安全なハンドオフを簡単に実装できるよ うにするためのものです。 このインターフェイスは、 ユーザー定義の ICAP アービタ と併用するのが理想です。

このインターフェイスの詳細は、 第 3 章の 「ICAP アービ ト レーシ ョ ン インターフェイス」 を参照してください。

icap_prdone Low 入力 ICAP の PRDONE 出力を受信します。

icap_prerror High 入力 ICAP の PRERROR 出力を受信します。

icap_avail High 入力 ICAP の AVAIL 出力を受信します。

表 2‐16: システム クロック  インターフェイスの信号

名前 センス 方向 説明

clk High 入力 ICAP および SEM Controller を駆動するクロ ッ ク入力。

表 2‐17: ICAP アービ ト レーシ ョ ン インターフェイスの信号

名前 センス 方向 説明

cap_gnt High 入力

ICAP アービタに接続して使用します。 この信号をアービタでアサート して、 SEM Controller に ICAP へのアクセス許可が与えられたこ とを通知します。 いったんアサート した cap_gnt は、 cap_req がディアサート されるまでアサート したままにしてください。

アービ ト レーシ ョ ンが必要ない場合は、 この信号を常に 1 に接続します。

cap_rel High 入力

ICAP アービタに接続して使用します。 この信号は、別のコンポーネン トが ICAP へのアクセスを要求しているすべてのクロ ッ ク サイクルで、 アービタによってアサート されます。 1 にセッ ト された場合、 cap_req が 0 に戻るまで、 この信号は 1 を保持する必要があ り ます。

この信号は、 できるだけ早期の安全なタイ ミ ングで ICAP の制御を放棄する必要があるこ とを IP に示します。

アービ ト レーシ ョ ンが必要ない場合は、 この信号を常に 0 に接続します。

cap_req High 出力ICAP アービタに接続して使用します。 この信号は、 ICAP に転送するデータがあるすべてのクロ ッ ク サイクルで、 IP によってアサート されます。

表 2‐15: ICAP インターフェイスの信号 (続き)

名前 センス 方向 説明

UltraScale Architecture SEM Controller v3.1 35

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

FRAME_ECC インターフェイス

FRAME_ECC インターフェイスは、 SEM Controller と FRAME_ECC プリ ミ ティブをポイン ト ツー ポイン トで接続します。 FRAME_ECC プリ ミ ティブを通じて FPGA コンフ ィギュレーシ ョ ン システムのソフ ト エラー検出機能を監視できます。 UltraScale+ SSI デバイスでは、 FRAME_ECC インターフェイスはデバイスの各 SLR に 1 つずつあり ます。この場合、 FRAME_ECC インターフェイスの信号名には、 接頭辞 「slr<#>_」 が付きます。 この SLR 番号は、FRAME_ECC プリ ミ ティブをどのハード ウェア SLR に配置するかを示します。

ステータス インターフェイス

ステータス インターフェイスは、 現在のコン ト ローラーの動作を抽象度の高い形式にデコード した各種信号を出力します。

UltraScale+ SSI デバイスでは、 SLR ごとに個別の status_heartbeat 信号があ り ます。 これらの信号名には、 接頭辞 「slr<#>_」 が付きます。

このインターフェイスの詳細は、 第 3 章の 「ステータス インターフェイス」 を参照して ください。

表 2‐18: FRAME_ECC インターフェイスの信号

名前 センス 方向 説明

fecc_eccerrornotsingle High 入力 FRAME_ECC の ECCERRORNOTSINGLE 出力を受信します。

fecc_eccerrorsingle High 入力 FRAME_ECC の ECCERRORSINGLE 出力を受信します。

fecc_endofframe High 入力 FRAME_ECC の ENDOFFRRAME 出力を受信します。

fecc_endofscan High 入力 FRAME_ECC の ENDOFSCAN 出力を受信します。

fecc_crcerror High 入力 FRAME_ECC の CRCERROR 出力を受信します。

fecc_farsel[1:0] High 出力 FRAME_ECC の FARSEL 入力を送信します。

fecc_far[far_width – 1:0] High 入力FRAME_ECC の FAR 出力を受信します。 UltraScale デバイスをターゲッ ト とする場合、 変数 far_width の値は 26 です。それ以外のアーキテクチャでは、変数 far_width の値は 27 です。

表 2‐19: ステータス インターフェイスの信号

名前 センス 方向 説明

status_heartbeat High 出力

この信号は、 status_observation、 status_detect_only、status_diagnostic_scan のいずれかがアサート されている間有効です。 コンフ ィギュレーシ ョ ン フレームを 1 フレーム読み出すたびに 1 サイ クルの High パルスが出力されます。 この信号を使用して外部ウォッチド ッグ タイマーを実装する と、 ソフト エラーによるコン ト ローラーまたはクロ ッ ク分配の動作停止を検出できます。 status_observation、 status_detect_only、status_diagnostic_scan がすべてディアサート されている場合、このハート ビート信号の動作は未定義です。

UltraScale+ SSI ソ リ ューシ ョ ンの場合、 status_observation、status_detect_only、 または status_diagnostic_scan がアサート されている間のみすべての SLR の status_heartbeat がアクティブです。 これは、 モノ リ シッ ク ソ リ ューシ ョ ンの場合の動作と同じです。

status_initialization High 出力この信号は、 デザインが動作を開始した後に 1 回だけ発生するコン ト ローラー初期化の間アクティブです。

UltraScale Architecture SEM Controller v3.1 36

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

status_heartbeat 出力は、 コン ト ローラーがアクティブであるこ とを示します。 コン ト ローラーはソフ ト エラーを軽減するためのものですが、 それ自体もソフ ト エラーの影響を受ける可能性があ り ます。 たとえば、 コン トローラーのクロ ッ クがソフ ト エラーによって停止する可能性もあ り ます。 このよ うな場合、 ユーザーは status_heartbeat 信号の停止を検出して対策をと るこ とができます。 アイ ドル ステートでは、 すべての status_heartbeat が停止します。 監視、 診断スキャン、 および検出ステートでは、 すべての status_heartbeat がト グルします。

ヒン ト : コン ト ローラー自体がソフ ト エラーの影響を受けた場合の実行可能な対策の詳細は、 第 3 章の 「システム」を参照してください。

status_observation High 出力

この信号は、 コン ト ローラーがビッ ト アップセッ ト を監視している間アクティブです。 エラー検出後、 コン ト ローラーがハードウェアに情報を問い合わせている間も この信号はアクティブのままです。

status_correction High 出力この信号は、 コン ト ローラーがエラーを訂正している間アクティブです。 訂正を無効にした場合も、 コン ト ローラーが訂正ステート を遷移中はアクティブになり ます。

status_classification High 出力この信号は、 コン ト ローラーがエラーを分類している間アクティブです。 エラー分類を無効にした場合も、 コン ト ローラーが分類ステート を遷移中はアクティブになり ます。

status_injection High 出力

この信号は、 コン ト ローラーがエラーを挿入している間アクティブです。 エラー挿入が完了し、 コン ト ローラーが次のエラーを挿入できる状態または監視ステートに復帰可能な状態になる と、 この信号は非アクティブに戻り ます。

status_detect_only High 出力

この信号は、 コン ト ローラーが検出スキャンを実行している間アクティブです。 エラーが検出されてスキャンが中断すると、 コン ト ローラーはアイ ドル ステートに移行し、 この信号は非アクティブに戻り ます。

status_diagnostic_scan High 出力

この信号は、 コン ト ローラーが診断スキャンを実行している間アクティブです。 デバイスのコンフ ィギュレーシ ョ ン メモリ全体に対して 1 回の診断スキャンが完了する と、 コン ト ローラーはアイ ドル ステートに移行し、 この信号は非アクティブに戻り ます。 この機能はリ アルタイムのソフ ト エラー軽減には使用せず、 診断ツールと してのみ使用してください。

status_essential High 出力

この信号は、 エラー分類ステータス信号です。 分類ステート終了前に、 コン ト ローラーはエラーがエッセンシャル ビッ トで発生したかど うかをこの信号で示します。 その後、 コン トローラーは分類ステート を終了します。

この信号はスティ ッキーで、 コン ト ローラーが次にエラーを検出して分類するまで更新されません。

status_uncorrectable High 出力

この信号は、 エラー訂正ステータス信号です。 訂正ステート終了前に、 コン ト ローラーはエラーが訂正可能かど うかをこの信号で示します。 その後、 コン ト ローラーは訂正ステートを終了します。

表 2‐19: ステータス インターフェイスの信号 (続き)

名前 センス 方向 説明

UltraScale Architecture SEM Controller v3.1 37

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

status_initialization、 status_observation、 status_correction、 status_detect_only、status_diagnostic_scan、 status_classification、 status_injection 出力はコン ト ローラーの現在の状態を示します。 status_uncorrectable および status_essential 出力は、 検出したエラーの性質を示します。

上記の 7 つのコン ト ローラー ステート出力から、 さらに 2 つのコン ト ローラー ステート をデコードできます。 7 つの信号すべてが Low の場合、 コン ト ローラーはアイ ドル ステート (いつでも動作を再開可能な非アクティブ状態) です。7 つの信号すべてが High の場合、 コン ト ローラーは重大エラーのため非アクティブになり動作を停止しています。

コマンド  インターフェイス

コマンド インターフェイスには、 コンフ ィギュレーシ ョ ン メモ リにビッ ト エラーを挿入するよ う コン ト ローラーにコマンドを送信するための入力があ り ます。

このインターフェイスの詳細は、 第 3 章の 「コマンド インターフェイス」 を参照して ください。

コマンド インターフェイスを使用する と、 エラー挿入やソフ ト ウェア リセッ ト を簡単に実行できます。 このインターフェイスの使用方法と有効なコマンド コードの詳細は、 第 3 章の 「コマンド インターフェイス」 を参照してください。

注記: ユーザーと コン ト ローラーの通信には、 よ り高機能なモニター インターフェイスの使用を推奨します。 第 3 章の 「モニター インターフェイス」 を参照してください。

このインターフェイスの使用は完全に任意です。 使用しない場合は、 すべての入力を Low に接続できます。

表 2‐20: コマンド  インターフェイスの信号

名前 センス 方向 説明

command_strobe High 入力

コマンド要求を示すコマンド制御信号です。command_busy が Low のと き、 command_strobe 信号を icap_clk に同期して 1 サイ クルだけ High にパルスすると同時に、 command_code 入力に有効なコマンドを入力します。

command_code[width – 1:0] High 入力

コン ト ローラーが実行するコマンドを指定します。command_strobe がアクティブと してサンプルされる と同時にこのバスの値が取り込まれます。 command_code ポートの幅はターゲッ ト アーキテクチャによ り異なります。 UltraScale デバイスでは、 幅は 40 です。 それ以外のアーキテクチャでは、 幅は 44 です。

command_busy High 出力コン ト ローラーがコマンドを処理できる状態かど うかを示します。 command_strobe は command_busy が Low の場合のみアサート して ください。

UltraScale Architecture SEM Controller v3.1 38

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

モニター インターフェイス

モニター インターフェイスはコン ト ローラーの詳細なステータスを受信する手段と してのほか、 コン ト ローラーとの通信手段と しても使用できます。 コン ト ローラーがモニター インターフェイスから読み出すコマンド、 およびモニター インターフェイスに書き込むステータス情報はいずれも ASCII 文字列です。 モニター インターフェイスは、ステータス インターフェイスおよびコマンド インターフェイスのステータスおよびコマンド機能を含みます。 このインターフェイスは、 コア レベルで常に利用可能です。 サンプル デザインでは、 このインターフェイスは UART ヘルパー ブロ ッ クに接続されます。

後で必要になったと きに IP の動作を簡単にデバッグできるよ うに、 少なく と も このインターフェイスで送信されるステータスを FIFO に格納するこ とを推奨します。 詳細は、 第 3 章の 「モニター インターフェイス」 を参照してください。

UART インターフェイス 

ユーザーの便宜のため、 システム レベル サンプル デザインにおけるモニター インターフェイスは UART ヘルパー ブロ ッ クに接続されており、 モニター インターフェイスを UART インターフェイス経由でプロセッサ ブロ ッ クに簡単に統合できます。 この UART インターフェイスは、 コン ト ローラーからのステータス情報の受信、 コン ト ローラーへのエラー挿入コマンドの送信、 および挿入したエラーがコン ト ローラーによって検出および訂正されたこ との確認に使用できます。

UART ヘルパー ブロ ッ クは、 コン ト ローラーが生成したステータス情報 (1 バイ トの ASCII コード ) をシ リ アライズしてシ リアル送信します。 同様に、 UART ヘルパー ブロ ッ クは入力されたコマンド情報 (ASCII コードのビッ ト ス トリーム) をデシ リ アライズしてパラレル データ と してコン ト ローラーに送信します。

UART ヘルパー ブロ ッ クは標準のシ リ アル通信プロ ト コルを使用します。 このヘルパー ブロ ッ クは同期およびオーバー サンプリ ング ロジッ クを備えており、 同じ公称ボー レートで動作する非同期シ リ アル デバイスをサポート します。 詳細は、 第 3 章の 「UART インターフェイス」 を参照してください。

このヘルパー ブロ ッ クが提供するインターフェイスには、 エンベデッ ド マイク ロコン ト ローラーからデスク ト ップ コンピューターまで幅広いデバイスを直接接続できます。 システム要件によっては外部レベル変換器が必要です。

表 2‐21: モニター インターフェイスの信号

名前 センス 方向 説明

monitor_txdata[7:0] High 出力 コン ト ローラーからのパラレル送信データ。

monitor_txwrite High 出力 パラレル送信データが有効であるこ とを示す書き込みス ト ローブ。

monitor_txfull High 入力この信号で、 ヘルパー ブロ ッ クからコン ト ローラーに対する送信チャネルのフロー制御を実装します。

monitor_rxdata[7:0] High 入力 ヘルパー ブロ ッ クからのパラレル受信データ。

monitor_rxread High 出力 パラレル受信データの受信完了を通知する読み出しス ト ローブ。

monitor_rxempty High 入力この信号で、 ヘルパー ブロ ッ クからコン ト ローラーに対する受信チャネルのフロー制御を実装します。

表 2‐22: UART インターフェイスの信号

名前 センス 方向 説明

uart_tx Low 出力 シ リ アル送信データ。

uart_rx Low 入力 シ リ アル受信データ。

UltraScale Architecture SEM Controller v3.1 39

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

フ ェ ッチ インターフェイス

フェッチ インターフェイスは、 コン ト ローラーが外部ソースからデータを要求する手段と して使用します。

エラー分類中、 コン ト ローラーは 1 フレーム分のエッセンシャル ビッ ト データを必要とするこ とがあ り ます。 コント ローラーは、 必要なデータを記述したコマンドをバイナリ形式でフェッチ インターフェイスに書き込むよ う設計されています。 外部ソースはこの情報を使用してデータをフェッチし、 フェッチ インターフェイスに返す必要があり ます。

エラー分類を有効にする と、 このインターフェイスは常にコア レベルで利用できます。 サンプル デザインでは、 このインターフェイスは SPI フラ ッシュ マスター ヘルパー ブロ ッ クに接続されており、 このインターフェイスを SPI インターフェイスを経由してエッセンシャル ビッ ト データが格納された外部 SPI フラ ッシュに接続します。

このインターフェイスの詳細は、 第 3 章の 「フェッチ インターフェイス」 を参照して ください。

SPI インターフェイス

ユーザーの便宜のため、 システム レベル サンプル デザインにおけるフェ ッチ インターフェイスは SPI フラ ッシュ マスター ヘルパー ブロ ッ クに接続されており、 SPI インターフェイス経由で外部 SPI フラ ッシュからエッセンシャル ビッ ト データを取得します。 このインターフェイスが存在する場合、 システム レベル サンプル デザインの SPI フラ ッシュ マスター ヘルパー ブロ ッ クの機能は SPI バス マスターに固定されます。

このヘルパー ブロ ッ クは、 アドレス とバイ ト カウン トで構成されるフェッチ インターフェイス経由でコン ト ローラーからコマンドを受け取り ます。 このヘルパー ブロ ッ クは、 要求されたデータを外部 SPI フラ ッシュからフェッチするための SPI バス ト ランザクシ ョ ンを生成します。 フェッチしたデータは、 コン ト ローラーが受信できるフォーマッ トにヘルパー ブロ ッ クによって変換されます。

このヘルパー ブロ ッ クは標準 SPI バス プロ ト コルを使用し、 「モード 0」 と呼ばれる も一般的なモード (CPOL = 0、CPHA = 0) を実装します。SPI バスのクロ ッ ク周波数はシステム レベル サンプル デザインのシステム ク ロ ッ クの 1/2 に固定されます。 詳細は、 第 3 章の 「SPI インターフェイス」 を参照してください。

表 2‐23: フェ ッチ インターフェイスの信号

名前 センス 方向 説明

fetch_txdata[7:0] High 出力 コン ト ローラーからのパラレル送信データ。

fetch_txwrite High 出力 パラレル送信データが有効であるこ とを示す書き込みス ト ローブ。

fetch_txfull High 入力この信号で、 ヘルパー ブロ ッ クからコン ト ローラーに対する送信チャネルのフロー制御を実装します。

fetch_rxdata[7:0] High 入力 ヘルパー ブロ ッ クからのパラレル受信データ。

fetch_rxread High 出力 パラレル受信データの受信完了を通知する読み出しス ト ローブ。

fetch_rxempty High 入力この信号で、 ヘルパー ブロ ッ クからコン ト ローラーに対する受信チャネルのフロー制御を実装します。

fetch_tbladdr[31:0] High 入力この信号で、 外部ソースにあるコン ト ローラー データ テーブルの開始アドレスを指定します。

UltraScale Architecture SEM Controller v3.1 40

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 2 章:製品仕様

このヘルパー ブロ ッ クが提供するインターフェイスには、 幅広い種類の標準 SPI フラ ッシュを直接接続できます。システム要件によっては外部レベル変換器が必要です。

補助インターフェイス 

補助インターフェイスは、 コンフ ィギュレーシ ョ ン メモ リのスキャンではコン ト ローラーが直接監視できない場所で発生したソフ ト エラー イベン ト をコン ト ローラーに通知する手段と して使用します。 詳細は、 第 3 章の 「補助インターフェイス」 を参照してください。

表 2‐24: SPI インターフェイスの信号

名前 センス 方向 説明

spi_c エッジ 出力 外部 SPI フラ ッシュの SPI バス ク ロ ッ ク。

spi_d High 出力 外部 SPI フラ ッシュの SPI バス 「マスター出力、 スレーブ入力」 信号。

spi_s_n Low 出力 外部 SPI フラ ッシュの SPI バス セレク ト信号。

spi_q High 入力 外部 SPI フラ ッシュの SPI バス 「マスター入力、 スレーブ出力」 信号。

表 2‐25:補助インターフェイスの信号

名前 センス 方向 説明

aux_error_cr_ne High 入力 訂正可能な非エッセンシャル エラーを示す補助入力。

aux_error_cr_es High 入力 訂正可能なエッセンシャル エラーを示す補助入力。

aux_error_uc High 入力 訂正不能エラーを示す補助入力。

UltraScale Architecture SEM Controller v3.1 41

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

一般的なデザイン  ガイド ライン

このセクシ ョ ンでは、 UltraScale™ Architecture SEM Controller とユーザー アプリ ケーシ ョ ン ロジッ クを組み合わせて完全に機能するデザインを作成する手順を説明します。

重要: この章に記載するすべての設計手順がすべてのインプリ メンテーシ ョ ンで必要とは限り ません。 このマニュアルのロジッ ク デザイン ガイ ド ラインに注意深く従ってください。

スターテ ィング ポイン ト と してサンプル デザインを使用

SEM Controller コアに付属するサンプル デザインを FPGA にインプ リ メン ト して、 コン ト ローラーの動作の理解に役立てるこ とができます。

システム レベル サンプル デザインは SEM Controller と各種プリ ミ ティブおよびヘルパー ブロ ッ クをカプセル化しており、 これらのプリ ミ ティブとヘルパー ブロ ッ クが SEM Controller とほかのデバイスを接続するインターフェイスと しての役割を果たします (106 ページの図 5-1 参照)。

スタ ッ ク ド シ リ コン インターコネク ト (SSI) デバイスをターゲッ トにしたデザインの場合、 各 SLR でソフ ト エラーを軽減する方法の例がシステム レベル サンプル デザインに含まれています。 少なく と も、 このサンプルを参考にしてください。 コアに付属するサンプル デザインの詳細は第 5 章 「サンプル デザイン」 を参照してください。 システム レベルのポート ソ リ ューシ ョ ンについては第 2 章の 「ポートの説明」 を参照してください。

ヒン ト : <component_name>_support_wrapper.v にはソフ ト エラー軽減ソ リ ューシ ョ ンに必須のロジッ クがすべて含まれているため、 すべてのサブモジュールと一緒にユーザー デザインに統合するこ とを推奨します。 このソリ ューシ ョ ンは、 完全に検証済みの状態で提供されています。 43 ページの 「構造オプシ ョ ン」 を参照してください。

UltraScale Architecture SEM Controller v3.1 42

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

難易度を把握

SEM Controller デザインのインプリ メン トは困難なこ と もあ り ますが、その難易度は次の要因によっても変化します。

• 大システム ク ロ ッ ク周波数

• ターゲッ ト デバイス アーキテクチャ

• アプリ ケーシ ョ ンの性質

• デバイスの密集度

すべての SEM インプ リ メンテーシ ョ ンでは、 システム性能の要件に注意を払う必要があ り ます。 このため、 設計サイクルの早期段階で IP を統合するこ とを強く推奨します。 パイプライン処理、 ロジッ ク マップ、 配置制約、 およびロジッ ク複製は、 システム性能を向上させる 適な手段です。

重要: SEM Controller と ICAP および FRAME_ECC プリ ミ ティブの間にパイプライン レジスタを追加する と SEM Controller の動作に悪影響が及ぶため、 この追加は避けてください。

レジスタの使用

FPGA デザインのタイ ミ ングをシンプルにしたり、 システム性能を向上させるには、 ユーザー アプリ ケーシ ョ ンとコア間のすべての入力と出力にレジスタを使用してください。 つま り、 ユーザー アプリ ケーシ ョ ンからのすべての入力と出力はフ リ ップフロ ップを介すこ とになり ます。 信号のレジスタへの格納はすべてのパスで可能とは限り ませんが、 これによってタイ ミ ング解析が容易になり、 またザイ リ ンクス ツールでのデザインの配置配線も簡単になり ます。

タイ ミング クリテ ィ カルな信号を認識

コアのサンプル デザインに付属する XDC ファ イルは、 ク リ ティカルな信号を識別して適用すべきタイ ミ ング制約を特定するのに役立ちます。 詳細は、 第 4 章の 「コアへの制約」 を参照してください。

許可された変更のみ実行

SEM Controller コアをユーザーが変更するこ とはできません。 これは、 システム タイ ミ ングへの違反を防ぐためです。ユーザー設定が可能なのは、 SEM Controller コアの生成時に Vivado® Design Suite のオプシ ョ ンで指定可能なコンフ ィギュレーシ ョ ンのみです。 第 4 章の 「コアのカスタマイズおよび生成」 を参照してください。

早期の統合およびバリデーシ ョ ン

SEM IP コアはプログラマブル ロジッ クのフッ トプ リ ン ト をわずかしか占有しませんが、プログラマブル ロジッ クのコンフ ィギュレーシ ョ ン メモ リ システムを活性化します。 できるだけ早期にシステムの統合とバリデーシ ョ ンを行い、 可能な限り多くの機能を段階的に追加していく と、 代表的なワークロードでのシステム評価の時間を 大限に確保できます。 この手法は、 デザイン再利用と IP ベース設計を促進する一般的なボ ト ムアップ設計アプローチを補完するものと して推奨されます。

詳細は、 102 ページの 「統合およびバリデーシ ョ ン」 を参照してください。

IP チェ ックリス トの確認

SEM IP を使用する際の注意点をチェッ ク リ ス ト形式でわかりやすく ま とめたものを用意しています。 付録 F 「IP デザインのチェッ ク リ ス ト 」 を参照してください。

UltraScale Architecture SEM Controller v3.1 43

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

構造オプシ ョ ン

コンフ ィギュレーシ ョ ン プリ ミ ティブおよび利用可能なヘルパー ブロ ッ クをどこに配置するかは、 [Customize IP] ダイアログ ボッ クスの [Structural Options] で選択できます。 これらのオプシ ョ ンで IP 境界の順列を変更し、 提供される IP ソ リ ューシ ョ ンをシンプルなインターフェイスのスタンドアロン コアと して動作させるか、 大規模なデザインの一部と して動作させて SEM Controller のインターフェイスへのアクセスを容易にするかを選択できます。 これらのオプシ ョ ンによ り、 IP コアをさまざまな用途に柔軟に利用できるよ うになる と同時に、 ソ リ ューシ ョ ンをユーザー デザインに統合する際の HDL 修正範囲が 小限に抑えられます。

階層レベルには次の 2 つがあ り ます。

• <component_name>_support

• <component_name>_support_wrapper

図 3-1 および図 3-2 に、 コンフ ィギュレーシ ョ ン プリ ミ ティブをコアに含めた場合とサンプル デザインに含めた場合の 2 つの階層を示します。 図中の <component_name> には生成されたコアの名前が入り ます。

これら 2 つの階層の違いは、 コアの境界およびヘルパー ブロ ッ クがインスタンシエート される場所にあ り ます。これは、 Vivado 統合設計環境 (IDE) で SEM Controller をカスタマイズする際に [Structural Options] で設定します。

注記: UltraScale SSI デバイスをターゲッ トにしたインプリ メンテーシ ョ ンでは、 サンプル デザインに含まれるコンフ ィギュレーシ ョ ン プリ ミ ティブのみがサポート されます。

X-Ref Target - Figure 3-1

図 3‐1: コンフ ィギュレーシ ョ ン  プリ ミテ ィブをコアに配置

Support Layer (<component_name>, DCP)

System-Level Solutions (<component_name>_support_wrapper)

System-Level Design Example

VIO

VIO

VIO

VIO

BUFGCE

UART Helper Block

SPI Flash Master Helper Block

SEM Controller

Configuration Logic

ICAP FRAMEECC

UltraScale Architecture SEM Controller v3.1 44

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

ヒン ト : <component_name>_support_wrapper には全体的なソフ ト エラー軽減ソ リ ューシ ョ ンに必須のロジックがすべて含まれており、 完全に検証済みのものが提供されているため、 この階層レベルをデザインに統合することを推奨します。

重要: このサンプル デザインを統合しない場合は、 後述する各インターフェイスのシステム レベル要件および推奨事項に従ってください。

コンフ ィギュレーシ ョ ン  プリ ミテ ィブをコアに配置

ICAP および FRAME_ECC プリ ミ ティブへのアクセスを必要とするロジッ クがほかに存在しない場合はこのオプシ ョンを選択します。 この場合、 これらのプリ ミ ティブはコアに配置され、 プリ ミ ティブと SEM Controller は自動的に接続されるため、 コア ポート と しては外部に現れません。

注記: UltraScale SSI デバイスをターゲッ トにしたデザインの場合、 このオプシ ョ ンは利用できません。

コンフ ィギュレーシ ョ ン  プリ ミテ ィブをサンプル デザインに配置

ICAP および FRAME_ECC プリ ミ ティブへのアクセスを必要とするロジッ クがほかに存在する場合はこのオプシ ョ ンを選択します。 この場合、 これらのプリ ミ ティブはサンプル デザイン階層にインスタンシエート されます。

ユーザー デザインと SEM Controller で ICAP を共有する方法の詳細は、 ザイ リ ンクスにお問い合わせください。

X-Ref Target - Figure 3-2

図 3‐2: コンフ ィギュレーシ ョ ン  プリ ミテ ィブをサンプル デザインに配置

Support layer (<component_name>_support)

System-Level Solutions (<component_name>_support_wrapper)

System-Level Design Example

VIO

VIO

VIO

VIO

BUFGCE

UART Helper Block

SPI Flash Master Helper Block

SEM Controller(<component_name>, DCP)

Configuration Logic

ICAP FRAMEECC

UltraScale Architecture SEM Controller v3.1 45

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

インターフェイス

このセクシ ョ ンでは、 コアをデザインに統合する方法を各インターフェイス別に説明します。 各セクシ ョ ンでは、インターフェイスの目的、 使用方法、 動作、 およびシステム全体への統合方法について説明します。

ICAP インターフェイス 

ICAP インターフェイスは第 2 章の 「ICAP インターフェイス」 の説明に従って ICAP プリ ミ ティブに接続します。このインターフェイスの icap_clk ポートは IP への主要な入力クロ ッ クです。 このク ロ ッ クの要件については、 次のセクシ ョ ンで説明します。

システム クロック  インターフェイス

こ こでは、 システム入力クロ ッ クに関する推奨事項について説明します。 これらの推奨事項は、 FPGA データシートに記載された FPGA コンフ ィギュレーシ ョ ン システムに使用されるクロ ッ ク信号の要件に基づいて決定しています。

• デューティ サイ クル: 45% 以上、 55% 以下

入力クロ ッ クの周波数が高いほど、 ソ リ ューシ ョ ンのエラー軽減レイテンシは小さ くな り ます。 したがって、 周波数はなるべく高い方が理想です。 入力クロ ッ クの 大周波数を決定する際には、 いくつかの重要な要因を考慮する必要があ り ます。

• FPGA コンフ ィギュレーシ ョ ン システム (ICAP) の 大クロ ッ ク周波数を超えないこ と。 具体的な数値は、 ターゲッ ト デバイスのデータシート を参照してください。

• スタティ ッ ク タイ ミ ング解析ツールで報告された 大クロ ッ ク周波数を超えないこ と。 通常、 この条件が制限となるこ とはあ り ません。

システム レベル サンプル デザインを使用する場合、 完全同期設計手法に基づき、 ク ロ ッ ク周波数を選択する際には外部インターフェイスのタイ ミ ングとの関係も考慮する必要があ り ます。

• 専用の SPI フラ ッシュを使用して分類データを格納する分類機能をそのまま使用する場合:

° SPI バスの 大クロ ッ ク周波数を決定するには、 SPI バス タイ ミ ング バジェッ トの評価が必要です。 解析例は付録 G 「SPI バス タイ ミ ング バジェッ ト 」 を参照してください。

° SPI バス ク ロ ッ クは入力クロ ッ クの 1/2 です。 したがって、 入力クロ ッ クは SPI バスの 大クロ ッ ク周波数の 2 倍以下とする必要があ り ます。

• UART ヘルパー ブロ ッ ク と UART インターフェイスを使用してコン ト ローラーと通信する場合:

° 入力クロ ッ ク とシ リ アル インターフェイスのボー レートは、 16 の整数倍の関係です。 標準ボー レートが必要な場合、 非常に高いボー レート または非常に低い入力クロ ッ ク周波数では解空間が限られるこ とがあり ます。

° 解析例は 「スイ ッチング動作」 を参照してください。

UltraScale Architecture SEM Controller v3.1 46

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

システム レベル要件

システム ク ロ ッ クはコン ト ローラーにとって非常に重要であるため、 なるべく信頼性の高いクロ ッ ク ソースから供給する必要があ り ます。 大限の信頼性を確保するには、 ク ロ ッ ク ソース と コン ト ローラーをできるだけ直接接続します。 つま り、 目的の周波数の外部オシレーターを使用し、 グローバル ク ロ ッ ク バッファーに直接関係するピンに直接接続します。

このクロ ッ ク パスにその他のロジッ クやインターコネク ト を含める と、 ク ロ ッ ク と コン ト ローラーの接続を制御するために使用するコンフ ィギュレーシ ョ ン メモ リの数が増大します。 この結果、 コン ト ローラーの推定 FIT に悪影響が及びます。 この影響はそれほど大き くはあ り ませんが、 設計負担がそれほど増えないのであれば、 信頼性向上のために実行しておく こ とを推奨します。

このクロ ッ ク パスにクロ ッ ク管理ブロ ッ クやロジッ ク ベースのクロ ッ ク分周器などの余分なロジッ クが存在する場合、過渡中を含め FPGA コンフ ィギュレーシ ョ ン システムの 大クロ ッ ク周波数とシステム レベル サンプル デザインおよびコン ト ローラーの 大クロ ッ ク周波数の要件に違反しないよ うにデザインで保証する必要があ り ます。

たとえば遅延ロッ ク ループ (DLL) や位相ロッ ク ループ (PLL) のクロ ッ ク出力は、 これらの機能がロ ッ クするまでの間、 仕様外の値となるこ とがあ り ます。 この問題に対処するには、 イネーブル信号を備えたグローバル ク ロ ッ ク バッファー (BUFGCE) を使用し、 ロ ッ クが完了した後でグローバル ク ロ ッ ク バッファーを有効にする という方法があ り ます。たとえばサンプル デザインのシステム レベル ク ロ ッ クは BUFGCE のクロ ッ ク イネーブルを High に接続して分配しています。

システム レベル サンプル デザイン、 コン ト ローラー、 およびコンフ ィギュレーシ ョ ン システムはすべてスタティ ッ クです。 つま り、 FPGA コンフ ィギュレーシ ョ ン システムの仕様上の 大許容周波数、 またはシステム レベル サンプル デザインおよびコン ト ローラーの 大クロ ッ ク周波数のいずれか低い方まで任意のクロ ッ ク周波数を使用できます。 ただしクロ ッ ク レートは高い方がエラー軽減を高速に実行できる という利点があ り ます。

これらの要因を考慮して、 すべての条件を満たす入力クロ ッ ク周波数を選択します。

FRAME_ECC インターフェイス

FRAME_ECC インターフェイスは 「FRAME_ECC インターフェイス」 の説明に従って FRAME_ECC プリ ミ ティブに接続します。

UltraScale+™ SSI デバイスには、 各 SLR に専用の FRAME_ECC インターフェイスがあ り ます。 これらのインターフェイスは、 同じ SLR に配置された FRAME_ECC プリ ミ ティブに接続する必要があ り ます。

UltraScale Architecture SEM Controller v3.1 47

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

ICAP アービ ト レーシ ョ ン  インターフェイス

このインターフェイスは、 ICAP プリ ミ ティブをシステムの複数のファンクシ ョ ンで共有する場合や、 SEM Controller から ICAP へのアクセスを管理する必要がある場合に使用する と便利です。 複数のファンクシ ョ ンから ICAP へのアクセスを制御し、 SEM Controller から ICAP へのアクセス タイ ミ ングを管理するにはこのインターフェイスをユーザー定義の ICAP アービタで駆動するのが理想です。 SEM Controller で ICAP を共有する方法の詳細は、ザイ リ ンクスにお問い合わせください。

図 3-3 に、ICAP アービ ト レーシ ョ ン インターフェイスの信号を変化させた場合の SEM Controller の動作を示します。開始点は次の 2 つがあ り ます。

• コン ト ローラーが監視、 検出、 診断スキャン ステートの場合 (図の開始点 1)

• コンフ ィギュレーシ ョ ン後にコン ト ローラーが初めて起動した場合 (図の開始点 2)

白のブロ ッ クは、 コン ト ローラーが独占的に ICAP にアクセスするステート を示します。 グレーのブロ ッ クはコン トローラーが ICAP にアクセスしないステート を示します。

X-Ref Target - Figure 3-3

図 3‐3: ICAP アービ ト レーシ ョ ンのスイッチング動作フローチャート

Starting point 1: Controller in Observation or Detect only or

Diagnostic ScanStateb

Arbiter setscap_rel = 1?

Controller in Idle Statea

Controllers checks (cap_gnt = 0 and cap_rel = 0)?

a

Controller Start Boot Processa

Arbiter sets (cap_gnt = 1 and cap_rel = 0)?a

Controller in Initialization State

Controller in State After Initializationb

True,

Controller transitions to Idle state

True

True, Controller transitions to

Initialization state

False

False

False

Notes:a SEM controller continues to be Idle state. Now, the controller has no access to the ICAP primitive. b See Table 2-1.c When IP is configured in "Detect-only" mode, cap_rel should not be asserted when the IP is transitioning from Initialization to Detect-only state. If this occurs, the IP does not release it's access to ICAP correctly. To workaround this limitation, do not assert cap_rel when the IP is in Idle and the previous state is Initialization.

Arbiter continues to assert cap_rel = 1

Controller sets

cap_req = 0a

Controller sets cap_req = 1a

Arbiter should now set cap_gnt = 0

Starting point 2: Clock provided to IP after

configurationa

Limitations to cap_rel

assertion c

X16281-111517

UltraScale Architecture SEM Controller v3.1 48

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

ICAP アービ ト レーシ ョ ン インターフェイスの cap_rel および cap_gnt 信号を操作してコン ト ローラーから ICAP へのアクセスを解放した場合、 アクセスが再び許可される と コン ト ローラーは再起動して初期化を実行します (ソフト ウェア リセッ ト と同じ動作)。 コン ト ローラーから ICAP へのアクセスが停止されている間にコンフ ィギュレーシ ョ ン メモ リ または設定が変更されたかど うかをコン ト ローラーは知るこ とができないため、 コン ト ローラーから ICAP へのアクセスが再び許可された後にコン ト ローラーの正常動作を保証するには、 これが も安全な方法となります。

この動作が好まし くない場合は、次の手順を手動で実行してコン ト ローラーから ICAP へのアクセスを停止できます。

1. コン ト ローラーをアイ ドル ステートへ移行させるコマンドを実行します。

2. ICAP へのアクセス権を取得して目的の動作を実行します。

3. 目的の動作を完了して ICAP へのアクセス権を解放したら、 コン ト ローラーを監視ステートや検出ステート など目的のステートへ移行させるコマンドを実行します。

注記:上記の手順を実行してもコン ト ローラーは再起動/初期化されませんが、 ICAP にアクセスして処理を実行中、 コンフ ィギュレーシ ョ ン メモ リおよび設定が変更されないよ うにユーザーが責任を持つ必要があ り ます。これは、 SEM Controller の正常動作を継続する上で非常に重要です。

ICAP 共有機能を使用しない場合は、 このインターフェイスの入力を次のよ うに接続します。

• cap_gnt = High

• cap_rel = Low

スイッチング動作

図 3-4 にスイ ッチ特性を示します。 初にコン ト ローラーがブート します。 次に、 コン ト ローラーが cap_req 信号をアサート して ICAP へのアクセスを要求します。 コン ト ローラーは、 ICAP にアクセスする必要がある間、 この信号をアサート し続けます。 その後、 外部 ICAP アービタによって cap_gnt 信号がアサート され、 コン ト ローラーに ICAP の制御が与えられたこ とを通知します。 cap_gnt がアサート される と コン ト ローラーは初期化ステートへ移行します。 初期化が完了する と、 コン ト ローラーは監視ステートへ移行します。

コン ト ローラーが監視ステートへ移行した後、 ICAP アービタは cap_rel 信号をアサート し、 コン ト ローラーに対して ICAP を解放するよ う要求します。 その後、 コン ト ローラーは自動的にアイ ドル ステートへ移行し、 cap_req 信号をディアサート します。 次に、 ICAP アービタは cap_gnt および cap_rel 信号をディアサート します。 次に、コン ト ローラーは cap_req 信号をアサート してブート プロセスを開始します。 cap_gnt がアサート される と、 コン ト ローラーは初期化ステートへ移行します。 初期化が完了する と、 コン ト ローラーは監視ステートへ移行します。

第 3 章

:コア

を使用

するデザ

イン

UltraScale Architecture SEM

 Controller v3.1

49

PG187

 2019 年

 5 月

 22 日

japan

.xilinx.com

シス

テム

 レベル

要件

この

イン

ター

フェ

イスは、

ICA

P に

アクセ

スす

る必要

のあ

るブ

ロックが複数存在す

るシ

ステ

ムで使用

して

くだ

さい。

この

ようなシ

ステ

ムでは、複数

のブ

ロック間

で I

CA

P のハ

ンドオ

フを管理お

よび制御す

るための

アー

ビタを設計す

る必要

があ

ります。

X-Re

f Tar

get -

Figu

re 3-

4

図 3‐4:ICAP ア

ービ

トレー

ションの

スイ

ッチ

ング動作

Boo

tIn

itial

izat

ion

Obs

erva

tion

Idle

Boo

tIn

itial

izat

ion

Obs

erva

tion

icap

_clk

cap_

req

cap_

gnt

cap_

rel

stat

us_i

nitia

lizat

ion

stat

us_o

bser

vatio

n

Boot

Initi

aliz

atio

nO

bser

vatio

nId

leBo

otIn

itial

izat

ion

Obs

erva

tion

UltraScale Architecture SEM Controller v3.1 50

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

ステータス インターフェイス

ステータス インターフェイスからは、 ロジッ ク信号に基づく イベン ト レポートが直接出力されます。 ステータス インターフェイスは多くの用途に利用できますが、 その使用は必須ではあ り ません。 このインターフェイスで報告される情報は、 次の 3 つの種類に分類されます。

• ステート – コン ト ローラーの現在の動作を示します。

• フラグ – 検出したエラーのタイプを特定します。

• ハート ビート – コンフ ィギュレーシ ョ ン メモ リのスキャンが動作中であるこ とを示します。

システム レベル サンプル デザインを UltraScale SSI デバイスにインプリ メン ト した場合、 各 SLR に 1 つずつコン トローラー インスタンスがあるため、 ステータス インターフェイスも SLR ごとに個別に存在します。

システム レベル サンプル デザインを UltraScale+ SSI デバイスにインプ リ メン ト した場合、 コン ト ローラー インスタンスは 1 つだけで、 これがマスター SLR の ICAP と各 SLR の FRAME_ECC プリ ミ ティブに接続されます。 このため、 ステータス インターフェイスは 1 つしかあ り ませんが、 コンフ ィギュレーシ ョ ン メモ リは各 SLR で並列にスキャンされるため、 ハート ビート信号は n 数だけ存在します (n は SLR の数)。

インプリ メンテーシ ョ ンにかかわらず、 ほとんどの場合、 ステータス インターフェイスの信号は必要なものだけを FPGA の I/O ピンに接続します。システム レベル サンプル デザインでは、すべての信号を I/O ピンに接続しています。

ステータス信号は外部でインジケーターに接続して表示するこ と も、 別のデバイスに接続して観測するこ と もできます。 別のデバイスに接続してイベン ト報告を正し く取り込むには、 ステータス インターフェイスのスイ ッチング動作を考慮する必要があ り ます。

特に UltraScale SSI デバイスへのインプリ メンテーシ ョ ンでは信号の数が多くなるため、 ステータス インターフェイスは複雑になりがちです。 ただしステータス インターフェイスでしか取得できないのはハート ビート イベン トのみです。 それ以外の情報はモニター インターフェイスでも得られます。

ステータス インターフェイスの信号は、 システム レベル サンプル デザインに供給されるクロ ッ クを使用してコント ローラー内部の順次ロジッ ク処理で生成されます。 このため、 パルス幅は常にクロ ッ ク サイクルの整数倍です。

ステート

SEM Controller には 9 つの有効なステートがあ り ます。

• 初期化

• 監視

• 訂正

• 分類

• アイ ドル

• 挿入

• 検出

• 診断スキャン

• 重大エラー

UltraScale Architecture SEM Controller v3.1 51

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

図 3-5 ~図 3-7 に、 各 IP モードにおける有効なステート と ステート遷移を示します。

X-Ref Target - Figure 3-5

図 3‐5:軽減 (+ テスト ) モードの場合の有効なステート遷移図

Notes:a status_* consists of status_observation, initialization, correction, injection, classification, detect only, and diagnostic_scan (omitting the signal that has already been defined in the state).b Only available in Mitigation and testing mode.c Only SC flag is updated before IP exits a state.d This is a true Idle state where the IP is not scanning any configuration frames.Transition to Fatal Error state is not shown.

Initializationstatus_initialization = 1,

status_* = 0 a

Observationstatus_observation = 1,

status_* = 0 a

Correctionstatus_correction = 1,

status_* = 0 a

Set FC flag before exiting

Classificationstatus_classification = 1,

status_* = 0 a

Set FC flag before exiting

Error Injectionb

status_injection = 1, status_* = 0 a

Error detected Classify error

Correctable Error

Uncorrectable Error

Error injection commandc

True

Idle commandObservation

commandSoftware reset

Complete Initialization

All other commands

All other commands

Diagnostic Scanstatus_diagnostic_scan = 1,

status_* = 0 a

Diagnostic Scan Command

True(after a single device sweep

completes)

Detect-only Command

Idle Command

or Error Detected

Idled

status_* = 0 a

Detect Onlystatus_detect_only= 1,

status_* = 0 a

Set FC flag = 60 before exiting (when error is detected)

X-Ref Target - Figure 3-6

図 3‐6:検出 (+ テスト ) モードの場合の有効なステート遷移図

Notes:a status_* consist of status_observation, initialization, correction, injection, classification, detect_only, and diagnostic_scan (omitting the signal that has already been defined in the state).b Only available in Detect and Testing mode.c This is a true Idle state where the IP is not scanning any configuration frames.SC flag is updated before IP exits a state

Initializationstatus_initialization = 1,

status_* = 0 a

Idlec

status_* = 0 aError Injectionb

status_injection = 1, status_* = 0 a

Complete initialization

Softwarereset True

Inject error

Detect Onlystatus_detect_only = 1,

status_* = 0 a

Set FC flag = 60 before exiting (when error is detected)

Detect-only Command

Idle Command

or Error Detected

True(after a single device sweep

completes)

Diagnostic Scan

Command

Diagnostic Scanstatus_diagnostic_scan = 1,

status_* = 0 a

X15990-030416

UltraScale Architecture SEM Controller v3.1 52

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

これらステートの遷移に関しては、 モニター インターフェイスからのレポートの方が詳細な情報が得られます。詳細は、 「モニター インターフェイス」 を参照してください。

以降のセクシ ョ ンでは、 各ステートの詳細について説明します。

初期化

コン ト ローラーは FPGA のグローバル セッ ト / リセッ ト信号によって非アクティブな状態に置かれます。 コンフ ィギュレーシ ョ ンが完了する と、 FPGA コンフ ィギュレーシ ョ ン システムがグローバル セッ ト / リセッ ト信号をディアサート し、 コン ト ローラーがブート します。 ブート プロセスの間、 コン ト ローラーはステータス インターフェイスの 7 つのステート ビッ ト をすべてディアサート したまま維持します。

コン ト ローラーはブート中に cap_gnt および cap_rel 入力をポーリ ングし、 初期化ステートへ移行して ICAP の使用を開始できるかど うかを確認します。 外部 ICAP アービタでこれら信号を駆動しない場合は、 cap_gnt 信号を High、 cap_rel を Low に接続します。

初期化ステートの間、 status_initialization は High にアサート されます。 初期化ステートでは、 モニター インターフェイスから出力される初期化レポート など直接観測可能なイベン ト以外に、 内部のハウスキーピング処理もいくつか実行されます。 具体的には、 次の処理が実行されます。

• 1 回目のリードバッ ク サイクルでフレーム レベルの ECC チェッ クサムを計算。

• 2 回目のリードバッ ク サイクルでデバイス レベルの CRC チェッ クサムを計算。

初期化が完了する と、 コン ト ローラーは IP のモードに応じて監視、 検出、 アイ ドルのいずれかのステートへ移行します。

X-Ref Target - Figure 3-7

図 3‐7: その他のモードの場合の有効なステート遷移図

Notes:a status_* consist of status_observation, initialization, correction, injection, classification, detect_only, and diagnostic_scan (omitting the signal that has already been defined in the state).b Only available in Emulation mode.c This is a true Idle state where the IP is not scanning any configuration frames.SC flag is updated before IP exits a state

Initializationstatus_initialization = 1,

status_* = 0 a

Idlec

status_* = 0 aError Injectionb

status_injection = 1,

status_* = 0 aComplete

initialization

Softwarereset True

Inject error

All other commands

Detect Onlystatus_detect_only = 1,

status_* = 0 a

Set FC flag = 60 before exiting (when error is detected)

Detect-only Command

Idle Command

or Error Detected

True(after a single device sweep

completes)

Diagnostic Scan

Command

Diagnostic Scanstatus_diagnostic_scan = 1,

status_* = 0 a

UltraScale Architecture SEM Controller v3.1 53

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

Zynq UltraScale+ MPSoC の注意事項

Zynq® UltraScale+ MPSoC デバイスを使用するインプ リ メンテーシ ョ ンでは、 SEM Controller から ICAP インターフェイスへアクセスできるよ うにする必要があ り ます。 そのためには、 PS コンフ ィギュレーシ ョ ン セキュ リティ ユニット (CSU) の pcap_ctrl レジスタの PCAP PR ビッ ト をク リ アします。

Zynq UltraScale+ MPSoC のプロセッシング システム (PS) のブート中、PS は PCAP (プロセッサ コンフ ィギュレーシ ョン アクセス ポート ) を通じてデバイス内のコンフ ィギュレーシ ョ ン ロジッ クにアクセスできます。 このパスを利用して、 PS ブート ローダーはビッ ト ス ト リームを Zynq UltraScale+ MPSoC のプログラマブル ロジッ ク (PL) にダウンロード します。 PS ブート ローダーが完了する と、 PS による PL のパーシャル リ コンフ ィギュレーシ ョ ンをサポートするために PS と PCAP がコンフ ィギュレーシ ョ ン ロジッ クを常時制御します。

ただし、 PS と PCAP がコンフ ィギュレーシ ョ ン ロジッ クを制御している間、 PL と ICAP はコンフ ィギュレーシ ョ ン ロジッ クにロ ッ ク しません。 SEM Controller が正し く機能するには、 ICAP 経由でコンフ ィギュレーシ ョ ン ロジッ クにアクセスする必要があ り ます。 そのためには、 PS CSU pcap_ctrl レジスタ (pcap_ctrl、 アドレス 0xFFCA3008) の pcap_pr (ビッ ト [0]) をク リ アします。 PCAP の詳細は、 『Zynq UltraScale+ MPSoC テクニカル リファレンス マニュアル』 (UG1085) [参照 3] を参照してください。

PS 上で動作するソフ ト ウェアは、 必要な PCAP アクティビティをすべて完了する と PCAP_PR をク リアした後、 コント ローラーの icap_grant 入力に接続された GPIO をセッ ト します。 これによって、 コン ト ローラーは初期化ステートに進むこ とができます。 icap_grant 入力への信号は、 icap_clk 信号に正し く同期している必要があり ます。

この動作をソフ ト ウェアでインプ リ メン トする方法は、 この製品ガイ ドでは説明しません。 SEM Controller を PS に統合する方法については、 2 つのアプリ ケーシ ョ ン ノートで説明しています。 『Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1298) [参照 4] および 『AXI を使用した Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1303) [参照 5] を参照してください。

ベアメ タルおよび Linux 環境におけるソフ ト ウェア開発の詳細は、 『Zynq UltraScale+ MPSoC ソフ ト ウェア開発者向けガイ ド』 (UG1137) [参照 7] および 『OS およびライブラ リ資料コレクシ ョ ン』 (UG643) [参照 8] を参照してください。

監視 (軽減 (+ テスト ) モードのみ)

コン ト ローラーはほとんどすべての時間を監視ステートで費やします。 監視ステートの間、status_observation は High にアサート され、 コン ト ローラーは FPGA コンフ ィギュレーシ ョ ン システムを監視してエラーの発生を検出します。 また、 ECC ベースの ROM エラーと補助インターフェイスからのエラーも監視します。

エラーが存在しておらず、 コマンド インターフェイスまたはモニター インターフェイスからコマンドを受信すると、 コン ト ローラーはそのコマンドを処理します。 監視ステートでサポート されるコマンドは Enter Idle と Status Report の 2 つのみです。 コン ト ローラーはそれ以外のコマンドをすべて無視します。

• Enter Idle – このコマンドはコマンド インターフェイス とモニター インターフェイスのいずれからも入力できます。 これは、 コン ト ローラーをアイ ドル状態にしてほかのコマンドを実行できるよ うにするためのものです。このコマンドを実行する と コン ト ローラーはアイ ドル ステートへ移行します。

• Status Report – このコマンドは診断情報を取得するためのコマンドで、 コン ト ローラーに対する 「ping」 のよ うな働きをします。 このコマンドはモニター インターフェイスからのみ入力できます。

エラーが検出された場合、 コン ト ローラーは訂正を試みるために必要な情報をコンフ ィギュレーシ ョ ン ロジッ クから読み出します。 情報の収集が完了する と、 コン ト ローラーは訂正ステートへ移行します。

UltraScale Architecture SEM Controller v3.1 54

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

訂正 (軽減 (+ テスト ) モードのみ)

訂正ステートでは、 コン ト ローラーはエラーの訂正を試みます。 訂正に失敗した場合も、 コン ト ローラーは必ず訂正ステート を通過します。 訂正ステートの間、 status_correction は High にアサート されます。

エラーが CRC のみのエラーの場合、 コン ト ローラーは status_uncorrectable をセッ ト してモニター インターフェイスにレポート を出力します。 その後、 コン ト ローラーは分類ステートへ移行します。 エラーが CRC のみのエラーでない場合、 コン ト ローラーはアルゴ リズムを用いてエラーの訂正を試みます。

エラーが訂正可能な場合、 コン ト ローラーはアクティブ パーシャル リ コンフ ィギュレーシ ョ ンを実行してフレームを訂正後の内容で書き換え、 status_uncorrectable をク リ アします。 エラーが訂正不能な場合、 コン ト ローラーは status_uncorrectable をセッ ト します。 どちらの場合も、 コン ト ローラーはモニター インターフェイスに訂正レポート を出力した後、 分類ステートへ移行します。

ヒン ト : status_uncorrectable は status_correction の立ち下がりエッジでサンプルしてください。

分類 (軽減 (+ テスト ) モードのみ)

分類ステートでは、 コン ト ローラーはエラーを分類します。 エラー分類機能を有効にしていない場合も、 コン トローラーは必ず分類ステート を通過します。 分類ステートの間、 status_classification は High にアサート されます。

訂正ステート中に訂正不能と報告されたエラーはすべてエッセンシャルと して報告されます。 エラーを訂正できないのは、 エラーの場所を特定できないのが唯一の理由です。 この場合、 コン ト ローラーはエラーがエッセンシャルかど うかをルッ クアップ テーブルで判定できません。 コン ト ローラーは status_essential をアサート し、 モニター インターフェイスに分類レポート を出力した後、 アイ ドル ステートへ移行します。 訂正不能エラーが 1 つ検出される と、 コン ト ローラーはその時点でエラーの検出を中止します。 この場合、 FPGA のリ コンフ ィギュレーシ ョ ンが必要です。

ヒン ト : status_essential は status_classification の立ち下がりエッジでサンプルしてください。 この信号はスティ ッキーで、 コン ト ローラーが次にエラーを訂正して分類するまで更新されません。

訂正ステートで訂正可能と報告されたエラーの取り扱いは、 コン ト ローラーのオプシ ョ ン設定によ り異なり ます。エラー分類が無効な場合、 訂正可能エラーはすべて無条件でエッセンシャルと して報告されます。 エラー分類が有効な場合、 コン ト ローラーはエッセンシャル ビッ ト データの要求をフェッチ インターフェイスに出力します。

システム レベル サンプル デザインでは、 SPI フラ ッシュ マスター ヘルパー ブロ ッ クによってこの要求が外部メモリの読み出しに変換されます。 読み出したデータは、 SPI フラ ッシュ マスター ヘルパー ブロ ッ クを経由してコン トローラーに返されます。 このデータに基づき、 コン ト ローラーはエラーがエッセンシャルかど うかを判定します。判定が完了する と コン ト ローラーは分類レポート をモニター インターフェイスに出力し、 status_essential を適宜変更した後、 監視ステートへ移行してエラーの監視を続けます。

アイ ドル

アイ ドル ステートへ移行する と、 コン ト ローラーは内蔵のコンフ ィギュレーシ ョ ン メモ リ スキャンおよびチェッ ク機能を無効にします。 したがって、 コン ト ローラーは SEU イベン ト を検出も訂正もしません。 このステートはテストおよびデバッグの目的で使用します。 アイ ドル ステートでは、 ステータス インターフェイスの 7 つのステート ビッ トがすべてディアサート されます。 アイ ドル ステートで利用可能なコマンド と、 そのコマンドを入力可能なインターフェイスを次の表にまとめます。

UltraScale Architecture SEM Controller v3.1 55

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

上記コマンドの生成方法の詳細は、 「コマンド インターフェイス」 および 「モニター インターフェイス」 を参照してください。

表 3‐1: アイドル ステートで利用可能なコマンド

コマンド 説明 入力可能なインターフェイス

監視ステートへの移行

コン ト ローラーを監視ステートに戻してエラーの検出を再開する場合に使用します。 このコマンドは IP が軽減 (+ テス ト ) モードにコンフ ィギュレーシ ョ ンされている場合のみ有効です。 IP がその他のモードの場合、 このコマンドは無視されます。

コマンドおよびモニター インターフェイス

検出ステートへの移行

コン ト ローラーはコンフ ィギュレーシ ョ ン メモ リを継続的にスキャンしてエラーを検出します。エラーが検出される とモニター インターフェイスからレポートが出力され、 コン ト ローラーはアイドル ステートへ移行します。

コマンドおよびモニター インターフェイス

診断スキャン ステートへの移行

デバイスのコンフ ィギュレーシ ョ ン メモ リ全体に対してスキャンを 1 回実行し、 検出したすべてのフレーム レベル ECC エラーのレポート をモニター インターフェイスから出力するよ う コン ト ローラーに指示します。 1 回のコンフ ィギュレーシ ョン メモリ スキャンが完了する と、 コン ト ローラーは自動的にアイ ドル ステートへ移行します。

コマンドおよびモニター インターフェイス

エラー挿入コン ト ローラーに対してエラー挿入を実行するよう命令します。 複数ビッ ト エラーは、 1 ビッ ト エラーの挿入を複数回繰り返して挿入します。

コマンドおよびモニター インターフェイス

ソフ ト ウェア リセッ トソフ ト ウェア リセッ ト (コン ト ローラーの再起動と再初期化) を実行するよ う コン ト ローラーに指示します。

コマンドおよびモニター インターフェイス

完全なステータス レポート

詳細な診断情報を取得するためのコマンドで、 コン ト ローラーに対する 「ping」 のよ う な働きをします。 このコマンドはモニター インターフェイスからのみ入力できます。

モニター インターフェイスのみ

コンフ ィギュレーシ ョ ン フレーム読み出し

(Query コマンド )

コンフ ィギュレーシ ョ ン メモ リの内容を読み出します。 コンフ ィギュレーシ ョ ン アドレスにエラーを挿入する前後に Query コマンドを実行してエラーが正し く挿入されたこ とを確認するこ とを推奨します。 詳細は、 「コンフ ィギュレーシ ョ ン メモ リのマスク」 を参照してください。

モニター インターフェイスのみ

コンフ ィギュレーシ ョ ン レジスタ読み出し

(Peek コマンド )

コンフ ィギュレーシ ョ ン レジスタの内容を読み出します。

モニター インターフェイスのみ

フレーム アドレス変換

(Translate コマンド )

リ ニア フレーム アドレス (LFA) と物理フレーム アドレス (PFA) を双方向に変換します。

モニター インターフェイスのみ

外部メモ リ読み出し

(Xmem コマンド )外部メモ リ デバイスの内容を読み出します。 モニター インターフェイスのみ

UltraScale Architecture SEM Controller v3.1 56

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

検出スキャン

検出ステートでは、 コン ト ローラーはエラー検出スキャンを実行します。 このステートでは、 コン ト ローラーはデバイスのコンフ ィギュレーシ ョ ン メモ リ全体を継続的に監視してエラー (フレーム レベル ECC およびデバイス レベル CRC) を検出します。 また、 ECC ベースの ROM エラーと補助インターフェイスからのエラーも監視します。 エラーが検出される と、 コン ト ローラーはモニター インターフェイス経由でエラーを報告します。 その後、 コン トローラーはアイ ドル ステートへ移行します。

検出ステートでサポート されるコマンドは Enter Idle のみです。 コン ト ローラーはそれ以外のコマンドをすべて無視します。

• Enter Idle – このコマンドはコマンド インターフェイス とモニター インターフェイスのいずれからも入力できます。 これは、 コン ト ローラーをアイ ドル状態にしてほかのコマンドを実行できるよ うにするためのものです。このコマンドを実行する と コン ト ローラーはアイ ドル ステートへ移行します。

コン ト ローラーが検出ステートへ移行するのは次の 2 つの場合のみです。

• ケース 1 – 検出 (+ テス ト ) モードにコンフ ィギュレーシ ョ ンしたコン ト ローラーが初期化を完了した場合。

• ケース 2 – アイ ドル ステートのコン ト ローラーに対して検出ステートへの移行コマンドを実行した場合。 このコマンドは、 コマンドまたはモニター インターフェイスから入力できます。

診断スキャン

このステートでは、 コン ト ローラーは診断スキャンを実行します。 このステートでは、 コン ト ローラーはデバイスのコンフ ィギュレーシ ョ ン メモ リ全体に対してスキャンを 1 回実行し、 検出したすべてのフレーム レベル ECC エラーのレポート をモニター インターフェイスから出力します。 1 回のコンフ ィギュレーシ ョ ン メモ リ スキャンが完了する と、 コン ト ローラーはアイ ドル ステートへ移行します。

診断スキャン ステートでは、 コン ト ローラーはコマンドを受け付けません。

コン ト ローラーが診断スキャン ステートへ移行するのは、 アイ ドル ステートで診断スキャン ステートへの移行コマンドを実行した場合のみです。 このコマンドは、 コマンドまたはモニター インターフェイスから入力できます。

挿入 (軽減 + テスト、 検出 + テスト、 エ ミ ュレーシ ョ ン モードのみ)

挿入ステートでは、 コン ト ローラーはエラーを挿入します。 エラー挿入が有効な場合、 コン ト ローラーはアイ ドル ステートで有効なエラー挿入コマンドを受信した場合のみ挿入ステートへ移行します。 エラー挿入が無効な場合、または有効なエラー挿入コマンドでない場合は、 コン ト ローラーは挿入ステートへ移行しません。 挿入ステートの間、 status_injection は High にアサート されます。

エラー挿入プロセスは、 エラー挿入コマンドで指定したコンフ ィギュレーシ ョ ン メモ リ アドレスの 1 ビッ ト をシンプルな Read-Modify-Write によって反転させます。 コン ト ローラーは、 挿入ステートの次は必ずアイ ドル ステートへ移行します。

エラー挿入コマンドを繰り返し実行する と、 1 回のコマンド実行のたびに挿入ステートへ移行して複数ビッ ト エラーを挿入できます。

重大エラー

コン ト ローラーは、 内部で何らかの不整合性を検出する と重大エラー ステートへ移行します。 確率は非常に低いものの、 コン ト ローラーに関係するコンフ ィギュレーシ ョ ン メモ リ またはコン ト ローラーのデザイン ステート エレ メン トがソフ ト エラーの影響を受けてコン ト ローラーの動作が停止する可能性があ り ます。 重大エラー ステートになる と、 ステータス インターフェイスの 7 つのステート ビッ トがすべてアサート され、 場合によっては重大エラー レポート メ ッセージ (HLT) も出力されます。 このエラー条件は回復不能であるため、 FPGA をも う一度コンフ ィギュレーシ ョ ンする必要があ り ます。

UltraScale Architecture SEM Controller v3.1 57

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

スイッチング動作

図 3-8 に、 ステート信号 status_initialization、 status_observation、 status_correction、status_classification、 status_injection、 status_detect_only、 および status_diagnostic_scan の全体的なスイ ッチング動作を示します。 この図で、 status_[state] 信号は 7 つのステート信号をグループと して表したもので、 これによってコン ト ローラーのステートが示されます。

システム レベル要件

コン ト ローラーが正常に動作しているこ とを確認するには、 初期化ステート完了後にモードに応じて監視/アイ ドル/検出ステートへ移行したかど うか、 重大エラーが発生したかど うかをステータス信号を監視して確認するこ とを推奨します。 コン ト ローラーの正常動作とステート をシステム レベルで監視する際のその他の推奨事項は、 「システム」 を参照してください。

フラグ

status_uncorrectable および status_essential 信号は、 検出したエラーが訂正可能かど うか、 エッセンシャルかど うかを示すフラグです。 分類機能が無効な場合、 初のエラーが検出および訂正された後で status_essential 信号がアサート されてそのままの状態を維持します。 これらの信号は軽減 (+ テス ト ) モードの場合のみ有効で、 コン ト ローラーが訂正ステート (status_uncorrectable) または分類ステート (status_essential) へ移行する と更新されます。 検出 (+ テス ト ) モードでは、 これらのフラグはエラーが検出される とアサート されます。

スイッチング動作

軽減 (+ テス ト ) モードでは、 フラグ信号 status_uncorrectable および status_essential はステート終了時に更新されます。 図 3-9 と図 3-10 に、 ステート終了時点を基準と したスイ ッチング動作を示します。 これらの図は、コン ト ローラーがステート を終了する時点を基準と してフラグが有効な期間を示しており、 この期間内にフラグを更新できます。 この波形には特定のフラグ値は示していません。

X-Ref Target - Figure 3-8

図 3‐8: ステータス インターフェイスのステート信号のスイッチ特性

clk

status_[state]

8 Tclk

X-Ref Target - Figure 3-9

図 3‐9: ステータス インターフェイスの uncorrectable フラグのスイッチ特性 (軽減 (+ テスト ) モード )

UltraScale Architecture SEM Controller v3.1 58

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

検出 (+ テス ト ) モードでは、 これらフラグはどちらもエラーを検出してコン ト ローラーがアイ ドル ステートへ移行する直前にアサート されます。

システム レベル要件

コン ト ローラーによって訂正不能エラーが検出された場合、 どのよ うに対応するかをシステム レベル デザインで評価する必要があ り ます。 分類機能が有効な場合、 エッセンシャル エラーが検出および訂正された場合の対応もシステム レベル デザインで検討する必要があ り ます。 システム レベルでどのよ うな対応を実行するかは、 デザインの全体的な SEU 軽減目標によって異なり ます。 少なく と も、 これらの条件が発生したこ とを示すシステム ログを生成するこ とを推奨します。

ヒン ト : コン ト ローラーは、 訂正ステートで訂正不能エラーを検出する と コンフ ィギュレーシ ョ ン メモ リの監視による SEU 検出を停止し、 アイ ドル ステートへ移行します。

コン ト ローラーの正常動作とステート をシステム レベルで監視する際のその他の推奨事項は、 「システム」 を参照してください。

ハートビート

この信号は、 コンフ ィギュレーシ ョ ン リードバッ ク システム ( リードバッ ク CRC) またはコン ト ローラーがコンフ ィギュレーシ ョ ン メモ リに対して実行するいずれかの手動スキャンのステータスを監視する目的で使用します。 この信号はリードバッ ク プロセスから直接出力され、 監視、 検出、 および診断ステートの間のみ有効です。 監視、 検出、または診断スキャン ステートへ移行後、 リードバッ ク プロセスがエラーのスキャンを開始する と、 このハート ビート信号が有効になり ます。 監視、 検出、 および診断スキャン ステート中に検出した 初のハート ビート パルスを使用して、 ハート ビートの停止を監視する回路を起動する必要があ り ます。 監視ステート以外では、 ハート ビート信号の動作は定義されていません。

スイッチング動作

図 3-11 に、 ハート ビート信号 status_heartbeat のスイ ッチング動作を示します。

このパルス幅は非常に小さいため、 エンベデッ ド プロセッサの汎用 I/O (GPIO) を利用してソフ ト ウェア ポーリ ングでステータス インターフェイス信号をサンプリ ングする方法は正し く動作しないこ とが考えられます。 この方法ではなく、 カウンター /タイマー入力、 エッジ センス割り込み入力、 またはイベン ト キャプチャ機能を備えた入力などを使用してください。

X-Ref Target - Figure 3-10

図 3‐10: ステータス インターフェイスの essential フラグのスイッチ特性 (軽減 (+ テスト ) モード )

X-Ref Target - Figure 3-11

図 3‐11: ステータス インターフェイスのハートビートのスイッチ特性

N1 clk cycles

1. N = 250K for UltraScale and UltraScale+ devices when controller is in Observation or Detect only state.

UltraScale Architecture SEM Controller v3.1 59

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

システム レベル要件

コン ト ローラーが監視、 検出、 または診断スキャン ステートの間、 ハート ビート信号を監視するこ とでコン ト ローラーの全体的な正常動作と機能を確認できます。 デバイスの種類、 システム ク ロ ッ ク、 ICAP ク ロ ッ ク、 およびコント ローラーの現在のステートによってハート ビート信号の間隔が異なるため、 ハート ビート信号が停止して 1 秒が経過してからエラーと判定するこ とを推奨します。 コン ト ローラーの正常動作とステート をシステム レベルで監視する際のその他の推奨事項は、 「システム」 を参照してください。

コマンド  インターフェイス

コマンド インターフェイスを使用する と、 アイ ドル、 監視、 検出、 または診断スキャン ステートへの移行、 エラー挿入、 またはソフ ト ウェア リセッ ト を簡単に実行できます。 コマンド インターフェイスは入力コマンド、 入力ス トローブ、 および出力ビジー信号で構成され、 これらを使用してビジー出力を備えたシンプルなパラレル入力ポートを実装します。 このインターフェイスはオプシ ョ ンです。使用しない場合は、すべての入力を Low に接続できます。

このインターフェイスは次に示す種類のコマンドを受け付けます。

• アイ ドル ステートへ移行するためのコマンド (通常のスキャンを中断)

• 監視ステートへ移行するためのコマンド (通常のスキャンを再開)

• 検出ステートへ移行するためのコマンド (訂正機能なしで通常のスキャンを再開)

• 診断スキャン ステートへ移行するためのコマンド (デバイスのすべてのコンフ ィギュレーシ ョ ン メモ リに対して診断スキャンを実行し、 すべてのフレーム レベル ECC エラーを報告)

• ソフ ト ウェア リセッ ト (再起動と初期化) を実行するためのコマンド

• フレーム アドレスを指定してエラーを挿入するためのコマンド

これらコマンドの一部はコン ト ローラーが監視、 アイ ドル、 検出ステートでないと実行できないため、 コマンドを実行する際はステータス インターフェイスを監視する必要があ り ます。

コマンド インターフェイスからコマンドを入力する と、 モニター インターフェイスにも反映されてレポートが出力されます。

推奨: ユーザーと コン ト ローラーの通信には、 よ り高機能なモニター インターフェイスの使用を推奨します。 「モニター インターフェイス」 を参照してください。

システム レベル サンプル デザインを UltraScale SSI デバイスにインプリ メン ト した場合、 各 SLR に 1 つずつコン トローラー インスタンスがあ り、 すべてのコン ト ローラー インスタンスがコマンド インターフェイスからの信号を受信します。 システム レベル サンプル デザインを UltraScale+ SSI デバイスにインプリ メン ト した場合は、 モノ リ シック デバイス と同様にコン ト ローラー インスタンスはデバイス全体に 1 つだけです。 多くの場合、 コマンド インターフェイスからの信号は FPGA の I/O ピンに接続できます。

このインターフェイスは、 Vivado Design Suite のデバッグ機能に接続するなど FPGA 内部から駆動するこ と も、 別のデバイスに接続して I/O ピンから制御するこ と もできます。 後者の場合、 別のデバイスに接続して入力したコマンドを正し く取り込むには、 コマンド インターフェイスのタイ ミ ング要件を考慮する必要があ り ます。 「スイ ッチング動作」 を参照してください。

UltraScale Architecture SEM Controller v3.1 60

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

コマンド

コマンドを入力するには、 command_code バスに値を与えた後、 command_strobe 信号をパルスします。 コマンドを入力する と command_busy 信号がアサート され、 コマンドがキューに格納されるまでアサート されたまま となり ます。 command_busy 信号がディアサート されるまで次のコマンドを入力しないでください。 表 3-2 に、 コマンドの一覧とその生成方法を示します。 その後で、 各モードの詳細を説明します。

表 3‐2: コマンドのフォーマッ ト と使用方法

コマンドcommand_code[n – 1:0] のフォーマッ ト

UltraScale デバイスでは n = 40、 UltraScale+ デバイスでは n = 44

アイ ドル ステートへの移行

UltraScale = 1110 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

UltraScale+ = 1110 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

x = Don’t Care

コン ト ローラーが監視および検出ステートの場合に有効。

LFA を使用したエラー挿入

UltraScale = 1100 0000 0ssL LLLL LLLL LLLL LLLL wwww wwwb bbbb

UltraScale+ = 1100 0000 0000 ssLL LLLL LLLL LLLL LLLL wwww wwwb bbbb

コン ト ローラーがアイ ドル ステートの場合に有効。 軽減 + テス ト 、 検出 + テス ト、エ ミ ュレーシ ョ ン モードの場合のみ有効。 エラー挿入を利用してデザインをテストする方法の詳細は、 付録 E 「エラー挿入のガイダンス」 を参照してください。

監視ステートへの移行

UltraScale = 1010 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

UltraScale+ = 1010 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

x = Don’t Care

コン ト ローラーがアイ ドル ステートの場合に有効。軽減 (+ テス ト ) モードの場合のみ有効。

検出ステートへの移行

UltraScale = 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

UltraScale+ = 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

x = Don’t Care

コン ト ローラーがアイ ドル ステートの場合に有効。

診断スキャン ステートへの移行

UltraScale = 1101 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxxUltraScale+ = 1101 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

x = Don’t Care

コン ト ローラーがアイ ドル ステートの場合に有効。

ソフ ト ウェア リセッ ト

UltraScale = 1011 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

UltraScale+ = 1011 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

x = Don’t Care

コン ト ローラーがアイ ドル ステートの場合に有効。

2 進数の値 説明 

ssハードウェア slr 番号 (2 ビッ ト ) 有効な範囲: 0 ~ 3

LLLLLLLLLLLLLLLLL

または LLLLLLLLLLLLLLLLLL

リ ニア フレーム アドレス (UltraScale では 17 ビッ ト 、UltraScale+ では 18 ビッ ト )有効な範囲: 0 ~ Max Frame – 2

wwwwwww

ワード アドレス (7 ビッ ト )UltraScale の有効な範囲: 0 ~ 122それ以外の有効な範囲: 0 ~ 92

bbbbbビッ ト アドレス (5 ビッ ト )有効な範囲: 0 ~ 31

UltraScale Architecture SEM Controller v3.1 61

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

アイ ドル ステートへの移行

このコマンドは、 コン ト ローラーが監視または検出ステートの場合のみ有効です。 このコマンドを実行する前に status_observation および status_detect_only 信号を確認してください。

LFA を使用したエラー挿入

このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ有効です。 コン ト ローラーがアイ ドル ステート (status_* 信号がすべて Low) でない場合、 アイ ドル ステートへの移行命令を実行してコン ト ローラーをアイ ドル ステートに遷移させる必要があ り ます。 アイ ドル ステートへ移行したら このコマンドを実行できます。

エラー挿入を利用してデザインをテス トする方法の詳細は、付録 E 「エラー挿入のガイダンス」 を参照してください。

ソフ トウェア リセッ ト

このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ有効です。 コン ト ローラーがアイ ドル ステート (status_* 信号がすべて Low) でない場合、 アイ ドル ステートへの移行命令を実行してコン ト ローラーをアイ ドル ステートに遷移させる必要があ り ます。 アイ ドル ステートへ移行したら このコマンドを実行できます。

監視ステートへの移行

このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ有効です。 このコマンドを実行する と コン ト ローラーは監視ステートへ移行し、 コンフ ィギュレーシ ョ ン メモ リのスキャンと ソフ ト エラーの検出、 訂正、 分類を継続します。

検出ステートへの移行

このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ有効です。 コン ト ローラーがアイ ドル ステート (status_* 信号がディアサート 、 つま り Low) でない場合、 アイ ドル ステートへの移行命令を実行してコン ト ローラーをアイ ドル ステートに遷移させる必要があ り ます。 アイ ドル ステートへ移行したら このコマンドを実行できます。

診断スキャン ステートへの移行

このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ有効です。 コン ト ローラーがアイ ドル ステート (status_* 信号がディアサート 、 つま り Low) でない場合、 アイ ドル ステートへの移行命令を実行してコン ト ローラーをアイ ドル ステートに遷移させる必要があ り ます。 アイ ドル ステートへ移行したら このコマンドを実行できます。

コマンドが無効な場合の動作

command_busy は command_strobe を 1 回パルスしてコマンドを入力する とアサート され、 コマンドが処理される とディアサート されます。 しかし入力したコマンドが無効な場合、 コマンドは実行されずステータス信号も変化しません。 また、 無効なコマンドがモニターまたは UART インターフェイスにエコー バッ クするこ と もあ り ません。

UltraScale Architecture SEM Controller v3.1 62

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

スイッチング動作

コマンド インターフェイスの信号は、 入力レジスタを有効にするス ト ローブを使用してコン ト ローラー内部の順次ロジッ ク処理によ り受信します。 データを正し く取り込むには、 図 3-12 に示したタイ ミ ング要件に従う必要があ ります。 command_strobe は icap_clk に同期しており、 コマンドを発行するたびに 1 ク ロ ッ ク サイクルだけパルスする必要があ り ます。

マスク したフレーム、 あるいはデバイスまたは SEU でカバーされないアドレス空間にあるフレームにエラーを挿入した場合、 エラー挿入コマンドは無視され、 監視ステートでエラーは検出されません。

システム レベル要件

このインターフェイスにはシステム レベル要件はあ り ません。

モニター インターフェイス

モニター インターフェイスはコン ト ローラーとの通信手段と してのほか、 コン ト ローラーの動作と現在のステートについての詳細な情報を得る手段と しても使用できます。 このインターフェイスは、 コマンド インターフェイス とステータス インターフェイスを合わせたよ り も多くのコマンド と情報をサポート しています。

コン ト ローラーがモニター インターフェイスから読み出すコマンド、 およびモニター インターフェイスに書き込むステータス情報はいずれも ASCII 文字列です。 このインターフェイスのポートの一覧および定義については、表 2-21 を参照して ください。

コン ト ローラーのステート、 ステート遷移、 およびコン ト ローラーによって検出されたエラーはステータス インターフェイスでも監視できますが、 モニター インターフェイスの方がコン ト ローラーのステートおよびコン ト ローラーが検出したエラーについてよ り詳細な情報 (コンフ ィギュレーシ ョ ン フレームのアドレスなど) が得られます。コン ト ローラーのステートおよびステート遷移の詳細は、 「ステータス インターフェイス」 を参照して ください。

検出および診断スキャンなどの検出機能の場合、 コン ト ローラーが検出したエラーに関する情報はモニター インターフェイスからのみ出力されます。 したがって、 これらの機能を使用する場合はこのインターフェイスからエラー情報を取得する必要があ り ます。

特定ステートへの移行およびエラー挿入コマンドに加え、 このインターフェイスからはコンフ ィギュレーシ ョ ン レジスタおよびフレームの内容の読み出し、物理コンフ ィギュレーシ ョ ン フレーム アドレス (PFA) と リ ニア フレーム アドレス (LFA) の双方向変換、 およびデザインに接続した外部メモ リの読み出しコマンド も実行できます。 コマンド インターフェイス とモニター インターフェイスで利用できるコマンドの比較は、 表 3-1 を参照してください。

モニター インターフェイスのシグナリ ングの詳細は、 付録 H 「モニター インターフェイスのシグナリ ングとプロ トコル」 を参照してください。

このインターフェイスには、 主に 3 つの利用方法があ り ます。

• モニターおよびデバッグ

• コン ト ローラーとユーザー デザインのテス ト

• 対話型のソフ ト エラー軽減

次に、 それぞれの利用方法について説明します。

X-Ref Target - Figure 3-12

図 3‐12: コマンド  インターフェイスのスイッチ特性

UltraScale Architecture SEM Controller v3.1 63

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

モニターおよびデバッグ

推奨: このインターフェイスは、 コン ト ローラーのステート と動作について も多くの情報を提供します。 少なく とも このインターフェイスを FIFO に接続してインターフェイスの出力を格納するこ とを推奨します。 得られた情報は、 デザイン内部の動作を理解する上で欠かせないほか、 ザイ リ ンクスのテクニカル サポートでケースを開く際にも必要になるこ とがあ り ます。

FIFO のサイズは用途によ り異なり ます。 FIFO データをデバッグに使用するだけで周期的にデータを取得するのでなければ、少なく と も 1 回分の初期化レポート と 2 回分のエラー レポート を完全に格納できる FIFO サイズを推奨します。 この場合、 必要な 小 FIFO サイズは 512 × 8 です。

診断スキャン機能を使用する場合、 モニター インターフェイスはコン ト ローラーに対して診断スキャンの実行命令を送信する手段と してだけでなく、 検出されたエラーのタイプと位置を記録する手段と しても使用できます。 この場合、 FIFO サイズは N 回のエラー レポート (N は軽減措置を実行するまでに取得するエラー レポートの数) を追加で格納できる大きさ とする必要があ り ます。

この情報を周期的に受信する場合、 FIFO サイズはデータ取得頻度によって決定します。

この使用方法では、 インターフェイスの入力を次のよ うに接続してコン ト ローラーへの書き込みコマンドを無効にしてください。

monitor_txfull = 0 or to the FIFO full flagmonitor_rxdata = to all 0smonitor_rxempty = 1

モニターおよびデバッグ用にモニター TX インターフェイスを FIFO に接続する方法は、図 3-13 のブロ ッ ク図の例を参照してください。

モニター ポートからは、 検出したエラーのアドレスやタイムスタンプなどの詳細情報が得られます。 これらの詳細なエラー情報は、 システムで発生した SEU イベン トのログを記録する際に役立ちます。

コン ト ローラーとユーザー デザインのテスト

このインターフェイスをプロセッサ ブロ ッ クに簡単に統合できるよ うに、 システム レベル サンプル デザインのモニター インターフェイスには UART ヘルパー ブロ ッ クが接続されています。 UART インターフェイスは、 コン トローラーからのステータス情報の受信、 コン ト ローラーへのエラー挿入コマンドの送信、 および挿入したエラーがコン ト ローラーによって検出および訂正されたこ との確認に使用できます。

X-Ref Target - Figure 3-13

図 3‐13: モニター TX インターフェイスと  FIFO の接続

monitor_txdata[7:0]

monitor_txwrite

monitor_txfull

monitor_rxdata[7:0]

monitor_rxread

monitor_rxempty

FIFO18E1

‘1'

“0000000”

DIN

WRCLK

WREN

DOUT

RDCLK

RDENFULL

EMPTY

Not connected

ERROR

DATA[7:0]

RDEN

INTERRUPT

SEM Controller

UltraScale Architecture SEM Controller v3.1 64

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

対話型のソフ ト  エラー軽減

モニター、 テス ト以外に、 モニター インターフェイスはデザイン要件に合わせてカスタマイズした対話型のソフ ト エラー軽減ソ リ ューシ ョ ンの実装にも使用できます。 モニター インターフェイスを使用する と、 コン ト ローラーが検出したすべてのソフ ト エラーについてのログを取得できます。 この情報を使用するこ とで、 IP に内蔵の機能 (すなわち軽減 (+ テス ト ) モードでの訂正機能) を利用するのではなく、 発生したエラーのタイプに応じた措置が可能です。

たとえばソフ ト エラー軽減ス ト ラテジと してエラーのログのみを記録し、 約 10 回のエラーが累積した時点でデバイスのリ コンフ ィギュレーシ ョ ンを実行する場合を考えます。

これを実装するには、 たとえば SEM Controller をエミ ュレーシ ョ ン モードにコンフ ィギュレーシ ョ ンし、 モニター インターフェイス経由で異なるタイプのエラー検出コマンド (検出スキャンまたは診断スキャン) を発行します。初期化が完了したら直ちにコン ト ローラーにコマンドを発行して検出スキャンを実行します。 エラーを検出してレポート を出力する と、 コン ト ローラーはアイ ドル ステートへ移行します。 これとは別に、 1 日に 1 回など定期的に診断スキャンを実行し、 エラーの累積数を追跡してログに記録します。 エラーの累計数が 10 に達したら、 システムが停止してデバイスを リ コンフ ィギュレーシ ョ ンし、 再起動します。 また、 SEM Controller を検出 (+ テス ト ) モードにコンフ ィギュレーシ ョ ンし、 初のエラーが検出された時点でコマンドを発行して診断スキャンを実行する という方法でも同じ軽減ス ト ラテジを実装できます。

注記: ソフ ト エラーを累積させたままで、 デバイスを元のステートにリ コンフ ィギュレーシ ョ ンしない場合、 ザイ リンクスはデバイスの機能を保証しません。

次のセクシ ョ ンでは、 UART インターフェイスの動作について説明します。

UART インターフェイス

UART インターフェイスは、 モニター インターフェイスで使用するバイ ト ス ト リーム ASCII コードのシ リ アライズとデシ リアライズを実行する UART ヘルパー ブロッ クです。 このヘルパー ブロ ッ クは標準シ リ アル通信プロ ト コルを使用しており、 標準 RS-232 ポートに接続できるほか、 USB-UART ブリ ッジを介して USB にも接続できます。詳細は、 第 2 章の 「UART インターフェイス」 を参照してください。

次に、 このインターフェイスで利用可能なメ ッセージと コマンドについて説明します。

UART インターフェイスのメ ッセージ

こ こでは、 コン ト ローラーが UART インターフェイスから出力する メ ッセージについて説明します。 これらのメ ッセージの一部は、 ステータス インターフェイスから出力されるレポート と同じものです。

初期化レポート

コン ト ローラーが初期化シーケンスを実行中、 初期化レポートが生成されます。 このレポートには診断情報が含まれ、 コン ト ローラーの初回起動時およびソフ ト ウェア リセッ ト時に生成されます。

SEM_ULTRA_V3_1 Name and versionSC 01 State transition to Initialization stateFS {2 digit hex value} Core Configuration InformationAF {2 digit hex value} Additional Core Configuration InformationICAP OK Status: ICAP AvailableRDBK OK Status: Readback ActiveINIT OK Status: Completed SetupSC {00, 02, 20} State transition to Idle, Observation, or Detect only state

UltraScale Architecture SEM Controller v3.1 65

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

コマンド  プロンプ ト

コン ト ローラーから出力されるコマンド プロンプ ト文字は、 コン ト ローラーのステートに応じて 3 種類あり ます。コン ト ローラーが監視ステート (軽減 (+ テス ト ) モードで初期化完了後のデフォルト ステート ) の場合は、 コマンド プロンプ ト O> が出力されます。

コン ト ローラーがアイ ドル ステート (モニターまたはエミ ュレーシ ョ ン モードで初期化完了後のデフォルト ステート ) の場合は、 コマンド プロンプ ト I> が出力されます。 コン ト ローラーが検出ステート (検出 (+ テス ト ) モードで初期化完了後のデフォルト ステート ) の場合は、 コマンド プロンプ ト D> が出力されます。

ステート変化レポート

コン ト ローラー ステートが変化する と、 必ずステート変化レポートが出力されます。 このレポートは 1 行で、フォーマッ トは次のとおりです。

SC {2-digit hex value}

2 桁の 16 進数値でステータス インターフェイスの出力を表現します。

重大エラー ステートへの移行はいつでも起こる可能性があ り ます。 また、 ステート変更レポートが明示的に出力されない場合もあ り ます。 重大エラー ステートへ移行した際、 コン ト ローラーは可能であれば次の重大エラー メ ッセージを出力します。

HLT

フラグ変化レポート

コン ト ローラーは、 フラグを変更する と必ずフラグ変化レポート を出力します。 このレポートは 1 行で、 フォーマッ トは次のとおりです。

FC {2-digit hex value}

表 3‐3: ステート変化レポートのデコード

レポートの文字列 ステート名

SC 00 アイ ドル

SC 01 初期化

SC 02 監視

SC 04 訂正

SC 20 検出

SC 40 診断スキャン

SC 08 分類

SC 10 エラー挿入

SC 9F 重大エラー

UltraScale Architecture SEM Controller v3.1 66

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

2 桁の 16 進数値でステータス インターフェイスの出力を表現します。

コン ト ローラーが診断スキャン ステートの場合、 フラグ変化レポートは出力されません。

エラー検出レポート  – 軽減 (+ テスト ) モード  (訂正機能有効)

エラー条件を検出する と、 コン ト ローラーはなるべく短時間でエラーを訂正しよ う と試みます。 したがって、 エラーが訂正可能である という前提に立ち、 初に訂正を実行してからレポート情報が生成されます。 次のよ うなレポートが出力されます。

診断: CRC エラーのみ (エラー ビッ トの位置または数を特定できない)。

RI XX Reserved informationSC 04 State Transition to Correction stateCRC CRC error detectedTS {8-digit hex value} Timestamp

診断: ECC ベースのエラー – 訂正不能

RI XX Reserved informationSC 04 State Transition to Correction stateECC ECC Error DetectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

表 3‐4: フラグ変化レポートのデコード

レポートの文字列 条件名

FC 00 訂正可能、 非エッセンシャル

FC 20 訂正不能、 非エッセンシャル

FC 40 訂正可能、 エッセンシャル

FC 60 訂正不能、 エッセンシャル

UltraScale Architecture SEM Controller v3.1 67

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

診断: ECC ベースのエラー – 訂正可能

RI XX Reserved informationSC 04 State Transition to Correction stateECC ECC error detectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

診断: 補助インターフェイスの入力によって検出されたエラー。 補助エラーのレポートはコン ト ローラーが訂正ステート時に出力されます。

RI XX Reserved informationSC 04 State Transition to Correction stateAUX AUX ErrorTS {8-digit hex value} Timestamp

診断: ECC ベースの ROM エラー – 訂正可能。 前述のとおり、 コン ト ローラーが使用するブロ ッ ク RAM の大半は ECC で保護されています。 このロジッ クによって訂正可能エラー (1 ビッ ト エラー ) が検出される と、 次のエラー メ ッセージが出力されます。 このエラーは、 コン ト ローラーが訂正ステートの場合に報告されます。

このエラーが検出されても、 1 ビッ ト ECC エラーの読み出し出力はブロ ッ ク RAM によって自動的に訂正されるため、 ブロ ッ ク RAM から実際に読み出されるデータにエラーは含まれません。 このメモ リ空間でエラーが蓄積されるのを防ぐため、 訂正後のデータが同じアドレスに書き戻されます。

RI XX Reserved informationSC 04 State Transition to Correction stateROMTS (8-digit hex value) Timestamp

エラー検出レポート  – 検出ステート

コン ト ローラーが検出ステートの場合にエラーを検出する と、 レポートが出力されます。 エラー検出レポートの出力が終わる と、 コン ト ローラーはアイ ドル ステートへ移行します。 次のよ うなレポートが出力されます。

診断: CRC エラーのみ (エラー ビッ トの位置または数を特定できない)。

RI XX Reserved informationCRC CRC error detectedTS (8-digit hex value) Timestamp

UltraScale Architecture SEM Controller v3.1 68

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

診断: ECC ベースのエラー – 訂正不能

RI XX Reserved InformationECC ECC error detectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

診断: ECC ベースのエラー – 訂正可能

RI XX Reserved InformationECC ECC error detectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.WD {2-digit hex value} BT {2-digit hex value} Word and Bit of the Detected Error

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

訂正可能な ECC エラーの場合、 コン ト ローラーはエラーが検出されたすべてのワードおよびビッ ト位置を報告します。 このレポートでは、 1 フレーム内で 大 4 つのエラーが報告されます。

診断: 補助インターフェイスの入力によって検出されたエラー。

RI XX Reserved InformationAUX AUX errorTS {8-digit hex value} Timestamp

診断: ECC ベースの ROM エラー – 訂正可能。 前述のとおり、 コン ト ローラーが使用するブロ ッ ク RAM の大半は ECC で保護されています。 このロジッ クによって訂正可能エラー (1 ビッ ト エラー ) が検出される と、 次のエラー メ ッセージが出力されます。

UltraScale Architecture SEM Controller v3.1 69

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

このエラーが検出されても、 1 ビッ ト ECC エラーの読み出し出力はブロ ッ ク RAM によって自動的に訂正されるため、 ブロ ッ ク RAM から実際に読み出されるデータにエラーは含まれません。 このメモ リ空間でエラーが蓄積されるのを防ぐため、 訂正後のデータが同じアドレスに書き戻されます。

RI XX Reserved informationROMTS (8-digit hex value) Timestamp

エラー検出レポート  – 診断スキャン

コン ト ローラーが診断スキャン ステートの場合、 エラー条件が検出される とすぐにコン ト ローラーはエラー レポート を出力します。 エラーを検出する と コン ト ローラーはスキャンを中断し、 モニター インターフェイスへエラー レポート を出力します。 現在のフレームのすべてのエラーが報告される と、 コン ト ローラーはスキャンを再開します。したがって、 この機能を実行する際はモニター インターフェイスでなるべくバッ ク プレッシャーが発生しないよ うに注意が必要です。 次のよ うなレポートが出力されます。

診断: ECC ベースのエラー – 訂正不能 (エラー ビッ トの位置または数を特定できない)

RI XX Reserved InformationECC ECC error detectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

診断: ECC ベースのエラー – 訂正可能

RI XX Reserved InformationECC ECC error detectedTS {8-digit hex value} TimestampPA {n-digit hex value} PFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.LA {n-digit hex value} LFA of Detected Error. n = 7 for UltraScale and 8 for UltraScale+.WD {2-digit hex value} BT {2-digit hex value} Word and Bit of the Detected Error

検出レポートの PA には SLR 番号と PFA アドレスの両方が含まれます。 PA のフォーマッ トは、 PFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除いたものとな り ます。 詳細は、 表 J-1 の 「PFA を使用したエラー挿入」 を参照してください。

UltraScale PA = 0sst trrr rrrc cccc cccc cmmm mmmmUltraScale+ PA = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm

UltraScale Architecture SEM Controller v3.1 70

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

検出レポートの LA には SLR 番号と LFA アドレスの両方が含まれます。LA のフォーマッ トは、LFA エラー挿入コマンドからワードおよびビッ ト フ ィールドを取り除き、 上位ニブルをすべて 0 にしたものとな り ます。 詳細は、表 3-5 の 「LFA を使用したエラー挿入」 を参照してください。

UltraScale = 0000 0000 0ssL LLLL LLLL LLLL LLLLUltraScale+ = 0000 0000 0000 ssLL LLLL LLLL LLLL LLLL

訂正可能エラーの場合、 コン ト ローラーは検出したすべてのエラー (1 フレームにつき 4 つまで) のワード位置とビット位置をすべて報告します。

エラー訂正レポート  – 軽減 (+ テスト ) モードのみ

エラー訂正プロセスは、 コン ト ローラーの設定、 検出されたエラーのタイプ、 およびエラーが訂正可能かど うかによ り異なり ます。

訂正不能エラーの場合のレポートのフォーマッ トは次のとおりです。

COREND

この後に、 次の行が続きます。

FC 20 Bit 5, uncorrectable set (stale essential flag)

または

FC 60 Bit 5, uncorrectable set (stale essential flag)

訂正可能エラーの場合のレポートのフォーマッ トは次のとおりです。

COR{correction list}END

この後に、 次の行が続きます。

FC 00 Bit 5, uncorrectable cleared (stale essential flag)

または

FC 40 Bit 5, uncorrectable cleared (stale essential flag)

{correction list} には、 1 件の訂正されたビッ トにつきフレーム内のワード位置と ワード内のビッ ト位置が 1 行で表示されます。 この記法は、 エラー検出レポートの場合と同じです。 リ ス トの各行は次のフォーマッ トで表示されます。

WD {2-digit hex value} BT {2-digit hex value}

エラー分類レポート  – 軽減 (+ テスト ) モードのみ

エラー分類プロセスでは、 フレーム内で発生したエラーの中にエッセンシャルなものがあるかど うかをルッ クアップ テーブルで判定します。 1 つまたは複数のエラーがエッセンシャルと判定された場合、 イベン ト全体がエッセンシャルと見なされます。

エラー分類が有効な場合、 訂正可能な非エッセンシャル イベン トのレポートのフォーマッ トは次のとおりです。

SC 08CLAENDFC 00 Bit 6, essential is cleared

UltraScale Architecture SEM Controller v3.1 71

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

エラー分類が有効な場合、 訂正可能なエッセンシャル イベン トのレポートのフォーマッ トは次のとおりです。

SC 08CLA{classification list}ENDFC 40 Bit 6, essential is set

{classification list} には、 1 件のエッセンシャル ビッ トにつきフレーム内のワード位置とワード内のビッ ト位置が 1 行で表示されます。 この記法は、 エラー検出レポートの場合と同じです。 リ ス トの各行は次のフォーマッ トで表示されます。

WD {2-digit hex value} BT {2-digit hex value}

エラー分類を無効にした場合は、 詳細な分類リ ス トは出力されません。 この場合、 コン ト ローラーはエラーがエッセンシャルでないと判定する根拠を持たないため、 すべてのエラーをエッセンシャルと見なす必要があ り ます。訂正可能イベン トの場合のレポートのフォーマッ トは次のとおりです。

SC 08FC 40 Bit 6, essential is set

エラーが訂正不能な場合、 コン ト ローラーはエラーがエッセンシャルでないと判定する根拠を持たないため、 すべての訂正不能エラーをエッセンシャルと見なす必要があ り ます。 訂正不能イベン トの場合のレポートのフォーマットは次のとおりです。

SC 08FC 60 Bit 6, essential is set

ステータス レポート

ステータス レポートからは、 コン ト ローラーのステートに関するよ り詳細な情報が得られます。 このレポートは、コン ト ローラーが監視、 検出、 またはアイ ドル ステートのと きに S コマンドを入力する と、 複数行のレポート と して出力されます。

ステータス レポートの分量はコン ト ローラーの現在のステートによ り異な り ます。 コン ト ローラーがアイ ドル ステートの場合は完全なステータス レポートが出力されます。 監視および検出ステートでは、 短縮版のレポートが出力されます。 非 SSI デバイスの場合、 アイ ドル ステートで出力されるステータス レポートのフォーマッ トは次のとおりです。

SN {2-digit hex value} SLR Number SC {2-digit hex value} Current StateFC {2-digit hex value} Current FlagsRI {2-digit hex value} Reserved informationMF {8-digit hex value} Maximum Linear Frame Count TS {8-digit hex value} TimestampTB {8-digit hex value} Table Base (valid when error classification is enabled; otherwise X's)CB {8-digit hex value} Classification Base (valid when error classification is enabled; otherwise X's)CL {3-digit hex value} Classification Level

非 SSI デバイスの場合、監視および検出ステートで出力されるステータス レポートには MF ( 大リニア フレーム数)、TS (タイムスタンプ)、 TB (テーブル ベース)、 CB (分類ベース)、 CL (分類レベル) の項目はあり ません。

CL の値は分類機能が有効かど うかによ り異なり ます。 分類機能が有効な場合、 CL = 02 (2 段階分類) です。 分類機能が無効な場合は CL = 01 (1 段階分類) で、 すべてのエラーがエッセンシャルと して分類されます。

SSI デバイスのステータス レポート も基本的なフォーマッ トは非 SSI デバイスと同じですが、SLR ごとにサブレポートが出力されます。 サブレポートはハード ウェア SRL 番号の順に出力されます。

UltraScale Architecture SEM Controller v3.1 72

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

たとえば 3 つの SLR で構成されるデバイスの場合、 ステータス レポートのフォーマッ トは次のとおりです。

SN 00 SLR NumberSC {2-digit hex value} Current StateFC {2-digit hex value} Current FlagsRI {2-digit hex value} Reserved informationMF {8-digit hex value} Maximum Linear Frame Count TS {8-digit hex value} TimestampTB {8-digit hex value} Table Base (valid when classification is enabled; otherwise X's)CB {8-digit hex value} Classification Base (valid when classification is enabled; otherwise X's)CL {3-digit hex value} Classification LevelSN 01 SLR NumberSC {2-digit hex value} Current StateFC {2-digit hex value} Current FlagsRI {2-digit hex value} Reserved informationMF {8-digit hex value} Maximum Linear Frame Count TS {8-digit hex value} TimestampTB {8-digit hex value} Table Base (valid when classification is enabled; otherwise X's)CB {8-digit hex value} Classification Base (valid when classification is enabled; otherwise X's)CL {3-digit hex value} Classification LevelSN 02 SLR NumberSC {2-digit hex value} Current StateFC {2-digit hex value} Current FlagsRI {2-digit hex value} Reserved informationMF {8-digit hex value} Maximum Linear Frame Count TS {8-digit hex value} TimestampTB {8-digit hex value} Table Base (valid when classification is enabled; otherwise X's)CB {8-digit hex value} Classification Base (valid when classification is enabled; otherwise X's)CL {3-digit hex value} Classification Level

UltraScale+ SSI デバイスのステータス レポートには、 コン ト ローラーは 1 つしかあ り ません。 したがって、 ステート変化 (SC)、 フラグ変化 (FC)、 および分類レベル (CL) の情報はすべての SLR で共通です。

UART インターフェイスのコマンド

こ こでは、 モニター インターフェイスからユーザーがコン ト ローラーに送信できるコマンドについて説明します。これらのコマンドの一部は、 コマンド インターフェイスで利用できるコマンド と同じです。

注記: UART インターフェイスのコマンドは、 すべて大文字で入力する必要があ り ます。

表 3‐5: UART コマンド と使用方法

コマンド UART コマンド  セッ ト

特定ステートへの移行

「O」 = 監視ステートへの移行。 軽減 (+テス ト ) モードでアイ ドル ステートの場合のみ有効。

「I」 = アイ ドル ステートへの移行。 監視および検出ステートの場合に有効。

「D」 = 検出ステートへの移行。 アイ ドル ステートの場合に有効。

「U」 = 診断スキャンステートへの移行。 アイ ドル ステートの場合に有効。

ステータス レポート「S」

アイ ドルおよび監視ステートの場合に有効。

UltraScale Architecture SEM Controller v3.1 73

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

LFA を使用したエラー挿入

「N {n-digit hex value}」

UltraScale では n = 10、 UltraScale+ では n = 11。

UltraScale = 1100 0000 0ssL LLLL LLLL LLLL LLLL wwww wwwb bbbb

UltraScale+ = 1100 0000 0000 ssLL LLLL LLLL LLLL LLLL wwww wwwb bbbb

アイ ドル ステートの場合に有効。軽減 + テス ト、検出 + テス ト 、 エ ミ ュレーシ ョ ン モードの場合のみ有効。 エラー挿入を利用してデザインをテス トする方法の詳細は、 付録 E 「エラー挿入のガイダンス」 を参照してください。

コンフ ィギュレーシ ョ ン フレーム読み出し

(Query コマンド )

「Q {n-digit hex value}」

「n-digit hex value」 はエラー挿入コマンドで使用する PFA または LFA アドレス フォーマッ ト。

注記: フレーム アドレスのワードおよびビッ ト フ ィールドは無視されます。 このコマンドを実行する と、

常にフレームの内容全体が返されます。

UltraScale では n = 10、 UltraScale+ では n = 11。

アイ ドル ステートの場合に有効。

コンフ ィギュレーシ ョ ン レジスタ読み出し

(Peek コマンド )

「P {2-digit hex value}」

2 進数の値 = 0ssr rrrr

75 ページの 「コンフィギュレーシ ョ ン レジスタ 読み出し (Peek コマンド )」 を参照してください。

アイ ドル ステートの場合に有効。

外部メモ リ読み出し

(Xmem コマンド )

「X {8-digit hex value}」

「8-digit hex value」 は、 外部メモ リから 1 バイ ト を読み出すために使用するアドレス。

エラー分類が有効でアイ ドル ステートの場合に有効。

ソフ ト ウェア リセッ ト

「R xx」

xx = Don’t care

アイ ドル ステートの場合に有効。

フレーム アドレス変換

LFA <-> PFA

(Translate コマンド )

「T {n-digit hex value}」

「n-digit hex value」 はエラー挿入コマンドで使用する PFA または LFA アドレス フォーマッ ト。UltraScale では n = 10、 UltraScale+ では n = 11。

アイ ドル ステートの場合に有効。

表 3‐5: UART コマンド と使用方法 (続き)

コマンド UART コマンド  セッ ト

2 進数の値 説明 

ssハードウェア slr 番号 (2 ビッ ト )有効な範囲: 0 ~ 3

LLLLLLLLLLLLLLLLL

または

LLLLLLLLLLLLLLLLLL

リ ニア フレーム アドレス (UltraScale では 17 ビッ ト 、 UltraScale+ では 18 ビッ ト )有効な範囲: 0 ~ Max Frame – 2

wwwwwww

ワード アドレス (7 ビッ ト )UltraScale の有効な範囲: 0 ~ 122それ以外の有効な範囲: 0 ~ 92

bbbbbビッ ト アドレス (5 ビッ ト )有効な範囲: 0 ~ 31

2 進数の値 説明 

ss ハードウェア slr (2 ビッ ト )

rrrrr レジスタ アドレス (5 ビッ ト )

UltraScale Architecture SEM Controller v3.1 74

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

特定ステートへの移行

特定ステートへの移行コマンド 「O」、 「I」、 「D」、 「U」 を実行する と、 コン ト ローラーのステート を監視、 アイ ドル、 検出、 診断スキャンへとそれぞれ移行させるこ とができます。

コンフ ィギュレーシ ョ ン  フレーム読み出し  (Query コマンド )

このコマンドを実行する と、 コンフ ィギュレーシ ョ ン フレームの内容が読み出されます。 エラー挿入コマンドで使用するのと同じアドレス値を 16 進数で指定します (表 3-5 参照)。 このコマンドのフォーマッ トは次のとおりです。

Q {n-digit hex value}

UltraScale では n = 10、 UltraScale+ では n = 11。

注記: フレーム アドレスのワードおよびビッ ト フ ィールドは無視されます。 このコマンドを実行する と、 常にフレームの内容全体が返されます。

UltraScale デバイスで Query コマンドを実行する と、コン ト ローラーは 123 行 (ワード 0 からワード 122 の順) の 16 進数データ (31:0) を返します。 次に示すデータはすべて 0 ですが、 必ずしもそ う とは限り ません。

I> Q C000000000000000000000000000000000...000000000000000000000000I>

UltraScale+ デバイスで Query コマンドを実行する と、 コン ト ローラーは 93 行 (ワード 0 からワード 92 の順) の 16 進数データ (31:0) を返します。 次に示すデータはすべて 0 ですが、 必ずしもそ う とは限り ません。

I> Q C0000000000 000000000000000000000000...000000000000000000000000I>

エラー挿入を実行する際にコンフ ィギュレーシ ョ ン メモ リの内容を読み出すと、 コン ト ローラーの動作のデバッグに役立ちます。

推奨: エラー挿入を実行する際は、 その前後でコンフ ィギュレーシ ョ ン メモ リの内容を読み出すこ とを推奨します。これによ り、 エラー挿入によってコンフ ィギュレーシ ョ ン メモ リの内容が変化したかど うか、 そして挿入したエラーをコン ト ローラーが検出および訂正したかど うかを確認できます。

UltraScale Architecture SEM Controller v3.1 75

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

コンフ ィギュレーシ ョ ン  レジスタ  読み出し  (Peek コマンド )

このコマンドを実行する と、 指定したコンフ ィギュレーシ ョ ン レジスタが読み出され、 その内容が報告されます。このコマンドのフォーマッ トは次のとおりです。

P {2-digit hex value}

表 3-6 に、 コン ト ローラーによる読み出しがサポート されているレジスタの一覧を示します。

Peek コマンドを実行する と、 コン ト ローラーは次のよ うな 16 進数フォーマッ トでデータを返します。

I> P 0020BD8EDEI>

このコマンドおよび返されるデータのフォーマッ トは、 UltraScale デバイスと UltraScale+ デバイスで共通です。

このレジスタの詳細は、『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 2] を参照してください。

外部メモリ読み出し  (Xmem コマンド )

このコマンドを実行する と、 外部メモ リの内容が読み出されます。 1 つのアドレスを読み出すと、 1 バイ トのデータが返されます。 このコマンドのフォーマッ トは次のとおりです。

X {8-digit hex value}

外部メモ リ読み出しコマンドを実行する と、コン ト ローラーは次のよ うな 16 進数フォーマッ トでデータを返します。

I> X 0000000094I>

このコマンドおよび返されるデータのフォーマッ トは、 UltraScale デバイスと UltraScale+ デバイスで共通です。

表 3‐6: Peek コマンドで読み出し可能なコンフ ィギュレーシ ョ ン レジスタ

名前 アドレス

CRC 00000

FAR 00001

CMD 00100

CTL0 00101

MASK 00110

STAT 00111

COR0 01001

IDCODE 01100

AXSS 01101

COR1 01110

WBSTAR 10000

TIMER 10001

BOOTSTS 10110

UltraScale Architecture SEM Controller v3.1 76

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

エラー挿入

「N」 コマンドを実行する と、 LFA を使用してエラー挿入が実行されます。 このコマンドは、 コン ト ローラーがアイドル ステートの場合のみ実行できます。 このコマンドのフォーマッ トは次のとおりです。

N {n-digit hex value}

UltraScale では n = 10、 UltraScale+ では n = 11。

このコマンドは、 コマンド インターフェイスのエラー挿入コマンド と同じ働きをします。 このコマンドで指定する 16 進数値は、 表 3-5 で説明しています。 エラー挿入を利用してデザインをテス トする方法の詳細は、 付録 E 「エラー挿入のガイダンス」 を参照してください。 また、 付録 C 「評価ボードを使用した SEM Controller の動作デモ」の例も参照してください。

ステータス レポート

「S」 コマンドはコン ト ローラーに対してステータス レポートの出力を要求します。 ステータス レポートのフォーマッ トは、 コン ト ローラーから出力されるステータス レポートについて説明したセクシ ョ ンを参照して ください。このコマンドは、 コン ト ローラーがアイ ドル ステート または監視ステートの場合のみ実行できます。

フレーム アドレス変換 (Translate コマンド )

このコマンドは LFA アドレスと PFA アドレスを双方向に変換するコマンドで、 デバッグに役立ちます。 エラー挿入コマンドで使用するのと同じ値を 16 進数で指定します (表 3-5 参照)。 このコマンドのフォーマッ トは次のとおりです。

T {n-digit hex value}

UltraScale では n = 10、 UltraScale+ では n = 11。

UltraScale デバイスでフレーム アドレス変換コマンドを実行する と、 コン ト ローラーは次のよ うな 16 進数フォーマッ トでデータを返します。

I> T C0000000000000000000I>

UltraScale+ デバイスでフレーム アドレス変換コマンドを実行する と、 コン ト ローラーは次のよ うな 16 進数フォーマッ トでデータを返します。

I> T C000000000000000000000I>

ソフ トウェア リセッ ト

「R」 コマンドはソフ ト ウェア リセッ ト を実行します。 このコマンドは、 コン ト ローラーがアイ ドル ステートの場合のみ実行できます。 このコマンドのフォーマッ トは次のとおりです。

R {2-digit hex value}

このコマンドの使用方法の詳細は、 表 3-5 を参照してください。

このコマンドが正し く実行される と、 コン ト ローラーは初期化レポート を出力します。 詳細は、 このレポートについて説明したセクシ ョ ンを参照してください。

コマンドが無効な場合の動作

無効なコマンドを発行しても実行されません。 ステータス信号は変化せず、 コマンドのエコー バッ ク もあ り ません。不完全なコマンド (引数が不完全または誤ったコマンド ) はエコー バッ ク されますが、 コン ト ローラーによって実行されるこ とはあ り ません。

UltraScale Architecture SEM Controller v3.1 77

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

スイッチング動作

モニター インターフェイスは 2 つの信号で構成され、 これらを使用してコマンドおよびステータス情報を交換するための RS-232 プロ ト コル互換の全二重シ リ アル ポート を実装します。 次の設定を使用します。

• ボー : 115200

• 設定: 8-N-1

• フロー制御: なし

• 端末設定: VT100

° TX 改行: CR (改行コード と して CR [0x0D] を端末から送信)

° RX 改行: CR+LF (改行コード と して CR [0x0D] を端末が受信し、 CR+LF [0x0D, 0x0A] に展開)

° ローカル エコー : なし

UART インターフェイスに接続する外部デバイスは、 この設定をサポート している必要があ り ます。 図 3-14 に、 送信および受信のスイ ッチング動作を示します。

送信および受信タイ ミ ングは、 システム レベル サンプル デザイン内部でカウンターを使用して生成される 16x ビット レート イネーブル信号から求めます。 このカウンターの動作は 0 からカウン ト を開始し、 ターミナル カウン ト (カウンターを同期的にリセッ トするために検出および使用する条件) までカウン ト します。 ターミナル カウン ト出力は、 送信および受信プロセスにもタイム ベースと して供給されます。

115200 ボーは標準ビッ ト レートであ り、 さまざまな入力クロ ッ ク周波数から生成できるため、 互換性には優れています。 このため、 システム レベル サンプル デザインでも このボー レート を使用しています。

実際には、 データ レート とレイテンシの両方を考慮して必要な通信パフォーマンスが得られるよ うにボー レート を選択してください。 通信パフォーマンスが低いと コン ト ローラーでスロ ッ ト リ ングが発生する可能性があ り ます。このため、 よ り高いビッ ト レートの使用を強く推奨します。 9,600、 230,400、 460,800、 921,600 ボーなどの標準ビット レート を含め、 さまざまな設定が可能です。

システム レベル サンプル デザインの UART ヘルパー ブロ ッ クでは、 パラ メーター V_ENABLETIME で通信ビッ ト レート を設定します。 V_ENABLETIME の値は次の式で求めます。

V_ENABLETIME= round to integer 式 3‐1

上の式で V_ENABLETIME を求める と、 大で ±0.5 の丸め誤差が発生します。 この誤差によ り、 公称ビッ ト レートとは若干異なるビッ ト レートが生成されます。 RS-232 デバイス間での許容誤差が 2% とする と、 デバイスあたりのビッ ト レートの許容誤差は ±1% までとな り ます。

例: 入力クロ ッ クが 66MHz、 目的のビッ ト レートが 115200 ボートの場合。

V_ENABLETIME= round to integer =35 式 3‐2

実際に得られるビッ ト レートは約 114583 ボーで、 公称ビッ ト レートの 115200 ボーに対する誤差は -0.54% です。これは、 誤差が ±1% 以内であるため許容範囲内です。

公称ビッ ト レートに対する誤差が ±1% を超える場合、誤差が小さ くなるよ うにビッ ト レート と入力クロ ッ ク周波数の組み合わせを変えてください。 それ以外のスイ ッチ特性は定義されていません。

ヒン ト : システム レベル サンプル デザインに付属する UART ヘルパー ブロ ッ クのターゲッ ト ボー レートは 115,200 ボーです。 ほとんどのクロ ッ ク周波数では、 実際に得られるビッ ト レートの誤差が ±1% 以内に抑えられますが、 クロ ッ ク周波数が低い場合はこの許容誤差を超える可能性があ り ます。 この場合、 ボー レート と入力クロ ッ ク周波数を変更する必要があ り ます。

X-Ref Target - Figure 3-14

図 3‐14: UART インターフェイスのスイッチ特性

uart_txuart_rx start d0 d1 d2 d3 d4 d5 d6 d7 stop

input c lock frequency16 nominal bitrate

------------------------------------------------------------ 1–

6600000016 115200------------------------------ 1–

UltraScale Architecture SEM Controller v3.1 78

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

電気的に、 UART インターフェイスが使用する I/O ピンは LVCMOS 信号で、 ほかのデバイス との接続に適しています。 特別な I/O モードは必要あ り ません。 RS-232 との完全な電気的互換性が必要な場合は、 外部レベル変換器を使用する必要があ り ます。

システム レベル要件

これまで説明した以外に特別なシステム レベル要件はあ り ません。

フェ ッチ インターフェイス

フェッチ インターフェイスは、 コン ト ローラーが外部ソースからデータを要求する手段と して使用します。 このインターフェイスは、 エラー分類機能を有効にした場合のみ存在します。 このインターフェイスのポートの一覧および定義については、 表 2-23 を参照して ください。

表 2-23 で説明したよ うに、 fetch_tbladdr 入力を使用して外部メモ リ ソース内のコン ト ローラー データ テーブルの開始アドレスを指定します。 図 3-15 は、 これを視覚的に表現したものです。

X-Ref Target - Figure 3-15

図 3‐15: fetch_tbladdr 入力

SPI Flash Memory

Memory Addr

y-1y-2..

CB0[31:0]

First byte for EB data for SLR 0

CB1[31:0]CB2[31:0]

CB0

CB1

CB2

0x

First byte for EB data for SLR 1

First byte for EB data for SLR 2

.

.

.21

Fetch_tbladdr = 0

UltraScale Architecture SEM Controller v3.1 79

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

コン ト ローラーは、fetch_tbladdr (TB) アドレスの下位 31 ビッ トに SLR0 のエッセンシャル ビッ ト データの 初のバイ トのアドレスを指し示す分類ベース (CB0) ポインターが含まれるものと見なします。 ターゲッ ト デバイスがマルチ SLR デバイスの場合、 次の fetch_tbladdr の 32 ビッ トに SLR1 のエッセンシャル ビッ ト データの 初のバイ トのアドレスを指し示す分類ベース (CB1) ポインターが含まれます (以降同様)。 ターゲッ トがモノ リ シッ ク デバイスの場合、 必要な分類ベース ポインターは 1 つです。

fetch_tbladdr (TB) と分類ベース ポインター (CBn) をユーザーが定義できるため、 SPI フラ ッシュ メモ リにほかのデータを格納し、 必要に応じてメモ リの内容を構成可能です。

コン ト ローラーが正しい TB および CB 値を使用しているこ とを確認できるよ うに、 これらの値はモニター インターフェイスから出力されるステータス レポートでも報告されます。 「ステータス レポート 」 を参照してください。

SPI フラ ッシュ プログラ ミ ング ファ イルを生成する付属の makedata.tcl スク リプ トは fetch_tbladdr の値が 0 と仮定しており、 TB および CB 値をカスタマイズする場合はスク リプ ト を変更する必要があ り ます。 TB および CB 値を変更する場合、 SEM Controller が必要とするデータ (分類ベース ポインターとエッセンシャル ビッ ト データ ) を終的にはユーザーの責任で適切なアドレス空間に定義および配置する必要があ り ます。

ユーザーの便宜のため、 システム レベル サンプル デザインにはサンプルと して SPI フラ ッシュ マスター ヘルパー ブロ ッ クが用意されており、 フェッチ インターフェイスはこのヘルパー ブロ ッ クを経由して外部 SPI フラ ッシュからデータを取得します。 次のセクシ ョ ンでは、 SPI インターフェイスにおける SPI フラ ッシュ マスター ヘルパー ブロ ッ クの動作について説明します。

SPI 以外のインターフェイスが必要な場合、 SPI フラ ッシュ マスター ヘルパー ブロッ クを別の機能に置き換えることができます。 たとえば、 パラレル フラ ッシュ メモ リ コン ト ローラーや、 プロセス間通信をサポートする別の方式にこの SPI フラ ッシュ マスター ヘルパー ブロ ッ クを置き換えるこ とができます。 このよ うなカスタマイズをする場合は、 付録 I 「フェ ッチ インターフェイスのシグナリ ングとプロ ト コル」 のフェッチ インターフェイスのシグナリングについての説明を参照してください。

SPI インターフ ェイス

SPI インターフェイスは 4 つの信号で構成され、 これらを使用して SPI バス プロ ト コル互換の全二重シ リ アル ポート を実装します。 このインターフェイスは、 エラー分類機能を有効にした場合のみ存在します。 この機能を実装するには、 外部ス ト レージが必要です。 システム レベル サンプル デザインでは、 SPI バス マスターに機能が固定された SPI フラ ッシュ マスター ヘルパー ブロ ッ クを使用して外部 SPI フラ ッシュ デバイスからデータをフェッチします。 表 3-7 に、 サポート される各 FPGA で必要な SPI フラ ッシュの容量を示します。

表 3‐7:外部スト レージの要件

デバイス エラー分類に必要なスト レージ容量 (Mb)

UltraScale

XCKU035 128

XCKU040 128

XCKU060 256

XCKU085 512

XCKU115 512

XCVU065 256

XCVU080 256

XCVU095 256

XCVU125 512

XCVU160 1,024

XCVU190 1,024

XCVU440(1) 1,024

UltraScale Architecture SEM Controller v3.1 80

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

UltraScale+

XCKU3P 128

XCKU5P 128

XCKU9P 256

XCKU11P 256

XCKU13P 256

XCKU15P 256

XCVU3P 256

XCVU5P 512

XCVU7P 512

XCVU9P 512

XCVU11P 1024

XCVU13P 1024

XCVU27P 1024

XCVU29P 1024

XCVU31P 256

XCVU33P 256

XCVU35P 512

XCVU37P 1024

XCZU2 32

XCZU3 32

XCZU4 64

XCZU5 64

XCZU6 256

XCZU7 256

XCZU9 256

XCZU11 256

XCZU15 256

XCZU17 256

XCZU19 256

表 3‐7:外部スト レージの要件 (続き)

デバイス エラー分類に必要なスト レージ容量 (Mb)

UltraScale Architecture SEM Controller v3.1 81

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

SPI フラ ッシュ マスター ヘルパー ブロ ッ クは高速読み出しコマンド (0x0B) を使用します。 また、 何種類かある SPI フラ ッシュ ファ ミ リの 1 つをサポートするよ うに設定できます。 デフォルトでサポート されるファ ミ リは、 表 3-7 に示した外部ス ト レージの要件によって異なり ます。システム レベル サンプル デザインの SPI フラ ッシュ マスター ヘルパー ブロ ッ クには、 SPI フラ ッシュ デバイスに送信するコマンド シーケンスを制御するためのパラ メーターが 3 つあ り ます。

• B_ISSUE_WREN – デバイスの動作を変更するコマン ドの前に書き込みイネーブル コマン ド (0x06) を発行する必要があるかど うかを示します。 通常は 「0」 に設定し、 N25Q および MT25Q デバイスの場合のみ 「1」に設定します。

• B_ISSUE_WVCR – 高速読み出しダ ミー サイ クル数を明示的に 8 サイ クルに設定するために揮発性コンフ ィギュレーシ ョ ン レジスタへの書き込みコマン ド (0x81) を発行する必要があるかど うかを示します。 SPI フラ ッシュ マスター ヘルパー ブロ ッ ク内部のステー ト マシンはバイ ト指向のため、高速読み出しダ ミー サイクル数を 8 に設定する必要があ り ます。 揮発性コンフ ィギュレーシ ョ ンレ ジ ス タのデータは上書き されます (0x8B)。 通常は 「0」 に設定し、 N25Q および MT25Q デバイスの場合のみ 「1」 に設定します。

• B_ISSUE_EN4B – 4 バイ ト アド レス指定モードに明示的に移行するために 4 バイ ト アド レス指定イネーブル コマン ド (0xB7) を発行する必要があるかど うかを示します。 128Mb を超えるデバイスでは 「1」 に設定します。

ス ト レージ要件が 128Mb 以下の場合、 SPI フラ ッシュ マスター ヘルパー ブロ ッ クはデフォル ト で M25P デバイスをサポー ト します (B_ISSUE_WREN = 0、 B_ISSUE_WVCR = 0、 B_ISSUE_EN4B = 0)。 これらのデバイスは 4 バイ ト アド レス指定モードには対応しません。

ス ト レージ要件が 128Mb を超える場合、 SPI フラ ッシュ マスター ヘルパー ブロ ッ クはデフォル ト でよ り大容量の N25Q および MT25Q デバイスをサポー ト します (B_ISSUE_WREN = 1、 B_ISSUE_WVCR = 1、B_ISSUE_EN4B = 1)。 これらのデバイスは 4 バイ ト アド レス指定モードに対応します。

これ以外に、 ス ト レージ要件が 128Mb 以下の場合は小容量の N25Q デバイス (B_ISSUE_WREN = 1、B_ISSUE_WVCR = 1、 B_ISSUE_EN4B = 0)、 ス ト レージ要件が 128Mb を超える場合は大容量の MX25 デバイス (B_ISSUE_WREN = 0、 B_ISSUE_WVCR = 0、 B_ISSUE_EN4B = 1) もサポー ト されます。

注記: SPI フラ ッシュ マスター ヘルパー ブロ ッ クのインプ リ メ ンテーシ ョ ンがサポー トする SPI フラ ッシュ読み出しコマン ドは、 1 つの SPI フラ ッシュ デバイスに対する SPI モード 0 (CPOL = 0、 CPHA = 0) の高速読み出しのみです。

UltraScale+ (続き )

XCZU21DR 256

XCZU25DR 256

XCZU27DR 256

XCZU28DR 256

XCZU29DR 256

注記:1. XCVU440 では、1 回のコマンドでダイ境界をまたいでシームレスに読み出しが可能な

SPI フラ ッシュ メモ リ デバイス (MT25Q など) を使用する必要があ り ます。

表 3‐7:外部スト レージの要件 (続き)

デバイス エラー分類に必要なスト レージ容量 (Mb)

UltraScale Architecture SEM Controller v3.1 82

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

図 3-16 に、 FPGA と SPI フラ ッシュ デバイスの接続を示します。 「LT」 はレベル変換器を表しています。 一般的な SPI フラ ッシュ デバイスは 3.3V I/O を使用しますが、 FPGA または I/O バンク電圧によってはこの電圧を利用できないこ とがあるため、 レベル変換器が必要です。

SPI バスの性能を 大化するには、 伝搬遅延の小さいレベル変換器を使用する必要があ り ます。 SPI バスの性能がシステム レベル サンプル デザイン全体の 大動作周波数に影響するこ とがあ り ます。

注記: スイ ッチング動作、 システム レベル要件、および SPI バス タイ ミ ング バジェッ ト例については、付録 G 「SPI バス タイ ミ ング バジェッ ト 」 を参照してください。

エラー分類機能を使用する場合、 コン ト ローラーは外部に格納したデータにアクセスする必要があ り ます。 このデータは、 write_bitstream によって FPGA のプログラ ミ ング ファ イルと同時に作成されます。

FPGA デザインを変更して新しいプログラ ミ ングフ ァ イルを作成する際は、 コン ト ローラーが使用する外部データ ファ イルも更新する必要があ り ます。 ハード ウェア デザインを新しいプログラ ミ ング ファ イルで更新する際に、 外部に格納するデータ も更新する必要があ り ます。

重要: データの整合性が失われる と、 不正確な値の分類レポート が出力され、 誤った軽減措置が実行されるこ とがあ り ます。 プログラ ミ ング ファ イルと外部データ ファ イルが常に同期するよ う な更新方法を採用する こ と を推奨します。

補助インターフェイス

このインターフェイスは、 コンフ ィギュレーシ ョ ン メモ リのスキャンではコン ト ローラーが直接監視できない場所で発生したソフ ト エラー イベン ト をコン ト ローラーに通知する手段と して使用します。 たとえばブロッ ク RAM に ECC 機能を使用しているデザインの場合、 ECC 機能によって検出したエラーをこのインターフェイスの入力にできます。 コン ト ローラーが監視または検出ステートの場合、 このインターフェイス経由で通知されたエラーが検出され、 それに応じてモニターおよびステータス インターフェイスの出力が変化します。 同じエラーが複数回報告されるのを防ぐため、 1 つのエラーを報告する際は 1 ク ロ ッ ク サイクルのみパルスして ください。

このインターフェイスを使用しない場合は、 インターフェイスの入力を Low に接続する必要があ り ます。

X-Ref Target - Figure 3-16

図 3‐16: SPI フラ ッシュ  デバイスの接続 (レベル変換器を含む)

FPGA

spi_d

spi_q

spi_c

spi_s_n

SPI Flash

LT

LT

d q

s_n

c

UltraScale Architecture SEM Controller v3.1 83

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

スイッチング動作

図 3-17 にスイ ッチ特性を示します。 波形の前半で、 補助インターフェイスによって訂正可能なエッセンシャル エラーが報告され、 その結果、 status_essential 信号が High にアサート されています。

これによ り、 コン ト ローラーが監視ステートの場合は次のよ うなエラー レポートがモニター インターフェイスに出力されます。

aux_error_cr_esSC 04AUXTS {8-digit hex value}FC 00SC 08FC 40SC 02

aux_error_cr_neSC 04AUXTS {8-digit hex value}FC 40SC 08FC 00SC 02

これらのエラーが報告されるのは、 コン ト ローラーが監視または検出ステートの場合のみです。

波形の後半では、 補助インターフェイスによって訂正不能エラーが報告されています。 この結果、 コン ト ローラーはアイ ドル ステートへ移行し、 コン ト ローラー自身が訂正不能エラーを検出した場合と同じ動作をします。 エラー状態はモニター インターフェイス と ステータス インターフェイスの両方に反映されます。 これによ り、 コン ト ローラーが監視ステートの場合は次のよ うなエラー レポートがモニター インターフェイスに出力されます。

aux_error_ucSC 04AUXTS {8-digit hex value}FC 20SC 08FC 60SC 00

X-Ref Target - Figure 3-17

図 3‐17:補助インターフェイスのスイッチング動作

UltraScale Architecture SEM Controller v3.1 84

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

システム レベル要件

このインターフェイスは、 SEM Controller を使用してデバイスで発生したソフ ト エラー イベン トのすべてのレポート を統合し、 ステータスおよびモニター インターフェイスをシステム レベルで使用してエラーに対する措置を実行する場合に使用します。 または、 このよ うな機能を IP 外部に作成し、 これらエラーに対するシステム応答を独立して管理するこ と もできます。

システム

このソフ ト エラー軽減ソ リ ューシ ョ ンは自律動作が可能ですが、 多くのアプリ ケーシ ョ ンではこのソ リ ューシ ョ ンをシステム レベルの監視機能と組み合わせて使用します。 システム レベルの監視機能を実装すべきかど うか、 そしてこの監視機能にどれだけの役割を持たせるかは、 個々のシステムによ り異なり ます。

注記:次に示す参照事項は、 各インターフェイスのシステム レベル要件の欄で説明した内容も含みます。

システム レベルの監視機能を用いてソフ ト エラー軽減ソ リ ューシ ョ ンを監視する方法には、 次のものがあ り ます。

• ソフ ト エラー軽減ソ リ ューシ ョ ンを監視し、 ソフ ト エラー イベン トへの応答と してシステム レベルでの追加措置が必要かど うかを判定する。 これには、 検出したすべてのソフ ト エラー イベン トのログを記録する といった単純なものから、 エラー分類値やエラーが訂正可能かど うかなどの要因に基づいてシステム レベルで適切な応答を決定する といった複雑な措置までさまざまなものがあ り ます。 これらの各種要因を解析して、 デザインのリセッ ト 、 FPGA のリ コンフ ィギュレーシ ョ ン、 システムの再起動などシステム レベルの措置を実行します。

軽減 (+ テス ト ) モードでソフ ト エラー軽減ソ リ ューシ ョ ンのイベン ト レポート を監視するには、 ステータス インターフェイスの status_correction および status_uncorrectable 信号、 ステータス インターフェイスの status_classification および status_essential 信号、 または UART インターフェイスの uart_tx 信号によるエラー検出、 訂正、 分類レポート を使用します。

検出 (+ テス ト ) モードでソフ ト エラー軽減ソ リ ューシ ョ ンのイベン ト レポート を監視するには、 ステータス インターフェイスの status_uncorrectable、 または UART インターフェイスの uart_tx 信号によるエラー検出レポート を使用します。

• ソフ ト エラー軽減ソ リ ューシ ョ ンを監視し、 ソ リ ューシ ョ ン自体に問題がないかを確認する。 第 2 章の 「ソリ ューシ ョ ンの信頼性」 数値を示して説明したとおり、 ご くわずかながら ソフ ト エラー軽減ソ リ ューシ ョ ン自体が障害を起こす可能性があ り ます。 統計的に、 この障害はコン ト ローラーのすべてのステートで発生する可能性があ り ます。

° ブートおよび初期化ステート – ソフ ト エラー軽減ソ リ ューシ ョ ンがブートおよび初期化の後、 選択したモードに応じて監視、 検出、 アイ ドル ステートのいずれかに正し く移行するかを監視します。ザイ リ ンクスは、 ソフ ト エラー軽減ソ リ ューシ ョ ンがブートおよび初期化を実行して上記いずれかのステートへ移行する時間を表 2-5 および式 2-1 で定義しています。 ただしこれは cap_gnt 信号がアサート されており、 ソフ ト エラー軽減ソ リ ューシ ョ ンが ICAP プリ ミ ティブ経由で FPGA コンフ ィギュレーシ ョ ン ロジッ クを利用でき、 モニター インターフェイスでスロ ッ ト リ ングが発生していない場合の値です。

ソフ ト エラー軽減ソ リ ューシ ョ ンが初期化に失敗または正しいステートへの移行に失敗する主な理由は、ソフ ト エラー イベン トではなくデザイン エラーです。 これには、 未使用ポートの接続の誤り、cap_grant 信号の制御の誤り、 ICAP 共有の実装の誤りなどがあ り ます。 また、 ソフ ト エラー軽減ソリ ューシ ョ ンが ICAP プリ ミ ティブ経由で FPGA コンフ ィギュレーシ ョ ン ロジッ クを利用できないこ とが原因となるこ と もあ り ます。 この問題が発生する理由と しては、 ソフ ト エラー軽減ソ リ ューシ ョ ンと互換性のないビッ ト ス ト リーム オプシ ョ ンを使用した、 JTAG 経由で FPGA に発行された FPGA コンフ ィギュレーシ ョ ン命令をシステム レベルの JTAG コン ト ローラーが正し く完了またはク リ アできなかった、 などが考えられます。

ソ リ ューシ ョ ンが初期化を完了して正しいステートへ移行したこ とを確認するには、 システム レベルの監視機能でステータス インターフェイスの status_initialization および該当する status_* 信号がアサート されるのを監視するか (図 3-5 ~図 3-7 参照)、 UART インターフェイスの uart_tx 信号から出力される初期化レポート を監視します。

このステートでは、 CRC エラー ステータス信号の INIT_B は無視できます。

UltraScale Architecture SEM Controller v3.1 85

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

° 監視ステート (軽減 (+ テス ト ) モードの場合) – コン ト ローラーはほとんどすべての時間をこのステートで費やします。 このステートのコン ト ローラーを監視する方法は少なく と も 3 つあり、 コン ト ローラーの状態に関して得られる情報がそれぞれ少しずつ異なり ます。

- コン ト ローラーのハート ビート信号 status_heartbeat – この信号は、 ソフ ト エラー軽減ソ リ ューシ ョ ンから直接出力されます。 この信号は、 リードバッ ク プロセスが動作中であるこ とを示すパルスです (仕様の詳細は 「ステータス インターフェイス」 参照)。 監視ステート中にこのパルスが仕様から逸脱した場合、 システム レベルの監視機能はリードバッ ク プロセスに障害が発生したものと判定できます。 これは訂正不能なエッセンシャル エラーです。

UltraScale および UltraScale+ SSI へのインプリ メンテーシ ョ ンでは SLR ごとに status_heartbeat 出力があるため、 すべての SLR からのハート ビート信号を監視する必要があ り ます。

status_heartbeat はほかのコン ト ローラー ステートでは未定義のため、 監視ステートでのみ監視するよ うにしてください。

第 3 章 「ハート ビート 」 を参照してください。

- CRC エラー ステータス信号 INIT_B – この信号は、 リードバッ ク プロセスから直接出力されます。リードバッ ク プロセスで CRC エラーが検出される と、 INIT_B がアサート されます。 監視ステート中に INIT_B がアサート されてから 1 秒以内に訂正ステートへ移行しない場合、 コン ト ローラーに障害が発生しています。 ステートの移行は、 ステータス インターフェイスの status_correction 信号またはモニター インターフェイスのステート変化レポートで確認できます。 これは訂正不能なエッセンシャル エラーです。

UltraScale および UltraScale+ SSI デバイスへのインプリ メンテーシ ョ ンでは SLR ごとに内部 CRC エラー ステータス信号があるため、 これらの信号を OR を介して 1 つの INIT_B デバイス ピンに接続します。 UltraScale デバイスへのインプリ メンテーシ ョ ンでは、 ステータス インターフェイスの status_correction 信号は各 SLR に 1 つずつあり ます。

CRC エラー ステータス信号 INIT_B は監視および検出ステートでのみ監視するよ うにしてください。それ以外のステートでは、 この信号は未定義です。

- コン ト ローラーのステータス コマンドおよびレポート – UART インターフェイスの uart_rx および uart_tx 信号を使用してシステム レベルの監視機能から周期的にステータス コマンドを送信し、 予想されるステータス レポートが出力されるかを確認します。 コン ト ローラーのステートが変化していない場合、 1 秒以内に予想されるステータス レポートが出力されなければ、 システム レベルの監視機能はコン ト ローラーに障害が発生したものと判定できます。 これは訂正不能なエッセンシャル エラーです。

この方法を使用する場合、 「コン ト ローラー応答なし」 条件を検出する時間を許容範囲内と しつつ、 ステータス コマンドの送信間隔をなるべく長くする必要があ り ます。

ステータス コマンド とレポート をコン ト ローラーで処理する方法は、 レイテンシを増大させる要因となるこ とがあ り ます。 たとえばステータス コマンドを 60 秒ごとに送信するのは、 全般的な動作のレイテンシをそれほど増やすこ とな く、 ほとんど発生しない 「コン ト ローラー応答なし」 条件を防ぐこ とができるため、 妥当な ト レードオフといえます。 これに対し、 ステータス コマンドを 1 秒ごとに送信するのは賢明な選択とはいえません。 この場合、 ステータス レポートによって UART ヘルパー ブロ ックの送信バッファーが空になるこ とがほとんどなく、 モニター インターフェイスでスロ ッ ト リ ングが発生してエラー検出、 訂正、 および分類のレイテンシが増大します。

コン ト ローラーのステータス コマンドおよびレポート を使用する方法は、 監視およびアイ ドル ステートでしか利用できない点に注意が必要です。 ほかのステート中にステータス コマンドを送信した場合、UART ヘルパー ブロ ッ クの受信バッファーがオーバーフローしなければコマンドはバッファー内に残り、 監視またはアイ ドル ステートへ移行した時点で処理されます。

UltraScale Architecture SEM Controller v3.1 86

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

° 訂正および分類ステート – モニター インターフェイスでスロ ッ ト リ ングが発生していなければ、 ソフ ト エラー軽減ソ リ ューシ ョ ンは訂正および分類ステートに表 2-9/式 2-3 および表 2-10/式 2-4 に示した時間内に遷移します。 ソフ ト エラーが発生する確率は非常に低いため、 コン ト ローラーがこれらのステートで費やす時間は非常に短く、 通常はすぐに監視ステート (またはご く まれにアイ ドル ステート ) に戻り ます。

ステータス インターフェイスの status_correction および status_classification 信号、またはモニター インターフェイスのステート変化レポート を監視して、 コン ト ローラーが訂正または分類ステートにとどまる時間が 1 秒を超えたこ とが確認される と、 システム レベルの監視機能はコン ト ローラーに障害が発生したものと判定できます。 これは訂正不能なエッセンシャル エラーです。

これとは別に、 ソフ ト エラー軽減ソ リ ューシ ョ ンが同じアドレスを繰り返し訂正していないかをシステム レベルの監視機能で監視するこ と もできます。 このよ うな症状が起こるこ とはほとんどあ り ませんが、 その原因はコン ト ローラーのソフ ト エラーやデバイス自体のハード エラーなどいくつか考えられます。

° 検出モードまたはステート – コン ト ローラーは、 初期化後またはコマンドで移行後、 ほとんどすべての時間をこのステートで費やします。 このステートのコン ト ローラーを監視する方法は少なく と も 2 つあり、コン ト ローラーの状態に関して得られる情報がそれぞれ少しずつ異なり ます。

- コン ト ローラーのハート ビート信号 status_heartbeat – この信号は、 ソフ ト エラー軽減ソ リ ューシ ョ ンから直接出力されます。 この信号は、 リードバッ ク プロセスが動作中であるこ とを示すパルスです (仕様の詳細は 「ステータス インターフェイス」 参照)。 検出ステート中にこのパルスが仕様から逸脱した場合、 システム レベルの監視機能はリードバッ ク プロセスに障害が発生したものと判定できます。 これは訂正不能なエッセンシャル エラーです。

UltraScale および UltraScale+ SSI へのインプリ メンテーシ ョ ンでは SLR ごとに status_heartbeat 出力があるため、 すべての SLR からのハート ビート信号を監視する必要があ り ます。

第 3 章 「ハート ビート 」 を参照してください。

- CRC エラー ステータス信号 INIT_B – この信号は、 リードバッ ク プロセスから直接出力されます。リードバッ ク プロセスで CRC エラーが検出される と、 INIT_B がアサート されます。 検出ステート中に INIT_B がアサート されてから 1 秒以内にアイ ドル ステートへ移行しない場合、 コン ト ローラーに障害が発生しています。 アイ ドル ステートへ移行したかど うかは、 ステータス インターフェイスまたはモニター インターフェイスのステート変化レポートで確認できます。 これは訂正不能なエッセンシャル エラーです。

UltraScale および UltraScale+ SSI デバイスへのインプリ メンテーシ ョ ンでは SLR ごとに内部 CRC エラー ステータス信号があるため、 これらの信号を OR を介して 1 つの INIT_B デバイス ピンに接続します。 ただしステータス インターフェイスは SLR ごとにアイ ドル ステートのステータス インターフェイスを個別に監視してアイ ドル ステートへの移行を確認する必要があ り ます。

CRC エラー ステータス信号 INIT_B は監視および検出ステートでのみ監視するよ うにしてください。それ以外のステートでは、 この信号は未定義です。

° 診断スキャン ステート – コマンドによってこのステートへ移行する と、 コン ト ローラーはデバイスのすべてのコンフ ィギュレーシ ョ ン メモ リ をスキャンし、 検出したすべての ECC エラーを報告します。 このステートのコン ト ローラーを監視するには、 次の方法を推奨します。

- コン ト ローラーのハート ビート信号 status_heartbeat – この信号は、 ソフ ト エラー軽減ソ リ ューシ ョ ンから直接出力されます。 この信号は、 リードバッ ク プロセスが動作中であるこ とを示すパルスです (仕様の詳細は 「ステータス インターフェイス」 参照)。 診断スキャン ステート中にこのパルスが仕様から逸脱した場合、 システム レベルの監視機能はリードバッ ク プロセスに障害が発生したものと判定できます。 これは訂正不能なエッセンシャル エラーです。

UltraScale および UltraScale+ SSI へのインプリ メンテーシ ョ ンでは SLR ごとに status_heartbeat 出力があるため、 すべての SLR からのハート ビート信号を監視する必要があ り ます。

第 3 章 「ハート ビート 」 を参照してください。

UltraScale Architecture SEM Controller v3.1 87

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

° アイ ドルおよび挿入ステート – コン ト ローラーがアイ ドル ステートへ移行するのは、 訂正不能エラーが発生した場合かアイ ドル ステートへの移行コマンドが実行された場合のみです。 訂正不能エラーによってアイ ドル ステートへ移行した場合は、 イベン ト レポートの監視に関するセクシ ョ ンを参照してください。アイ ドル ステートへの移行コマンドは、 主にエラー挿入や ICAP 共有などほかのコマンドを発行するために使用します。 「監視ステート 」 の 「コン ト ローラーのステータス コマンドおよびレポート 」 で説明した方法をアイ ドル ステートで実装するのは、 アプリ ケーシ ョ ン レベルでほかのプロセスによって発行されたコマンド と競合する可能性があるため推奨しません。 発行済みのコマンドが完了して 1 秒以内に応答が生成されるこ とをアプ リ ケーシ ョ ン レベル プロセスで確認する方法を推奨します。 1 秒以内に応答が生成されない場合は訂正不能なエッセンシャル エラーが発生しており、 アプリ ケーシ ョ ンからシステムに報告する必要があ り ます。

° 重大エラー ステート – コン ト ローラーは、 内部ステートに不整合性が検出された場合のみこのステートへ移行します。 このステートへ移行する と、 ステータス インターフェイスの 7 つのステート信号がすべてアサート されます。モニター インターフェイスから HLT メ ッセージが出力されるこ と もあ り ます。 UltraScale SSI デバイスへのインプ リ メンテーシ ョ ンでは複数のコン ト ローラー インスタンスが存在しており、 少なく と も 1 つのコン ト ローラー インスタンスが動作を停止するか、 または訂正不能エラー イベン トによってアイ ドル ステートへ移行する と ソ リ ューシ ョ ン全体が重大エラー ステート と見なされます。 これは訂正不能なエッセンシャル エラーです。

こ こまでに説明したシステム レベル監視機能の実装は任意ですが、 軽減 (+テス ト ) モードで IP を使用する場合は、コン ト ローラーの正常動作を確認するために少なく と も次のシステム レベル監視機能を実装するこ とを推奨します。

1. コン ト ローラーがブートおよび初期化ステート を完了し、 選択したモードに応じて監視、 アイ ドル、 または検出ステートに正し く移行したこ とを確認してください。 ブートおよび初期化ステートでは INIT_B 信号は監視対象ではあ り ません。

2. 監視、 検出、 診断スキャン ステートでは status_heartbeat 信号を監視し、 「ハート ビート 」 に示した仕様値を満たしているこ とを確認してください。 この監視ロジッ クの例は、 サンプル デザインに含まれています。第 5 章の 「機能」 を参照してください。

3. 軽減 (+ テス ト ) および検出 (+ テス ト ) モードの場合、 コン ト ローラーが停止またはアイ ドル ステートへ移行していないこ とを確認してください。 コン ト ローラーが停止またはアイ ドル ステートへ移行する と軽減機能が実行されず、 SEU が発生しても検出、 訂正されません。 これは、 status_* 信号を監視して確認できます。 コント ローラーの動作停止を検出するロジッ クの例は、 サンプル デザインに含まれています。 第 5 章の 「機能」 を参照してください。

4. 監視および検出ステートでは、 INIT_B 信号を監視して ください。 INIT_B がアサート されてから 1 秒以内にコン ト ローラーが監視ステートから訂正ステート、 または検出ステートからアイ ドル ステートへ移行しない場合、訂正不能エラーが発生したかエラーに対してコン ト ローラーの軽減機能が応答していない ( 「CRC エラー ステータス信号 INIT_B」 参照) こ とを示します。

5. 後で必要になったと きに IP の動作を簡単にデバッグできるよ うに、 monitor_txdata[7:0] 出力を FIFO バッファーに格納してください。 これは、 特にシステムがモニター インターフェイスを使用していない場合に推奨します。 「モニター インターフェイス」 を参照してください。

UltraScale Architecture SEM Controller v3.1 88

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 3 章: コアを使用するデザイン

コンフ ィギュレーシ ョ ン  メモリのマスク

デザインによっては、 動作中にコンフ ィギュレーシ ョ ン メモ リの一部のビッ ト値が変化するこ とがあ り ます。 よ くあるのは、 分散 RAM やシフ ト レジスタなどの LUTRAM 機能を実装するよ うにロジッ ク スライス リ ソースを設定した場合です。 また、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート を持つその他のタイプのリ ソースがデザインの動作中に更新される場合にも このよ うな状況が発生します。

エラーの誤検出を防ぐには、 これら リ ソースに関連する メモ リ ビッ トはマスク しておき、 CRC および ECC 計算から除外しておく必要があ り ます。 ザイ リ ンクスの FPGA デバイスには、 このよ うなエラー誤検出を防ぐためにコンフ ィギュレーシ ョ ン メモ リのマスク機能が実装されています。 マスクを有効にするかど うかは、 グローバル制御信号の GLUTMASK_B で選択します。 コン ト ローラーはコンフ ィギュレーシ ョ ン メモ リのマスクを常に有効にします。

UltraScale デバイスはリ ソース レベルで細粒度のマスクをインプリ メン ト しています。 つま り、 個々のリ ソースをダイナミ ッ ク動作に設定する と、 そのリ ソースのコンフ ィギュレーシ ョ ン メモ リ ビッ トがマスク されます。 無関係なメモ リ ビッ トには影響せず、 必要なメモ リ ビッ トのみがマスク されます。 マスク したビッ トは、 コン ト ローラーによる監視を受けません。

マスク した リ ソースに関係するコンフ ィギュレーシ ョ ン メモ リ ビッ ト を読み出すと、 定数値 (論理 1 または論理 0) が返されます。 これによ り、 エラーの誤検出を防ぎます。 マスク された リ ソースに関係するコンフ ィギュレーシ ョン メモ リ ビッ トへの書き込みは破棄されます。 これによ り、 ダイナミ ッ ク ステート エレ メン トの内容を古いデータで上書きするのを防ぎます。 ただしその副作用と して、 マスク した リ ソースにエラーを挿入してもエラーが検出されません。

LUTRAM 機能など多くの場合には、 ユーザー デザインでこれらのビッ トに対するデータ保護を実装してソフ ト エラーを軽減できます。 または、 ユーザー デザインを変更してコンフ ィギュレーシ ョ ン メモ リのマスクを必要とするよ うな機能を使用しないよ うにする方法もあ り ます。

リセッ ト

デバイスのコンフ ィギュレーシ ョ ン全体を リセッ トするこ とはできないため、 コン ト ローラーにはリセッ トがあ りません。 このコン ト ローラーは、 デバイスのコンフ ィギュレーシ ョ ン完了から電源停止またはリ コンフ ィギュレーシ ョ ンまでの間、 デバイスのコンフ ィギュレーシ ョ ンを監視します。 また、 オ リジナルのコンフ ィギュレーシ ョ ン ステート を監視および維持するこ とを役割と し、 エラーを含む可能性が高い暫定ステートからは再起動しません。

UltraScale Architecture SEM Controller v3.1 89

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4章

デザイン  フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプリ メンテーシ ョ ンの手順について説明します。一般的な Vivado® デザイン フローおよび Vivado IP インテグレーターの詳細は、次の Vivado Design Suite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 13]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9]

コアのカスタマイズおよび生成

こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。 SEM Controller はデバイスへの依存性があるため、 SEM IP をサポート したデバイスを選択する必要があり ます。 コアをカスタマイズして生成するには、 まず Vivado IP カタログで [FPGA Features and Design] → [Soft Error Mitigation] を展開し、 その下にある [UltraScale Soft Error Mitigation] をク リ ッ ク して選択します。 [Project Manager] ウ ィンド ウの [Details] エリ アにこのソ リ ューシ ョ ンに関する重要な情報が表示されます。 この内容を確認してから次の手順に進みます。

Vivado IP カタログでこの IP コアをダブルク リ ッ クする と、 [Customize IP] ダイアログ ボッ クスが開きます (図 4-1)。

注記: この章には Vivado 統合設計環境 (IDE) のスク リーンシ ョ ッ ト を掲載していますが、 新バージ ョ ンの画面は異なる場合があ り ます。

Vivado IDE の SEM Controller IP カスタマイズ画面は、 次に示す 3 つのタブで構成されます。

• [Basic] – IP モード、 ターゲッ ト ク ロ ッ ク周期、 コンフ ィギュレーシ ョ ン プリ ミ ティブとヘルパー ブロ ッ クの配置場所など、 基本的な SEU 軽減機能のオプシ ョ ンを設定します。

• [Advanced Mitigation] – エラー分類など、 よ り高度な SEU 軽減機能のオプシ ョ ンを設定します。

• [Summary] – [Basic] および [Advanced Mitigation] タブで選択した IP コンフ ィギュレーシ ョ ンの内容が表示されます。 IP を生成する前に、 こ こで設定内容を確認して ください。

SEM Controller ソ リ ューシ ョ ンが 終的に組み込まれるプロジェ ク ト全体の要件が満たされる よ うに、 こ こで各オプシ ョ ンの設定を確認し、 必要に応じて変更します。 次に、 各オプシ ョ ンの詳細について説明します。

注意: SEM Controller は、 生成時にターゲッ ト と したデバイスでしか使用できません。 あるデバイスに対して生成したコン ト ローラーのデザイン チェッ クポイン ト (DCP) を別のデバイスおよびハードウェアをターゲッ トにしたよ り大規模なデザインで使用した場合、 コン ト ローラーはブートおよび初期化プロセスを完了しても正し く動作しません。

UltraScale Architecture SEM Controller v3.1 90

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Basic] タブX-Ref Target - Figure 4-1

図 4‐1: SEM Controller の [Basic] タブ

UltraScale Architecture SEM Controller v3.1 91

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Component Name] およびシンボル

[Component Name] では、 生成されるコンポーネン トの名前を設定します。 この例では、 「sem_ultra_0」 を使用しています。 このダイアログ ボッ クスの左側にはコンポーネン ト シンボルが表示されます。 こ こには、 現在のオプシ ョ ン設定でコンポーネン トに存在するポートが視覚的に表示されます。 オプシ ョ ン設定を変更する と、 この図は自動的に更新されます。

モード

SEM Controller IP は 6 つのモードで利用できます。

• 軽減 + テス ト (Mitigation and Testing) モード

• 軽減 (Mitigation only) モード

• 検出 + テス ト (Detect and Testing) モード

• 検出 (Detect only) モード

• エミ ュレーシ ョ ン (Emulation) モード

• モニター (Monitoring) モード

モードは、 IP の用途およびアプリ ケーシ ョ ンに応じて選択します。 各モードの機能の違いについては、 [Mode description] に表示される一覧表で確認できます。

エラー訂正機能が必要な場合は、 軽減 + テス ト または軽減モードのいずれかを選択します。 これらのモードでは、コン ト ローラーはエラー検出回路を監視し、 エラー条件を報告します。 また、 エラーが検出された場合はコン トローラーが訂正を試みます。 一般的にほとんどのエラーは訂正可能で、 訂正に成功する と コン ト ローラーは訂正可能なエラーが発生して訂正されたこ とを報告します。 訂正不能なエラーの場合、 コン ト ローラーは訂正不能なエラーが発生したこ とを報告してアイ ドル ステートに移行します。

エラー訂正では、 ECC シンド ロームを使用してフレーム内の正確なエラー位置を特定します。 エラーを含むフレームを読み出し、 該当するビッ ト を反転してフレームを書き戻します。 このエラーは訂正可能エラーと して報告されます。

内蔵のエラー訂正機能が不要な場合は、 検出 (+ テス ト )、 エ ミ ュレーシ ョ ン、 モニター モードのいずれかを選択します。 検出 (+ テス ト ) モードでは、 コン ト ローラーは初期化が完了する と検出ステートに移行し、 SEU エラーが検出されるまでコンフ ィギュレーシ ョ ン メモ リのスキャンを継続します。 エラーが検出される とエラー レポート を出力し、 訂正は実行せずアイ ドル ステートに戻り ます。

エ ミ ュレーシ ョ ンおよびモニター モードでは、 コン ト ローラーは初期化が完了する とアイ ドル ステートに移行します。 監視ステートには移行しないため、 コンフ ィギュレーシ ョ ン メモ リ を継続的にスキャンして SEU エラーを検出および訂正するこ とはできません。

どのモードを選択した場合も、 アイ ドル ステートでコン ト ローラーにコマンドを送信してエラー検出/レポート機能 (検出および診断スキャン) を開始できます。

エラー挿入はデザインを検証するための機能で、 ソフ ト エラー イベン ト を模したエラーをユーザーがコンフ ィギュレーシ ョ ン メモ リに発生させるこ とができます。 この機能は、 統合またはシステム レベル テス トの際にコン ト ローラーがシステム レベルの監視ロジッ ク と正し く接続されているか、 そしてソフ ト エラー イベン トが発生した場合にシステムが正し く応答するかを検証する際に使用します。 エラー挿入機能は軽減、 検出、 モニター モードでは利用できません。

ヒン ト : エラー挿入機能を無効にした場合、 コン ト ローラーはエラー挿入コマンドを無視し、 エラー挿入ステートには移行しません。

各モードで利用可能な機能の一覧は、 17 ページの表 2-1 を参照してください。

UltraScale Architecture SEM Controller v3.1 92

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Controller Clock Period (ps)]

コン ト ローラーのクロ ッ ク周期を設定します。 コン ト ローラーのクロ ッ ク周期を短くする (すなわちクロ ッ ク周波数を引き上げる ) と、 エラー軽減時間が短縮されます。 したがって、 ク ロ ッ ク周期はなるべく短くするこ とを推奨します。 目的の周期がターゲッ ト デバイスの能力を超える場合、 警告が表示されます。

エラー分類のために外部データをフェッチするデータ取得インターフェイスが必要なデザインでは、 さ らに別の考慮事項が存在します。 サンプル デザインはコン ト ローラーに同期した外部メモ リ インターフェイスをインプリ メント します。 このため、 外部メモ リのサイクル時間もコン ト ローラーのクロ ッ ク周波数によって決ま り ます。 外部メモ リの 小サイクル時間がコン ト ローラーの 大クロ ッ ク周波数を制限する要因になるため、 外部メモ リ システムを解析してこの 小サイクル時間を決定する必要があ り ます。

この解析の実行方法は、 第 3 章の 「インターフェイス」 で説明しています。 ただしこの解析には、 インプリ メンテーシ ョ ン結果から得たタイ ミ ング データが必要です。 したがって、 ザイ リ ンクスでは次の手順を推奨しています。

1. 目的の周波数またはクロック周期設定でソ リューションを生成する。

2. インプ リ メ ンテーシ ョ ン結果から必要なタ イ ミ ングデータを抽出する。

3. タ イ ミ ングバジェ ッ ト解析を実行して 大周波数を決定する。

4. 計算で求めた 大動作周波数と同じかそれ以下の周波数でソ リ ューシ ョ ンを再生成する。

注記:評価ボードをターゲッ トにした場合、 [Controller Clock Period] のデフォルト値にはサンプル デザインのピン配置に基づいたクロ ッ ク周波数が自動的に選択されます。

[Structural Options]

必要な ICAP および FRAME_ECC プリ ミ ティブを IP に対してどこに位置させるかを決定します。 コンフ ィギュレーシ ョ ン プリ ミ ティブ ブロ ッ クを IP サンプル デザインに含める (IP のサンプル デザインと一緒に生成する ) か、 IP の範囲に含める (アウ ト オブ コンテキス ト (OOC) デザイン チェッ クポイン トに含める ) かを選択できます。

SEM Controller IP は、 付属する IP ヘルパー ブロ ッ クおよびプリ ミ ティブを使用して検証されています。 詳細は、第 3 章の 「構造オプシ ョ ン」 を参照してください。

UltraScale Architecture SEM Controller v3.1 93

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Advanced Mitigation] タブ

X-Ref Target - Figure 4-2

図 4‐2: SEM Controller の [Advanced Mitigation] タブ

UltraScale Architecture SEM Controller v3.1 94

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Enable Error Classification]

エラー分類機能の有効/無効をこのチェッ ク ボッ クスで設定します。 エラー分類は、 軽減 (+ テス ト ) モードでエラー訂正を有効にした場合に利用できます。

エラー分類機能は、 検出および訂正されたソフ ト エラーがユーザー デザインの機能に影響したかど うかをザイ リ ンクスのエッセンシャル ビッ ト テク ノ ロジを利用して判定します。

エッセンシャル ビッ ト とは、 デザインの回路に関係するビッ ト をいいます。 エッセンシャル ビッ トが変化する と、デザインの回路が変化します。 しかし必ずしもデザインの機能に影響する とは限り ません。

どのビッ トがエッセンシャルかが不明な場合、 システムは検出したソフ ト エラーのすべてがデザインの正確さに影響したと見なす必要があ り ます。 多くの場合、 システム レベルでエラー軽減を実行する と、 FPGA コンフ ィギュレーシ ョ ンが修復されてデザインのリセッ ト または再起動が完了するまでサービスが中断または低下します。

しかし Vivado Bitstream Generator のレポートでデザインの動作に影響するエッセンシャル ビッ トがコンフ ィギュレーシ ョ ン メモ リ全体の 20% である と報告された場合、 システム レベルのエラー軽減が必要なのは 10 回のソフ ト エラーのうち平均 2 回しかあ り ません。 エラー分類機能は、 ソフ ト エラー イベン トがコンフ ィギュレーシ ョ ン メモ リのエッセンシャル ビッ ト位置で発生したかど うかをルッ クアップ テーブルを利用して判定します。 この機能を使用する とデザインの実効 FIT が改善します。 ただしエラー分類を有効にする と、 ルッ クアップ テーブルを格納するための外部ス ト レージが必要になり ます。

エラー分類を有効にする と、 コン ト ローラーが外部データを取得するためのインターフェイス と してフェ ッチ インターフェイスが生成され、 コンポーネン ト シンボルにも表示されます。 付属のサンプル デザインでは、 フェッチ インターフェイスを外部 SPI フラ ッシュに接続するブリ ッジが必要です。 このため、 サンプル デザインには SPI フラ ッシュ マスター ヘルパー ブロ ッ クが含まれています。

エラー分類を有効にした場合、 検出したエラーの訂正が完了する と、 コン ト ローラーはルッ クアップ テーブルを参照してエラー位置を特定します。 このテーブルの情報に基づき、 コン ト ローラーはエラーがエッセンシャルか非エッセンシャルかを報告します。 検出したエラーを訂正できないのは、 エラー位置を特定できないためです。 したがって、 訂正不能なエラーはエッセンシャルかど うかをルッ クアップ テーブルで判定できないため、 安全のためにすべてのエラーをエッセンシャルと して報告します。

同様に、 エラー分類を無効にした場合もコン ト ローラーはエラーがエッセンシャルかど うかを判定できないため、すべてのエラーを無条件にエッセンシャルと して報告します。

注記:評価ボードがターゲッ トの場合、 このオプシ ョ ンは利用できません。

ヒン ト : エラー分類は必ずしもコン ト ローラーで実行する必要はあ り ません。 コン ト ローラーによるエラー分類を無効にし、 インプ リ メンテーシ ョ ン ツールによって提供されるエッセンシャル ビッ ト データ とエラー位置情報を利用してシステム内の別のブロ ッ クでエラー分類を実行するこ と もできます。 エラー位置情報は、 コン ト ローラーがモニター インターフェイスから出力するエラー レポートに含まれます。

UltraScale Architecture SEM Controller v3.1 95

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Summary] タブ

[Summary] タブで IP コンフ ィギュレーシ ョ ンのサマ リ をチェッ ク し、 各オプシ ョ ンが正し く設定されているかを確認します。 設定が正し くない場合は前のタブに戻って設定を変更します。 すべてのオプシ ョ ン設定が正しいこ とを確認したら、 [OK] をク リ ッ ク して IP のカスタマイズを終了します。

X-Ref Target - Figure 4-3

図 4‐3: SEM Controller の [Summary] タブ

UltraScale Architecture SEM Controller v3.1 96

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

ユーザー パラメーター

表 4-1 に、 Vivado IDE のフ ィールド とユーザー パラ メーターの対応関係を示します。 ユーザー パラ メーターは Tcl コンソールで表示できます。

出力ファイルの生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] を参照して ください。

コアへの制約

このセクシ ョ ンでは、 このコアに適用される制約について説明します。

必須の制約

SEM Controller とシステム レベル サンプル デザインがパフォーマンス要件を満たした機能結果を得るには、 物理的なインプ リ メンテーシ ョ ン制約を指定する必要があ り ます。 これらの制約は、 システム レベル サンプル デザイン生成時に XDC ファ イルと して作成されます。

UltraScale+™ サンプル デザインの場合、 タイ ミ ング制約を含む XDC 制約 (*_synth.xdc) と配置制約を含む XDC 制約 (*_impl.xdc) の 2 つが生成されます。 UltraScale™ サンプル デザインの場合、 タイ ミ ング制約と配置制約を含む XDC 制約が 1 つだけ生成されます。 生成される XDC ファ イルの数にかかわらず、 XDC ファ イル内の制約のタイプは同じです。

一貫したインプ リ メンテーシ ョ ン結果を得るには、 ソ リ ューシ ョ ンに付属の XDC ファ イルを使用する必要があ り ます。 XDC または特定の制約の定義および使用法については、 Vivado Design Suite の資料ページにある 『制約ガイ ド』を参照してください。

このソ リ ューシ ョ ンをよ り大規模なプロジェク トに統合する場合、 またはシステム レベル サンプル デザインに変更を加えた場合、 制約の変更が必要となるこ とがあ り ます。 制約の変更は、 各制約を十分に理解した うえで行ってください。 また、 提供されている制約を規定から逸脱した形で使用したデザインに対してはサポート を提供しておりません。

表 4‐1: Vivado IDE のパラメーターとユーザー パラメーターの対応表

Vivado IDE のパラメーター ユーザー パラメーター デフォルト値

モード c_feature_set、 c_has_error injection Mitigation and Testing

[Controller Clock Period] N/A 125,000ps

[ICAP and FRAME_ECC placement] c_config_prim_loc Example design

[Enable Error Classification] c_feature_set FALSE

UltraScale Architecture SEM Controller v3.1 97

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

XDC (ザイリンクス デザイン制約) ファイルの内容

XDC ファ イルはソ リ ューシ ョ ンを生成するたびに作成されます。 XDC ファ イルの全体的な構造と制約シーケンスは毎回同じですが、 その内容は生成時に設定したオプシ ョ ンによ り異なり ます。 こ こからは、 Kintex™ UltraScale™ デバイスへのインプ リ メンテーシ ョ ンを例に、 XDC ファ イルの構造と制約シーケンスについて説明します。

コン ト ローラーの制約

コン ト ローラーは、 単体で考えた場合、 生成時のオプシ ョ ン設定にかかわらず完全同期デザインです。 基本的に、必要な制約はシステム ク ロ ッ ク入力に対するクロ ッ ク周期制約のみです。 ジェネ リ ッ ク XDC では、 この制約はシステム レベル サンプル デザイン ク ロ ッ ク入力に適用され、 コン ト ローラーに伝搬します。 この制約については、 「サンプル デザインの制約」 で説明します。

コン ト ローラーと FPGA コンフ ィギュレーシ ョ ン システム プリ ミ ティブの間の信号パスは同期パスと見なす必要があ り ます。 デフォルトでは、 ICAP または FRAME_ECC プリ ミ ティブと コン ト ローラーの間のパスはシステム クロ ッ クに対するクロ ッ ク周期制約の一部と して解析されます。 これは、 ICAP および FRAME_ECC ク ロ ッ ク ピンを同じシステム ク ロ ッ ク信号に接続する必要があるためです。

ただし ICAP ポートの非同期出力信号の PRERROR、 PRDONE、 および AVAIL ピンは例外です。 これらの信号は内部で IP に同期しており、 これらのタイ ミ ング パスを無視するには追加の制約が必要です。 「サンプル デザインの制約」の set_false_path 制約のリ ス ト を参照してください。

一般に、 コン ト ローラーと接続する ICAP はその SLR の 上位 ICAP に配置する必要があ り ます。 モノ リ シッ ク デバイスの場合、 指示子なしでツールが ICAP と FRAME_ECC を正し く配置するため、 特別な配置制約は必要あ り ません。

SSI デバイスの場合、 ICAP と FRAME_ECC を正しい SLR に配置するにはツールで制約を指定する必要があ り ます。「サンプル デザインの制約」 の set_property 制約のリ ス ト を参照してください。

サンプル デザインの制約

サンプル デザインの制約は制約のタイプと インターフェイスごとにま とめられています。

タイ ミング制約

このグループの 初の制約は、 デザイン全体に対するシステム ク ロ ッ ク入力への制約です。 PERIOD 制約の値は、生成時に設定したオプシ ョ ンによ り異なり ます。

create_clock -name clk -period 125.0 [get_ports clk]

この次に、 ICAP ポートの非同期出力信号を無視するための制約が続きます。

set_false_path -from [get_pins {example_support_wrapper/example_support/example_cfg/cfg_icape3/CLK}] -to [get_pins {example_support_wrapper/example_support/sem_controller/inst/controller/controller_synchro_icap_prerror/sync_a/D}]set_false_path -from [get_pins {example_support_wrapper/example_support/example_cfg/cfg_icape3/CLK}] -to [get_pins {example_support_wrapper/example_support/sem_controller/inst/controller/controller_synchro_icap_prdone/sync_a/D}]set_false_path -from [get_pins {example_support_wrapper/example_support/example_cfg/cfg_icape3/CLK}] -to [get_pins {example_support_wrapper/example_support/sem_controller/inst/controller/controller_synchro_icap_avail/sync_a/D}]

このグループの 2 番目の制約は UART ヘルパー ブロ ッ クに関するもので、 インターフェイスに I/O タイ ミ ング制約を適用します。 I/O タイ ミ ング制約は 1 ク ロ ッ ク周期に設定します。

set_input_delay -clock clk -max -125.0 [get_ports uart_rx] set_input_delay -clock clk -min 250.0 [get_ports uart_rx] set_output_delay -clock clk -125.0 [get_ports uart_tx] -max set_output_delay -clock clk 0 [get_ports uart_tx] -min

UltraScale Architecture SEM Controller v3.1 98

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

このグループの 3 番目の制約は SPI フラ ッシュ マスター ヘルパー ブロ ッ クに対するものです。 これらの制約は、 エラー分類機能を有効にしてこのヘルパー ブロ ッ クを生成した場合のみ存在します。 これらの制約は、 インターフェイスに I/O タイ ミ ング制約を適用します。SPI バス タイ ミ ング バジェッ トの解析では実際のタイ ミ ングを使用する必要があるため、 I/O タイ ミ ングは非常に重要です。 ただしインプリ メン ト した FPGA の I/O タイ ミ ングに対するハード要件はあ り ません。 これらの要件は選択したデバイスおよびスピード グレードによ り異な り ます。

このため、 I/O タイ ミ ング制約は暫定的に PERIOD 制約の 2 倍に設定します。 IOB フ リ ップフロ ップを使用する制約を追加する と、制約の値が示すよ り も I/O タイ ミ ングが大幅に改善します。 SPI バス タイ ミ ング バジェッ トの解析では、 制約の値ではなく タイ ミ ング レポートから取得した実際のタイ ミ ングを使用します。

set_input_delay -clock clk -max -125.0 [get_ports spi_q]set_input_delay -clock clk -min 250.0 [get_ports spi_q]

set_output_delay -clock clk -125.0 [get_ports spi_c] -maxset_output_delay -clock clk 0 [get_ports spi_c] -min

set_output_delay -clock clk -125.0 [get_ports spi_d] -maxset_output_delay -clock clk 0 [get_ports spi_d] -min

set_output_delay -clock clk -125.0 [get_ports spi_s_n] -maxset_output_delay -clock clk 0 [get_ports spi_s_n] -min

set_property IOB TRUE [get_cells example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd]set_property IOB TRUE [get_cells example_support_wrapper/example_support/example_spi/example_spi_byte/spi_d_ofd]set_property IOB TRUE [get_cells example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd]set_property IOB TRUE [get_cells example_support_wrapper/example_support/example_spi/spi_s_ofd]

配置制約

次のグループは、システム レベル サンプル デザインの一部を選択したデバイスの特定領域に配置する Pblock を実装します。 Pblock に含まれるインスタンスは、 生成時に設定したオプシ ョ ンによ り異な り ます。 範囲の値は、 使用するデバイスによ り異なり ます。

Pblock によ り、 ソフ ト エラー軽減ロジッ クはデバイスの ICAP サイ トに物理的に隣接した領域にパッ クして配置されます。 特に重要な点と して、 これによ り タイ ミ ング結果の再現性が維持されます。 また、 Pblock はよ り コンパクト なパッ クが可能なためリ ソース使用量が抑えられます。

付属の Pblock はサンプルと して提供されています。 この Pblock のサイズをさ らにコンパク トにして リ ソース使用量を抑え、 SEM Controller の物理的フッ トプ リ ン ト を削減するこ とを推奨します。

create_pblock semresize_pblock [get_pblocks sem] -add {SLICE_X82Y75:SLICE_X87Y89}resize_pblock [get_pblocks sem] -add {RAMB36_X8Y14:RAMB36_X8Y17}resize_pblock [get_pblocks sem] -add {DSP48E2_X15Y30:DSP48E2_X15Y35}add_cells_to_pblock -pblock sem -cells [get_cells example_support_wrapper/example_support/example_spi/*]add_cells_to_pblock -pblock sem -cells [get_cells example_support_wrapper/example_support/example_uart/*]add_cells_to_pblock -pblock sem -cells [get_cells example_support_wrapper/example_support/sem_controller/*]

UltraScale Architecture SEM Controller v3.1 99

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

また、 FRAME_ECC と ICAP の配置を 上位 ICAP に強制するために次の制約も含まれていますが、 これはモノ リシッ ク デバイスの場合は不要です (指示子なしでツールが正し く配置する )。

# Force FRAME_ECC to the site in this SLR.set_property LOC CONFIG_SITE_X0Y0 [get_cells example_support_wrapper/example_support/example_cfg/cfg_frame_ecce3]# Force ICAP to the site in this SLR.set_property LOC CONFIG_SITE_X0Y0 [get_cells example_support_wrapper/example_support/example_cfg/cfg_icape3]

SSI デバイスへのインプ リ メンテーシ ョ ンでデザインの機能を正し く動作させるには、 FRAME_ECC および ICAP の配置制約に従う必要があ り ます。

ピン制約

次のグループは、 I/O ピン ロケーシ ョ ンをシステム レベル サンプル デザインの 上位ポートに割り当てるためのテンプレートです。 これらの割り当てはボードごとに異なるため、 自動的には生成できません。 ただしサポート される評価ボードをターゲッ トにしてデザインを生成した場合はこの限りではあ り ません。 付録 C 「評価ボードを使用した SEM Controller の動作デモ」 を参照してください。 この場合、 ピン ロケーシ ョ ンはターゲッ ト ボード と互換性があ り ます。

それ以外の場合は、 ターゲッ ト ボードに合わせて有効な I/O ピン ロケーシ ョ ンおよび規格を割り当て、 次に示す制約を適用してください。

set_property IOSTANDARD <io standard> [get_ports clk]set_property PACKAGE_PIN <package pin> [get_ports clk]

set_property IOSTANDARD <io standard> [get_ports uart_rx]set_property PACKAGE_PIN <package pin> [get_ports uart_rx]

set_property IOSTANDARD <io standard> [get_ports uart_tx]set_property PACKAGE_PIN <package pin> [get_ports uart_tx]

set_property IOSTANDARD <io standard> [get_ports spi_q]set_property PACKAGE_PIN <package pin> [get_ports spi_q]

set_property IOSTANDARD <io standard> [get_ports spi_c]set_property PACKAGE_PIN <package pin> [get_ports spi_c]

set_property IOSTANDARD <io standard> [get_ports spi_d]set_property PACKAGE_PIN <package pin> [get_ports spi_d]

set_property IOSTANDARD <io standard>8 [get_ports spi_s_n]set_property PACKAGE_PIN <package pin> [get_ports spi_s_n]

タイ ミ ング ク ロージャの達成を容易にするため、 UART または SPI フラ ッシュ インターフェイスに使用する I/O ピンは、 SEM Controller に も近い I/O バンクにあるピンを選ぶ必要があ り ます。

エッセンシャル ビッ ト情報の生成

エッセンシャル ビッ ト情報を生成するには次の制約が必要です。 エラー分類を有効にした場合のみ、 この制約が含まれます。

set_property bitstream.seu.essentialbits yes [current_design]

UltraScale Architecture SEM Controller v3.1 100

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

UltraScale SSI デバイスの制約

システム レベル サンプル デザインでは、 デバイスによって 2 ~ 3 個のコン ト ローラー インスタンスが生成されます。 これらのコン ト ローラー インスタンスには、 0 ~ 2 の ID 番号を含む名前が付けられます。 コン ト ローラー インスタンスの番号は、 ハード ウェア SLR 番号と同じです。

ICAP および FRAME_ECC プリ ミ ティブがツールによって各 SLR に正し く配置されるよ うにするには、 次の制約を適用する必要があ り ます (この例は SLR2 の場合のもの)。

## Force FRAME_ECC to the site in SLR 2.set_property LOC CONFIG_SITE_X0Y2 [get_cells example_support_wrapper/example_support/slr2_example_cfg/cfg_frame_ecce3]## Force ICAPs to the site in SLR 2.set_property LOC CONFIG_SITE_X0Y2 [get_cells example_support_wrapper/example_support/slr2_example_cfg/cfg_icape3]

各コン ト ローラーは、 各 SLR の関連するコンフ ィギュレーシ ョ ン ロジッ ク プリ ミ ティブの近くに集中して配置されるよ うにエ リア制約が適用されます。 これは非 SSI デバイスの制約とほぼ同じもので、 これらをすべての SLR に繰り返し適用します。

タイ ミ ング ク ロージャの達成を容易にするため、 UART および SPI フラ ッシュ マスター ヘルパー ブロ ッ クなどの共有ブロ ッ クにも、 デバイス中央のマスター SLR に配置されるよ うにエリ ア制約が適用されるこ とがあ り ます。

UART または SPI フラ ッシュ インターフェイスに使用する I/O ピンは、 マスター SLR (コン ト ローラーのインスタンス 0) 内の I/O バンクに配置された I/O ピンのうち、 コン ト ローラー インスタンスに も近いものを選択するこ とを推奨します。

UltraScale+ SSI デバイスの制約

システム レベル サンプル デザインでは、 コン ト ローラー インスタンスは 1 つだけ生成され、 FRAME_ECC インスタンスはデバイスによって 2 ~ 4 個が生成されます。 これらの FRAME_ECC インスタンスには、 0 ~ 3 の ID 番号を含む名前が付けられます。 コン ト ローラー インスタンスの番号は、 ハード ウェア SLR 番号と同じです。

ICAP および FRAME_ECC プリ ミ ティブがツールによって正し く配置されるよ うにするには、次の制約を適用する必要があ り ます (この例は SLR が 2 つのデバイスの場合のもの)。

# Force FRAME_ECC to the site in this SLR.set_property LOC CONFIG_SITE_X0Y1 [get_cells example_support_wrapper/example_support/example_cfg/slr1_cfg_frame_ecce4]set_property LOC CONFIG_SITE_X0Y0 [get_cells example_support_wrapper/example_support/example_cfg/slr0_cfg_frame_ecce4]# Force ICAP to the site in this SLR.set_property LOC CONFIG_SITE_X0Y0 [get_cells example_support_wrapper/example_support/example_cfg/cfg_icape3]

コン ト ローラーが関連する ICAP の近くに配置されるよ うに、コン ト ローラーにエリ ア制約を適用してマスター SLR に配置します。

タイ ミ ング ク ロージャの達成を容易にするため、 UART および SPI フラ ッシュ マスター ヘルパー ブロ ッ クなどの共有ブロ ッ クにも、 デバイス中央のマスター SLR に配置されるよ うにエリ ア制約が適用されるこ とがあ り ます。

UART または SPI フラ ッシュ インターフェイスに使用する I/O ピンは、 マスター SLR 内の I/O バンクに配置された I/O ピンのうち、 コン ト ローラーに も近いものを選択するこ とを推奨します。

UltraScale Architecture SEM Controller v3.1 101

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

デバイス、 パッケージ、 スピード  グレード

このセクシ ョ ンは、 この IP コアには適用されません。

クロック周波数

このセクシ ョ ンは、 この IP コアには適用されません。

クロック管理

このセクシ ョ ンは、 この IP コアには適用されません。

クロック配置

このセクシ ョ ンは、 この IP コアには適用されません。

シミ ュレーシ ョ ン

Vivado シ ミ ュレーシ ョ ン コンポーネン トについて、 またサポート されているサードパーティ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

コン ト ローラーをインスタンシエート したデザインのシ ミ ュレーシ ョ ンがサポート されます。 つま り、 コン ト ローラーを大規模なプロジェク トに統合した場合、 コン ト ローラーに関係しない機能のシ ミ ュレーシ ョ ンは通常どおり実行できます。 ただしシ ミ ュレーシ ョ ンではコン ト ローラーの動作は観察できません。 コン ト ローラーを含むデザインのシ ミ ュレーシ ョ ンはコンパイルされますが、 コン ト ローラーは初期化ステート を終了しません。 コン ト ローラー動作のハードウェアベースの評価が必要です。

合成およびインプリ メンテーシ ョ ン

SEM コアは付属のサンプル デザインと一緒に合成およびインプ リ メン ト して ください。 詳細は、 第 5 章の 「インプリ メンテーシ ョ ン」 を参照してください。

Vivado Design Suite を使用した合成およびインプリ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] を参照してください。

UltraScale Architecture SEM Controller v3.1 102

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

統合およびバリデーシ ョ ン

複雑なシステムを開発する場合のベス ト プラ クティ ス と して、 主要なファンクシ ョ ン ブロッ ク と インターフェイスをなるべく早い段階で統合し、 継続的にバリデーシ ョ ンを実行するこ とが重要です。 開発サイ クルの終盤になってデザインを大幅に変更するこ と (統合の遅れ) や、 システム パフォーマンスの計測を先延ばしするこ と (バリデーシ ョ ンの遅れ) は、 リ スクを増大させます。

統合とバリデーシ ョ ンの主要なスケジュールはプロジェク トのプランニング段階で決定しておく こ と、 そして開発サイクル全体を通じてシステムの機能とパフォーマンスを計画的にチェッ ク してこれらのスケジュールをサポートするこ とが重要です。 できるだけ早期に統合を開始し、 可能な限り多くの機能を段階的に追加していく と、 代表的なワークロードでのシステム評価の時間を 大限に確保できます。 この手法は、 デザイン再利用と IP ベース設計を促進する一般的なボ ト ムアップ設計アプローチを補完するものと して推奨されます。

SEM IP コアの統合

SEM IP コアはプログラマブル ロジッ クのフッ トプ リ ン ト をわずかしか占有しませんが、プログラマブル ロジッ クのコンフ ィギュレーシ ョ ン メモ リ システムを活性化します。 コンフ ィギュレーシ ョ ン メモ リ システムの動作は通常の SRAM とほとんど同じですが、 プログラマブル ロジッ ク アレイ全体に物理的に分散している点が異なり ます。デバイス内のほかのデジタル スイ ッチング アクティビティ同様、 コンフ ィギュレーシ ョ ン メモ リ システムのアクティビティ も電力ノ イズを発生させます。

SEM IP コアがサポートするデバイス ファ ミ リでは、 インプリ メンテーシ ョ ン要件と設計ガイダンスを守っていれば、 コンフ ィギュレーシ ョ ン メモ リ システムから発生する電力ノ イズはわずかです。

推奨: SEM IP コアをシステムに統合する際は、 新バージ ョ ンのコアを使用する と共に、 SEM IP ソ リ ューシ ョ ンに関するマスター アンサーを参照して SEM IP コアに関するデザイン アドバイザリや既知の問題など 新の情報を入手するこ とを強く推奨します。

SEM IP コアはなるべく早い段階で (理想的にはプロジェク トの 初から ) 統合してください。SEM IP コアは自動的に初期化できるため、 初の統合はコアをインスタンシエート してク ロ ッ クを接続し、 それ以外の入力ポート を特定の値に接続するだけで完了します。 この早期インフラス ト ラ クチャの一部と して SEM IP コアのプロビジ ョ ニング制御を実装し、 システムが SEM IP コア ク ロ ッ クおよび SEM IP コアの icap_grant のイネーブル/ディ スエーブルを行えるよ うにするこ とを推奨します。 SEM IP コアのシステム プロビジ ョ ニングによ り導入の柔軟性が向上する と同時に、 SEM IP コアの統合のデバッグも容易になり ます。

その後、 システムと SEM IP コアの間でコマンド /ステータス情報を交換するためのインターフェイスを定義および実装して統合を拡張できます。 このインターフェイスには、 SEM IP コアのモニター インターフェイスを利用した ASCII 通信を推奨します。 UART ヘルパー ブロ ッ クはシ リ アル接続の場合のみ使用し、 通信 FIFO を用いたパラレル接続の場合には使用しません。

SEM IP コアによって報告されたイベン トのログをシステムで記録して解析するだけならステータス情報を交換するだけで十分ですが、 エラー挿入をサポートするにはコマンドを交換する必要があ り ます。 放射線試験施設での加速粒子テス ト以外では、 SEM IP コアの統合および SEM IP コアのイベン ト レポートに対するシステム応答を完全にテス トできる現実的な方法はエラー挿入しかあ り ません。 エラー挿入は、 継続的なバリデーシ ョ ンにおいても一部の用途で役立ちます。

UltraScale Architecture SEM Controller v3.1 103

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 4 章:デザイン フローの手順

SEM IP コアのバリデーシ ョ ン

SEM IP コアを統合したシステムでは、 SEM IP コアの初期化ステート中のコンフ ィギュレーシ ョ ン メモ リ システムの動作は読み出し と書き込みが混在しています。 その後の監視ステートでは、 SEU を検出するためにコンフ ィギュレーシ ョ ン メモ リ を常時スキャンするため、 読み出し動作が 100% とな り ます。 地上環境におけるザイ リ ンクスのコンフ ィギュレーシ ョ ン メモ リの反転率は非常に低く (たとえばニューヨーク市の海抜 0m 地点では平均反転間隔は数十年)、 SEM IP コアが監視ステートから訂正ステート (書き込み動作が発生するステート ) に遷移するこ とはほとんどあ り ません。

SEM IP コアを統合したシステムの継続的なバリデーシ ョ ンでは、 SEM IP コアの代表的なワークロードを使用して実環境のシステムに即したバリデーシ ョ ン結果が得られるよ うにする必要があ り ます。 システム プロビジ ョ ニングによって SEM IP コアが初期化を完了して監視ステートに移行する場合、 デフォルトのワークロードではコンフ ィギュレーシ ョ ン メモ リ をスキャンしても ソフ ト エラーはあ り ません。 これは作業が簡単であるだけでなく、 バリデーシ ョ ンに適した代表的なワークロード と もいえます。

必要であれば、 SEM IP コアのエラー挿入機能を使用して散発的にエラー検出および訂正をワークロードに組み入れるこ と もできます。

重要: 頻繁にエラーを挿入して大量のエラー検出および訂正イベン ト を発生させるよ うな 「ス ト レス テス ト 」 は推奨しません。 このよ うなスティ ミ ュラスは現実に即しておらず、 システムの動作信頼性とは無関係なバリデーシ ョ ン結果となるためです。

システム バリデーシ ョ ンは研究開発段階だけでなく量産テス トでも継続的に実施して ください。 SEM IP コアの場合、 量産テス トでのシステム プロビジ ョニングは SEM IP コアを有効にするだけでよいため、 作業負担の増加はほとんどまたはまったくあ り ません。

UltraScale Architecture SEM Controller v3.1 104

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5章

サンプル デザインこの章では、 UltraScale™ Architecture SEM Controller のシステム レベル サンプル デザインの概要と、 そのインターフェイスについて説明します。 システム レベル サンプル デザインはコン ト ローラーと各種ヘルパー ブロ ッ クをカプセル化しており、 これらのヘルパー ブロ ッ クがコン ト ローラーとほかのデバイスを接続するインターフェイス としての役割を果たします。 ヘルパー ブロ ッ クには、 I/O ピン、 I/O インターフェイス、 メモ リ コン ト ローラー、 アプリ ケーシ ョ ン固有のシステム管理インターフェイスなどがあ り ます。

システム レベル サンプル デザインはコン ト ローラーと一緒に検証されています。 付属するシステム レベル サンプル デザインはリ ファレンス デザインではあ り ませんが、 ソ リ ューシ ョ ン全体を構成する必須要素です。 システム レベル サンプル デザインはユーザーが自由に変更できますが、 そのまま使用するこ とを推奨します。

機能

システム レベル サンプル デザインは大き く次の 2 つの機能グループに分けられます。

• サポート レイヤー (<component_name>_support)

• サンプル レイヤー (<component_name>_example_design)

サポート レイヤーとそのサブレイヤーには、 ソフ ト エラー軽減ソ リ ューシ ョ ンに必須のロジッ クがすべて含まれます。 これには、 次のロジッ クのインスタンシエーシ ョ ンが含まれます。

• コン ト ローラーを外部デバイスに接続するために必要なヘルパー ブロ ッ ク

° UART ヘルパー ブロ ッ ク : コン ト ローラーと標準 RS-232 ポート を接続するブリ ッジの役割を果たします。このブロ ッ クが提供するインターフェイスを使用して、 コン ト ローラーとの間でコマンド と ステータス情報を交換します。 このインターフェイスは、 プロセッサと接続するよ うに設計されています。

° SPI フラ ッシュ マスター ヘルパー ブロ ッ ク : コン ト ローラーと標準 SPI バスを接続するブリ ッジの役割を果たします。 このブロ ッ クが提供するインターフェイスを使用して、 コン ト ローラーは外部からデータをフェッチします。 このヘルパー ブロ ッ クは標準 SPI フラ ッシュに接続するためのもので、 分類機能を有効にした場合のみ存在します。

• コン ト ローラーが必要とするコンフ ィギュレーシ ョ ン システム プリ ミ ティブのインスタンシエーシ ョ ン。

• コア システム ク ロ ッ クを分配するためのクロ ッキング プリ ミ ティブ。

SEM Controller IP はこれらのブロ ッ クを含めて検証されています。 このロジッ クをデザインに統合するこ とが完全にサポート されており、 推奨されます。

サンプル レイヤーには、 サポート レイヤーおよびいくつかの VIO コアがインスタンシエート されています。 VIO コアを使用する と IP のステータスを視覚的に観察でき、 外部デバイスに接続する必要のない IP の入力を動的に駆動できます。

UltraScale Architecture SEM Controller v3.1 105

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

また、このサンプル レイヤーにはステータス インターフェイスを監視して IP の正常動作を確認するためのサンプル ロジッ ク も含まれます。 次のステータス エラー信号が提供されます。

• heartbeat_timeout – この信号は、 SEM Controller が正しいステートにあるにもかかわらずハート ビート信号が ト グルを停止して 1 秒を経過する とアサート されます。

• heartbeat_timeout_sticky – heartbeat_timeout 信号の動作をスティ ッキーにしたものです。 この信号は、 一度アサート される とデザインを次にコンフ ィギュレーシ ョ ンするまでアサート されたままです。

• status_irregular_sticky – 同じクロ ッ ク サイ クルで複数のステータス信号がアサート される とアサートされるスティ ッキー信号です。

• status_halt – この信号は、 重大エラー (すべてのステータス信号がアサート ) によってコン ト ローラーが停止する とアサート されます。

ステータス信号の監視方法については、 第 3 章の 「システム」 を参照してください。

モノ リ シッ ク デバイスの場合、 4 つの VIO IP コアがインスタンシエート されています。

• <component_name>_vio_si14 – SEM Controller のステータス インターフェイス と ステータス エラー信号を表示します。

• <component_name>_vio_so32 – フェッチ インターフェイスの fetch_tbladdr 入力を定義します。 エラー分類を有効にした場合のみ利用できます。

• <component_name>_vio_si1_so5 – ICAP アービ ト レーシ ョ ンおよび補助インターフェイスの出力を表示し、入力を定義します。

• <component_name>_vio_si1_so41 または so45 – コマンド インターフェイスの出力を表示し、 入力を定義します。

UltraScale SSI デバイスの場合、 各 SLR に VIO コアが 1 つずつと、 すべての SLR で共通の入力を駆動する VIO コアが 1 つあ り ます。

• <component_name>_vio_slr_si16_so2 – 個々の SLR のステータスおよび ICAP アービ ト レーシ ョ ン インターフェイスのすべての出力を表示し、 入力を定義します。

• <component_name>_vio_generic_so44 または so76 – すべての SRL に共通する補助、 コマンド、 およびフェッチ インターフェイスへの入力を駆動します。 フェッチ インターフェイスへの入力はエラー分類を有効にした場合のみ利用可能で、 その場合出力プローブの数は 44 から 76 に増えます。

UltraScale+™ SSI デバイスの場合、 4 つの VIO IP コアがインスタンシエート されています。

• <component_name>_vio_si17 または si20 または si23 – SEM Controller のステータス インターフェイス とステータス エラー信号を表示します。

• <component_name>_vio_so32 – フェッチ インターフェイスの fetch_tbladdr 入力を定義します。 エラー分類を有効にした場合のみ利用できます。

• <component_name>)_vio_si1_so5 – ICAP アービ ト レーシ ョ ンおよび補助インターフェイスの出力を表示し、 入力を定義します。

• <component_name>_sio_si1_so45 – コマンド インターフェイスの出力を表示し、 入力を定義します。

サポート レイヤーとサンプル レイヤーを組み合わせたものを完全な SEU 軽減ソ リ ューシ ョ ンと して評価できます。システム レベル サンプル デザインは、 システム レベルのインターフェイスに柔軟性をもたせるために提供しています。 このため、 コン ト ローラーとは異なりシステム レベル サンプル デザインは RTL ソース コード と しても提供されています。

図 5-1 に、 非 SSI デバイスのシステム レベル サンプル デザインのブロ ッ ク図を示します。 グレーで示したブロ ッ クは、 一部のコンフ ィギュレーシ ョ ンにのみ存在します。

UltraScale Architecture SEM Controller v3.1 106

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

X-Ref Target - Figure 5-1

図 5‐1:サンプル デザインのブロック図 (非 SSI デバイスの場合)

Support Layer (support)

System-Level Solutions (support_wrapper)

System-Level Design Example

VIO

VIO

VIO

VIO

BUFGCE

UART Helper Block

SPI Flash Master Helper Block

SEM Controller(DCP)

Configuration Logic

ICAP FRAMEECC

UART

Interface

SPI

Interface

System Clock Interface

Command

Interface

Auxiliary and

ICAP Arbitration

Interfaces

Fetch_tbladdr

Status

Interface and

Status Error

Signals

Fetch Interface

Monitor Interface

FRAME_ECC

InterfaceICAP Interface

X16178-022316

UltraScale Architecture SEM Controller v3.1 107

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

図 5-2 に、 UltraScale SSI デバイスのシステム レベル サンプル デザインのブロ ッ ク図を示します。 グレーで示したブロ ッ クは、 一部のコンフ ィギュレーシ ョ ンにのみ存在します。

X-Ref Target - Figure 5-2

図 5‐2:サンプル デザインのブロック図 (UltraScale SSI デバイスの場合)

SPI Interface

UART Interface

System Clock Interface

SLR(Master, Required)

SLR(Slave, Optional)

System-Level Design Example

Controller Netlist

Controller Netlist

Controller Netlist

Configuration Logic

ICAP FRAME ECC

Configuration Logic

ICAP FRAME ECC

Configuration Logic

ICAP FRAME ECC

System-Level Solutions (support_wrapper)

SLR(Slave, Optional)

Support Layer (support)

Status and ICAP Arbitration Signals

Status and ICAP Arbitration Signals

Status and ICAP Arbitration Signals

Auxiliary, Command, and fetch_tbladdr Signals

Shared VIO

BUFGCE

SLRVIO

SLRVIO

SLRVIO

UART Helper Block SSI

SPI Flash Master Helper Block SSI

Input Pipeline

UltraScale Architecture SEM Controller v3.1 108

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

図 5-3 に、 UltraScale+ SSI デバイスのシステム レベル サンプル デザインのブロ ッ ク図を示します。 グレーで示したブロ ッ クは、 一部のコンフ ィギュレーシ ョ ンにのみ存在します。

X-Ref Target - Figure 5-3

図 5‐3:サンプル デザインのブロック図 (UltraScale+ SSI デバイスの場合)

Support Layer (Support), Netlist

ICAP FRAME ECC

SEM Controller

UART Helper Block

System-Level Design Example

SPI Flash Master Helper

Block

UART

Interface

SPI

Interface

Clock Input

Configuration Logic

BUFGCE

VIO

VIO

System-Level Solutions (support_wrapper)

Command

Interface

Auxiliary and

ICAP Arbitration

Interface

Fetch_tbladdr

Status

Interface

FRAME ECC

Configuration Logic

FRAMEECC

FRAMEECC

Configuration Logic

Configuration Logic

SLR(Master)

SLR(Slave)

SLR(Slave)

SLR (Slave)

VIO

VIO

X18678-012617

UltraScale Architecture SEM Controller v3.1 109

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

ポートの説明

図 5-4 に、 すべてのデバイスのサンプル デザインのポート を示します。 ポートは 3 つのグループにまとめられています。 グレーで示したグループは、 エラー分類機能を有効にした場合のみ存在します。

SSI デバイスでは、 各 SLR に番号が付けられます。 これには、 ハード ウェア SLR 番号と ソフ ト ウェア SLR 番号の 2 種類があ り ます。

ハード ウェア SLR 番号は、デバイス内で SLR がコンフ ィギュレーシ ョ ンされる順番を表します。 マスター SLR は常に存在し、 ハード ウェア SLR 番号は 0 です。 それ以外のスレーブ SLR のハードウェア SLR 番号は、 基本的にマスター SLR からの距離が近いものから順に番号が割り当てられます。

UltraScale デバイスの場合、 SLR に配置されたコン ト ローラー インスタンスは、 実行時にその SLR の ICAP 経由で IDCODE レジスタを読み出してハード ウェア SLR 番号を確認します。 SSI デバイスにインプ リ メン ト されたコン トローラーと コマンドおよびステータス情報を交換する際は、 必ずハードウェア SLR 番号を使用します。

ソフ ト ウェア SLR 番号は、デバイスの 下位から 上位に向かって SLR の物理的な順番を表します。 マスター SLR は常に存在しますが、 そのソフ ト ウェア SLR 番号はデバイスによ り異な り ます。 ソフ ト ウェア SLR 番号はザイ リ ンクス開発ツールのデバイス ビューに表示されます。

表 5-1 に、 ハード ウェア SLR 番号と ソフ ト ウェア SLR 番号の対応関係を示します。

X-Ref Target - Figure 5-4

図 5‐4:サンプル デザインのポート  (非 SSI デバイスの場合)

表 5‐1:デバイスの SLR 番号

デバイス ソフ トウェア SLR 番号 ハードウェア SLR 番号 SLR タイプ

KU1151 1 スレーブ

0 0 マスター

VU1251 1 スレーブ

0 0 マスター

VU190

2 2 スレーブ

1 0 マスター

0 1 スレーブ

VU440

2 2 スレーブ

1 0 マスター

0 1 スレーブ

VU5P/VU7P/VU35P1 1 スレーブ

0 0 マスター

uart_rxuart_tx UART

Interface

spi_c

spi_d

spi_s_n

spi_q

clkSystem ClockInterface

SPI Interface

UltraScale Architecture SEM Controller v3.1 110

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

ヒン ト : SLR 番号の詳細および変換方法を知らな くてもコン ト ローラーを SSI デバイスにインプリ メン トするのに支障はあ り ません。 しかし特定の SLR にエラーを挿入したい場合はこの情報が役立ちます。

UltraScale SSI デバイスのサンプル デザインのポートは、 モノ リ シッ ク デバイスの場合と同じです。 これは、 付属する UART および SPI フラ ッシュ マスター ヘルパー ブロ ッ クが各 SLR のコン ト ローラーのフェッチおよびモニター インターフェイスをすべて 1 つのインターフェイスにま とめて IP の管理および IP との通信に使用するためです。ただし support_wrapper 階層のポートに関しては、 ステータス インターフェイスなど一部のインターフェイス ポートがバス となっています (バス幅は SSI デバイスを構成する SLR の数)。

システム レベル サンプル デザインにはリセッ ト ポートはあ り ません。 コン ト ローラーが自動的に自己初期化を実行します。 次に、 コン ト ローラーは必要に応じてヘルパー ブロ ッ クを初期化します。

システム レベル サンプル デザインは、 clk を唯一のクロ ッ ク と して使用する完全同期デザインです。 すべてのステート エレ メン トはこのクロ ッ クの立ち上がりエッジに同期します。 このため、 インターフェイスもすべてこのクロ ッ クの立ち上がりエッジに同期します。

システム レベル サンプル デザインで利用可能なすべてのインターフェイス、 およびそれぞれのシステム要件は第 2 章 「製品仕様」 および第 3 章 「コアを使用するデザイン」 で詳し く説明しています。 詳細は次のリ ンク先を参照してください。

• システム ク ロ ッ ク インターフェイス – ポートの説明 (第 2 章の 「システム ク ロ ッ ク インターフェイス」 ) および使用法 (第 3 章の 「システム ク ロ ッ ク インターフェイス」 )。

• ステータス インターフェイス – ポートの説明 (第 2 章の 「ステータス インターフェイス」 ) および使用法 (第 3 章の 「ステータス インターフェイス」 )。

• コマンド インターフェイス – ポートの説明 (第 2 章の 「コマンド インターフェイス」 ) および使用法 (第 3 章の「コマンド インターフェイス」 )。

• UART インターフェイス – ポートの説明 (第 2 章の 「UART インターフェイス」 ) および使用法 (第 3 章の「UART インターフェイス」 )。

• SPI インターフェイス – ポートの説明 (第 2 章の 「SPI インターフェイス」 ) および使用法 (第 3 章の 「SPI インターフェイス」 )。

VU9P

2 2 スレーブ

1 0 マスター

0 1 スレーブ

VU11P/VU37P

2 2 スレーブ

1 1 スレーブ

0 0 マスター

VU13P

3 3 スレーブ

2 2 スレーブ

1 0 マスター

0 1 スレーブ

VU27P/VU29P

3 3 スレーブ

2 2 スレーブ

1 0 マスター

0 1 スレーブ

表 5‐1:デバイスの SLR 番号 (続き)

デバイス ソフ トウェア SLR 番号 ハードウェア SLR 番号 SLR タイプ

UltraScale Architecture SEM Controller v3.1 111

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

インプリ メンテーシ ョ ン

このサンプル デザインはデフォルトでは生成されません。 これはユーザーからの要求によって生成され、 Vivado® の新規インスタンスで開く こ とができます。 このためユーザー デザインはそのままで、 使用されている各種コアのサンプルのみを表示および変更できます。 サンプル デザインを生成するには、 [Design Sources] の下の XCI ファ イルを右ク リ ッ ク して [Open IP Example Design] をク リ ッ ク します。

合成およびインプリ メンテーシ ョ ンの実行

合成と インプ リ メ ンテーシ ョ ンは、 Flow Navigator の該当するオプシ ョ ンをク リ ッ ク してそれぞれ個別に実行できます。

ビッ トス ト リームの生成

オプシ ョ ンのエラー分類機能を有効にした場合、 ビッ ト ス ト リームを生成する前にエッセンシャル ビッ ト を有効にする Tcl プロパティを次のよ うに設定する必要があ り ます。 Tcl プロパティの構文については、 第 4 章の 「エッセンシャル ビッ ト情報の生成」 を参照してください。

この場合、 ビッ ト ス ト リームの生成には大容量のシステム RAM が必要です。

外部メモリ  プログラ ミング ファイルの作成

エラー分類をサポートするために外部データ ス ト レージが必要な場合、特別な write_bitstream 出力ファイルを SPI フラ ッシュ プログラ ミ ング ファ イルにポス トプロセスするための Tcl スク リプ ト を実行します。

サンプル プロジェク トでは makedata.tcl スク リプ トが生成されます。 ビッ ト ス ト リームの生成が完了したら、スク リプ トの場所を指定して Tcl コンソールでこのスク リプ ト を source コマンドで実行します。

source <path to component_name>_ex/imports/makedata.tclsource sem_ultra_0_ex/imports/makedata.tcl

次に、 インプ リ メンテーシ ョ ン結果のディ レク ト リ を見つけます。 [Design Runs] ウ ィンド ウをク リ ッ ク し、 実行したインプ リ メンテーシ ョ ンを選択し、 [Implementation Run Properties] ウ ィンド ウに表示される Run ディ レク ト リ を確認します。 Tcl コンソールでインプリ メンテーシ ョ ン結果のディ レク ト リに移動し、 write_bitstream 出力ファイルに対して makedata スク リプ ト を実行します。

cd <path to component_name>_ex/<component_name>_ex.runs/impl_1cd sem_ultra_0_ex/sem_ultra_0_ex.runs/impl_1

次に、 後述のコマンドを実行します。 モノ リ シッ ク デバイスの場合、 write_bitstream によって *.ebd ファ イルが 1 つだけ生成されます。 このファイル名を引数と して渡します。 UltraScale SSI デバイスの場合、 デバイスのすべての SLR に対して *.ebd ファ イルが 1 つずつ生成されます。

注記: 2017.1 では、 分類機能は UltraScale+ デバイスではサポート されません。

これら *.ebd ファ イルのエッセンシャル ビッ ト データを 1 つの SPI フラ ッシュ データ ファ イルにまとめるには、すべての *.ebd ファ イル名をスペースで区切って引数と して渡します。

makedata -ebd <ebd filename(s)> datafile

モノ リ シッ ク デバイスの場合の例:

makedata -ebd sem_ultra_0_example_design.ebd datafile

UltraScale Architecture SEM Controller v3.1 112

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

SSI デバイス (SLR が 3 つ) の場合の例:

makedata -ebd sem_ultra_0_example_design_0.ebd sem_ultra_0_example_design_1.ebd sem_ultra_0_example_design_2.ebd datafile

このコマンドを実行する と VMF、 BIN、 および MCS ファ イルが生成されます。

推奨: makedata.tcl ファ イルはターゲッ ト デバイスおよび必要な SPI フラ ッシュ デバイス (表 3-7 参照) に応じて 2 種類が提供されています。 異なる SPI フラ ッシュ プログラ ミ ング ファ イルを生成する必要があるため、write_bitstream 出力ファイルも異なるポス トプロセスが必要です。 makedata.tcl ファ イルは別のプロジェクトのものを再利用するのではなく、 ターゲッ ト デバイスのサンプル デザイン用に生成した makedata.tcl ファ イルを使用するこ とを推奨します。

外部メモリ  プログラ ミング ファイル

エラー分類を有効にした場合は、 エッセンシャル ビッ トのルッ クアップ テーブルのイ メージが必要です。 このデータ セッ トのサイズは、 ターゲッ ト デバイスによって異なり ます。 データ セッ トは write_bitstream アプリ ケーシ ョ ンによって生成されます。

データのフォーマッ トはバイナリで、 write_bitstream によって生成されたすべてのデータ セッ ト を使用する必要があ り ます。 外部ス ト レージはバイ ト アドレス指定可能なものが必要です。 fetch_tbladdr[31:0] によって SEM Controller に指定されたアドレスには、 小規模なテーブルが必要です。 デフォルトでは、fetch_tbladdr[31:0] は 0 です。

非 SSI デバイスのテーブル フォーマッ トは次のとおりです。

• バイ ト 0 – エッセンシャル ビッ ト データ バイ ト 0 (LSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 1 – エッセンシャル ビッ ト データ バイ ト 1 の先頭を示す 32 ビッ ト ポインター

• バイ ト 2 – エッセンシャル ビッ ト データ バイ ト 2 の先頭を示す 32 ビッ ト ポインター

• バイ ト 3 – エッセンシャル ビッ ト データ バイ ト 3 (MSB) の先頭を示す 32 ビッ ト ポインター

• 残りの 124 バイ トは予約で、 すべて 1 を書き込みます。

SSI デバイスのテーブル フォーマッ トは次のとおりです。

• バイ ト 0 – ハードウェア SLR0 (マスター) エッセンシャル ビッ ト データ バイ ト 0 (LSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 1 – ハードウェア SLR0 (マスター ) エッセンシャル ビッ ト データ バイ ト 1 の先頭を示す 32 ビッ ト ポインター

• バイ ト 2 – ハードウェア SLR0 (マスター ) エッセンシャル ビッ ト データ バイ ト 2 の先頭を示す 32 ビッ ト ポインター

• バイ ト 3 – ハードウェア SLR0 (マスター) エッセンシャル ビッ ト バイ ト 3 (MSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 4 – ハードウェア SLR1 エッセンシャル ビッ ト データ バイ ト 0 (LSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 5 – ハードウェア SLR1 エッセンシャル ビッ ト データ バイ ト 1 の先頭を示す 32 ビッ ト ポインター

• バイ ト 6 – ハードウェア SLR1 エッセンシャル ビッ ト データ バイ ト 2 の先頭を示す 32 ビッ ト ポインター

• バイ ト 7 – ハードウェア SLR1 エッセンシャル ビッ ト バイ ト 3 (MSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 8 – ハードウェア SLR2 エッセンシャル ビッ ト データ バイ ト 0 (LSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 9 – ハードウェア SLR2 エッセンシャル ビッ ト データ バイ ト 1 の先頭を示す 32 ビッ ト ポインター

• バイ ト 10 – ハードウェア SLR2 エッセンシャル ビッ ト データ バイ ト 2 の先頭を示す 32 ビッ ト ポインター

UltraScale Architecture SEM Controller v3.1 113

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 5 章:サンプル デザイン

• バイ ト 11 – ハードウェア SLR2 エッセンシャル ビッ ト バイ ト 3 (MSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 12 – ハードウェア SLR3 エッセンシャル ビッ ト データ バイ ト 0 (LSB) の先頭を示す 32 ビッ ト ポインター

• バイ ト 13 – ハードウェア SLR3 エッセンシャル ビッ ト データ バイ ト 1 の先頭を示す 32 ビッ ト ポインター

• バイ ト 14 – ハードウェア SLR3 エッセンシャル ビッ ト データ バイ ト 2 の先頭を示す 32 ビッ ト ポインター

• バイ ト 15 – ハードウェア SLR3 エッセンシャル ビッ ト バイ ト 3 (MSB) の先頭を示す 32 ビッ ト ポインター

• 残りの 112 バイ トは予約で、 すべて 1 を書き込みます。

データ ブロ ッ クが存在しない場合はポインターの値を 0xFFFFFFFF と します。 エッセンシャル ビッ ト データは任意のアドレスに配置できますが、 各データ ブロ ッ クを連続して配置してバース ト読み出しできるよ うにしておく必要があ り ます。

デバイス境界を越えた読み出しバース ト をサポート しない SPI フラ ッシュの場合、 デバイス境界をまたがないよ うにデータ ブロ ッ クを配置する必要があ り ます。 たとえば集積度 256Mb を超える SPI フラ ッシュの多くは、 256Mb 境界を越えた読み出しバース ト をサポート していません。

write_bitstream 出力ファイルをポス トプロセスする Tcl スク リプ トによ り、次の 3 つのファイルが生成されます。

• SPI フラ ッシュ デバイス プログラ ミ ング用の Intel Hex データ ファ イル (MCS)

• SPI フラ ッシュ デバイス プログラ ミ ング用のバイナリ データ ファ イル (BIN)

• SPI フラ ッシュ シ ミ ュレーシ ョ ン モデルをロードするための初期化ファイル (VMF)

UltraScale Architecture SEM Controller v3.1 114

PG187 2019 年 5 月 22 日 japan.xilinx.com

第 6章

テストベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

サンプル デザインにはシ ミ ュレーシ ョ ン テス ト ハーネスが付属します。 このため、 UltraScale™ Architecture SEM Controller を含むデザインの機能およびタイ ミ ング シ ミ ュレーシ ョ ンを標準のザイ リ ンクス シ ミ ュレーシ ョ ン フローを利用して実行できます。 ただしシ ミ ュレーシ ョ ンでは SEM Controller の動作は観察できません。 これにはハードウェア ベースの評価が必要です。

UltraScale Architecture SEM Controller v3.1 115

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 A

検証、 互換性、 相互運用性SEM Controller とサンプル デザインは、 自動ハードウェア テス トベンチなどいくつかの方法で一緒に検証されています。 これらは、 加速粒子を照射してバリデーシ ョ ンが行われ、 自然に発生したランダム エラー イベン トにソリ ューシ ョ ンが正し く対処できるこ と も確認されます。

検証

SEM Controller の検証目標は、 製品の機能仕様を元に決定しています。 高い製品品質を確保するため、 検証にはハードウェア検証メ ソ ド ロジを使用します。 使用した手法とツールは次のとおりです。

• ハードウェア テス トベンチによるダイナミ ッ ク チェッ ク。 期待されるビヘイビアーと実際のデザインのビヘイビアーを機能カバレッジで比較。

• 次に示すチェッ ク ツール スイートによるスタティ ッ ク チェッ ク。

° リ ン ト

° ク ロ ッ ク ド メ イン ク ロ ッシング (ク ロ ッ ク乗せ換え)

ハードウェア検証プラ ッ ト フォームで使用した SPI フラ ッシュ デバイスは次のとおりです。

• 読み出し境界 256Mb のデバイス

° M25P128 (ST Microelectronics/Numonyx)

° M25L25635E (Macronix)

° N25Q512 (Micron)

° N25Q00 (Micron)

• 読み出し境界のないデバイス

° MT25QL01GB (Micron)

° MT25QL02GC (Micron)

UltraScale Architecture SEM Controller v3.1 116

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 A:検証、 互換性、 相互運用性

バリデーシ ョ ン

ハードウェア バリデーシ ョ ンは、 製品リ リース前の 後の関門となる重要なテス トの 1 つです。 ハード ウェア バリデーシ ョ ンでは次のテス ト を実施して付加価値を高めます。

• 外部インターフェイスの評価 – 外部メモリ システムに対するタイ ミ ング バジェッ ト評価

• 統合およびインプリ メンテーショ ン – 生成される可能性のあるすべてのコア ネッ ト リ ス トのハードウェア テス ト

• 動作環境の堅牢性 – サポート されるデバイス リ ス トのすべてのサブ ファ ミ リのサンプル テス ト

適合性検査

業界標準の認証試験は定義されていません。 生成したコア ネッ ト リ ス トは、 加速粒子を照射した状態で検査します。この検査には、 次の目的があ り ます。

• 挿入以外の方法で発生したエラーを正し く検出、 訂正、 分類できるかど うかを確認する。 検証ではソ リ ューシ ョ ン自体のエラー挿入機能を使用しており、 挿入以外の方法で発生したエラーの検出、 訂正、 分類プロセスはテス ト されません。 加速粒子照射テス トでは、 ソ リ ューシ ョ ン自体の挿入機能を使用せずエラーを発生させるこ とができます。

• エラーの検出、 訂正、 分類を含め、 ソ リ ューシ ョ ンが通常の予想される動作を示すかど うかを確認する。

UltraScale Architecture SEM Controller v3.1 117

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 B

アップグレードこの付録では、 新版 IP コアへのアップグレードについて説明します。 Vivado® Design Suite でアップグレードする場合のポート変更およびユーザー ロジッ クへの影響といった重要な情報もこ こに記載されています。

Vivado Design Suite でのアップグレード

このセクシ ョ ンでは、 コア バージ ョ ン間でのユーザー ロジッ クまたはポートの変更点について説明します。

このコアは v3.0 でいくつかの変更が加えられた結果、 それ以前のバージ ョ ンのコアとのピン互換性が失われました。これらの変更は、 新しいエラー検出機能 (検出および診断スキャン) をサポートするために加えられたものです。

v2.0 から  v3.0 への変更点

廃止されたパラメーター

コア v3.0 では、 次の未使用 IP パラ メーターが削除されました。

• INTERFACE

• ENABLE_CONFIG_SCAN

• MEMORY_TYPE

• MEMORY_IO_TYPE

• LOCATE_HELPER_BLOCKS

UltraScale Architecture SEM Controller v3.1 118

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 B: アップグレード

追加されたポート

表 B-1 に、 コン ト ローラーに追加された 2 つの新しい出力ポート status_detect_only および status_diagnostic_scan を示します。

その他の変更点

コア v3.0 では、 エラー検出レポートの先頭に次の 1 行が追加されています。

RI XX Reserved Information

UltraScale デバイスから  UltraScale+ デバイスへの移行

SEM IP は、 デバイスへの依存性があ り ます。 UltraScale™ デバイスから UltraScale+™ デバイスへデザインを移行する場合、 IP を新規に生成し直すこ とを推奨します。 動作やポート幅が異なるため、 それに応じて周辺ロジッ ク と RTL を変更する必要があ り ます。

表 B‐1: v3.0 で追加されたポート

I/O ポート名 説明 機能

O status_detect_only この信号は、 コン ト ローラーが検出スキャンを実行している間アクティブです。

コン ト ローラーが通常動作を継続しているこ とを確認するために、 status_* ステート信号を監視するユーザー ロジッ クにこの信号を統合する必要があ り ます。

O status_diagnostic_scan この信号は、 コン ト ローラーが診断スキャンを実行している間アクティブです。

コン ト ローラーが通常動作を継続しているこ とを確認するために、 status_* ステート信号を監視するユーザー ロジッ クにこの信号を統合する必要があ り ます。

UltraScale Architecture SEM Controller v3.1 119

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C

評価ボードを使用した SEM Controller の動作デモ

SEM Controller IP は、 デバイスへの依存性があ り ます。 SEM Controller IP を生成する際、 ターゲッ ト と して評価ボードを選択できます。 次の評価ボードをターゲッ ト と した場合、 生成された IP およびシステム レベル サンプル デザインをそのまま使用してハード ウェアをブリ ングアップできます (ボードを選択する とデバイスも選択される )。

• Kintex® UltraScale™ KCU105 評価プラ ッ ト フォーム

• Virtex® UltraScale™ VCU108 評価プラ ッ ト フォーム

これらのデザインを使用する と、 IP の動作に対する理解を深める と共に、 特性評価も可能です。

Zynq® UltraScale+ MPSoC ZCU102 評価プラ ッ ト フォーム上で SEM Controller の動作デモを実施する方法は、 『Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1298) [参照 4] および『AXI を使用した Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1303) [参照 5] を参照してください。

UltraScale Architecture SEM Controller v3.1 120

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

ビッ トス ト リームの生成

サポート される評価ボードをターゲッ ト と した場合、 IP コンフ ィギュレーシ ョ ン、 生成されるシステム レベル サンプル デザイン、 制約はデフォルト設定のままでターゲッ トのデバイスおよびプラ ッ ト フォームで使用できるよ うにコンフ ィギュレーシ ョ ンされます。 ビッ ト ス ト リームを生成するには、 次の手順を実行します。

1. 新規 Vivado® RTL プロジェク ト を作成し、サポート されている評価ボードのいずれか 1 つを選択します (図 C-1)。X-Ref Target - Figure C-1

図 C‐1: ビッ トス ト リームの生成

X15916-012816

UltraScale Architecture SEM Controller v3.1 121

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

2. Vivado IP カタログで [UltraScale Soft Error Mitigation] IP を選択してコアを生成します。 パラ メーターはすべてターゲッ ト プラ ッ ト フォームに合わせたデフォルト値となっているため、 変更の必要はあ り ません。

X-Ref Target - Figure C-2

図 C‐2: SEM Controller の [Basic] タブ

UltraScale Architecture SEM Controller v3.1 122

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

3. [Out-of-Context Module Runs] が終了した後、 IP の生成が完了します。 生成した IP を選択し、 [Open IP Example Design] をク リ ッ ク します。

X-Ref Target - Figure C-3

図 C‐3: SEM Controller の [Open IP Example Design]

X15914-012816

UltraScale Architecture SEM Controller v3.1 123

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

4. 次に、 サンプル デザインを合成およびインプリ メン ト してビッ ト ス ト リームを生成します。 このビッ ト ス トリームを使用して、 評価プラ ッ ト フォーム上のデバイスをプログラムします。

X-Ref Target - Figure C-4

図 C‐4: SEM Controller の [Generate Bitstream]

X15915-012816

UltraScale Architecture SEM Controller v3.1 124

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

ハードウェアとソフ トウェアのセッ トアップ

ビッ ト ス ト リームを生成したら、 プラ ッ ト フォーム USB (または Digilent®) ケーブルと USB UART ケーブルでコンピューターとボードを接続します。 ケーブルが正し く接続される と、 [コン ト ロール パネル] の [デバイス とプ リ ンター ] に次の項目が表示されます。

• Silicon Labs CP210x USB to UART Bridge

• Xilinx (プラ ッ ト フォーム USB ケーブル名が表示)

SEM Controller の UART インターフェイスを利用してコマンドを発行およびステータス情報を受信するには、 シ リ アル ポート接続をサポート した Tera Term などのターミナル エミ ュレーターを正し く設定して使用する必要があ り ます。 ターミナル エミ ュレーターの設定方法の詳細は、 第 3 章の 「スイ ッチング動作」 を参照して ください。

ビッ ト ス ト リームおよび VIO コア用の debug_nets.ltx ファ イルをプログラムしたら、 [Hardware Manager] に hw_vio_* ウ ィンド ウを表示させて SEM Controller の信号を表示および操作します。

X-Ref Target - Figure C-5

図 C‐5: SEM Controller の [Hardware Manager]

X16179-022316

UltraScale Architecture SEM Controller v3.1 125

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

UART インターフェイス経由での SEM Controller との通信デモ

このセクシ ョ ンでは、 ターミナル エミ ュレーターを使用して UART インターフェイス経由で SEM Controller と通信し、 基本的なエラー挿入を実行する手順および SEM Controller から出力されるステータスについて説明します。 コマンドの送信およびステータスの受信はすべてターミナル エミ ュレーターで行います。 こ こでは初期化レポート、 ステータス レポート、 アイ ドル ステート と監視ステート、 エラー挿入、 訂正レポートについて説明します。 この例では、 Vivado 統合設計環境 (IDE) のデフォルト設定 (軽減 + テス ト モード、 エラー分類無効) で IP をコンフ ィギュレーシ ョ ンしています。

この例でコン ト ローラーのステートがどのよ うに遷移するかを理解するには、 51 ページの図 3-5 のステート遷移図を参照してください。 このデモで使用するコマンド とそのフォーマッ ト、 およびレポートの詳細は、 第 3 章の 「UART インターフェイスのメ ッセージ」 および第 3 章の 「UART インターフェイスのコマンド」 を参照してください。

生成したビッ ト ス ト リームをデバイスにプログラムする と、 ターミナル エミ ュレーターに初期化レポートが表示されます。 次に、 このレポートの例を示します。

SEM_ULTRA_V3_1 Name and versionSC 01 State transition to Initialization stateFS 04 Core Configuration InformationAF 01 Additional Core Configuration InformationICAP OK ICAP AvailableRDBK OK Status: Readback ActiveINIT OK Status: Completed SetupSC 02 State transition to ObservationO> Observation prompt

これでコン ト ローラーは初期化を完了し、 エラー条件の発生を検出するために FPGA コンフ ィギュレーシ ョ ン システムの監視を開始します。 VIO ウ ィンド ウで status_observation 信号がアサート されます。

コンフ ィギュレーシ ョ ン メモ リで発生するエラーをエミ ュレートするには、 コン ト ローラーをアイ ドル ステートに遷移させる必要があ り ます。 ターミナル エミ ュレーターから次のコマンドを UART インターフェイスに送信します。

O> I Enter Idle CommandSC 00 State change into Idle stateI> Idle prompt

これで、 すべてのステータス フラグ (status_essential と status_uncorrectable を除くすべての status_*) がディアサート され、 コン ト ローラーがアイ ドル ステートに遷移したこ とを示します。

コン ト ローラーがアイ ドル ステートに遷移する と、 内蔵のメモ リ スキャンおよびチェッ クが無効になり ます。 このステートで利用可能なコマンドは、 55 ページの表 3-1 を参照してください。

UART インターフェイスに 「S」 コマンドを送信する と、 次のよ うな完全なステータス レポートが出力されます。

I> S Status request command ("S")SN 00 SLR numberSC 00 Current StateFC 00 Current FlagsRI 00 Reserved InformationMF 00006643 Maximum Linear Frame CountTS XXXXXXXX TimestampTB XXXXXXXX Table BaseCB XXXXXXXX Classification BaseCL 001 Classification LevelI> Idle Prompt

UltraScale Architecture SEM Controller v3.1 126

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

完全なステータス レポートが出力される と、 再びアイ ドル ステートのプロンプ トが表示され、 コマンドを実行可能な状態になり ます。

コンフ ィギュレーシ ョ ン メモ リで発生するエラーをエミ ュレートするには、 エラー挿入を実行します。 この場合、通常はフレームの ECC ワードにエラーを挿入するこ とを推奨します。 ECC ワードにエラーを挿入する と、 コンフ ィギュレーシ ョ ンしたデザインに影響を与えずにコンフ ィギュレーシ ョ ン エラーが検出された場合の動作を観察できます。

また、 エラー挿入の前後に Query コマンドを実行してエラー挿入フレームの内容を読み出すこ とを推奨します。これによ り、 エラー挿入によってコンフ ィギュレーシ ョ ン メモ リの内容が変化したかど うか、 そして挿入したエラーをコン ト ローラーが検出および訂正するかど うかを確認できます。

次に示す例は、 UltraScale デバイスの ECC ワード内の 1 ビッ ト (フレーム 0、 ワード 61、 ビッ ト 0) にエラーを挿入しています。

まず、 Query コマンドを実行してフレーム 0 の内容を読み出します。

I> Q C000000000 Query command using LFA{61 lines of 00000000}00000000 Location we will inject an error {61 lines of 00000000}I>

次に、 フレーム 0、 ワード 61、 ビッ ト 0 にエラーを挿入します。

I> N C0000007A0 Error injection command using LFASC 10 State transition to Error InjectionSC 00 State transition to IdleI> Idle Prompt

エラー挿入を実行する と コン ト ローラーは短時間だけエラー挿入ステートに遷移します。 エラー挿入ステートの間、status_injection 信号がアサート されます。

後に、 も う一度 Query コマンドを実行して選択した位置にエラーが挿入されたこ とを確認します。

I> Q C000000000 Query command by LFA{61 lines of 00000000}00000001 Location we have injected an error{61 lines of 00000000}I>

エラー挿入コマンドで指定した挿入先ビッ トの値が変化しているので、 エラーが正し く挿入されたこ とがわかり ます。

コン ト ローラーのエラー検出および訂正機能を試すには、 コマンドを発行してコン ト ローラーを監視ステートに戻し、 FPGA コンフ ィギュレーシ ョ ン メモ リの監視を再開させる必要があ り ます。

監視ステートに移行するには、 次のコマンドを実行します。

I> O Enter Observation CommandSC 02 State transition to ObservationO> Observation promptRI XX Reserved information SC 04 State transition to CorrectionECC ECC error detectedTS 0000245D TimestampPA 0000000 PFA of detected errorLA 0000000 LFA of detected errorCOR Error correction report beginsWD 3D BT 00 Corrected word and bit valuesEND Error correction report endFC 00 Flag updated with correctability

UltraScale Architecture SEM Controller v3.1 127

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 C:評価ボードを使用した SEM Controller の動作デモ

SC 08 State transition to ClassificationFC 40 Flag updated with essentialness (if classification is disabled, it is always essential)SC 02 State transition to ObservationO> Observation prompt

これを見る とわかるよ うに、 コン ト ローラーは監視ステートに移行した後エラーを検出し、 訂正ステートに移行した後にエラー検出レポート と訂正レポート を出力しています。

エラー訂正が完了する と、 コン ト ローラーは分類ステートに移行した後に監視ステートに戻り、 FPGA コンフ ィギュレーシ ョ ン システムの監視を再開してエラー条件の発生を検出します。

注記:分類機能を無効にしている場合、 エッセンシャル フラグが常にアサート されます。

フラグ変化 (FC) レポートによ り、 次の 2 種類の情報が得られます。

• エラーが訂正可能かど うか (status_uncorrectable 信号の状態)

• エラーがエッセンシャルかど うか (status_essential 信号の状態)。

訂正可能かど うかのフラグは訂正レポート出力後に更新され、 エッセンシャルかど うかのフラグは分類ステート終了前に更新されます。 次にこれらの動作が行われるまで、 フラグ変化レポートの値は変化しません。 フラグ変化レポートの文字列とその意味は、 66 ページの表 3-4 を参照してください。

注記: UART インターフェイスから出力されるステート変化レポートおよびフラグ変化レポートの内容は、 VIO ウ ィンド ウの status_* 信号でも確認できます。

コンフ ィギュレーシ ョ ン メモ リで発生するエラーのエミ ュレーシ ョ ンの詳細は、 付録 E 「エラー挿入のガイダンス」を参照してください。

このデモでは、 コン ト ローラーに対するコマンドはすべてターミナル エミ ュレーターから UART インターフェイス経由で入力しています。 これらのコマンドは、 VIO ウ ィンド ウを使用してコマンド インターフェイス経由でも実行できます。 コマンド インターフェイスから有効なコマンドを入力する と UART インターフェイスにエコーバッ ク され、 上記と同じステータスおよびレポートが出力されます。 コマンド インターフェイス経由でのコマンド実行方法の詳細は、 第 3 章の 「コマンド インターフェイス」 を参照して ください。

UltraScale Architecture SEM Controller v3.1 128

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D

UART ログの例こ こでは、 UltraScale+ FPGA のログの例を示します。 特に記載のない限り、 これらは SEM IP を軽減 + テス ト モード、 エラー分類機能なしでコンフ ィギュレーシ ョ ンした場合の UART ログで、 これによってコアの動作を観察できます。

初期化レポートSEM_ULTRA_V3_1SC 01FS 04AF 01ICAP OKRDBK OKINIT OKSC 02O>

ステータス レポート

非 SSI、 アイ ドル ステートの場合

I> SSN 00SC 00FC 00RI 00MF 0000BBB6TS 00000877TB XXXXXXXXCB XXXXXXXXCL 001I>

UltraScale Architecture SEM Controller v3.1 129

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

非 SSI、 監視ステートの場合

O> SSN 00SC 02FC 00RI 00O>

SSI、 アイ ドル ステートの場合

I> SSN 00SC 00FC 00RI 00MF 0000DD19TS 00000020TB XXXXXXXXCB XXXXXXXXCL 001SN 01SC 00FC 00RI 00MF 0000DD19TS 00000020TB XXXXXXXXCB XXXXXXXXCL 001SN 02SC 00FC 00RI 00MF 0000DD19TS 00000020TB XXXXXXXXCB XXXXXXXXCL 001I>

SSI、 監視ステートの場合

0> SSN 00SC 02FC 40RI 00SN 01SC 02FC 40RI 00SN 02SC 02FC 40RI 00

UltraScale Architecture SEM Controller v3.1 130

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

挿入コマンド

挿入が有効

I> N C000A098000 SC 10SC 00I>

挿入が無効

I> N C000A098000 SC 00I>

監視ステートへの移行コマンドI> OSC 02O>

アイ ドル ステートへの移行コマンドO> ISC 00I>

検出ステートへの移行コマンドI> DSC 20D>

UltraScale Architecture SEM Controller v3.1 131

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

ソフ トウェア リセッ ト  コマンドI> R 04SEM_ULTRA_V3_1 SC 01 FS 04 AF 01 ICAP OK RDBK OK INIT OKSC 02O>

フレーム アドレス変換コマンドI> T C00051A090D0008000090DI>

Query コマンドI> Q C00051A090D(word 0 - 8-digit hex value)(word 1 - 8-digit hex value)...(word 92 - 8-digit hex value)I>

外部メモリ読み出し  (Xmem) コマンドI> X 0000000094 I>

Peek コマンドI> P 0100000001I>

UltraScale Architecture SEM Controller v3.1 132

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

監視ステートのエラー レポート

1 ビッ ト訂正可能 ECC – エラー分類無効

O> RI 00SC 04ECCTS 00000971PA 00180200LA 0000A098CORWD 22 BT 10ENDFC 00SC 08FC 40SC 02O>

2 ビッ ト訂正可能 ECC、 1 つはエッセンシャル ビッ ト  – エラー分類有効

O> RI 00SC 04ECCTS 00000971PA 00180200LA 0000A098CORWD 00 BT 01WD 00 BT 03ENDFC 00SC 08CLAWD 00 BT 03 LV 01ENDFC 40SC 02O>

UltraScale Architecture SEM Controller v3.1 133

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

訂正不能 ECC 

O> RI 00SC 04ECCTS 00000971PA 00180200LA 0000A098CORENDFC 20SC 08FC 60SC 00I>

CRC エラー

O> RI 00SC 04CRCTS 00000B4FFC 20SC 08FC 60SC 00I>

AUX エラー

O> RI 00SC 04AUXTS 00000B4FFC 00SC 08FC 00SC 02O>

ROM エラー

O> RI 00SC 04ROMTS 00000B4FFC 40SC 08FC 00SC 02O>

UltraScale Architecture SEM Controller v3.1 134

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

検出ステートのエラー レポート

初にエラーを 1 つ検出する と、 アイ ドル ステートに戻り ます。

訂正可能 ECC

検出モードでは、 このエラーは訂正されません。

D>RI 00ECCTS 00001034PA 00000000LA 00000000WD 00 BT 00FC 60SC 00I>

訂正不能 ECC

D>RI 00ECCTS 0000328DPA 00000000LA 00000000FC 60SC 00I>

CRC エラー

D>RI 00CRCTS 00001866FC 60SC 00I>

ROM エラー

D> RI 00ROMTS 000002C6FC 60SC 00I>

UltraScale Architecture SEM Controller v3.1 135

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

AUX エラー

D>RI 00AUXTS 00001BACFC 60SC 00I>

診断スキャン

すべてのエラーについて、 デバイスを 1 回スキャンします。 検出したすべてのエラーを報告して、 アイ ドル ステートに戻り ます。

訂正可能 1 ビッ ト  ECC

診断スキャンでは、 報告されたエラーは訂正されません。

I> USC 40RI 00ECCTS 0000108DPA 00000000LA 00000000WD 00 BT 00SC 00I>

訂正不能 ECC

I> USC 40RI 00ECCTS 000032EBPA 00000000LA 00000000SC 00I>

UltraScale Architecture SEM Controller v3.1 136

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 D: UART ログの例

訂正不能 ECC の後に訂正可能 ECC

I> USC 40RI 00ECCTS 000032EBPA 00000000LA 00000000RI 00ECCTS 00003E08PA 018C0400LA 0000D500WD 00 BT 00SC 00I>

エラー検出なし

I> USC 40SC 00I>

UltraScale Architecture SEM Controller v3.1 137

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 E

エラー挿入のガイダンスSEM IP には、 コン ト ローラーの検証およびコン ト ローラーのアプリ ケーシ ョ ン評価に役立つエラー挿入機能があ ります。 一般に、 どのよ うなタイプのエラー挿入を実行するかはその目的によって決ま り ます。

目的: 基本的なエラー挿入テス ト

このエラー挿入を実行するのは、 その目的が次に該当する場合です。

• コン ト ローラーがエラーを検出および訂正できているかを確認する。

• 検出および訂正されたエラーのログをシステムが正し く記録できているかを確認する。

• エラーによってデザインの機能が影響を受けた場合のシステムの動作はテス ト対象に含めない。

エラー挿入位置は次のとおりです。

• フレームの ECC ワードにエラーを挿入します。

• UltraScale™ アーキテクチャの場合、 ECC ワードは各フレームのワード 60 と 61 にあ り ます。 ザイ リ ンクスは、ワード 61 の下位バイ トにエラーを挿入するこ とを推奨しています。

• UltraScale+™ FPGA および MPSoC の場合、 ECC ワードは各フレームのワード 45 と 46 にあ り ます。 ザイ リ ンクスは、 ワード 46 の下位バイ トにエラーを挿入するこ とを推奨しています。 UltraScale+ デバイスの多くは、 プロセッシング システムが存在するかど うかや、 使用するかど うかにかかわらず、 コンフ ィギュレーシ ョ ン メモ リにプロセッシング システムの統合をサポートするために予約されたアドレス範囲が存在します。 これらの予約アドレスに挿入されたエラーは検出されません。 一般的な指針と して、 物理的に実装されたコンフ ィギュレーシ ョ ン メモ リにマップするアドレスを選択するには、 (2/3 x 大リニア フレーム) よ り大きいリニア フレーム アドレス (LFA) を使用するこ とを推奨します。

この位置にエラーを挿入する と、 コン ト ローラーやデザインの機能に影響を与えずにエラーを挿入できます。

エラー挿入の目的が上記に当てはまらない場合は、 サポート ケースを開いて問い合わせてください。

UltraScale Architecture SEM Controller v3.1 138

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 E: エラー挿入のガイダンス

次に、 コン ト ローラーのモニターまたはコマンド インターフェイスを使用してエラーを挿入する際の一般的な注意点をま とめます。

• リ ニア フレーム アドレス (LFA) を使用してエラー挿入を実行します。 有効なアドレス範囲は 0 ~ ( 大 LFA 値 – 2) です。 たとえば XCKU040 の場合、 大フレームは 26,179 です。 したがって、 エラー挿入の有効なアドレス範囲は 0 ~ 26,177 (26,179 – 2) です。 各デバイスの 大 LFA 値は表 2-2 に示してあ り ます。 また、 コン ト ローラーから出力されるステータス レポートにも 「MF {8-digit hex value}」 と して表示されます。

• エラー挿入の前後には必ず Query コマンドを実行してエラー挿入が正し く実行されたこ と、 およびビッ トの読み出し /書き込みがマスク されていないこ とを確認して ください。

• エラーは一度に 1 つのみ挿入します。 コン ト ローラーが挿入ステート を経由してアイ ドル ステートに戻ったことを確認してから、 次のエラー挿入を実行してください。 アイ ドル ステート以外でエラー挿入命令はド ロ ップされるか失われます。

• エラー挿入の際は、 も包括的な情報が得られるモニター /UART インターフェイスを使用してコマンドの送信およびステータスの監視を実行するこ とを推奨します。

• コマンド インターフェイスを使用する場合は、 コン ト ローラーがアイ ドル ステートに移行したこ とをステータス インターフェイスで確認してからエラーを挿入してください。 また、 エラー挿入コマンドを実行後にコン トローラーがエラー挿入ステートに移行するこ と もステータス インターフェイスで確認して ください。

• 挿入した 1 ビッ ト エラーがコン ト ローラーによって検出されない場合、 別のビッ トにエラーを挿入する前にもう一度同じビッ トへのエラー挿入を試みてください。

• 一度に複数ビッ トのエラーを挿入する場合、 訂正されなかったエラー ビッ ト をすべて元に戻してから次のエラー挿入を実行してください。 または、 デバイスをプログラムし直してからエラー挿入テス ト を再開してください。

次に、 エラー挿入で特に注意が必要な点をまとめます。

• フレームがマスク されているか未実装のために、 挿入したエラーが検出 (および訂正) されない場合があ り ます。エラー挿入の前後に Query コマンドを実行しておく と、 エラーが正し く挿入されたかど うかを確認できます。

• 通常、 マスク されているのはダイナミ ッ ク メモ リ (DRP、 SRL など) に関係するフレームです。

• エラーを挿入してコン ト ローラーから訂正不能エラーが報告された場合、 いったんリ コンフ ィギュレーシ ョ ンしてからテス ト を再開してください。

UltraScale Architecture SEM Controller v3.1 139

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 F

IP デザインのチェ ックリス トSEM Controller IP を使用および統合する際の注意点をチェッ ク リ ス ト形式にまとめます。

SEM IP を使用する際は、 サポート されていない機能 (第 1 章の 「サポート されていない機能」 を参照) をチェッ ク してデザインとの互換性を確認します。

IP で利用できる機能の違いを理解し、 どのよ うな SEU 軽減アプローチをと るかを決定します。 「SEM IP の導入に関する主な考慮事項」 を参照してください。

ほとんどの場合、SEM Controller は軽減 + テス ト モードでデフォルトのコンフ ィギュレーシ ョ ンのまま使用します。 この場合、 SEU イベン トの検出と訂正に加え、 エラー挿入機能も利用でき、 アイ ドル ステートではその他の便利な機能をすべて利用できます。 量産段階で軽減モードに変更して、 エラー挿入機能を無効にするこ と もできます。

コン ト ローラーから報告されるエラーの種類 (訂正可能エラー、 訂正不能エラー、 訂正可能なエッセンシャル エラーなど) に応じてシステムの対応を変える必要があるかど うかを検討します。 たとえばエッセンシャルでない訂正可能エラーが検出された場合は何もせず、 エッセンシャルな訂正可能エラーが検出された場合はデバイスを リ コンフ ィギュレーシ ョ ンするなどの対応が考えられます。 少なく と も、 モニターまたは UART インターフェイスを使用して検出されたすべてのエラーのログを記録してください。

SEM IP を含むデザインの出荷全数の信頼性推定値を設計前にスプレッ ドシート形式の SEU FIT Estimator で計算し、 どの程度の頻度でエラー ログを記録すべきかを把握します。 設計前に使用するスプレッ ドシート形式の SEU FIT Estimator は、 ザイ リ ンクスの 「品質と信頼性」 ウェブ ページからダウンロードできます。

コン ト ローラーに供給されるシステム ク ロ ッ クが、 推奨ガイ ド ラインに従っているこ とを確認します。第 3 章の 「システム ク ロ ッ ク インターフェイス」 を参照してください。 SEM Controller と コンフ ィギュレーシ ョ ン プリ ミ ティブには、 安定したクロ ッ ク (グ リ ッチがなく FMax に違反しない) 入力が必要です。初のクロ ッ クが不安定な場合は、 クロ ッ クに BUFGCE バッファーを使用し、 ク ロ ッ クが安定してから

バッファーを有効にしてください。

cap_gnt 信号の 初の入力を 0 にして、 この信号にマスター制御スイ ッチを追加してコン ト ローラーが初期化するタイ ミ ングを制御するこ とを検討します。 cap_gnt は、 ICAP の準備が完了してから 1 にします。

コン ト ローラーへの入力クロ ッ クにマスター制御スイ ッチを追加するこ とを検討します。 このスイ ッチによ り、 ク ロ ッ クが安定してからコン ト ローラーに供給するよ うにします。

未使用の入力ポートはすべて特定の値に接続します (詳細は、 第 3 章の 「インターフェイス」 の各インターフェイスのセクシ ョ ンを参照)。 これらのポート を正し く接続しない場合、 コン ト ローラーの初期化が完了しないこ とがあ り ます。

使用するすべてのインターフェイスについて、 システム レベル要件を確認します (詳細は、 第 3 章の 「インターフェイス」 の各インターフェイスのセクシ ョ ンを参照)。

後でデバッグが行えるよ うに、 少なく と もモニター インターフェイスの出力を FIFO バッファーに格納するこ とを推奨します。 この情報は、 後で問題が発生した場合のデバッグに必要とな り ます。 第 3 章の 「モニター インターフェイス」 を参照してください。

後でデバッグが行えるよ うに、 デザイン合成後の DCP を保存しておく こ とを推奨します。

エラーおよびエラー発生フレームの位置をログに記録する際は、 モニターまたは UART インターフェイスを使用します。 第 3 章の 「モニター インターフェイス」 および第 3 章の 「UART インターフェイス」 を参照してください。 FRAME_ECC インターフェイスを監視するこ とは推奨しません。

UltraScale Architecture SEM Controller v3.1 140

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 F: IP デザインのチェ ックリス ト

UART インターフェイスでメ ッセージの文字化けや文字抜けが発生するなどの問題が発生する場合は、V_ENABLETIME の設定値が選択したボー レートおよびクロ ッ ク周波数に適しているかど うかを確認します。 また、 UART インターフェイスに接続している外部デバイスやターミナル エミ ュレーターの設定が正しいこ とを確認してください。 第 3 章の 「スイ ッチング動作」 を参照して ください。

SEM Controller は生成時にターゲッ ト と したデバイス専用です。 あるデバイスに対して生成した SEM Controller を別のデバイスに使用しないでください。

コン ト ローラーの制約が正しいこ とを確認してください (第 4 章の 「コアへの制約」 を参照)。

• コン ト ローラーの icap_clk に対するクロ ッ ク周期制約

• コン ト ローラーと ICAP の間の一部の非同期パスに対するフォルス パス制約

• 適切な配置には、 ICAP および FRAME_ECC 制約の適用が必要となるこ とがあ り ます。

シ ミ ュレーシ ョ ンではコン ト ローラーの動作を観察できませんが、 コン ト ローラーをインスタンシエート したデザインのシ ミ ュレーシ ョ ンはサポート されます。 第 4 章の 「シ ミ ュレーシ ョ ン」 を参照してください。

コン ト ローラーと FRAME_ECC/ICAP プリ ミ ティブの間には、 サンプル デザインで提供されているものを除きパイプライン レジスタを配置しないでください。

第 3 章の 「システム」 を参照して、 SEM ソ リ ューシ ョ ンをシステム レベルで監視する機能が必要かど うかを検討してください。

デザインの推定 FIT が目標レベルに達しない場合は、 SEU からブロ ッ ク RAM を ECC で保護するなど、 ソフ ト エラーに対するデザインの耐性を高める各種手法の採用を検討してください。

SEM IP を早期段階でデザインに統合し、 SEM IP の機能を有効にしてハード ウェアでデザインのバリデーシ ョ ンを実行してください。 第 4 章の 「統合およびバリデーシ ョ ン」 を参照して ください。

デバッグ手順の詳細は、 付録 J 「デバッグ」 を参照してください。

コン ト ローラーの動作に関するクイ ッ ク リ ファレンス と して、 図 3-5 ~図 3-7 に示したコン ト ローラーの有効なステート遷移図を参照してください。

エラー挿入を実行する際は、 挿入の前後に Query コマンドを実行してエラーが正し く挿入されたこ とを確認してください。 付録 E 「エラー挿入のガイダンス」 を参照してください。

UltraScale Architecture SEM Controller v3.1 141

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G

SPI バス タイ ミング バジェ ッ ト

SPI バス クロックの波形およびタイ ミング バジェ ッ ト

SPI フラ ッシュ デバイスには、 入力クロ ッ クのスイ ッチ特性に関する要件があ り ます。 こ こでは、 システム レベル サンプル デザインによって生成される SPI フラ ッシュ デバイス用のクロ ッ ク信号について解析します。 この解析を実行するには、 ボード レベルのシグナル インテグ リティ シ ミ ュレーシ ョ ン機能が必要です。

図 G-1 に示したよ うに、SPI フラ ッシュ デバイスの入力クロ ッ クの要件と して次のパラ メーターが定義されています。

• Tclch = SPI バス ク ロ ッ クの 大立ち上がり時間

• Tchcl = SPI バス ク ロ ッ クの 大立ち下がり時間

• Tcl = SPI バス ク ロ ッ クの 小 Low 時間

• Tch = SPI バス ク ロ ッ クの 小 High 時間

SPI バスの物理的な構成、 FPGA の I/O 特性、 およびレベル変換器を使用する場合はその I/O 特性によ り、 FPGA から送信される SPI バス ク ロ ッ ク信号の立ち上がり時間 (Trise) と立ち下がり時間 (Tfall) は、 SPI フラ ッシュ デバイスに到達した時点で 大となり ます。 Trise と Tfall がそれぞれ Tclch と Tchcl の要件を満たしているこ とを検証する必要があ ります。 Tclch と Tchcl の要件が満たされていない場合、 次のよ うな対策をと るこ とができます。

• システム レベル サンプル デザインの SPI バス ク ロ ッ ク出力に対する I/O スルー レート を変更する。

• システム レベル サンプル デザインの SPI バス ク ロ ッ ク出力に対する I/O 駆動能力を変更する。

• I/O 特性の適したレベル変換器に交換する。

一般に、 Tclch と Tchcl の要件は容易に満たすこ とができます。 これらの要件が存在するのは、 システム レベル サンプル デザインで使用しているポイン ト ツー ポイン ト方式ではなく、 多くの負荷を接続したバスで立ち上がり時間と立ち下がり時間が極端に長くなるのを防ぐためです。

システム レベル サンプル デザインによって生成される SPI バス ク ロ ッ クは、 入力クロ ッ クを 2 分周したものです。したがって、SPI バス ク ロ ッ クの High および Low 時間は名目上は Tclk と同じです。ただし実際の Trise および Tfall を考慮して、 次の要件も満たす必要があ り ます。

• Tclk Trise + Tch

• Tclk Tfall + Tcl

X-Ref Target - Figure G-1

図 G‐1: SPI フラッシュ  デバイスの入力クロック要件

c

Tclch

Tchcl

Tcl

Tch

X22336-022019

UltraScale Architecture SEM Controller v3.1 142

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

例:

• Tclch = 33ns (SPI フラ ッシュのデータシート よ り )

• Tchcl = 33ns (SPI フラ ッシュのデータシート よ り )

• Tcl = 3.375ns (SPI フラ ッシュのデータシート よ り )

• Tch = 3.375ns (SPI フラ ッシュのデータシート よ り )

• Trise = 2ns (PCB シ ミ ュレーシ ョ ンよ り )

• Tfall = 2ns (PCB シ ミ ュレーシ ョ ンよ り )

これらのデータよ り、 次の解析を実行します。

1. チェッ ク : Tclch Trise であるか。 すなわち 33ns 2ns であるか。 Yes

2. チェッ ク : Tchcl Tfall であるか。 すなわち 33ns 2ns であるか。 Yes

3. 計算: Tclk Trise + Tch よ り、 Tclk 2ns + 3.375ns、 すなわち Tclk 5.375ns

4. 計算: Tclk Tfall + Tcl よ り、 Tclk 2ns + 3.375ns、 すなわち Tclk 5.375ns

立ち上がり時間の要件は満たされています。 Tclk に対するこれらの要件によ り、 SPI バス ク ロ ッ クの波形およびタイ ミ ング バジェ ッ トではシステム レベル サンプル デザインの入力クロ ッ ク サイ クル時間が 5.375ns 以上に制限されます。

SPI バス送信の波形およびタイ ミング バジェ ッ ト

SPI フラ ッシュ デバイスには、 入力クロ ッ クを基準と した入力データのスイ ッチ特性に関する要件があ り ます。こ こでは、システム レベル サンプル デザインから受信したデータを SPI フラ ッシュ デバイスでキャプチャする場合について解析します。

図 G-2 に示したよ うに、 SPI フラ ッシュ デバイスがデータを正し く取り込むための要件と して次のパラ メーターが定義されています。

• Tdvch = ク ロ ッ クを基準と した SPI フラ ッシュの 小データ セッ ト アップ時間

• Tchdx = ク ロ ッ クを基準と した SPI フラ ッシュの 小データ ホールド時間

この解析は、 小伝搬遅延を 0 と仮定しています。 また、 次に示すスキューが無視できるものと仮定しています。

• FPGA 出力フ リ ップフロ ップへの入力クロ ッ ク分配のスキュー。

• FPGA 出力フ リ ップフロ ップから FPGA ピンへの出力信号パスのスキュー。

• PCB レベル変換器のチャネル遅延のスキュー。 この条件を満たすには、 クロ ッ ク とデータパスのレベル変換器の遅延が一致していなければなり ません。

X-Ref Target - Figure G-2

図 G‐2: SPI フラッシュ  デバイスの入力データ  キャプチャ要件

Tdvch

c

d

Tchdx

X22337-022019

UltraScale Architecture SEM Controller v3.1 143

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

• PCB ト レース セグメン ト遅延のスキュー。 この条件を満たすには、 クロ ッ ク とデータパスの ト レース遅延が一致していなけばなり ません。

• デューティ サイ クルの歪み。

SPI フラ ッシュ マスター ヘルパー ブロ ッ ク と PCB のインプリ メンテーシ ョ ン パラ メーターと して次のパラ メーターが定義されています。

• Tclk = 入力クロ ッ ク サイ クル時間 (icap_clk)

• Tqfpga = icap_clk を基準と した FPGA 出力遅延

• Tw1 = FPGA からレベル変換器までの PCB ト レース遅延

• Tw2 = レベル変換器から SPI フラ ッシュまでの PCB ト レース遅延

• Tdly = レベル変換器のチャネル遅延

図 G-3 に、SPI フラ ッシュ マスター ヘルパー ブロ ッ ク インプリ メンテーシ ョ ンによって生成される メモ リ システムの信号を示します。

前述の仮定によ り、 ク ロ ッ ク とデータパスの遅延はどちら も同じで、 PVT (プロセス、 電圧、 温度) ばらつきの影響も同じです。 次の関係が成り立ちます。

• Tclk Tdvch

• Tclk Tchdx

例:

• Tdvch = 1.75ns (SPI フラ ッシュのデータシート よ り )

• Tchdx = 2ns (SPI フラ ッシュのデータシート よ り )

1. 計算: Tclk Tdvch、 すなわち Tclk 1.75ns

2. 計算: Tclk Tchdx、 すなわち Tclk 2ns

Tclk に対するこれらの要件によ り、 SPI バス送信の波形およびタイ ミ ング バジェッ トではシステム レベル サンプル デザインの入力クロ ッ ク サイクル時間が 2ns 以上に制限されます。

X-Ref Target - Figure G-3

図 G‐3:入力データ  キャプチャのタイ ミング

icap_clk

spi_c

spi_d

c

d

Tdvch Tchdx

Tqfpga

Tclk Tclk

Tw1+Tdly+Tw2

X15965-021116

UltraScale Architecture SEM Controller v3.1 144

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

SPI バス受信の波形およびタイ ミング バジェ ッ ト

SPI フラ ッシュ デバイスは、 入力クロ ッ クを基準と した出力データの出力スイ ッチ特性が決まっています。 こ こでは、 SPI フラ ッシュ デバイスから受信したデータをシステム レベル サンプル デザインでキャプチャする場合について解析します。

図 G-4 に示したよ うに、 SPI フラ ッシュ デバイスの出力スイ ッチ動作と して次のパラ メーターが定義されています。

• Tclqv = ク ロ ッ クを基準と した SPI フラ ッシュの 大出力 Valid 時間

• Tclqx = ク ロ ッ クを基準と した SPI フラ ッシュの 小出力ホールド時間

この解析は、 小伝搬遅延を 0 と仮定しています。 また、 次に示すスキューが無視できるものと仮定しています。

• FPGA 出力および入力フ リ ップフロ ップへの入力クロ ッ ク分配のスキュー。

• PCB レベル変換器のチャネル遅延のスキュー。 この条件を満たすには、 クロ ッ ク とデータパスのレベル変換器の遅延が一致していなければなり ません。

• デューティ サイ クルの歪み。

SPI フラ ッシュ マスター ヘルパー ブロ ッ ク と PCB のインプリ メンテーシ ョ ン パラ メーターと して次のパラ メーターが定義されています。

• Tclk = 入力クロ ッ ク サイ クル時間 (icap_clk)

• Tqfpga = icap_clk を基準と した FPGA 出力遅延

• Tsfpga = icap_clk を基準と した FPGA 入力セッ ト アップ時間

• Thfpga = icap_clk を基準と した FPGA 入力ホールド時間

• Tw1 = FPGA からレベル変換器までの PCB ト レース遅延

• Tw2 = レベル変換器から SPI フラ ッシュまでの PCB ト レース遅延

• Tw3 = SPI フラ ッシュからレベル変換器までの PCB ト レース遅延

• Tw4 = レベル変換器から FPGA までの PCB ト レース遅延

• Tdly = レベル変換器のチャネル遅延

このタイ ミ ング パスは SPI フラ ッシュ マスター ヘルパー ブロッ クに対しては 2 サイクル パスですが、SPI フラ ッシュ デバイスに対しては 1 サイクル パスです。 タイ ミ ング解析では、 SPI フラ ッシュ デバイスの Clock-to-Out を組み合わせ遅延と してモデル化します。 FPGA 側でのセッ ト アップとホールドの両方の要件を考慮する必要があり ます。

X-Ref Target - Figure G-4

図 G‐4: SPI フラッシュ  デバイスの出力データ  スイッチ特性

Tclqx

c

q

TclqvTclqv

TclqxX22338-022019

UltraScale Architecture SEM Controller v3.1 145

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

図 G-5 と図 G-6 に、SPI フラ ッシュ マスター ヘルパー ブロ ッ ク インプリ メンテーシ ョ ンによって生成される メモ リ システムの信号を示します。

ホールド パス解析は合否判定です。 ホールド パス解析は 小値の遅延を使用して計算し、 次の関係が成り立つかを確認する必要があ り ます。

Thfpga Tqfpga,min + Tw1 + Tdly + Tw2 + Tclqx + Tw3 + Tdly + Tw4

遅延 Tw1、 Tw2、 Tw3、 Tw4、 および Tdly に安全な 小値と して 0 を代入する と、 次式が得られます。

Thfpga Tqfpga,min + Tclqx

セッ ト アップ パス解析は 大値の遅延を使用して計算する必要があ り ます。

Tclk 0.5 × (Tqfpga,max + Tw1 + Tdly + Tw2 + Tclqv + Tw3 + Tdly + Tw4 + Tsfpga)

X-Ref Target - Figure G-5

図 G‐5:出力データ  キャプチャ  タイ ミング (ホールド解析)

X-Ref Target - Figure G-6

図 G‐6:出力データ  キャプチャ  タイ ミング (セッ トアップ解析)

TqfpgaTw1+Tdly+Tw2

TclqxTw3+Tdly+Tw4

Thfpga

icap_clk

spi_c

spi_q

c

q

X15967-021116

Tqfpga

Tclk Tclk

Tw1+Tdly+Tw2

TclqvTw3+Tdly+Tw4

Tsfpga

icap_clk

spi_c

spi_q

c

q

X15968-021116

UltraScale Architecture SEM Controller v3.1 146

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

例: Vivado Design Suite、 Kintex UltraScale FPGA

• Tclqv = 6ns (SPI フラ ッシュのデータシート よ り )

• Tclqx = 1ns (SPI フラ ッシュのデータシート よ り )

• Tdly = 2.8ns (レベル変換器のデータシート よ り )

• Tw1 = 1ns (ボード シ ミ ュレーシ ョ ンよ り )

• Tw2 = 1ns (ボード シ ミ ュレーシ ョ ンよ り )

• Tw3 = 1ns (ボード シ ミ ュレーシ ョ ンよ り )

• Tw4 = 1ns (ボード シ ミ ュレーシ ョ ンよ り )

FPGA タイ ミ ング パラ メーターは、 アプリ ケーシ ョ ンで使用するターゲッ ト FPGA にインプリ メン ト したシステム レベル サンプル デザインでのタイ ミ ング レポートから取得する必要があ り ます。 必要なレポート を生成するには、report_timing_summary に min_max オプシ ョ ンを付けて実行します。

次に示す例は、 Kintex® UltraScale™ デバイスにインプリ メン ト したシステム レベル サンプル デザインで生成したタイ ミ ング レポートの抜粋です。 これは、 タイ ミ ング レポートから必要な情報を得るための例と して示しています。レポート内に必要な情報が見つからない場合は、 レポートに含めるパスの 大数を増やしてください。

タイ ミ ング レポートの 「Destination: spi_c」 と表示された場所で、 「Max at Slow Process Corner」 にあるフ リ ップフロ ップからパッ ド までのパス解析を参照し、 Tqfpga の値を確認します。

• Tqfpga = I/O データパス遅延 (spi_c)

• Tqfpga = 1.856ns、 大

Slack (MET): 15.037ns (required time - arrival time) Source: example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/C (rising edge-triggered cell FDRE clocked by clk {[email protected] [email protected] period=11.111ns}) Destination: spi_c (output port clocked by clk {[email protected] [email protected] period=11.111ns}) Path Group: clk Path Type: Max at Slow Process Corner Requirement: 11.111ns (clk [email protected] - clk [email protected]) Data Path Delay: 1.856ns (logic 1.476ns (79.523%) route 0.380ns (20.477%)) Logic Levels: 1 (OBUF=1) Output Delay: -11.111ns Clock Path Skew: -5.294ns (DCD - SCD + CPR) Destination Clock Delay (DCD): 0.000ns = ( 11.111 - 11.111 ) Source Clock Delay (SCD): 5.294ns Clock Pessimism Removal (CPR): 0.000ns Clock Uncertainty: 0.035ns ((TSJ^2 + TIJ^2)^1/2 + DJ) / 2 + PE Total System Jitter (TSJ): 0.071ns Total Input Jitter (TIJ): 0.000ns Discrete Jitter (DJ): 0.000ns Phase Error (PE): 0.000ns Clock Net Delay (Source): 2.304ns (routing 0.335ns, distribution 1.969ns)

UltraScale Architecture SEM Controller v3.1 147

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

Location Delay type Incr(ns) Path(ns) Netlist Resource(s) ------------------------------------------------------------------- ------------------- (clock clk rise edge) 0.000 0.000 r K20 0.000 0.000 r clk (IN) net (fo=0) 0.000 0.000 example_ibuf/I K20 r example_ibuf/INBUF_INST/PAD K20 INBUF (Prop_INBUF_HRIO_PAD_O) 0.805 0.805 r example_ibuf/INBUF_INST/O net (fo=1, routed) 0.092 0.897 example_ibuf/OUT K20 r example_ibuf/IBUFCTRL_INST/I K20 IBUFCTRL (Prop_IBUFCTRL_HRIO_I_O) 0.043 0.940 r example_ibuf/IBUFCTRL_INST/O net (fo=1, routed) 1.967 2.907 example_support_wrapper/clk BUFGCE_X1Y24 r example_support_wrapper/example_bufg/I BUFGCE_X1Y24 BUFGCE (Prop_BUFCE_BUFGCE_I_O) 0.083 2.990 r example_support_wrapper/example_bufg/O X2Y1 (CLOCK_ROOT) net (fo=1742, routed) 2.304 5.294 example_support_wrapper/example_support/example_spi/example_spi_byte/clk BITSLICE_RX_TX_X0Y172 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/C ------------------------------------------------------------------- ------------------- BITSLICE_RX_TX_X0Y172 FDRE (Prop_OUT_FF_BITSLICE_COMPONENT_RX_TX_C_Q) 0.626 5.920 r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/Q net (fo=1, routed) 0.380 6.300 spi_c_OBUF AC23 r spi_c_OBUF_inst/I AC23 OBUF (Prop_OUTBUF_HPIOB_I_O) 0.850 7.150 r spi_c_OBUF_inst/O net (fo=0) 0.000 7.150 spi_c AC23 r spi_c (OUT) ------------------------------------------------------------------- -------------------

(clock clk rise edge) 11.111 11.111 r clock pessimism 0.000 11.111 clock uncertainty -0.035 11.076 output delay 11.111 22.187 ------------------------------------------------------------------- required time 22.187 arrival time -7.150 ------------------------------------------------------------------- slack 15.037

UltraScale Architecture SEM Controller v3.1 148

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

タイ ミ ング レポートの 「Destination: spi_c」 と表示された場所で、 「Min at Fast Process Corner」 にあるフ リ ップフロ ップからパッ ド までのパス解析を参照し、 Tqfpga の値を確認します。

• Tqfpga = I/O データパス遅延 (spi_c)

• Tqfpga = 0.919ns、 小

Slack (MET): 3.227ns (arrival time - required time) Source: example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/C (rising edge-triggered cell FDRE clocked by clk {[email protected] [email protected] period=11.111ns}) Destination: spi_c (output port clocked by clk {[email protected] [email protected] period=11.111ns}) Path Group: clk Path Type: Min at Fast Process Corner Requirement: 0.000ns (clk [email protected] - clk [email protected]) Data Path Delay: 0.919ns (logic 0.752ns (81.829%) route 0.167ns (18.171%)) Logic Levels: 1 (OBUF=1) Output Delay: 0.000ns Clock Path Skew: -2.308ns (DCD - SCD - CPR) Destination Clock Delay (DCD): 0.000ns Source Clock Delay (SCD): 2.308ns Clock Pessimism Removal (CPR): -0.000ns Clock Net Delay (Source): 1.077ns (routing 0.127ns, distribution 0.950ns)

Location Delay type Incr(ns) Path(ns) Netlist Resource(s) ------------------------------------------------------------------- ------------------- (clock clk rise edge) 0.000 0.000 r K20 0.000 0.000 r clk (IN) net (fo=0) 0.000 0.000 example_ibuf/I K20 r example_ibuf/INBUF_INST/PAD K20 INBUF (Prop_INBUF_HRIO_PAD_O) 0.418 0.418 r example_ibuf/INBUF_INST/O net (fo=1, routed) 0.025 0.443 example_ibuf/OUT K20 r example_ibuf/IBUFCTRL_INST/I K20 IBUFCTRL (Prop_IBUFCTRL_HRIO_I_O) 0.015 0.458 r example_ibuf/IBUFCTRL_INST/O net (fo=1, routed) 0.746 1.204 example_support_wrapper/clk BUFGCE_X1Y24 r example_support_wrapper/example_bufg/I BUFGCE_X1Y24 BUFGCE (Prop_BUFCE_BUFGCE_I_O) 0.027 1.231 r example_support_wrapper/example_bufg/O X2Y1 (CLOCK_ROOT) net (fo=1742, routed) 1.077 2.308 example_support_wrapper/example_support/example_spi/example_spi_byte/clk BITSLICE_RX_TX_X0Y172 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/C ------------------------------------------------------------------- -------------------

UltraScale Architecture SEM Controller v3.1 149

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

BITSLICE_RX_TX_X0Y172 FDRE (Prop_OUT_FF_BITSLICE_COMPONENT_RX_TX_C_Q) 0.268 2.576 r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_c_ofd/Q net (fo=1, routed) 0.167 2.743 spi_c_OBUF AC23 r spi_c_OBUF_inst/I AC23 OBUF (Prop_OUTBUF_HPIOB_I_O) 0.484 3.227 r spi_c_OBUF_inst/O net (fo=0) 0.000 3.227 spi_c AC23 r spi_c (OUT) ------------------------------------------------------------------- -------------------

(clock clk rise edge) 0.000 0.000 r clock pessimism 0.000 0.000 output delay -0.000 0.000 ------------------------------------------------------------------- required time -0.000 arrival time 3.227 ------------------------------------------------------------------- slack 3.227

タイ ミ ング レポートの 「Source: spi_q」 と表示された場所で、 「Setup (Max at Fast Process Corner)」 にあるパッ ドからフ リ ップフロ ップまでのパス解析を参照し、 Tsfpga の値を確認します。

• Tsfpga = I/O データパス遅延 (spi_q)

• Tsfpga = 0.658ns、 大

Slack (MET): 23.825ns (required time - arrival time) Source: spi_q (input port clocked by clk {[email protected] [email protected] period=11.111ns}) Destination: example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/D (rising edge-triggered cell FDRE clocked by clk {[email protected] [email protected] period=11.111ns}) Path Group: clk Path Type: Setup (Max at Fast Process Corner) Requirement: 11.111ns (clk [email protected] - clk [email protected]) Data Path Delay: 0.658ns (logic 0.495ns (75.210%) route 0.163ns (24.790%)) Logic Levels: 2 (IBUFCTRL=1 INBUF=1) Input Delay: -11.111ns Clock Path Skew: 2.318ns (DCD - SCD + CPR) Destination Clock Delay (DCD): 2.318ns = ( 13.429 - 11.111 ) Source Clock Delay (SCD): 0.000ns Clock Pessimism Removal (CPR): 0.000ns Clock Uncertainty: 0.035ns ((TSJ^2 + TIJ^2)^1/2 + DJ) / 2 + PE Total System Jitter (TSJ): 0.071ns Total Input Jitter (TIJ): 0.000ns Discrete Jitter (DJ): 0.000ns Phase Error (PE): 0.000ns Clock Net Delay (Destination): 1.087ns (routing 0.127ns, distribution 0.960ns)

UltraScale Architecture SEM Controller v3.1 150

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

Location Delay type Incr(ns) Path(ns) Netlist Resource(s) ------------------------------------------------------------------- ------------------- (clock clk rise edge) 0.000 0.000 r input delay -11.111 -11.111 U21 0.000 -11.111 r spi_q (IN) net (fo=0) 0.000 -11.111 spi_q_IBUF_inst/I U21 r spi_q_IBUF_inst/INBUF_INST/PAD U21 INBUF (Prop_INBUF_HPIOB_PAD_O) 0.495 -10.616 r spi_q_IBUF_inst/INBUF_INST/O net (fo=1, routed) 0.047 -10.569 spi_q_IBUF_inst/OUT U21 r spi_q_IBUF_inst/IBUFCTRL_INST/I U21 IBUFCTRL (Prop_IBUFCTRL_HPIOB_I_O) 0.000 -10.569 r spi_q_IBUF_inst/IBUFCTRL_INST/O net (fo=1, routed) 0.116 -10.453 example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q BITSLICE_RX_TX_X0Y186 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/D ------------------------------------------------------------------- -------------------

(clock clk rise edge) 11.111 11.111 r K20 0.000 11.111 r clk (IN) net (fo=0) 0.000 11.111 example_ibuf/I K20 INBUF r example_ibuf/INBUF_INST/PAD K20 INBUF (Prop_INBUF_HRIO_PAD_O) 0.418 11.529 r example_ibuf/INBUF_INST/O net (fo=1, routed) 0.025 11.554 example_ibuf/OUT K20 IBUFCTRL r example_ibuf/IBUFCTRL_INST/I K20 IBUFCTRL (Prop_IBUFCTRL_HRIO_I_O) 0.015 11.569 r example_ibuf/IBUFCTRL_INST/O net (fo=1, routed) 0.746 12.315 example_support_wrapper/clk BUFGCE_X1Y24 BUFGCE r example_support_wrapper/example_bufg/I BUFGCE_X1Y24 BUFGCE (Prop_BUFCE_BUFGCE_I_O) 0.027 12.342 r example_support_wrapper/example_bufg/O X2Y1 (CLOCK_ROOT) net (fo=1742, routed) 1.087 13.429 example_support_wrapper/example_support/example_spi/example_spi_byte/clk BITSLICE_RX_TX_X0Y186 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/C clock pessimism 0.000 13.429 clock uncertainty -0.035 13.394 BITSLICE_RX_TX_X0Y186 FDRE (Setup_IN_FF_BITSLICE_COMPONENT_RX_TX_C_D) -0.022 13.372 example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd ------------------------------------------------------------------- required time 13.372 arrival time 10.453 ------------------------------------------------------------------- slack 23.825

UltraScale Architecture SEM Controller v3.1 151

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

タイ ミ ング レポートの 「Source: spi_q」 と表示された場所で、 「Hold (Min at Slow Process Corner)」 にあるパッ ドからフ リ ップフロ ップまでのパス解析を参照し、 Thfpga の値を確認します。

• Thfpga = I/O データパス遅延 (spi_q)

• Thfpga = 0.468ns、 小

Slack (MET): 17.334ns (arrival time - required time) Source: spi_q (input port clocked by clk {[email protected] [email protected] period=11.111ns}) Destination: example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/D (rising edge-triggered cell FDRE clocked by clk {[email protected] [email protected] period=11.111ns}) Path Group: clk Path Type: Hold (Min at Slow Process Corner) Requirement: 0.000ns (clk [email protected] - clk [email protected]) Data Path Delay: 0.468ns (logic 0.242ns (51.750%) route 0.226ns (48.250%)) Logic Levels: 2 (IBUFCTRL=1 INBUF=1) Input Delay: 22.222ns Clock Path Skew: 5.302ns (DCD - SCD - CPR) Destination Clock Delay (DCD): 5.302ns Source Clock Delay (SCD): 0.000ns Clock Pessimism Removal (CPR): -0.000ns Clock Net Delay (Destination): 2.312ns (routing 0.335ns, distribution 1.977ns)

Location Delay type Incr(ns) Path(ns) Netlist Resource(s) ------------------------------------------------------------------- ------------------- (clock clk rise edge) 0.000 0.000 r input delay 22.222 22.222 U21 0.000 22.222 r spi_q (IN) net (fo=0) 0.000 22.222 spi_q_IBUF_inst/I U21 r spi_q_IBUF_inst/INBUF_INST/PAD U21 INBUF (Prop_INBUF_HPIOB_PAD_O) 0.242 22.464 r spi_q_IBUF_inst/INBUF_INST/O net (fo=1, routed) 0.050 22.514 spi_q_IBUF_inst/OUT U21 r spi_q_IBUF_inst/IBUFCTRL_INST/I U21 IBUFCTRL (Prop_IBUFCTRL_HPIOB_I_O) 0.000 22.514 r spi_q_IBUF_inst/IBUFCTRL_INST/O net (fo=1, routed) 0.176 22.690 example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q BITSLICE_RX_TX_X0Y186 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/D ------------------------------------------------------------------- -------------------

(clock clk rise edge) 0.000 0.000 r K20 0.000 0.000 r clk (IN) net (fo=0) 0.000 0.000 example_ibuf/I K20 INBUF r example_ibuf/INBUF_INST/PAD K20 INBUF (Prop_INBUF_HRIO_PAD_O) 0.805 0.805 r example_ibuf/INBUF_INST/O net (fo=1, routed) 0.092 0.897 example_ibuf/OUT

UltraScale Architecture SEM Controller v3.1 152

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

K20 IBUFCTRL r example_ibuf/IBUFCTRL_INST/I K20 IBUFCTRL (Prop_IBUFCTRL_HRIO_I_O) 0.043 0.940 r example_ibuf/IBUFCTRL_INST/O net (fo=1, routed) 1.967 2.907 example_support_wrapper/clk BUFGCE_X1Y24 BUFGCE r example_support_wrapper/example_bufg/I BUFGCE_X1Y24 BUFGCE (Prop_BUFCE_BUFGCE_I_O) 0.083 2.990 r example_support_wrapper/example_bufg/O X2Y1 (CLOCK_ROOT) net (fo=1742, routed) 2.312 5.302 example_support_wrapper/example_support/example_spi/example_spi_byte/clk BITSLICE_RX_TX_X0Y186 FDRE r example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd/C clock pessimism 0.000 5.302 BITSLICE_RX_TX_X0Y186 FDRE (Hold_IN_FF_BITSLICE_COMPONENT_RX_TX_C_D) 0.054 5.356 example_support_wrapper/example_support/example_spi/example_spi_byte/spi_q_ifd ------------------------------------------------------------------- required time -5.356 arrival time 22.690 ------------------------------------------------------------------- slack 17.334

チェッ ク :

• Thfpga ≤ Tqfpga,min + Tclqx であるか。

• すなわち 0.468ns ≤ 0.919ns + 1ns であるか。

• すなわち 0.468ns ≤ 1.919ns であるか。 Yes

計算:

Tclk ≥ 0.5 × (Tqfpga,max + Tw1 + Tdly + Tw2 + Tclqv + Tw3 + Tdly + Tw4 + Tsfpga)

すなわち

Tclk ≥ 0.5 × (1.856ns + 1ns + 2.8ns + 1ns + 6ns + 1ns + 2.8ns + 1ns + 0.658ns)

すなわち

Tclk ≥ 9.057ns

ホールド要件は満たされています。 また、 Tclk に対する要件によ り、 SPI バス受信の波形およびタイ ミ ング バジェットではシステム レベル サンプル デザインの入力クロ ッ ク サイクル時間が 9.057ns 以上に制限されます。

UltraScale Architecture SEM Controller v3.1 153

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 G: SPI バス タイ ミング バジェ ッ ト

SPI バス タイ ミング バジェ ッ トのまとめ

SPI フラ ッシュ マスター ヘルパー ブロ ッ ク と外部メモ リ システムが存在する場合、 インプ リ メンテーシ ョ ンの堅牢性を確保するには SPI バス タイ ミ ング バジェッ ト を解析する必要があ り ます。 この解析結果によ り、 外部メモ リ システムが正し く機能するこ とが確認され、 システム レベル サンプル デザインの入力クロ ッ クの 大周波数に対する制約がわかり ます。

Kintex UltraScale にインプリ メン ト した SEM IP コアの Vivado Design Suite タイ ミ ング レポートで報告されたサンプル データによ り、 メモ リ インターフェイスが正し く機能するこ とが確認されます。 メモ リ インターフェイスは入力クロ ッ ク周波数が 110.412MHz 以下でないと動作しないため、Tclk に対する も厳しい要件は Tclk ≥ 9.057ns です。ICAP の 大クロ ッ ク周波数やシステム レベル サンプル デザインの 大クロ ッ ク周波数など、 ほかの入力クロ ッ ク周波数の制限も考慮する必要があ り ます。

UltraScale Architecture SEM Controller v3.1 154

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 H

モニター インターフェイスのシグナリングとプロト コル

この付録では、 モニター インターフェイスの信号とプロ ト コルについて説明します。 UART ヘルパー ブロ ッ クを別の機能で置き換えて SEM Controller のメ ッセージを解析し、 エラー位置などの情報を得るには、 この説明を参考にしてください。

モノ リシックおよび UltraScale+ SSI デバイス

図 H-1 に、 モニター インターフェイスの送信プロ ト コルを示します。 1 バイ トのデータを送信する場合、 コン トローラーはまず monitor_txfull 信号をサンプリ ングして送信バッファーに 1 バイ トのデータを格納できる空きがあるかを調べます。 monitor_txfull が Low の場合、 コン ト ローラーは monitor_txdata[7:0] にデータを与えし、 monitor_txwrite を 1 ク ロ ッ ク サイクルだけアサート して 1 バイ トのデータを送信します。

コン ト ローラーは、 monitor_txdata[7:0] に一連のデータを与え、 monitor_txwrite を複数サイクル続けてアサートするこ とでバース ト書き込みを実行できます。 ただしコン ト ローラーは monitor_txfull を監視するこ とによ り、 送信バッファー オーバーランを防いでいます。

データ受信側のペリ フェラルは、 バッファーの空きを正し く追跡して monitor_txfull で報告します。 ペリ フェラルは、 monitor_txwrite = High をサンプリ ングした次のサイクルで、 データの書き込みによってバッファーが完全にフルである場合は monitor_txfull をアサートする必要があ り ます。

また、 ペリ フェラルはコン ト ローラーからの monitor_txwrite への応答と してのみ monitor_txfull をアサートする必要があ り ます。 ペリ フェラル内部のイベン トに基づいて monitor_txfull をアサートするこ とはできません。 これは、 コン ト ローラーが書き込みを実行する何サイクルか前に monitor_txfull をサンプリ ングすることがあるためです。

ペリ フェラルが monitor_txfull をアサート している間、 コン ト ローラーは送信待ちのデータがある場合でも動作を停止します。 これによ り、 コン ト ローラーのエラー軽減パフォーマンスが低下します。 たとえばエラー訂正が発生してコン ト ローラーがエラーを正し く訂正 (または処理) した場合、 コン ト ローラーはステータス レポート を送信します。 ペリ フェラルがこのメ ッセージを完全に受信するまでコン ト ローラーは動作を停止し、 監視ステートに戻るこ とができません。 したがって、 カスタム ペリ フェラルを設計する際はバッファー深さ とデータ消費レートのバランスを考慮する必要があ り ます。

X-Ref Target - Figure H-1

図 H‐1: モニター インターフェイスの送信プロ ト コル

icap_clk

monitor_txdata[7:0]

monitor_txwrite

monitor_txfull

d0 d1 d2 d3 d4

write burst write 3 bytes write

data buffer full

UltraScale Architecture SEM Controller v3.1 155

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 H: モニター インターフェイスのシグナリングとプロ ト コル

図 H-2 に、 モニター インターフェイスの受信プロ ト コルを示します。 1 バイ トのデータを受信する場合、 コン トローラーはまず monitor_rxempty 信号をサンプリ ングして受信バッファーに 1 バイ トのデータが格納されているかを調べます。 monitor_rxempty が Low の場合、 コン ト ローラーは monitor_rxdata[7:0] から 1 バイ トのデータを受信し、 monitor_rxread を 1 ク ロ ッ ク サイクルだけアサート して受信完了を通知します。

コン ト ローラーは、 monitor_rxdata[7:0] からデータ シーケンスを取得し、 monitor_rxread を複数サイ クル続けてアサートするこ とでバース ト読み出しを実行できます。 ただしコン ト ローラーは monitor_rxempty を監視するこ とによ り、 受信バッファー アンダーランを防いでいます。

データ送信側のペリ フェラルは、 バッファーのステータスを正し く追跡して monitor_rxempty で報告します。 ペリ フェラルは、 monitor_rxread = High をサンプリ ングした次のサイクルで、 バッファーが空の場合は monitor_rxempty をアサートする必要があ り ます。

また、 ペリ フェラルはコン ト ローラーからの monitor_rxread への応答と してのみ monitor_rxempty をアサートする必要があ り ます。 ペリ フェラル内部のイベン トに基づいて monitor_rxempty をアサートするこ とはできません。 これは、 コン ト ローラーが読み出しを実行する何サイクルか前に monitor_rxempty をサンプリ ングすることがあるためです。

モニター インターフェイスで送受信するデータのフォーマッ トは、 バイ ト ス ト リーム ASCII コードです。 各 ASCII コードは、 1 バイ トのデータで表されます。 ト ランザクシ ョ ンはすべて 1 バイ トずつ実行されます。

たとえば、 エラー挿入コマンド N C0000007A4 を送信する場合、 ペリ フェラルは monitor_rxempty を Low に駆動してデータの準備ができているこ とを通知した後、 ASCII コードを N (x4E)、 スペース (x20)、 C (x43)、 (中略)、4 (x34) の順にモニター RX インターフェイスに送信します。 図 H-3 に、 この ト ランザクシ ョ ンを示します。

X-Ref Target - Figure H-2

図 H‐2: モニター インターフェイスの受信プロ ト コル

X-Ref Target - Figure H-3

図 H‐3: モニター RX インターフェイスを使用してペリフェラルからエラー挿入コマンドを送信

icap_clk

monitor_rxdata[7:0]

monitor_rxread

monitor_rxempty

d0 d1 d2 d3 d4

read burst read 3 bytes read

data buffer empty empty

UltraScale Architecture SEM Controller v3.1 156

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 H: モニター インターフェイスのシグナリングとプロ ト コル

コマンドを受信する と、 コン ト ローラーはモニター TX インターフェイスを使用してコマンドを送り返します (エコー バッ ク )。 このエコー バッ クによ り、 コン ト ローラーがコマンドを受信し、 次のコマンドを受信可能な状態であるこ とがペリ フェラルに通知されます。 このこ とは、 monitor_txfull が Low になるこ とによっても示されます。図 H-4 に、 この ト ランザクシ ョ ンを示します。

注記: コン ト ローラーがペリ フェラルから受信したデータまたはコマンドが正し くないか無効な場合、 コマンドはペリ フェラルへエコー バッ ク されません。

UltraScale SSI デバイス 

UltraScale™ SSI デバイスの場合、付属のサンプル デザインには SLR ごとに存在する各コン ト ローラーのモニター インターフェイスを 1 つの UART インターフェイスに集約するためのロジッ クが追加されます。

推奨: 付属のサンプル デザインを使用しない場合は、 各コン ト ローラーのモニター インターフェイスを個別に管理する必要があ り ます。 この場合、 インターフェイスの動作は前のセクシ ョ ンで説明したとおりです。

X-Ref Target - Figure H-4

図 H‐4: SEM Controller がペリフェラルからエラー挿入コマンドを正し く受信した場合

UltraScale Architecture SEM Controller v3.1 157

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 I

フェッチ インターフェイスのシグナリングとプロト コル

この付録では、 フェッチ インターフェイスについて説明します。 フェッチ インターフェイスは、 エラー分類に使用するエッセンシャル ビッ ト データを SEM Controller に供給するために使用します。 このインターフェイスが必要なのは、 SEM Controller の分類機能を有効にした場合のみです。 また、 SPI フラ ッシュ マスター ヘルパー ブロッ クをパラレル フラ ッシュ メモリ コン ト ローラーなど別の機能で置き換える場合も、 この付録の内容を参照してください。

UltraScale™ SSI デバイスの場合、 サンプル デザインの SPI フラ ッシュ マスターは複数の SLR のフェッチ インターフェイスを使用して 1 つの SPI フラ ッシュを管理します。 その他のデバイスでは、 サンプル デザインの SPI フラ ッシュ マスターは 1 つのフェッチ インターフェイスで 1 つの SPI フラ ッシュを管理します。

図 I-1 に、 フェッチ インターフェイスの送信プロ ト コルを示します。 1 バイ トのデータを送信する場合、 コン ト ローラーはまず fetch_txfull 信号をサンプリ ングして送信バッファーに 1 バイ トのデータを格納できる空きがあるかを調べます。 fetch_txfull が Low の場合、 コン ト ローラーは fetch_txdata[7:0] にデータを与え、fetch_txwrite を 1 ク ロ ッ ク サイクルだけアサート して 1 バイ トのデータを送信します。

コン ト ローラーは、 fetch_txdata[7:0] に一連のデータを与え、 fetch_txwrite を複数サイ クル続けてアサートするこ とでバース ト書き込みを実行できます。 ただしコン ト ローラーは fetch_txfull を監視するこ とによ り、送信バッファー オーバーランを防いでいます。

データ受信側のペリ フェラルは、 バッファーの空きを正し く追跡して fetch_txfull で報告します。 ペリ フェラルは、 fetch_txwrite = High をサンプリ ングした次のサイクルで、 データの書き込みによってバッファーが完全にフルである場合は fetch_txfull をアサートする必要があ り ます。

また、 ペリ フェラルはコン ト ローラーからの fetch_txwrite への応答と してのみ fetch_txfull をアサートする必要があ り ます。 ペリ フェラル内部のイベン トに基づいて fetch_txfull をアサートするこ とはできません。これは、 コン ト ローラーが書き込みを実行する何サイクルか前に fetch_txfull をサンプリ ングするこ とがあるためです。

ペリ フェラルが fetch_txfull をアサート している間、 コン ト ローラーは送信待ちのデータがある場合でも動作を停止します。 これによ り、 コン ト ローラーのエラー軽減パフォーマンスが低下します。

X-Ref Target - Figure I-1

図 I‐1: フェ ッチ インターフェイスの送信プロ ト コル

icap_clk

fetch_txdata[7:0]

fetch_txwrite

fetch_txfull

d0 d1 d2 d3 d4

write burst write 3 bytes write

data buffer full full

UltraScale Architecture SEM Controller v3.1 158

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 I: フェ ッチ インターフェイスのシグナリングとプロ ト コル

図 I-2 に、 フェッチ インターフェイスの受信プロ ト コルを示します。 1 バイ トのデータを受信する場合、 コン ト ローラーはまず fetch_rxempty 信号をサンプリ ングして受信バッファーに 1 バイ トのデータが格納されているかを調べます。 fetch_rxempty が Low の場合、 コン ト ローラーは fetch_rxdata[7:0] から 1 バイ トのデータを受信し、 fetch_rxread を 1 ク ロ ッ ク サイ クルだけアサート して受信完了を通知します。

コン ト ローラーは、 fetch_rxdata[7:0] からデータ シーケンスを取得し、 fetch_rxread を複数サイクル続けてアサートするこ とでバース ト読み出しを実行できます。 ただしコン ト ローラーは fetch_rxempty を監視することによ り、 受信バッファー アンダーランを防いでいます。

データ送信側のペリ フェラルは、 バッファーのステータスを正し く追跡して fetch_rxempty で報告します。 ペリフェラルは、 fetch_rxread = High をサンプリ ングした次のサイクルで、 バッファーが空の場合は fetch_rxempty をアサートする必要があ り ます。

また、 ペリ フェラルはコン ト ローラーからの fetch_rxread への応答と してのみ fetch_rxempty をアサートする必要があ り ます。 ペリ フェラル内部のイベン トに基づいて fetch_rxempty をアサートするこ とはできません。これは、 コン ト ローラーが読み出しを実行する何サイクルか前に fetch_rxempty をサンプリ ングするこ とがあるためです。

データは 2 進数で交換され、 コマンド /応答ペアを表します。 データ フォーマッ トはリ トル エンディアンです。data[7:0] の場合、 0 が LSB で 7 が MSB です。 32 ビッ ト ワードの場合、バイ ト 0 が LSB でバイ ト 3 が MSB です。分類ステート (status_classification = 1) では、 コン ト ローラーはフェッチ インターフェイスを使用してコマンドを送信し、 外部メモ リから分類データを読み出します。 アドレスはすべてバイ ト アドレスで、 ト ランザクシ ョンはすべて 1 バイ トずつ実行されます。

コン ト ローラーが fetch_tx インターフェイスを使用して 6 バイ トのコマンド シーケンスを送信する と、 データ フェッチが開始します。 このコマンド シーケンスは次のとおりです。

• バイ ト 1: ADD[31:24]

• バイ ト 2: ADD[23:16]

• バイ ト 3: ADD[15:8]

• バイ ト 4: ADD[7:0]

• バイ ト 5: LEN[15:8]

• バイ ト 6: LEN[7:0]

ADD フ ィールドはアドレスで、 LEN フ ィールドはコン ト ローラーがペリ フェラルから受信するデータ バイ ト数を表します。 通常、 コマンド タイプは 「開始アドレス ADD から長さ LEN バイ ト を読み出す」 です。 コン ト ローラーが送信する ADD フ ィールドの値は、 ユーザーが定義した分類ベース ポインターによって異なり ます。 78 ページの「フェッチ インターフェイス」 を参照してください。

X-Ref Target - Figure I-2

図 I‐2: フェ ッチ インターフェイスの受信プロ ト コル

icap_clk

fetch_rxdata[7:0]

fetch_rxread

fetch_rxempty

d0 d1 d2 d3 d4

read burst read 3 bytes read

data buffer empty empty

UltraScale Architecture SEM Controller v3.1 159

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 I: フェ ッチ インターフェイスのシグナリングとプロ ト コル

図 I-3 に、 このコマンド シーケンスを示します。

これに応答して、 ペリ フェラルは ADD[31:0] で指定されたアドレスを先頭に LEN[15:0] で指定されたバイ ト数のデータをフェッチして、 このデータをコン ト ローラーに返す必要があ り ます。 コン ト ローラーがコマンドを発行した後、 ペリ フェラルは fetch_rx インターフェイスに要求された正確なバイ ト数を返してコマンドを完了する必要があ り ます。 図 I-4 に、 LEN = 4 の場合のト ランザクシ ョ ンを示します。

注記: ブート または初期化ステートでは、 SEM Controller は fetch_rxread ポートに対して 2 つの特殊な読み出しシーケンスを実行して、 このインターフェイスを リセッ ト します。 この読み出しシーケンスはデータの取得が目的ではないため、 データは無視できます。

X-Ref Target - Figure I-3

図 I‐3: SEM Controller からペリフェラルへコマンドを送信する

X-Ref Target - Figure I-4

図 I‐4: ペリフェラルから  SEM Controller へデータを返す

UltraScale Architecture SEM Controller v3.1 160

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J

デバッグこの付録では、 ザイ リ ンクス サポート ウェブサイ ト よ り入手可能な リ ソースおよびデバッグ ツールについて説明します。

ザイリンクス ウェブサイ ト

UltraScale Architecture SEM Controller を使用した設計およびデバッグでヘルプが必要な場合は、 ザイ リ ンクス サポート ウェブ ページから製品の資料、 リ リース ノート 、 アンサーなどを参照するか、 テクニカル サポートでサービス リ クエス ト を作成してください。

資料

この製品ガイ ドは SEM Controller に関する主要資料です。 このガイ ド、 並びに設計プロセスで使用する各製品の関連資料はすべて、 ザイ リ ンクス サポート ウェブ ページ (https://japan.xilinx.com/support) またはザイ リ ンクス Documentation Navigator から入手できます。

ザイ リ ンクス Documentation Navigator は、 ダウンロード ページからダウンロードできます。 このツールの詳細および機能は、 インス トール後にオンライン ヘルプを参照してください。

アンサー

アンサーには、 よ く発生する問題についてその解決方法、 およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。 アンサーは、 ユーザーが該当製品の 新情報にアクセスできるよ う作成および管理されています。

このコアに関するアンサーの検索には、 ザイ リ ンクス サポート ウェブ ページにある検索ボッ クスを使用します。よ り的確な検索結果を得るには、 次のよ うなキーワードを使用してください。

• 製品名

• ツールに表示される メ ッセージ

• 問題の概要

検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。

UltraScale Architecture SEM Controller に関するマスター アンサー :

AR 63609

UltraScale Architecture SEM Controller v3.1 161

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J:デバッグ

テクニカル サポート

ザイ リ ンクスは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポート をザイリ ンクス サポート ウェブ ページで提供しています。 ただし、 次のいずれかに該当する場合、 タイ ミ ング、 機能、 サポートは保証されません。

• 資料で定義されていないデバイスにソ リ ューシ ョ ンをインプリ メン ト した場合。

• 資料で定義されている許容範囲を超えてカスタマイズした場合。

• 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えた場合。

ザイ リ ンクス テクニカル サポートへのお問い合わせは、 ザイ リ ンクス サポート ウェブ ページを参照してください。

デバッグ ツール

SEM Controller デザインの問題に対応できるツールは多数あ り ます。 さまざまな状況をデバッグするのに有益なツールを理解しておく こ とが重要です。

Vivado Design Suite のデバッグ機能

Vivado® Design Suite のデバッグ機能は、Logic Analyzer および Virtual I/O コアをユーザー デザインに直接挿入します。デバッグ機能を使用する と、 ト リガー条件を設定して、 ハード ウェアでアプリ ケーシ ョ ンおよび統合ブロ ッ クのポート信号をハード ウェアに取り込むこ とができます。 取り込まれた信号は、 その後解析できます。 Vivado IDE のこの機能は、 ザイ リ ンクス デバイスで実行されるデザインの論理デバッグおよび検証に使用されます。

Vivado ロジッ ク解析は次の LogiCORE IP ロジッ ク デバッグ コアと共に使用されます。

• ILA 2.0 (およびそれ以降のバージ ョ ン)

• VIO 2.0 (およびそれ以降のバージ ョ ン)

詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 12] を参照して ください。

リファレンス ボード

SEM Controller コアはさまざまなザイ リ ンクス開発ボードでサポート されています。 これらのボードを使用してデザインのプロ ト タイプを作成し、 コアがシステムと通信できるよ うにします。 UltraScale アーキテクチャ評価ボードは KCU105 を使用しています。

UltraScale Architecture SEM Controller v3.1 162

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J:デバッグ

ハードウェア デバッグ

ハードウェアの問題は、 リ ンク立ち上げ時の問題から、 テス ト後に生じる問題までさまざまです。 こ こでは、 一般的な問題のデバッグ手順を説明します。 Vivado Design Suite のデバッグ機能は、 ハード ウェア デバッグに有益な リソースです。 次の各セクシ ョ ンに示す信号を Vivado Design Suite のデバッグ機能でプローブするこ とで、 個々の問題をデバッグできます。

汎用チェ ック

コアに対するタイ ミ ング制約がサンプル デザインからすべて適切に取り込まれているこ と、 さ らにインプリ メンテーシ ョ ン時にこれらの制約がすべて満たされているこ とを確認します。

ク ロ ッ ク管理ブロ ッ クを使用するデザインでは、 ブロ ッ クのステータスを監視してロッ クが完了したか確認してください。

推奨: ザイ リ ンクスは、 SEM IP コアをなるべく早い段階で (理想的にはプロジェク トの 初から ) 統合するこ とを推奨しています。 詳細は、 102 ページの 「統合およびバリデーシ ョ ン」 を参照してください。

インターフェイスのデバッグ

モニター インターフェイス

モニター インターフェイスの使用は必須ではあ り ませんが、 モニター インターフェイスを接続する手段を確保しておく こ とを強く推奨します。 モニター インターフェイスからは、 潜在的な問題のデバッグやト ラブルシューティングに役立つ重要な情報が得られます。 システム レベル サンプル デザインに含まれる UART ヘルパー ブロ ッ クは、標準 RS232 ポートに接続するか、 USB-to-UART ブリ ッジを介して USB に接続できる UART です。

システムでこの接続を利用できない場合は、少なく と もモニター インターフェイスの出力を FIFO バッファーに格納し、 デバッグ用にデータをポス トプロセスできるよ うにするこ とを強く推奨します。

どちらの方法も不可能な場合、 コン ト ローラーの初期化を正し く完了させるには、 モニター インターフェイスを適切な値に接続しておく必要があ り ます。 詳細は、 第 3 章の 「モニター インターフェイス」 を参照して ください。この接続を正し く しておかないと、 コン ト ローラーは初期化ステートでハングしてしまいます。

SEM Controller が正し く動作しているかは、 SEM Controller がモニター インターフェイスから出力する初期化レポートで確認します。 通常、 このレポートのフォーマッ トは次のとおりです。

SEM_ULTRA_V3_1SC 01FS 03AF 01ICAP OKRDBK OKINIT OKSC 02O>

1 行目はコア バージ ョ ンを示しています。 3 行目は SEM Controller の機能セッ ト を示しており、 コア生成時に選択した SEM コン ト ローラー コアのオプシ ョ ンの要約が表示されます。

UltraScale Architecture SEM Controller v3.1 163

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J:デバッグ

UART ヘルパー ブロ ッ クを使用していて初期化レポートに正常な文字が表示されない場合は、 「スイ ッチング動作」と第 3 章の 「UART インターフェイス」 を参照して端末プログラムの通信設定が正しいかど うか確認してください。

また、 実際に SEM Controller に供給されるクロ ッ ク周波数と UART ヘルパー ブロ ッ クの V_ENABLETIME パラ メーター値の組み合わせで標準ボー レートが得られるか、 また端末プログラムの通信設定がビッ ト レート と一致しているかを確認してください。 詳細は式 3-1 および式 3-2 を参照して ください。

SEM Controller が ICAP プリ ミ ティブ経由で FPGA コンフ ィギュレーシ ョ ン ロジッ ク と通信できない場合、 初期化レポートは 「ICAP」 の行で止ま り、 「OK」 が表示されません。 これは、 SEM Controller が FPGA コンフ ィギュレーシ ョン ロジッ ク と通信できないためです。 この場合、 次のよ うな初期化レポートが表示されます。

SEM_ULTRA_V3_1SC 01FS 03AF 01ICAP

この場合、 ICAP が応答しない理由を特定する必要があ り ます。 一般的な確認事項は次のとおりです。

• 使用するデバイスに合わせて ICAP が正し く インスタンシエート されているか確認する。

• ほかのプロセスによって ICAP がブロッ ク されていないか確認する。

JTAG アクセスが発生していないこ と、 SelectMAP の persist を設定していないこ とを確認する。

• ICAP 共有を使用しない場合、 SEM Controller と ICAP を直接接続する必要があ り ます。 SEM Controller と ICAP の間にパイプライン処理を追加するこ とは避けてください。

第 1 章の 「サポート されていない機能」 で説明したよ うに、 SEM Controller を POST_CRC、 POST_CONFIG_CRC、またはその他の関連する制約と併用するこ とはできません。 初期化レポートが ICAP、 RDBK、 または INIT の行で止まる場合、 これらが使用中でないこ とを確認してください。

ステータス インターフェイス

モニター インターフェイスをデバッグに使用できない場合も、 コン ト ローラーが初期化ステート を正し く完了して通常動作しているこ とを確認する必要があ り ます。 コン ト ローラーの有効なステート遷移については、 図 3-5 ~図 3-7 を参照して ください。

UltraScale Architecture SEM Controller v3.1 164

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J:デバッグ

その他のエラー挿入オプシ ョ ン

リ ニア フレーム アドレス (LFA) 以外にも、 物理フレーム アドレス (PFA) を使用してエラーを挿入できます。 このフォーマッ トによるエラー挿入コマンドは、 モニター (または UART) インターフェイス と コマンド インターフェイスのいずれからも実行できます。

表 J‐1: PFA を使用したエラー挿入の UART コマンド

コマンド UART コマンド  セッ ト

PFA を使用したエラー挿入

「N {10-digit hex value}」

UltraScale = 2 進数の値 = 0sst trrr rrrc cccc cccc cmmm mmmm wwww wwwb bbbb

UltraScale+ = 2 進数の値 = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm wwww wwwb bbbb

アイ ドル ステートの場合に有効。 軽減 + テス ト、 検出 + テス ト、 エ ミ ュレーシ ョ ン モードの場合のみ有効。

2 進数の値 説明 

ss ハードウェア slr 番号 (2 ビッ ト )

tt

または

ttt

ブロ ッ ク タイプ (UltraScale では 2 ビッ ト 、 UltraScale+ では 3 ビッ ト )

rrrrrr 行アドレス (6 ビッ ト )

cccccccccc 列アドレス (10 ビッ ト )

mmmmmmm マイナー アドレス (UltraScale では 7 ビッ ト 、 UltraScale+ では 8 ビッ ト )

wwwwwww ワード アドレス (7 ビッ ト )

bbbbb ビッ ト アドレス (5 ビッ ト )

表 J‐2: PFA を使用したエラー挿入のコマンド  フォーマッ ト

コマンドCommand_code[n – 1:0] のフォーマッ ト

UltraScale では n = 40、 UltraScale+ では n = 44

PFA を使用したエラー挿入

UltraScale = 2 進数の値 = 0sst trrr rrrc cccc cccc cmmm mmmm wwww wwwb bbbb

UltraScale+ = 2 進数の値 = 00ss 0ttt rrrr rrcc cccc cccc mmmm mmmm wwww wwwb bbbb

コン ト ローラーがアイ ドル ステートの場合に有効。 軽減 + テス ト、 検出 + テス ト、 エ ミ ュレーシ ョ ン モードの場合のみ有効。

2 進数の値 説明 

ss ハードウェア slr 番号 (2 ビッ ト )

tt

または

ttt

ブロ ッ ク タイプ (UltraScale では 2 ビッ ト 、 UltraScale+ では 3 ビッ ト )

rrrrrr 行アドレス (6 ビッ ト )

cccccccccc 列アドレス (10 ビッ ト )

mmmmmmm マイナー アドレス (UltraScale では 7 ビッ ト 、 UltraScale+ では 8 ビッ ト )

wwwwwww ワード アドレス (7 ビッ ト )

bbbbb ビッ ト アドレス (5 ビッ ト )

UltraScale Architecture SEM Controller v3.1 165

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 J:デバッグ

クロッキング

SEM Controller のクロ ッ クはオシレーターからピンを経由して直接 SEM Controller へ供給するこ とを推奨します。内部の PLL またはミ ッ クス ド モード ク ロ ッ ク マネージャー (MMCM) でクロ ッ クを生成する と、 ク ロ ッ ク生成に関係するコンフ ィギュレーシ ョ ン セルが SEU イベン トの影響を受ける可能性があ り ます。 その確率は非常にわずかですが、 信頼性を低下させる要因はなるべく排除しておく必要があ り ます。 ど う しても PLL/MMCM 出力またはその他のロジッ クを使用してクロ ッ クを生成する必要がある場合は、 デザインのスタート アップ中や PLL/MMCM がロ ッ クするまでの間を含め、 クロ ッ クが SEM Controller の 小周期要件に違反しないよ う注意が必要です。

クロ ッ ク管理ブロ ッ クを使用する場合、 クロ ッ クが安定するまで SEM Controller へのクロ ッ クの ト グルを抑制してください。 たとえば BUFGMUX または BUFGCE を使用して、 PLL/MMCM がロ ッ クするまで SEM Controller のクロ ックが ト グルしないよ うにします。

IP に供給されるクロ ッ クが安定していない場合、 SEM Controller が次のよ うな動作を示すこ とがあ り ます。

• ブートおよび初期化シーケンスが完了しない

• 初期化を完了して監視ステートに移行後、 すぐに重大エラー レポートが出力される

デバイスへの依存性

SEM Controller は生成時にターゲッ ト と したデバイス専用です。 あるデバイスに対して生成したコン ト ローラーのデザイン チェッ クポイン ト (DCP) を別のデバイスおよびハードウェアをターゲッ トにしたよ り大規模なデザインで使用した場合、 コン ト ローラーはブートおよび初期化プロセスを完了しても正し く動作しません。

デザインのプロパティおよび制約

SEM Controller は、 FPGA シ リ コンに内蔵されたソフ ト エラー軽減機能を初期化および管理します。 これをデザインに含める場合は、 内蔵の検出機能を有効にするよ うなデザイン制約またはオプシ ョ ンを含めないでください。 たとえば POST_CRC、 POST_CONFIG_CRC、 またはこれらに関連する制約を設定しないでください。 同様に、GLUTMASK を無効にするよ うなオプシ ョ ンも使用しないでください。 SEM Controller によるエラーの誤検出を防ぐには、 デフォルト値の YES と しておく必要があ り ます。

UltraScale Architecture SEM Controller v3.1 166

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

Documentation Navigator およびデザイン  ハブ

ザイ リ ンクス Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセスでき、 特定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれかを実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられており、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問 (FAQ) を参考に問題を解決できます。 デザイン ハブにアクセスするには、 次のいずれかを実行します。

• DocNav で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。

UltraScale Architecture SEM Controller v3.1 167

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

参考資料

次の資料は、 この製品ガイ ドの補足資料と して役立ちます。

注記:日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『ザイ リ ンクス デバイス信頼性レポート 』 (UG116)

2. 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570: 英語版、 日本語版)

3. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085: 英語版、 日本語版)

4. 『Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1298: 英語版、 日本語版)

5. 『AXI を使用した Zynq UltraScale+ デバイスへの LogiCORE SEM IP の統合』 (XAPP1303: 英語版、 日本語版)

6. 『モノ リ シッ ク デバイスでの Soft Error Mitigation IP およびパーシャル リ コンフ ィギュレーシ ョ ンのデモ』 (XAPP1261: 英語版、 日本語版)

7. 『Zynq UltraScale+ MPSoC ソフ ト ウェア開発者向けガイ ド』 (UG1137: 英語版、 日本語版)

8. 『OS およびライブラ リ資料コレクシ ョ ン』 (UG643)

9. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900: 英語版、 日本語版)

10. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904: 英語版、 日本語版)

11. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896: 英語版、 日本語版)

12. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908: 英語版、 日本語版)

13. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910: 英語版、 日本語版)

UltraScale Architecture SEM Controller v3.1 168

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 内容

2019 年 5 月 22 日 3.1 • 表 2-2、 表 2-6、 および表 2-8 に XCVU27P と XCVU29P を追加。

• 「エラー検出レポート – 軽減 (+ テス ト ) モード (訂正機能有効)」、 「エラー検出レポート – 検出ステート 」、 および 「エラー検出レポート – 診断スキャン」 に検出レポートの説明を追加。

• 「UART インターフェイスのコマンド」 に UART に関する注記を追加。

• 表 3-7 に XCVU27P と XCVU29P を追加。

• 表 5-1 に VU27P/VU29P を追加。

• 「フェ ッチ インターフェイスのシグナリ ングとプロ ト コル」 の見出しを削除。

2018 年 11 月 14 日 3.1 • 「パーシャル リ コンフ ィギュレーシ ョ ンのサポート 」 を追加。

• 「サポート されていない機能」 に宇宙放射線に関する説明を追加。

2018 年 4 月 4 日 3.1 • 「概要」 の章の 「サポート されていない機能」 セクシ ョ ンを更新。

• 「製品仕様」 の章の 「ソ リ ューシ ョ ンの信頼性」 セクシ ョ ンを更新。

• 「コアを使用するデザイン」 の章の 「システム ク ロ ッ ク インターフェイス」セクシ ョ ンを更新。

• 付録 「フェッチ インターフェイスのシグナリ ングとプロ ト コル」 の 初の段落を更新。

• 付録 「フェッチ インターフェイスのシグナリ ングとプロ ト コル」 にブート ステートに関する注記を追加。

2017 年 12 月 20 日 3.1 • 「概要」 の説明を更新。

• 「概要」 に 「SEM IP の導入に関する主な考慮事項」 を追加。

• 「暗号化と認証のサポート 」 セクシ ョ ンを更新。

• 「UltraScale+ デバイスの 大スタート アップ レイテンシ (ICAP FMax の場合)」および 「UltraScale+ デバイスの 大 IP エラー検出時間 (ICAP FMax の場合)」の表の XCVU9P に脚注を追加。

• 「エラー訂正レイテンシ」 セクシ ョ ンの UltraScale+ モノ リ シッ ク と UltraScale+ SSI に脚注を追加。

• 「エラー分類レイテンシ」 セクシ ョ ンの UltraScale+ モノ リ シッ ク と UltraScale+ SSI に脚注を追加。

• 「エラー挿入レイテンシ」 セクシ ョ ンの UltraScale+ VU3P と UltraScale+ SSI VU9P に脚注を追加。

• KU040 の 「ステータス インターフェイスのハート ビートのスイ ッチ特性」 の図を更新。

• 「モニター インターフェイス」 セクシ ョ ンにモニター インターフェイスの付録に関する説明を追加。

• 「UART インターフェイスのメ ッセージ」 の 「初期化レポート 」 セクシ ョ ンの SC コードを更新。

• 「ステート変化レポートのデコード」 の表の重大エラーを 9F に変更。

• 「ステータス レポート 」 セクシ ョ ンに検出機能の説明を追加。

• 「フェ ッチ インターフェイス」 セクシ ョ ンにフェッチ インターフェイスの付録に関する説明を追加。

• モニター インターフェイスとフェッチ インターフェイスに関する付録を追加。

UltraScale Architecture SEM Controller v3.1 169

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

2017 年 10 月 4 日 3.1 • 「IP の概要」 の章を更新。

• 「UltraScale+ デバイスのサポート 」 セクシ ョ ンを削除。

• 「製品仕様」 の章に XCVU31P ~ XCVU37P、 および XCZU21DR ~ XCZU29DR を追加。

• 「エラー分類レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし」 の表に UltraScale+ SSI の説明を追加。

• 「LFA を使用した場合のエラー挿入レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし」 の表に UltraScale+ SSI VU3P の説明を追加。

• 「デバイスの リ ソース使用量 – マルチ SLR UltraScale および UltraScale+ デバイス (SSI)」 の表に VU9P の説明を追加。

• 「ステータス インターフェイスの信号」 の表に status_essential の説明を追加。

• 「分類 (軽減 (+ テス ト ) モードのみ)」 のセクシ ョ ンに status_essential の説明に関する ヒン ト を追加。

• 「フェ ッチ インターフェイス」 セクシ ョ ンに説明を追加。

• 「外部ス ト レージの要件」 の表の UltraScale+ の説明を更新。

• 「コアを使用するデザイン」 の章の 「必須の制約」 セクシ ョ ンに説明を追加。

• 「外部メモ リ プログラ ミ ング ファ イル」 セクシ ョ ンに SSI デバイスの説明を追加。

• ステータス レポートに関する付録に SSI デバイスの説明を追加。

日付 バージョ ン 内容

UltraScale Architecture SEM Controller v3.1 170

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

2017 年 4 月 5 日 3.1 • 「IP の概要」 の表に新し くサポート されたデバイスを追加。

• 「UltraScale+ デバイスのサポート 」 セクシ ョ ンを更新。

• 「サポート されていない機能」 セクシ ョ ンにゴールデン/フォールバッ クの説明を追加。

• 「コンフィギュレーショ ン フレームの 大数」 から 「エラー訂正レイテンシ (モニター インターフェイスでのスロッ ト リ ングなし)」 の表にデバイスを追加。

• 「 リ ソース使用状況」 セクシ ョ ンの説明を更新。

• 「ポートの説明」 セクシ ョ ンの説明を更新。

• 「FRAME_ECC インターフェイス」 および 「ステータス インターフェイス」セクシ ョ ンに説明を追加。

• 「一般的なデザイン ガイ ド ラ イン」 セクシ ョ ンの説明を更新。

• 「システム」 セクシ ョ ンの説明を更新。

• 「構造オプシ ョ ン」 セクシ ョ ンに注記を追加。

• 「コアを使用するデザイン」 の章の 「FRAME_ECC インターフェイス」 および 「ステータス インターフェイス」 セクシ ョ ンに説明を追加。

• 「Zynq UltraScale+ MPSoC の注意事項」 セクシ ョ ンを追加。

• 「コマンド インターフェイス」 セクシ ョ ンに説明を追加。

• 「コンフ ィギュレーシ ョ ン プリ ミ ティブをコアに配置」 セクシ ョ ンに注記を追加。

• 「外部ス ト レージの要件」 の表に UltraScale+ を追加。

• 「コアのカスタマイズおよび生成」 セクシ ョ ンの説明を更新。

• 「配置制約」 および 「ピン制約」 セクシ ョ ンに説明を追加。

• 「UltraScale SSI デバイスの制約」 および 「UltraScale+ SSI デバイスの制約」 セクシ ョ ンに説明を追加。

• 「機能」 セクシ ョ ンに説明を追加。

• 「ポートの説明」 セクシ ョ ンの説明を更新。

• 「外部メモ リ プログラ ミ ング ファ イルの作成」 セクシ ョ ンのコードを更新。

• 付録 「評価ボードを使用した SEM Controller の動作デモ」 に Zynq UltraScale+ および Virtex UltraScale+ を追加。

• 付録 「エラー挿入のガイダンス」 に UltraScale+ の説明を追加。

• 付録 「IP デザインのチェッ ク リ ス ト 」 に説明を追加。

• 「外部メモ リ プログラ ミ ング ファ イルの作成」 セクシ ョ ンのコードを更新。

• 付録 「評価ボードを使用した SEM Controller の動作デモ」 に Zynq UltraScale+ および Virtex UltraScale+ を追加。

• 付録 「エラー挿入のガイダンス」 に Zynq UltraScale+ および UltraScale+ の説明を追加。

• 付録 「IP デザインのチェッ ク リ ス ト 」 に説明を追加。

日付 バージョ ン 内容

UltraScale Architecture SEM Controller v3.1 171

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

2016 年 10 月 05 日 3.1 • 「IP の概要」 の表の注記を更新。

• 「概要」 の章に 「暗号化と認証のサポート 」 セクシ ョ ンを追加。

• 「サポート されていない機能」 セクシ ョ ンの説明を更新。

• 「機能」 セクシ ョ ンを更新し、 「コンフ ィギュレーシ ョ ン フレームの 大数」の表に UltraScale+ デバイスを追加。

• 「 大推定 FIT レート 」 の表の UltraScale+ デバイスを更新。

• 「 大スタート アップ レイテンシ (ICAP FMax の場合)」 の表に UltraScale+ デバイスを追加。

• 「 大 IP エラー検出時間 (ICAP FMax の場合)」 の表に UltraScale+ デバイスを追加。

• 「エラー訂正レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし )」、 「エラー分類レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし )」、 および 「LFA を使用した場合のエラー挿入レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし )」 の表に UltraScale+ デバイスを追加。

• 「SEM Controller のポート 」 の図を更新。

• 「コアを使用するデザイン」 の章の 「初期化」 セクシ ョ ンに説明を追加。

• 「コアを使用するデザイン」、 「デザイン フローの手順」、 および 「サンプル デザイン」 の章に UltraScale+ SSI デバイスに関する説明を追加。

• monitor_rx/tx を uart_rx/tx へ変更。

• 付録 「UART ログの例」 を追加。

2016 年 4 月 6 日 3.1 • UltraScale+ ファ ミ リのサポート を追加。

• 文書全体に検証 (+ テス ト ) モードを追加。

• 図 2-1 「SEM Controller のポート 」 を更新。

• 表 3-2 「コマンドのフォーマッ ト と使用方法」 を更新。

• 「エラー検出レポート – 軽減 (+ テス ト ) モード (訂正機能有効)」 セクシ ョ ンを更新。

• 「エラー検出レポート – 検出ステート 」 セクシ ョ ンを更新。

• 「エラー検出レポート – 診断スキャン」 セクシ ョ ンを更新。

• 表 3-5 「UART コマンド と使用方法」 を更新。

• 「デザイン フローの手順」 の章を更新。

• 「外部メモ リ プログラ ミ ング ファ イルの作成」 セクシ ョ ンを更新。

• 付録 A 「検証、 互換性、 相互運用性」 の 「検証」 セクシ ョ ンを更新。

• 付録 B 「移行およびアップグレード」 に UltraScale+ の説明を追加。

• 付録 C 「SPI バス タイ ミ ング バジェッ ト 」 と付録 D 「評価ボードを使用した SEM Controller の動作デモ」 を追加。

• 付録 F 「IP デザインのチェッ ク リ ス ト 」に合成後の DCP に関する項目を追加。

日付 バージョ ン 内容

UltraScale Architecture SEM Controller v3.1 172

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

2015 年 9 月 30 日 3.0 • 文書全体に検出および診断スキャン ステート を追加。

• 「IP の概要」 セクシ ョ ンを更新。

• 「機能概要」 セクシ ョ ンに説明を追加。

• 「機能」 セクシ ョ ンに検出機能の説明を追加。

• 表 2-2 「コンフ ィギュレーシ ョ ン フレームの 大数」 を追加。

• 表 2-5 「 大スタート アップ レイテンシ (ICAP FMax の場合)」 を更新。

• 表 2-6 「 大 IP エラー検出時間 (ICAP FMax の場合)」 を更新。

• 表 2-9 「LFA を使用した場合のエラー挿入レイテンシ (モニター インターフェイスでのスロ ッ ト リ ングなし )」 を更新。

• 「その他の要因によるレイテンシ」 セクシ ョ ンに説明を追加。

• 「 リ ソース使用状況」 セクシ ョ ンを更新。

• 図 2-1 「SEM Controller のポート 」 を更新。

• 「ステータス インターフェイス」 セクシ ョ ンの説明を更新。

• 「一般的なデザイン ガイ ド ラ イン」 セクシ ョ ンに 「早期の統合およびバリデーシ ョ ン」 の説明を追加。

• 「ICAP アービ ト レーシ ョ ン インターフェイス」 セクシ ョ ンを更新。

• 図 3-4 ~図 3-6 を更新。

• 検出および診断スキャン ステートへの移行命令を追加。

• 「ハート ビート 」 セクシ ョ ンの説明と図を更新。

• 「UART インターフェイス」 セクシ ョ ンを更新。

• 「システム」 セクシ ョ ンを更新。

• 図 4-1 ~図 4-3 の GUI を更新。

• 「ユーザー パラ メーター」 セクシ ョ ンを更新。

• 「機能」 セクシ ョ ンを更新。

• 「コン ト ローラーの制約」、 「サンプル デザインの制約」、 「SSI デバイスの制約」 セクシ ョ ンに説明を追加。

• 「デザイン フローの手順」 に 「統合およびバリデーシ ョ ン」 のセクシ ョ ンを追加。

• 表 5-1 「デバイスの SLR 番号」 を更新。

• 付録 B 「移行およびアップグレード」 を更新。

• 付録 E 「エラー挿入の手引き」 と付録 F 「IP デザインのチェッ ク リ ス ト 」 を追加。

• 付録 G 「デバッグ」 に 「PFA を使用したエラー挿入」、 「デバイスへの依存性」 を追加。 「その他の非互換性」 を削除。

2015 年 4 月 1 日 2.0 初版

日付 バージョ ン 内容

UltraScale Architecture SEM Controller v3.1 173

PG187 2019 年 5 月 22 日 japan.xilinx.com

付録 K: その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提

供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこ

れらに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿ま

たは貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負

わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損

害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信

用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可

能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情

報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負

いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ませ

ん。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補

助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプ

リ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ う な重大なアプリ ケーシ ョ ンにザイ リ ンクスの

製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。

自動車用のアプリケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2015-2019 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Alveo、 Artix、 Kintex、 Spartan、 Versal、 Virtex、 Vivado、 Zynq、 およびこの

文書に含まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、

それぞれの保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページ

の右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語

で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは

受け付けており ません。 あらかじめご了承ください。