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

ID 683673
日付 4/01/2024
Public
ドキュメント目次

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

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

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

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

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

図 67. クロックサイクルを1つ進め、デバイスを完全にユーザーモードにする - INIT_DONE = 1

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