ソリューション
企業情報
求人情報
お問い合わせフォーム
JP
EN
CLOSE
MENU
沿革
会社概要
事業所案内
お知らせ・ニュースリリース
保養所のご紹介
新卒・経験者採用について
エントリーフォーム
I.S.X通信
Blog
2023.12.11
製品紹介
最近のDisplayPortの伝送周波数は8Gbpsを超えています。ケーブルで発生する伝送エラーにより、Displayにノイズが発生します。特にDSC(画像圧縮)モードで送信していると、Slice全体がエラーになるため、画面のノイズが大変目立ちます。DSCについては、以前に実装したときの解説をしています。(http://www.isx.co.jp/jp/recruit/isx_report/441/)
伝送エラーを軽減するための方法として、DisplayPortでは前方誤り訂正FEC(Forward Error Correction)を採用します。
予め伝送データに誤り訂正用の符号を追加して、受信側で誤りがあれば可能な限り訂正を行う技術です。
今回は、弊社DisplayPort IPにVESAで定められたFECの回路を追加しました。
図1 FEC対応したDisplayPortの回路構FECの回路ブロックは図1の黄色の部分です。FEC Parity MultiplexとFEC Encoderの2ブロックに分かれています。
FEC Encoderは図2のような構成になっています。この絵はVESAのDisplayPort 1.4bの規格書からの引用です。(2lane, 4laneの場合です。1laneの場合は少し異なる。)
DisplayPort FECでは、誤り訂正にReed-Solomon (254, 250)を採用します。
1 Symbolは10bitです。8b10b変換後の10bit Symbolに対して誤り訂正符号を計算します。
図2で説明しているのは以下の作業です。
2lane, 4laneの時は、奇数と偶数のlaneでSymbolを入替ることで、誤り耐性を上げています。
1laneの時はレーン間で入替できないため、500 symbolを奇数偶数に分けて、それぞれにRS(254,250)の符号を計算します。
FEC回路を実現するため、従来のDisplayPort回路から大きく変更が必要なのが8b10b encoderです。
これまではXilinx(AMD)のTransceiver内蔵Hard Macroを利用していましたが、今回は自作する必要があります。
FECの計算回路自体は、数式の通りに実装します。
1 Clockで1 Symbolで処理する場合810MHzになりFPGAでは実現無理です。実際には1Clock 4 Symbolで処理して202.5MHzで回路を動作させます。
FPGAがUltrascale+であれば、202.5MHzの速度は問題ありません。
1 Clockで4 Symbolを処理しますが、流れているデータが4 Symbol境界に載っている保証は無いため、シフト処理等で回路が複雑になります。
FECの回路増加は4laneあたり5300LUTぐらいです。複雑さに比べて回路は小さいです。
伝送エラーが無いとFEC無効の場合との違いが無いため、DisplayPort IPにエラー挿入回路を追加してFECの効果を確認します。
FEC OFFの時にエラー挿入すると、DSCのエラー画像と同じ画像ノイズが出ます。FEC ON時に同じようにエラーを挿入しても、ノイズが出ないので、FECが働いていることを確認できます。
ノイズが出ている映像はDSCの時と同じ(http://www.isx.co.jp/jp/recruit/isx_report/441/)なので省略します。
現在DisplayPort 2.1のFPGA向けIPを設計しているのですが、DP2ではFECの機能がDisplayPort Protocolにきれいに組み込まれています。
DisplayPort1.4のFECは、既存のシステムに頑張って仕様を追加した感があり、後から仕様を変更するのは大変なのだと感じられました。
FECを有効にしたDisplayPort送信が可能になりました。
現時点ではiM1671の標準機能ではありません。DisplayPort FECに興味がある方、連絡をお待ちしています。
一覧に戻る