インテル® Quartus® Prime プロ・エディションのユーザーガイド: デザインの推奨事項

ID 683082
日付 8/03/2023
Public
ドキュメント目次

1.5.1. 電源投入時のレジスター値

すべてのインテル FPGAデバイスにおいて、デバイスコアのレジスターはLow (0) のロジックレベルで起動します。 ただし、デザインで電源投入時のレベルを 0 以外に指定している場合、合成ツールでは、ロジックを実装して指示することにより、レジスターがHigh (1) のロジックレベルで起動しているように動作させることができます。

preset 信号を使用しているデザインに対して、ターゲットデバイスがプリセットをレジスター・アーキテクチャーでサポートしていない場合、合成では、preset 信号を clear 信号に変換することができます。これには、NOTゲート・プッシュバック最適化を実行する必要があります。NOTゲート・プッシュバックでは、インバーターをレジスターの入力と出力に追加するため、リセットおよび電源投入時の状態がHighで表され、デバイスが想定どおりに動作するようになります。この場合、合成ツールは電源投入時の条件に関するメッセージを発行することがあります。レジスター自体はLowで起動しますが、レジスターの出力が反転するため、すべての宛先に到着する信号はHighになります。

これらのことから、0以外のリセット値を指定している場合、合成ツールでは、レジスターで利用可能な非同期クリア (aclr) 信号を使用して、NOTゲート・プッシュバックでHighビットを実装することが可能です。よって、レジスターは指定されているリセット値で起動しているようになります。

非同期ロード (aload) 信号がデバイスレジスターで利用可能な場合、合成ツールでは、1 または 0 のリセット値を実装することができます。その場合は、非同期ロードの 1 または 0 を使用します。合成ツールで load 信号を使用している場合は、NOTゲート・プッシュバックを実行しません。そのため、レジスターは 0 の論理レベルで起動します。詳細については、該当するデバイスファミリーのハンドブックを参照してください。

オプションで、明示的なリセット信号でのリセット後にすべてのレジスターを適切な値に強制することができます。この手法により、電源投入後にデバイスをリセットし、適切な状態を回復することができます。

レジスターの非同期コントロール・ポートを駆動する前にデバイス・アーキテクチャーの外部ロジックまたは組み合わせロジックを同期することで、より安定したデザインの実現および潜在的なグリッチの回避が可能になります。