レジスタ インターフェイス ユニット (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] |
予約 |
予約 |
表 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] |
予約 |
予約 |