インテル® Agilex™ コンフィグレーション・ユーザーガイド

ID 683673
日付 5/30/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

4.5.3. ステートマシンロジックの保護

ステートマシンの正しい動作を保証するには、ファブリック全体がユーザーモードに入るまで、リセットロジックがFPGAファブリックをリセット状態に保つ必要があります。

次の例は、不適切なリセット戦略により、ワンホットステートマシンで不正な状態が発生する可能性があることを示しています。この例では、デザインはステートマシンレジスターをリセットしません。ステートマシンのデザインは、初期状態に入るレジスターに依存します。適切なリセットがないと、デバイスの一部がアクティブになると、このステートマシンが動作を開始します。ステート マシンに含まれる近くのロジックは、INIT_DONEがアサートされる前に凍結されたままになります。

図 60. 部分的に初期化されたデザイン - INIT_DONE = 0

アクティブセクションのレジスターBは動作可能であり、次のクロックサイクルでレジスターAの値を取ります。レジスターAはまだフリーズレジスター状態にあり、クロックエッジに応答しません。レジスターAは現在の状態のままです。

図 61. 1クロックサイクル進む、デバイスは完全にユーザーモード - INIT_DONE = 1

これで、ファブリック全体がユーザーモードになります。ステートマシンは、ワンホットステートマシンで2つのステートマシンを使用して、不正または不明な状態になります。この不正な状態を防ぐには、ファブリック全体がユーザー モードになったことを示すINIT_DONEがアサートされるまで、Reset Release IP を使用して回路をリセット状態に保持します。