HDL コードでリセットを削除する際の問題 - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語

コードを最適化してリセットを削除する場合、リセット宣言で条件をコメントアウトするだけでは適切な構造は作成されず、問題が発生します。たとえば、次の図に示すように、3 段のパイプラインでそれぞれに非同期リセットが使用されているとします。リセット条件のコードをコメントアウトしてパイプラインの 2 段でリセット条件を削除しようとすると、非同期リセットがイネーブルになります (rst の反転ロジック)。

図 1. リセット条件を含むコードをコメントアウト

リセットを削除するには、次の図に示すように、リセット条件用の順序ロジック プロシージャとリセット以外の条件用の順序ロジック プロシージャを作成するのが最適な方法です。

図 2. リセットを含むレジスタとリセットを含まないレジスタのプロシージャ文

ヒント: リセットを使用する場合は、プロシージャ文のすべてのレジスタがリセットであることを確認します。