Intel:ALTLVDS_RX メガコアを使用して高速 LVDS インタフェースを実現する場合、オプション設定に Dynamic Phase Alignment (DPA) がありますが、これは何ですか?
LVDS を使用した高速インタフェースを実現する場合、受信側では高速データを正しくキャプチャするためのクロック位相の調整やタイミング制約を行うなどの細かい設定が必要になる場合があります。 また、1本の搬送クロックに対して、複数本のデータを転送する場合には、データチャネル間スキューを最小にするために基板配線長を等長にするなどの配慮が必要になります。
DPA 機能は、搬送クロックを基準クロックとして FPGA 内部の PLL で生成される45度ずつずれた8本高速クロックから、受信データをキャプチャするために最適な位相のクロックを動的に選択する機能です。
DPA は、データチャネル毎に I/O エレメントに搭載されているために、データチャネルが複数の場合には、データチャネル毎に最適な位相のクロックを選択し、正しいビットアラインメントを実現します。 このため、基板上のデータチャネル間の等長配線に気を使う必要はありません。 また、動的にデータに追随するため、
・ タイミング制約を行う必要が不要。
・ PLL のクロック位相を手動で調整する必要が不要
というメリットもあります。
逆に、DPA を使用した場合には、搬送クロックから生成される8本の別位相のどのクロックでデータキャプチャするかを特定できないため、ワード (バイト) アラインメントは、転送の初期化時に特定パターンのシーケンスを流し、ビットスリップ機能を制御して行う必要があります。 また、複数データチャネルがある場合には、チャネル毎に別々のクロックでキャプチャするために、ワード (バイト) アラインメントを行う場合には、チャネル毎に行う必要があります。
詳細につきましては、下記 URL リンクの、Stratix IV Device Handbook より、キーワード “Differential Receiver” で検索し、ご参照ください。
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/stratix-iv/stx4_siv51008.pdf