レジスタ インターフェイス ユニット

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

Document ID
AM010
Release Date
2024-03-18
Revision
1.5 日本語

レジスタ インターフェイス ユニット (RIU) は 74 個の読み出し/書き込み可能な 16 ビット レジスタで構成され、これを利用して XPHY の機能に動的にアクセスします。各 XPHY ニブルには専用の RIU があり、同じバンクの 9 個のニブルすべてに同時にアクセスできます。

重要: RIU に書き込む場合、「予約」と記載されたビットの値を変更しないでください。
重要: 入力、出力、または QTR 遅延に関して CRSE への言及がある場合、これは機能を示すものではなく、任意のバス名の一部と考えてください。CRSE 遅延ブロックは、その他の遅延ブロックから分離しています。
重要: RIU への書き込みは、PL からよりも BISC による書き込みが優先されます。RIU に対する PL からの書き込みと BISC からの書き込みが競合した場合、RIU_RD_VALID がディアサートされ、RIU_RD_VALID がディアサートされるよりも前のサイクルに開始していた PL からの RIU 書き込みは保存されます。BISC からの書き込みが完了すると、RIU_RD_VALID がアサートされ、保存された PL からの RIU 書き込みが実行されます。RIU_RD_VALID が Low の間に PL から実行された書き込みは、すべて破棄されます。

RIU から読み出すには、次の波形に示すように RIU_NIBBLE_SEL をアサートします。

図 1. RIU の読み出し動作

RIU に書き込むには、次の波形に示すように RIU_NIBBLE_SEL と RIU_WR_EN をアサートします。レイテンシは、読み出し (1 サイクル) と書き込み (2 サイクル) で異なります。RIU_RD_VALID は、PL からの RIU への書き込みにも適用されます。書き込みを正しく実行するには、RIU_RD_VALID が High である必要があります。

図 2. RIU の書き込み動作
表 1. レジスタの説明 (NIBBLE_CTRL0)
NIBBLE_CTRL0 アドレス: 0x00
ビット アクセス タイプ リセット値 名称 説明
[0] rw EN_OTHER_PCLK en_other_pclk 属性 の EN_OTHER_PCLK 属性の説明を参照してください。
[1] rw EN_OTHER_NCLK en_other_nclk 属性 の EN_OTHER_NCLK 属性の説明を参照してください。
[2] rw INV_RXCLK inv_rxclk 属性 の INV_RXCLK 属性の説明を参照してください。
[3] rw SERIAL_MODE serial_mode 属性 の SERIAL_MODE 属性の説明を参照してください。SERIAL_MODE 属性ではなく RIU を使用してこのビットをセットする場合、BISC ではキャリブレーションの一部としてこのビットがクリアされます。BISC 完了後にこのビットをセットし直してください。
[4] rw TX_GATING tx_gating 属性 の TX_GATING 属性の説明を参照してください。
[5] rw RX_GATING rx_gating 属性 の RX_GATING 属性の説明を参照してください。
[6] rw CONTINUOUS_DQS rxgating_extend 属性 の CONTINUOUS_DQS 属性の説明を参照してください。
[15:7] 予約 予約
表 2. レジスタの説明 (NIBBLE_CTRL1)
NIBBLE_CTRL1 アドレス: 0x01
ビット アクセス タイプ リセット値 名称 説明
[0] rw RX_CLK_PHASE_P rx_clk_phase_p 属性 の RX_CLK_PHASE_P 属性の説明を参照してください。
[1] rw RX_CLK_PHASE_N rx_clk_phase_n 属性 の RX_CLK_PHASE_N 属性の説明を参照してください。
[2] rw TX_OUTPUT_PHASE_90_0 tx_out_phase_90_0 属性 の TX_OUTPUT_PHASE_90_<0-5> 属性の説明を参照してください。
[3] rw TX_OUTPUT_PHASE_90_1 tx_out_phase_90_1 属性 の TX_OUTPUT_PHASE_90_<0-5> 属性の説明を参照してください。
[4] rw TX_OUTPUT_PHASE_90_2 tx_out_phase_90_2 属性 の TX_OUTPUT_PHASE_90_<0-5> 属性の説明を参照してください。
[5] rw TX_OUTPUT_PHASE_90_3 tx_out_phase_90_3 属性 の TX_OUTPUT_PHASE_90_<0-5> 属性の説明を参照してください。
[6] rw TX_OUTPUT_PHASE_90_4 tx_out_phase_90_4 属性 の TX_OUTPUT_PHASE_90_x 属性の説明を参照してください。
[7] rw TX_OUTPUT_PHASE_90_5 tx_out_phase_90_5 属性 の TX_OUTPUT_PHASE_90_<0-5> 属性の説明を参照してください。
[8] 予約 予約
[9] rw TX_OUTPUT_PHASE_90_TRI tx_out_phase_90_tri 属性 の TX_OUTPUT_PHASE_90_TRI 属性の説明を参照してください。
[15:10] 予約 予約
表 3. レジスタの説明 (CALIB_CTRL)
CALIB_CTRL アドレス: 0x02
ビット アクセス タイプ リセット値 名称 説明
[0] rw SELF_CALIBRATE self_calibrate 属性 の SELF_CALIBRATE 属性の説明を参照してください。
[1] rw DIS_IDLY_VT_TRACK dis_vttrack_ibit 属性 の DIS_IDLY_VT_TRACK 属性の説明を参照してください。
[2] rw DIS_ODLY_VT_TRACK dis_vttrack_obit 属性 の DIS_ODLY_VT_TRACK 属性の説明を参照してください。
[10:3] 予約 予約。
[11] ro 0x0 fixdly_rdy 1 の場合、キャリブレーションが完了したことを示します (XPHY で DLY_RDY がアサートしたのと同義)。0 の場合、キャリブレーションは完了していません。DLY_RDY の詳細は、ポート を参照してください。
[12] ro 0x0 phy_rdy PHY_RDY ポートと同じ動作をします。詳細は、ポート の PHY_RDY ポートの説明を参照してください。
[13] 予約 予約。
[14] rw DIS_QDLY_VT_TRACK dis_vttrack_qdly ポート の DIS_QDLY_VT_TRACK 属性の説明を参照してください。
[15] ro 0x0 pause_rdy BISC が一時停止していることを示します。BISC の一時停止の詳細は、WL_TRAIN.bisc_pause を参照してください。
表 4. レジスタの説明 (BS_RESET_CTRL)
BS_RESET_CTRL アドレス: 0x03
ビット アクセス タイプ リセット値 名称 説明
[0] rw 0x0 clr_gate このビットをトグルすると、ストローブ パスのゲーティング ロジックがクリアされます。
[1] rw 0x0 bs_reset NIBBLESLICE リセット。セットすると、BS_RST_MASK.bs_reset_mask でマスクされていない NIBBLESLICE がリセットされます。このビットをアサートする前、TX_GATING または RX_GATING 属性値に関係なく PHY_WREN と PHY_RDEN を 0 に設定します (まだ 0 に接続されていない場合)。bs_reset は、データ幅 (TX_DATA_WIDTH 属性と RX_DATA_WIDTH 属性) で定義される最小のサイクル間アサートされる必要があります。
  • データ幅が 8 の場合: 1 CTRL_CLK サイクル + 72 PLL_CLK サイクル
  • データ幅が 4 の場合: 1 CTRL_CLK サイクル + 40 PLL_CLK サイクル
  • データ幅が 2 の場合: 1 CTRL_CLK サイクル + 24 PLL_CLK サイクル

bs_reset がアサートされると、BS_RST_MASK.bs_reset_mask でマスクされていない NIBBLESLICE の TX IOB が対応する TX_INIT_# 属性の値に設定されます。bs_reset がディアサートされた後、データをすぐに送信できますが、レシーバーは、最初の FIFO_EMPTY がディアサートされることで、有効なデータを受信できると判断します。また、bs_reset がディアサートされた後は、PHY_RDEN と PHY_WREN を 0 から変更できます。

[2] rw 0x0 bs_reset_tri トライステート NIBBLESLICE リセット。アサートされると、BS_RST_MASK.bs_reset_tri_mask でマスクされていないトライステート NIBBLESLICE が TX_INIT_TRI 属性の値に設定されます。bs_reset は、インターフェイスのデータ幅 (TX_DATA_WIDTH 属性と RX_DATA_WIDTH 属性) で定義される最小のサイクル間アサートされる必要があります。
  • データ幅が 8 の場合: 1 CTRL_CLK サイクル + 72 PLL_CLK サイクル
  • データ幅が 4 の場合: 1 CTRL_CLK サイクル + 40 PLL_CLK サイクル
  • データ幅が 2 の場合: 1 CTRL_CLK サイクル + 24 PLL_CLK サイクル

このリセットを発行する際は、PHY_WREN = 0 に設定します。

[15:3] 予約 予約。
表 5. レジスタの説明 (PQTR)
PQTR アドレス: 0x07
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 pqtr_dly P 側クロック QTR 遅延。pqtr_dly を更新する方法は、pqtr_crse を参照してください。
[12:9] 予約 予約。
[13] wo 0x0 pqtr_crse pqtr_dec および pqtr_inc と組み合わせて、pqtr_dly の更新方法を指定します。
  • {pqtr_inc, pqtr_dec, pqtr_crse}:
  • 000、001、110、111: pqtr_dly への直接の書き込みが可能。
  • 100: pqtr_dly を 1 タップ インクリメント。pqtr_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: pqtr_dly を 1 タップ デクリメント。pqtr_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: pqtr_dly を INCDEC_CRSE.incdec_crse だけインクリメント。pqtr_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 011: pqtr_dly を INCDEC_CRSE.incdec_crse だけデクリメント。pqtr_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。

アライメント エラーを防ぐため、1 タップを超える更新の場合は、更新後に CTRL_CLK を 5 サイクル、およびストローブ/キャプチャ クロックを 4 サイクルだけ待ってから、ニブル間クロッキングかバイト間クロッキングかにかかわらず、QTR 遅延ラインの更新によって影響を受けるすべての NIBBLESLICE に対して bs_reset を実行する必要があります。

[14] wo 0x0 pqtr_dec P 側クロック QTR 遅延デクリメント。pqtr_crse の説明を参照してください。
[15] wo 0x0 pqtr_inc P 側クロック QTR 遅延インクリメント。pqtr_crse の説明を参照してください。
表 6. レジスタの説明 (NQTR)
NQTR アドレス: 0x08
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 nqtr_dly N 側クロック QTR 遅延。nqtr_dly を更新する方法は、nqtr_crse を参照してください。
[12:9] 予約 予約。
[13] wo 0x0 nqtr_crse nqtr_dec および nqtr_inc と組み合わせて、nqtr_dly の更新方法を指定します。
  • {nqtr_inc, nqtr_dec, nqtr_crse}:
  • 000、001、110、111: nqtr_dly への直接の書き込みが可能。
  • 100: nqtr_dly を 1 タップ インクリメント。nqtr_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: nqtr_dly を 1 タップ デクリメント。nqtr_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: nqtr_dly を INCDEC_CRSE.incdec_crse だけインクリメント。nqtr_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 011: nqtr_dly を INCDEC_CRSE.incdec_crse だけデクリメント。nqtr_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。

アライメント エラーを防ぐため、1 タップを超える更新の場合は、更新後に CTRL_CLK を 5 サイクル、およびストローブ/キャプチャ クロックを 4 サイクルだけ待ってから、ニブル間クロッキングかバイト間クロッキングかにかかわらず、QTR 遅延ラインの更新によって影響を受けるすべての NIBBLESLICE に対して bs_reset を実行する必要があります。

[14] wo 0x0 nqtr_dec N 側クロックの QTR 遅延デクリメント。nqtr_crse の説明を参照してください。
[15] wo 0x0 nqtr_inc N 側クロックの QTR 遅延インクリメント。nqtr_crse の説明を参照してください。
表 7. レジスタの説明 (TRISTATE_ODLY)
TRISTATE_ODLY アドレス: 0x0a
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 tristate_dly トライステート NIBBLESLICE 遅延値。tristate_dly を更新する方法は、tristate_crse を参照してください。
[12:9] 予約 予約
[13] wo 0x0 tristate_crse tristate_dec および tristate_inc と組み合わせて、tristate_dly の更新方法を指定します。
  • {tristate_inc, tristate_dec, tristate_crse}:
  • 000、001、110、111: tristate_dly への書き込みが可能。
  • 100: tristate_dly を 1 タップ インクリメント。tristate_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: tristate_dly を 1 タップ デクリメント。tristate_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: tristate_dly を INCDEC_CRSE.incdec_crse だけインクリメント。tristate_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 011: tristate_dly を INCDEC_CRSE.incdec_crse だけデクリメント。tristate_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 tristate_dec トライステート NIBBLESLICE 遅延デクリメント。tristate_crse の説明を参照してください。
[15] wo 0x0 tristate_inc トライステート NIBBLESLICE 遅延インクリメント。tristate_crse の説明を参照してください。
表 8. レジスタの説明 (ODLY0)
ODLY0 アドレス: 0x0b
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly0_dly NIBBLESLICE[0] 出力遅延値。

odly0_dly を読み出すと、NIBBLESLICE[0] の出力遅延値が返されます (PL から CNTVALUEOUT[8:0] を読み出した場合と同様)。odly0_dly を更新する方法は、odly0_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly0_crse odly0_dec および odly0_inc と組み合わせて、odly0_dly の更新方法を指定します。
  • {odly0_crse, odly0_dec, odly0_inc}:
  • 000、011、100、111: odly0_dly への直接の書き込みが可能 (PL から CNTVALUEIN[8:0] へ遅延値をロードする場合と同様)。
  • 001: odly0_dly を 1 タップ インクリメント。odly0_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly0_dly を 1 タップ デクリメント。odly0_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly0_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly0_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly0_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly0_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly0_dec NIBBLESLICE[0] 出力遅延デクリメント。odly0_crse の説明を参照してください。
[15] wo 0x0 odly0_inc NIBBLESLICE[0] 出力遅延インクリメント。odly0_crse の説明を参照してください。
表 9. レジスタの説明 (ODLY1)
ODLY1 アドレス: 0x0c
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly1_dly NIBBLESLICE[1] 出力遅延値。

odly1_dly を読み出すと、NIBBLESLICE[1] の出力遅延値が返されます (PL から CNTVALUEOUT[17:9] を読み出した場合と同様)。odly1_dly を更新する方法は、odly1_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly1_crse odly1_dec および odly1_inc と組み合わせて、odly1_dly の更新方法を指定します。
  • {odly1_crse, odly1_dec, odly1_inc}:
  • 000、011、100、111: odly1_dly への直接の書き込みが可能 (PL から CNTVALUEIN[17:9] へ遅延値をロードする場合と同様)。
  • 001: odly1_dly を 1 タップ インクリメント。odly1_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly1_dly を 1 タップ デクリメント。odly1_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly1_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly1_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly1_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly1_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly1_dec NIBBLESLICE[1] 出力遅延デクリメント。odly1_crse の説明を参照してください。
[15] wo 0x0 odly1_inc NIBBLESLICE[1] 出力遅延インクリメント。odly1_crse の説明を参照してください。
表 10. レジスタの説明 (ODLY2)
ODLY2 アドレス: 0x0d
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly2_dly NIBBLESLICE[2] 出力遅延値。

odly2_dly を読み出すと、NIBBLESLICE[2] の出力遅延値が返されます (PL から CNTVALUEOUT[26:18] を読み出した場合と同様)。odly2_dly を更新する方法は、odly2_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly2_crse odly2_dec および odly2_inc と組み合わせて、odly2_dly の更新方法を指定します。
  • {odly2_crse, odly2_dec, odly2_inc}:
  • 000、011、100、111: odly2_dly への直接の書き込みが可能 (PL から CNTVALUEIN[26:18] へ遅延値をロードする場合と同様)。
  • 001: odly2_dly を 1 タップ インクリメント。odly2_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly2_dly を 1 タップ デクリメント。odly2_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly2_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly2_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly2_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly2_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly2_dec NIBBLESLICE[2] 出力遅延デクリメント。odly2_crse の説明を参照してください。
[15] wo 0x0 odly2_inc NIBBLESLICE[2] 出力遅延インクリメント。odly2_crse の説明を参照してください。
表 11. レジスタの説明 (ODLY3)
ODLY3 アドレス: 0x0e
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly3_dly NIBBLESLICE[3] 出力遅延値。

odly3_dly を読み出すと、NIBBLESLICE[3] の出力遅延値が返されます (PL から CNTVALUEOUT[35:27] を読み出した場合と同様)。odly3_dly を更新する方法は、odly3_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly3_crse odly3_dec および odly3_inc と組み合わせて、odly3_dly の更新方法を指定します。
  • {odly3_crse, odly3_dec, odly3_inc}:
  • 000、011、100、111: odly3_dly への直接の書き込みが可能 (PL から CNTVALUEIN[35:27] へ遅延値をロードする場合と同様)。
  • 001: odly3_dly を 1 タップ インクリメント。odly3_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly3_dly を 1 タップ デクリメント。odly3_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly3_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly3_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly3_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly3_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly3_dec NIBBLESLICE[3] 出力遅延デクリメント。odly3_crse の説明を参照してください。
[15] wo 0x0 odly3_inc NIBBLESLICE[3] 出力遅延インクリメント。odly3_crse の説明を参照してください。
表 12. レジスタの説明 (ODLY4)
ODLY4 アドレス: 0x0f
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly4_dly NIBBLESLICE[4] 出力遅延値。

odly4_dly を読み出すと、NIBBLESLICE[4] の出力遅延値が返されます (PL から CNTVALUEOUT[44:36] を読み出した場合と同様)。odly4_dly を更新する方法は、odly4_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly4_crse odly4_dec および odly4_inc と組み合わせて、odly4_dly の更新方法を指定します。
  • {odly4_crse, odly4_dec, odly4_inc}:
  • 000、011、100、111: odly4_dly への直接の書き込みが可能 (PL から CNTVALUEIN[44:36] へ遅延値をロードする場合と同様)。
  • 001: odly4_dly を 1 タップ インクリメント。odly4_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly4_dly を 1 タップ デクリメント。odly4_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly4_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly4_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly4_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly4_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly4_dec NIBBLESLICE[4] 出力遅延デクリメント。odly4_crse の説明を参照してください。
[15] wo 0x0 odly4_inc NIBBLESLICE[4] 出力遅延インクリメント。odly4_crse の説明を参照してください。
表 13. レジスタの説明 (ODLY5)
ODLY5 アドレス: 0x10
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 odly5_dly NIBBLESLICE[5] 出力遅延値。

odly5_dly を読み出すと、NIBBLESLICE[5] の出力遅延値が返されます (PL から CNTVALUEOUT[53:45] を読み出した場合と同様)。odly5_dly を更新する方法は、odly5_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 odly5_crse odly5_dec および odly5_inc と組み合わせて、odly5_dly の更新方法を指定します。
  • {odly5_crse, odly5_dec, odly5_inc}:
  • 000、011、100、111: odly5_dly への直接の書き込みが可能 (PL から CNTVALUEIN[53:45] へ遅延値をロードする場合と同様)。
  • 001: odly5_dly を 1 タップ インクリメント。odly5_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: odly5_dly を 1 タップ デクリメント。odly5_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: odly5_dly を INCDEC_CRSE.incdec_crse だけインクリメント。odly5_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: odly5_dly を INCDEC_CRSE.incdec_crse だけデクリメント。odly5_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 odly5_dec NIBBLESLICE[5] 出力遅延デクリメント。odly5_crse の説明を参照してください。
[15] wo 0x0 odly5_inc NIBBLESLICE[5] 出力遅延インクリメント。odly5_crse の説明を参照してください。
表 14. レジスタの説明 (BS_RST_MASK)
BS_RST_MASK アドレス: 0x11
ビット アクセス タイプ リセット値 名称 説明
[5:0] rw 0x0 bs_reset_mask NIBBLESLICE リセット マスク。ビット x をセットすると、BS_RESET_CTRL.bs_reset に 1 を書き込んでも、対応する NIBBLESLICE[x] はリセットされません。
[6] rw 0x0 bs_reset_tri_mask トライステート NIBBLESLICE リセット マスク。セットすると、BS_RESET_CTRL.bs_reset_tri に 1 を書き込んでも、トライステート NIBBLESLICE はリセットされません。
[15:7] 予約 予約
表 15. レジスタの説明 (IDLY0)
IDLY0 アドレス: 0x12
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly0_dly NIBBLESLICE[0] の入力遅延値。idly0_dly には align_delay が含まれますが、idly0_dly への書き込み/更新を実行しても align_delay は変化しません。

idly0_dly を読み出すと、NIBBLESLICE[0] の入力遅延値が返されます (PL から CNTVALUEOds UT[8:0] を読み出した場合と同様)。idly0_dly を更新する方法は、idly0_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly0_crse idly0_dec および idly0_inc と組み合わせて、idly0_dly の更新方法を指定します。
  • {idly0_crse, idly0_dec, idly0_inc}:
  • 000、011、100、111: idly0_dly への直接の書き込みが可能 (PL から CNTVALUEIN[8:0] へ遅延値をロードする場合と同様)。
  • 001: idly0_dly を 1 タップ インクリメント。idly0_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly0_dly を 1 タップ デクリメント。idly0_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly0_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly0_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly0_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly0_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly0_dec NIBBLESLICE[0] 入力遅延デクリメント。idly0_crse の説明を参照してください。
[15] wo 0x0 idly0_inc NIBBLESLICE[0] 入力遅延インクリメント。idly0_crse の説明を参照してください。
表 16. レジスタの説明 (IDLY1)
IDLY1 アドレス: 0x13
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly1_dly NIBBLESLICE[1] の入力遅延値。idly1_dly には align_delay が含まれますが、idly1_dly への書き込み/更新を実行しても align_delay は変化しません。

idly1_dly を読み出すと、NIBBLESLICE[1] の入力値が返されます (PL から CNTVALUEOUT[17:9] を読み出した場合と同様)。idly1_dly を更新する方法は、idly1_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly1_crse idly1_dec および idly1_inc と組み合わせて、idly1_dly の更新方法を指定します。
  • {idly1_crse, idly1_dec, idly1_inc}:
  • 000、011、100、111: idly1_dly への直接の書き込みが可能 (PL から CNTVALUEIN[17:9] へ遅延値をロードする場合と同様)。
  • 001: idly1_dly を 1 タップ インクリメント。idly1_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly1_dly を 1 タップ デクリメント。idly1_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly1_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly1_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly1_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly1_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly1_dec NIBBLESLICE[1] 入力遅延デクリメント。idly1_crse の説明を参照してください。
[15] wo 0x0 idly1_inc NIBBLESLICE[1] 入力遅延インクリメント。idly1_crse の説明を参照してください。
表 17. レジスタの説明 (IDLY2)
IDLY2 アドレス: 0x14
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly2_dly NIBBLESLICE[2] の入力遅延値。idly2_dly には align_delay が含まれますが、idly2_dly への書き込み/更新を実行しても align_delay は変化しません。

idly2_dly を読み出すと、NIBBLESLICE[2] の入力値が返されます (PL から CNTVALUEOUT[26:18] を読み出した場合と同様)。idly2_dly を更新する方法は、idly2_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly2_crse idly2_dec および idly2_inc と組み合わせて、idly2_dly の更新方法を指定します。
  • {idly2_crse, idly2_dec, idly2_inc}:
  • 000、011、100、111: idly2_dly への直接の書き込みが可能 (PL から CNTVALUEIN[26:18] へ遅延値をロードする場合と同様)。
  • 001: idly2_dly を 1 タップ インクリメント。idly2_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly2_dly を 1 タップ デクリメント。idly2_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly2_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly2_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly2_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly2_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly2_dec NIBBLESLICE[2] 入力遅延デクリメント。idly2_crse の説明を参照してください。
[15] wo 0x0 idly2_inc NIBBLESLICE[2] 入力遅延インクリメント。idly2_crse の説明を参照してください。
表 18. レジスタの説明 (IDLY3)
IDLY3 アドレス: 0x15
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly3_dly NIBBLESLICE[3] の入力遅延値。idly3_dly には align_delay が含まれますが、idly3_dly への書き込み/更新を実行しても align_delay は変化しません。

idly3_dly を読み出すと、NIBBLESLICE[3] の入力値が返されます (PL から CNTVALUEOUT[35:27] を読み出した場合と同様)。idly3_dly を更新する方法は、idly3_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly3_crse idly3_dec および idly3_inc と組み合わせて、idly3_dly の更新方法を指定します。
  • {idly3_crse, idly3_dec, idly3_inc}:
  • 000、011、100、111: idly3_dly への直接の書き込みが可能 (PL から CNTVALUEIN[35:27] へ遅延値をロードする場合と同様)。
  • 001: idly3_dly を 1 タップ インクリメント。idly3_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly3_dly を 1 タップ デクリメント。idly3_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly3_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly3_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly3_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly3_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly3_dec NIBBLESLICE[3] 入力遅延デクリメント。idly3_crse の説明を参照してください。
[15] wo 0x0 idly3_inc NIBBLESLICE[3] 入力遅延インクリメント。idly3_crse の説明を参照してください。
表 19. レジスタの説明 (IDLY4)
IDLY4 アドレス: 0x16
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly4_dly NIBBLESLICE[4] の入力遅延値。idly4_dly には align_delay が含まれますが、idly4_dly への書き込み/更新を実行しても align_delay は変化しません。

idly4_dly を読み出すと、NIBBLESLICE[4] の入力値が返されます (PL から CNTVALUEOUT[44:36] を読み出した場合と同様)。idly4_dly を更新する方法は、idly4_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly4_crse idly4_dec および idly4_inc と組み合わせて、idly4_dly の更新方法を指定します。
  • {idly4_crse, idly4_dec, idly4_inc}:
  • 000、011、100、111: idly4_dly への直接の書き込みが可能 (PL から CNTVALUEIN[44:36] へ遅延値をロードする場合と同様)。
  • 001: idly4_dly を 1 タップ インクリメント。idly4_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly4_dly を 1 タップ デクリメント。idly4_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly4_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly4_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly4_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly4_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly4_dec NIBBLESLICE[4] 入力遅延デクリメント。idly4_crse の説明を参照してください。
[15] wo 0x0 idly4_inc NIBBLESLICE[4] 入力遅延インクリメント。idly4_crse の説明を参照してください。
表 20. レジスタの説明 (IDLY5)
IDLY5 アドレス: 0x17
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 idly5_dly NIBBLESLICE[5] の入力遅延値。idly5_dly には align_delay が含まれますが、idly5_dly への書き込み/更新を実行しても align_delay は変化しません。

idly5_dly を読み出すと、NIBBLESLICE[5] の入力値が返されます (PL から CNTVALUEOUT[53:45] を読み出した場合と同様)。idly5_dly を更新する方法は、idly5_crse を参照してください。

[12:9] 予約 予約
[13] wo 0x0 idly5_crse idly5_dec および idly5_inc と組み合わせて、idly5_dly の更新方法を指定します。
  • {idly5_crse, idly5_dec, idly5_inc}:
  • 000、011、100、111: idly5_dly への直接の書き込みが可能 (PL から CNTVALUEIN[53:45] へ遅延値をロードする場合と同様)。
  • 001: idly5_dly を 1 タップ インクリメント。idly5_dly = 0x1ff からインクリメントすると、0x0 へラップアラウンドします。
  • 010: idly5_dly を 1 タップ デクリメント。idly5_dly = 0x0 からデクリメントすると、0x1ff へラップアラウンドします。
  • 101: idly5_dly を INCDEC_CRSE.incdec_crse だけインクリメント。idly5_dly が 0x1ff に近い場合、インクリメントすると 0x0 より上にラップアラウンドすることがあります。
  • 110: idly5_dly を INCDEC_CRSE.incdec_crse だけデクリメント。idly5_dly が 0x0 に近い場合、デクリメントすると 0x1ff より下にラップアラウンドすることがあります。
[14] wo 0x0 idly5_dec NIBBLESLICE[5] 入力遅延デクリメント。idly5_crse の説明を参照してください。
[15] wo 0x0 idly5_inc NIBBLESLICE[5] 入力遅延インクリメント。idly5_crse の説明を参照してください。
表 21. レジスタの説明 (CRSE_DLY)
CRSE_DLY アドレス: 0x18
ビット アクセス タイプ リセット値 名称 説明
[4:0] rw 0x0 crse_dly コース (CRSE) 遅延
[13:5] 予約 予約
[14] wo 0x0 crse_dec crse_inc と組み合わせて、crse_dly の更新方法を指定します。
  • {crse_inc, crse_dec}:
  • 00、11: crse_dly への直接の書き込みが可能。
  • 10: crse_dly を 1 タップ インクリメント。crse_dly = 0x1f からインクリメントすると、0x0 へラップアラウンドします。
  • 01: 1 タップ デクリメント。0x0 からデクリメントすると、0x1ff へラップアラウンドします。

アライメント エラーを防ぐため、更新後に CTRL_CLK を 5 サイクル、およびストローブ/キャプチャ クロックを 4 サイクルだけ待ってから、ニブル間クロッキングかバイト間クロッキングかにかかわらず、コース (CRSE) 遅延ラインの更新によって影響を受けるすべての NIBBLESLICE に対して bs_reset を実行する必要があります。

[15] wo 0x0 crse_inc CRSE 遅延インクリメント。crse_dec の説明を参照してください。
表 22. レジスタの説明 (WL_TRAIN)
WL_TRAIN アドレス: 0x2b
ビット アクセス タイプ リセット値 名称 説明
[0] 予約 予約
[1] rw 0x0 en_vtc EN_VTC ポートと同じ動作をします。VTC の詳細は、ビルトイン自動キャリブレーションの制御 を参照してください。
[6:2] 予約 予約
[7] rw 0x0 bisc_pause セットすると、BISC が一時停止します。
[15:8] 予約 予約
表 23. レジスタの説明 (RD_IDLE_COUNT)
RD_IDLE_COUNT アドレス: 0x34
ビット アクセス タイプ リセット値 名称 説明
[5:0] rw 0x10 rd_idle_count 読み出しバーストの後、PHY_RDEN がディアサートされてから ODT が無効になるまでに必要なサイクル数 (周波数は PLL_CLK/RX_DATA_WIDTH と同じ)。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[15:7] 予約 予約
表 24. レジスタの説明 (RL_DLY_QTR)
RL_DLY_QTR アドレス: 0x36
ビット アクセス タイプ リセット値 名称 説明
[8:0] rw 0x0 rl_dly_qtr 読み出し QTR サイクル遅延。QTR サイクル ロールオーバーを検出するために、90° に相当するタップ数を調べる目的で使用します。
[15:9] 予約 予約
表 25. レジスタの説明 (INCDEC_CRSE)
INCDEC_CRSE アドレス: 0x3b
ビット アクセス タイプ リセット値 名称 説明
[7:0] rw 0x08 incdec_crse 特定の遅延ライン (入力遅延、出力遅延、トライステート出力遅延、および QTR 遅延) を RIU から更新する際に使用するタップ数を表します。
[15:8] 予約 予約
表 26. レジスタの説明 (NIBBLE_CTRL2)
NIBBLE_CTRL2 アドレス: 0x3e
ビット アクセス タイプ リセット値 名称 説明
[0] rw 0x0 odt_0 NIBBLESLICE[0] のオンダイ終端 (ODT) 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[1] rw 0x0 odt_1 NIBBLESLICE[1] の ODT 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[2] rw 0x0 odt_2 NIBBLESLICE[2] の ODT 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[3] rw 0x0 odt_3 NIBBLESLICE[3] の ODT 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[4] rw 0x0 odt_4 NIBBLESLICE[4] の ODT 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[5] rw 0x0 odt_5 NIBBLESLICE[5] の ODT 制御に影響を与えます。詳細は、IBUF_DISABLE および DYN_DCI の制御 を参照してください。
[9:6] 予約 予約
[10] rw CRSE_DLY_EN crse_dly_enable 属性 の CRSE_DLY_EN 属性の説明を参照してください。
[13:11] rw DQS_MODE dqs_mode 属性 の DQS_MODE 属性の説明を参照してください。
[15:14] 予約 予約
表 27. レジスタの説明 (TXRX_LOOPBACK)
TXRX_LOOPBACK アドレス: 0x3f
ビット アクセス タイプ リセット値 名称 説明
[5:0] rw {TXRX_LOOPBACK_5, TXRX_LOOPBACK_4, TXRX_LOOPBACK_3, TXRX_LOOPBACK_2, TXRX_LOOPBACK_1, TXRX_LOOPBACK_0} txrx_loopback 属性 の TXRX_LOOPBACK_<0-5> 属性の説明を参照してください。
[15:6] 予約 予約
表 28. レジスタの説明 (ODELAY_BYPASS)
ODELAY_BYPASS アドレス: 0x40
ビット アクセス タイプ リセット値 名称 説明
[5:0] rw 0x0 odelay_bypass ビット x をセットすると、NIBBLESLICE[x] の出力遅延がバイパスされます。
[15:6] 予約 予約