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

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

2.5.2.2.2. RX マルチレーンFIFO デスキュー・ステートマシン

トランスミッタのリンクパートナー、PCB、メディア、ローカルレシーバーPMA で生じるレーン間のスキューを排除するために、レシーバー側でデスキューロジックを追加します。

マルチレーン・アライメント・デスキュー・ステートマシンを実装し、RX FIFO の有効なステータスフラグとコントロール信号に基づいてRX FIFO の動作を制御します。

図 36. RX FIFO デスキューのステートフロー

RX FIFO デスキューが完了しないうちは各レーンのrx_enh_fifo_rd_en はデアサートされたままにする必要があります。フレームロックになる (これはrx_enh_frame_lock のアサートによって示されます。しかしこの信号は上記のステートフローには記載されていません) と、最初のアライメント・ワード (SYNC ワード) がそのチャネルで検出された後に、データはRX FIFO に書き込まれます。それに応じて、そのチャネルの部分的に空のフラグ (rx_enh_fifo_pempty) がアサートされます。ステートマシンは、すべてのチャネルのrx_enh_fifo_pemptyrx_enh_fifo_pfull 信号をモニターリングします。どのチャネルのrx_enh_fifo_pfull もアサートしないうちに全てのチャネルのrx_enh_fifo_pempty 信号がデアサートされると、SYNK ワードがリンクの全てのレーンで検出されたことを意味し、MAC 層はrx_enh_fifo_rd_en を同時にアサートすることにより全てのRX FIFO からの読み出しを開始することができます。もしくは、全てのチャネルでrx_enh_fifo_pempty 信号がデアサートする前にいずれかのチャネルのrx_enh_fifo_pfull 信号がHigh にアサートした場合には、ステートマシンはrx_enh_fifo_align_clr を4 サイクルHigh にアサートすることによりRX FIFO をフラッシュし、ソフト・デスキュー・プロセスを繰り返す必要があります。

以下の図に、RX デスキューの1 つのシナリオを示します。このシナリオでは、pfull レーンがデアサートされ続けている間にすべてのRX FIFO 部分的に空のレーンがデアサートされています。これはデスキューの成功を示し、FPGA ファブリックはRX FIFO からのデータの読み出しを開始します。

図 37. RX FIFO デスキュー