アクティブ Low のリセットとクロック イネーブル - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2022-06-07
Version
2022.1 日本語

ザイリンクス 7 シリーズ FPGA には、制御信号 (リセットまたはクロック イネーブル) にローカル インバーターはありません。次はリセットを例とした説明ですが、同じ説明はクロック イネーブルにも適用されます。

デザインがアクティブ Low リセットを使用する場合、LUT を使用して信号を反転する必要があります。すべてのリセットがアクティブ Low の DFX 以外のデザインでは、複数の LUT が推論されますが、1 つの LUT に組み合わせて I/O エレメントに挿入できます (LUT はなくなる)。アクティブ High とアクティブ Low のリセットが使用される DFX 以外のデザインでは、LUT インバーターを 1 つの LUT に組み合わせることができ、その LUT がデザインに残りますが、リセット ネットの配線およびタイミングにはほとんど影響ありません (LUT の出力はグローバル リソースに配置される)。パーティションにアクティブ Low リセットが使用されるデザインでは、パーティション内でインバーターを推論させることが可能ですが、取り出して組み合わせることはできません。そのため、リセットをグローバル リソースに配置できなくなり、リセットのタイミングも悪くなり、デザインの配線が既に密集している場合は配線の問題が発生する可能性があります。

この状況を回避するには、アクティブ Low の制御信号を使用しないようにします。ただし、AXI インターフェイスを含む IP コアを使用する場合など、これが不可能な場合もあります。その場合、アクティブ Low のリセットを最上位の信号に割り当て、その信号をデザイン全体で使用します。

次に例を示します。

reset_n <= !reset;

すべてに reset_n 信号を使用し、!reset を信号またはポートに割り当てないでください。

これにより、デザイン全体のリセット ネットにのみ LUT が推論され、デザイン パフォーマンスへの影響が最小限に抑えられます。