トライステート制御

Versal アダプティブ SoC SelectIO リソース アーキテクチャ マニュアル (AM010)

Document ID
AM010
Release Date
2024-03-18
Revision
1.5 日本語
トライステート機能があるバッファーは、TBYTE_CTL_<0-5> 属性で指定して NIBBLESLICE 単位で XPHY を介して制御できます。TBYTE_CTL_<0-5> の末尾の <0-5> は、属性が適用される NIBBLESLICE に対応します。たとえば、TBYTE_CTL_0 は NIBBLESLICE[0] のトライステート制御の設定であり、TBYTE_CTL_1 は NIBBLESLICE[1] の設定です。
TBYTE_CTL_x = T
XPHY の T[x] 入力を使用し、NIBBLESLICE[x] の IOB にトライステート制御信号を駆動します。これは PL からの組み合わせパスのため、TX データには揃いません。TX_DATA_WIDTH = 2 の場合、これがサポートされる唯一の TBYTE_CTL_x 設定です。
TBYTE_CTL_x = PHY_WREN
XPHY の PHY_WREN 入力を反転およびシリアライズし、各 NIBBLESLICE の IOB にトライステート制御信号を駆動 (ブロードキャスト) します。PHY_WREN の各ビットは、2UI 分のデータに対応するトライステート制御信号として動作します。シリアライズおよび反転した PHY_WREN 信号は、TX データパスのシリアライズされた出力 O0 に揃います。TX_DATA_WIDTH = 2 の場合、PHY_WREN は使用できません。

TBYTE_CTL_x は、NIBBLESLICE[x] が T と PHY_WREN のどちらの信号を受信するかを決定します。たとえば、NIBBLESLICE[0] が PHY_WREN と T スティミュラスの両方を受信した場合、TBYTE_CTL_0 に一致するものだけが受信されます。その後、T_OUT[x] が IOB に出力されます。

TX データパスを通るレイテンシは、TBYTE_CTL_x = PHY_WREN についてのものです。PHY_WREN は、XPHY を介して伝搬するデータよりも 1 サイクル長くなります。このため、TX データが PL から XPHY に現れる 1 サイクル前に PHY_WREN を適用する必要があります。

注記: トライステート制御での遅延ラインの更新は、RIU インターフェイスから実行する必要があります。

TBYTE_CTL = PHY_WREN を使用する場合、次の図に示すように、IOB への T_OUT 配線遅延は O0 配線遅延よりも長くなります。

図 1. XPHY から IOB へのトライステート配線

T_OUT と O0 の配線の違いのため、最初に送信されるデータ ビットの長さが短くなることがあります。次の図に示すように、トライステート制御信号はデータ信号の後に到着するため、最初に送信されるデータ ビットは短くなります。この例では、短縮されたデータ ビットは、最初のビットにマッチするデータを含むプリアンブル サイクルを追加することでアドレス指定されています。短縮されたデータ ビットはまた、最初のデータ ビットおよび制御 T_OUT にマッチするプリアンブルを追加することで修正されるため、プリアンブルがプリアンブルを駆動することになります。

図 2. IOB 遅延とプリアンブルを使用するトライステート

トライステートには関係なく、O0 の各ビットは D<0-5>[7:0] 入力の 1 つにマップされます。つまり、Dx は O0[x] にマップされます。次の表は、Dx がどのように O0[x] にマップされるかをデータ幅ごとに示しています。P0、N0、…、P3、N3 の内容は、次に示すレイテンシの波形を参照してください。

表 1. Dx と O0[x] のマップ
シリアライズ (TX_DATA_WIDTH) Dx
Dx[7] Dx[6] Dx[5] Dx[4] Dx[3] Dx[2] Dx[1] Dx[0]
8:1 O0[x] でシリアライズおよび送信される 8 番目のビット O0[x] でシリアライズおよび送信される 7 番目のビット O0[x] でシリアライズおよび送信される 6 番目のビット O0[x] でシリアライズおよび送信される 5 番目のビット O0[x] でシリアライズおよび送信される 4 番目のビット O0[x] でシリアライズおよび送信される 3 番目のビット O0[x] でシリアライズおよび送信される 2 番目のビット O0[x] でシリアライズおよび送信される 1 番目のビット
4:1 O0[x] でシリアライズおよび送信される 4 番目のビット O0[x] でシリアライズおよび送信される 3 番目のビット O0[x] でシリアライズおよび送信される 2 番目のビット O0[x] でシリアライズおよび送信される 1 番目のビット
2:1 O0[x] でシリアライズおよび送信される 2 番目のビット O0[x] でシリアライズおよび送信される 1 番目のビット

次に示す図の Dx と O0 は、同じ NIBBLESLICE のものを表します。Dx は O0[x] 出力の 1 つにマップします。

図 3. 8 ビット TX レイテンシ、トライステート制御あり (TBYTE_CTL_x = PHY_WREN)
図 4. 4 ビット TX レイテンシ、トライステート制御あり (TBYTE_CTL_x = PHY_WREN)

トライステート制御を使用しない場合、または TBYTE_CTL_x = T の場合の、TX データパスを通るレイテンシを次の図に示します。

図 5. 8 ビット TX レイテンシ
図 6. 4 ビット TX レイテンシ
図 7. 2 ビット TX レイテンシ