カスタム インターフェイスでの自動パイプラインの使用 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: インプリメンテーション (UG904)

Document ID
UG904
Release Date
2023-11-01
Version
2023.2 日本語

自動パイプラインは、AXI Register Slice IP に限定されません。カスタム インターフェイスでも、RTL で次の表に示すプロパティを使用することにより、自動パイプラインを設定できます。詳細は、 『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

表 1. カスタム インターフェイスでの自動パイプラインのプロパティ
プロパティ名 オブジェクト フォーマット/範囲 説明
AUTOPIPELINE_MODULE 階層セル ブール型 サブ階層で定義されているすべてのグループ名に個別の名前空間を設定します。このプロパティは、自動パイプライン プロパティを設定したモジュールをデザインに複数回インスタンシエートする場合に必要です。
AUTOPIPELINE_GROUP ネット 文字列 (大文字/小文字を区別) 自動挿入するパイプライン フリップフロップの数を同じにする必要のある信号の自動パイプライン グループ名を設定します。
AUTOPIPELINE_INCLUDE ネット 文字列 (大文字/小文字を区別) AUTOPIPELINE_LIMIT を適用する際に含める別の AUTOPIPELINE_GROUP の名前を指定します。
AUTOPIPELINE_LIMIT ネット 0 < 整数 <= 24 関連のグループに自動挿入するパイプライン フリップフロップの最大数を指定します。

同じ AUTOPIPELINE_GROUP に含まれるすべてのネットで、プロパティが設定されている各信号に挿入するパイプライン レジスタの数は同じである必要があります。また、次の点にも注意してください。

  • AUTOPIPELINE_GROUP で AUTOPIPELINE_INCLUDE グループを参照していない場合は、AUTOPIPELINE_GROUP に挿入されるパイプライン段の数は 0 ~ AUTOPIPELINE_LIMIT である必要があります。
  • AUTOPIPELINE_GROUP が AUTOPIPELINE_INCLUDE グループを参照している場合、AUTOPIPELINE_GROUP および AUTOPIPELINE_INCLUDE グループに挿入されるパイプライン段数の合計は 0 ~ AUTOPIPELINE_LIMIT である必要があります。

RTL でレジスタに AUTOPIPELINE_GROUP、AUTOPIPELINE_LIMIT、および AUTOPIPELINE_INCLUDE プロパティを設定すると、Vivado ツールでレジスタの出力に直接接続されているネットにこれらのプロパティが自動的に伝搬されます。最高のタイミング QoR (結果の品質) を得るため、AMDでは次を推奨します。

  • AUTOPIPELINE_* プロパティは、クロック イネーブルおよびリセット制御信号がないレジスタのみに適用します。
  • インターフェイスの両側に個別の階層を作成し、各側に文字列が異なる USER_SLR_ASSIGNMENT を適用します。文字列を SLR<n> にすることはできません。ソフト フロアプラン制約により、Vivado 配置でタイミング QoR を向上するためレジスタの 2 つのグループが異なる SLR に移動されます。たとえば、階層 hierA にソース レジスタが含まれ、階層 hierB にデスティネーション レジスタが含まれる場合は、次の制約を追加します。
    set_property USER_SLR_ASSIGNMENT apSrcGrpA [get_cells hierA] 
    set_property USER_SLR_ASSIGNMENT apDstGrpB [get_cells hierB]
重要: 自動パイプライン機能を使用すると、デザインのレイテンシが変わります。そのため、指定の AUTOPIPELINE_LIMIT 範囲内で正しく機能することを確認する必要があります。ハンドシェイク回路が必要な場合は、FIFO などの適切なロジックを、データが失われることなくバック プレッシャーをサポートするのに十分な深さに設定して追加する必要があります。Vivado ツールでは、デザイン ロジックの正しさは検証されません。
注記: 最高のタイミング QoR を得るには、自動パイプライン プロパティをクロック イネーブルおよびリセット ロジックのないレジスタに設定する必要があります。

次の図に、AXI Register Slice RTL で自動パイプライン プロパティを使用する方法を示します。

図 1. RTL での自動パイプライン プロパティの使用例

次に、1 つの AXI チャネルに自動パイプライン プロパティが設定されている AXI Register Slice IP のロジック図を示します。

図 2. 自動パイプラインのロジック図