双方向モードのサポート - 1.0 日本語

Advanced IO Wizard v1.0 LogiCORE IP 製品ガイド (PG320)

Document ID
PG320
Release Date
2022-04-21
Version
1.0 日本語

ウィザードでは双方向モードがサポートされています。次に示す 3 つの BIDIR モードがあります。

[Independent WrClk and RdClk]
この場合、2 つの独立したピンがあり、ぞれぞれ WrClk と RdClk に使用します。Data I は双方向ですが、クロックは単方向で連続しています。RdClk は、ストローブの配置規則に従う必要があり、常に Nibbleslice0 に配置されます。WrClk は、任意の Nibbleslice に配置できます。
[Single Continuous Clock]
データおよびデータに関連付けられたクロックは双方向であり、データに関連付けられたクロックは常に連続しています。
[Single Strobe]
データおよびデータに関連付けられたクロックは双方向であり、データに関連付けられたクロックは連続していません。IO が BIDIR として構成されている場合は、双方向データパスを使用してバッファーからの出力をトライステートにするか、データパスをゲーティングしてデータ ロスが発生しないようにします。次の点に注意する必要があります。
  • 次の場合、[Independent WrClk and RdClk] モードでは [TRI_SELECT as Serialized] を使用できません。BIDIR ピンと WrClk ピンが同じニブルを共有し、WrClk が NIbbleSlice1 の位置に配置されていない場合。この場合、[TRISTATE to Combinatorial] の使用を推奨しています。
  • BIDIR インターフェイスがデータを受信できる状態になると、PHY_RDEN がアサートされます (永久的に High を維持できる)。FIFO_RDEN は、FIFO_EMPTY の後にアサートされます。
  • BIDIR インターフェイスのデータ書き込み準備が整うと、PHY_WREN がアサートされてデータ書き込みが開始します。書き込みが完了すると、PHY_WREN がディアサートされます。
    注記: ニブル全体のデータ アライメントのため、固定のトレーニング パターンを使用してビットスリップ パターンを有効にする必要があります。パターンは、IP の GUI で指定できます。
  • BIDIR データを使用する場合は、データ ロスのない TX/RX ターンアラウンドを可能にするために、RIU インターフェイスを有効にする必要があります。
  • TRI_SELECT as Serialized の場合でのターンアラウンド プロセスは次のとおりです。
    • 書き込み完了後、PHY_WREN がディアサートされる。
    • BS_RESET_TRI、BS_RESET、および CLR_GATE が発行されてから、PHY_RDEN がアサートされてポインターが既知の位置に移動する。
    • 8 RIU クロック サイクル間、RIU_WR_DATA = 0x0007 で RIU レジスタ BS_RESET_CTRL (RIU_ADDR 0x03) を使用し、その後 RIU_WR_DATA = 0x0000 でリセットをディアサートする。
    • PHY_RDEN がディアサートされた後、CLR_GATE や BS_RESET をもう一度アサートする必要はない。
    • FIFO_RDEN は、FIFO_EMPTY の後にアサートされる。バンク全体の読み出し開始時には、ビットスリップが必要。

IP には双方向ステート マシン (SM) のオプション (EN_BIDIR_SM) があり、このオプションを有効にすると、コアとサンプル デザインの動作を TX から RX、または RX から TX へ切り替えるステート マシンが追加されます。SM の動作中は読み出し/書き込みは実行されず、すべての信号 (phy_rd_enphy_wr_en) がディアサートされます。このとき、SM はアクティブ状態です。BS_RESET_TRI、BS_RESET、および CLR_GATE を発行した後、PHY_RDEN をアサートしてポインターを既知の位置に移動します。8 RIU クロック サイクル間、RIU_WR_DATA = 0x0007 で RIU レジスタ BS_RESET_CTRL (RIU_ADDR 0x03) を使用し、その後 RIU_WR_DATA = 0x0000 でリセットをディアサートします。PHY_RDEN がディアサートされた後、CLR_GATE または BS_RESET を再びディアサートする必要はありません。SM が出力する done 信号を内部で使用して、TX から RX、または RX から TX へ役割を切り替えます。EN_BIDIR_SM を有効にしない場合、独自のカスタム BIDIR ステート マシンを追加して TX と RX の役割を切り替える必要があります。サンプル デザインでは、EN_BIDIR_SM=0 の場合、RIU SM ではなく、カウンター ロジックを使用して役割を切り替えます。