システム レベル サンプル デザインは大きく次の 2 つの機能グループに分けられます。
• サポート レイヤー ( <component_name>_support )
• サンプル レイヤー ( <component_name>_example_design )
サポート レイヤーとそのサブレイヤーには、ソフト エラー軽減ソリューションに必須のロジックがすべて含まれます。これには、次のロジックのインスタンシエーションが含まれます。
• コントローラーを外部デバイスに接続するために必要なヘルパー ブロック
° UART ヘルパー ブロック: コントローラーと標準 RS-232 ポートを接続するブリッジの役割を果たします。 このブロックが提供するインターフェイスを使用して、コントローラーとの間でコマンドとステータス情報を交換します。 このインターフェイスは、プロセッサと接続するように設計されています。
° SPI フラッシュ マスター ヘルパー ブロック: コントローラーと標準 SPI バスを接続するブリッジの役割を果たします。このブロックが提供するインターフェイスを使用して、コントローラーは外部からデータをフェッチします。このヘルパー ブロックは標準 SPI フラッシュに接続するためのもので、分類機能を有効にした場合のみ存在します。
• コントローラーが必要とするコンフィギュレーション システム プリミティブのインスタンシエーション。
• コア システム クロックを分配するためのクロッキング プリミティブ。
SEM Controller IP はこれらのブロックを含めて検証されています。このロジックをデザインに統合することが完全にサポートされており、推奨されます。
サンプル レイヤーには、サポート レイヤーおよびいくつかの VIO コアがインスタンシエートされています。VIO コアを使用すると IP のステータスを視覚的に観察でき、外部デバイスに接続する必要のない IP の入力を動的に駆動できます。
また、このサンプル レイヤーにはステータス インターフェイスを監視して IP の正常動作を確認するためのサンプル ロジックも含まれます。次のステータス エラー信号が提供されます。
• heartbeat_timeout – この信号は、SEM Controller が正しいステートにあるにもかかわらずハートビート信号がトグルを停止して 1 秒を経過するとアサートされます。
• heartbeat_timeout_sticky – heartbeat_timeout 信号の動作をスティッキーにしたものです。この信号は、一度アサートされるとデザインを次にコンフィギュレーションするまでアサートされたままです。
• status_irregular_sticky – 同じクロック サイクルで複数のステータス信号がアサートされるとアサートされるスティッキー信号です。
• status_halt – この信号は、重大エラー (すべてのステータス信号がアサート) によってコントローラーが停止するとアサートされます。
ステータス信号の監視方法については、 システム を参照してください。
モノリシック デバイスの場合、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 ソース コードとしても提供されています。
この図 に、非 SSI デバイスのシステム レベル サンプル デザインのブロック図を示します。グレーで示したブロックは、一部のコンフィギュレーションにのみ存在します。
この図 に、UltraScale SSI デバイスのシステム レベル サンプル デザインのブロック図を示します。 グレーで示したブロックは、一部のコンフィギュレーションにのみ存在します。
この図 に、UltraScale+ SSI デバイスのシステム レベル サンプル デザインのブロック図を示します。 グレーで示したブロックは、一部のコンフィギュレーションにのみ存在します。