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

ID 683762
日付 12/16/2019
Public
ドキュメント目次

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

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

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

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

アクティブなセクションのレジスターBは動作しており、次のクロックサイクルでレジスターAの値を引き継ぎます。レジスターAは凍結レジスターの状態であり、クロックエッジに応答しません。レジスターAは現在の状態で維持されます。

図 60. 1クロックサイクル後、デバイスが完全にユーザーモードに入った状態 - INIT_DONE = 1

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