インテル® Arria® 10 トランシーバーPHY ユーザーガイド

ID 683617
日付 4/20/2017
Public
ドキュメント目次

2.9.1.4. エンハンストPCS FIFO の動作

位相補償モード

位相補償モードでは、コアクロックとパラレル・クロックドメインの間の正常なデータ転送が保障されます。TX あるいはRX Core FIFO の読み出しと書き込み側が、同一のクロック周波数で駆動される必要があります。このモードでは、TX あるいはRX FIFO の深度は一定です。したがって、TX あるいはRX Core FIFO フラグのステータスは無視できます。tx_fifo_wr_en あるいはrx_data_valid は1 に固定できます。

Basic モード

Basic モードでは、FIFO の読み出し側と書き込み側を異なるクロック周波数で駆動することができます。tx_coreclkin あるいはrx_coreclkin は、66 で分周されたレーン・データレートを最小周波数とします。tx_coreclkin あるいはrx_coreclkin の周波数の範囲は、 (データレート/32) ~ (データレート/66) です。インテルは、最良の結果を得るためにtx_coreclkin あるいはrx_coreclkin を (データレート/32) にすることを推奨します。書き込みおよび読み出し動作を制御するためにFIFO フラグのモニターリングが必要です。

TX FIFO では、tx_fifo_pfull がLow になればtx_enh_data_valid をアサートします。以下のアサインメント例によりこれを設定します。

assign tx_enh_data_valid = ~tx_fifo_pfull; 
図 124. Basic モードでのTX FIFO 動作

RX FIFO では、rx_fifo_pempty がLow になればrx_enh_read_en をアサートします。以下のアサインメント例によりこれを設定します。

assign rx_enh_read_en = ~rx_fifo_pempty;
図 125. Basic モードでのRX FIFO 動作

使用するギアレートが同一である場合には、rx_enh_data_valid 信号は常にHigh です。ギアレートが異なれば、rx_enh_data_valid はトグルします。RX パラレルデータは、rx_enh_data_valid がHigh になった際に有効です。rx_enh_datavalid 信号がLow であれば、無効なRX パラレルデータを廃棄します。

Register モードおよびFast Register モード

このFIFO モードは確定的レイテンシーを要するプロトコル向けです。tx_fifo_wr_en を1 に固定できます。