AMD デバイスには、専用のグローバル セット/リセット信号 (GSR) が含まれます。この信号は、デバイス コンフィギュレーションの最後にハードウェアに含まれるすべてのシーケンシャル セルを初期値に設定します。
初期ステートが指定されていない場合は、シーケンシャル プリミティブはデフォルト値になります。ほとんどの場合、デフォルト値は 0 です。ただし、FDSE および FDPE プリミティブは例外で、デフォルト値は 1 です。各レジスタは、コンフィギュレーション後に既知のステートになります。そのため、電源投入時にデバイスを初期化する目的のためだけにグローバル リセットのコードを記述する必要はありません。
AMDでは、デザインがリセットを必要とする状況と必要としない状況を判断する際は、十分に注意することをお勧めします。適切に動作させるために制御パス ロジックにリセットが必要な場合が多くありますが、データパス ロジックでは通常リセットはそれほど必要ではありません。リセットの使用を抑えると、次のようになります。
- リセット ネットの全体的なファンアウトが制限される。
- リセットの配線に必要なインターコネクトの量が削減される。
- リセット パスのタイミングが簡潔になる。
- クロック周波数、エリア、消費電力が全体的に改善することが多い。
推奨: 各同期ブロックを評価して、最適な動作にリセットが必要かどうかを判断してください。リセットが実際に必要かどうかを確認せずにデフォルトで記述しないでください。
リセットが必要かどうかは、論理シミュレーションで簡単に判断できます。
リセットを記述しないロジックでは、ロジックをマップするデバイス リソースを選択する際の柔軟性が増します。
たとえば次を考慮することにより、合成ツールでそのコードに最適なリソースが選択され、結果が改善することがあります。
- リクエストされた機能
- クロック周期の要件
- 使用可能なデバイス リソース
- 消費電力