TEL:086-227-0113
info@gopher-tec.jp
TOP page 製品情報 FPGAソース Ethernet GMII/MII FCS Checker
Ethernet GMII/MII FCS Checker

イーサネットMAC内で、PHYからの受信データに含まれるFCS(Frame Check Sequence)
をチェックする部分のサンプルコードです。
ギガビットイーサ用のGMIIモードと10/100Mイーサ用のMII モードの両方に対応しています。
PHYからの受信データは、GMIIモードの場合は8ビット幅、MIIモードの場合は4ビット幅ですが、
どちらの場合も8ビット単位でCRC-32の計算を行ってFCS をチェックしています。生成多項式は
次の通りです。

X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + x1+ 1

同FCSのチェック方法の確認だけでなく、GMII/MII受信データのロギングモジュールや、フレーム内の
特定フィールドを抽出するモジュール等をHDLコーディングする際のサンプルコードとしてもお使い
頂けます。


Name I/O  Description 
REST in 非同期リセット入力(Active High)です。
パワーオン時、またはシステムリセット時にアサートして下さい。
RXCLK
in 下記の全信号の同期クロックであり、GMII/MIIの受信クロックです。
GMII_RXDV in GMII/MIIの受信データバリッド信号(Active High)です。
GMII_RXD[7:0] in GMII/MIIの受信データです。
GMIIモードでは全8ビット、MIIモードではGMII_RXD[3:0]のみ参照されます。
GMII_SEL in GMIIモードで使用する際にHi、MIIモードで使用する際にLoを入力して下さい。
PHYのリンクスピードに応じて、都度設定を変更して構いません。
FCS_OK out FCSのチェック出力(Active High)です。
ラッチ出力ではなく、GMII/MIIの受信データ入力に応じて、クロック毎に結果が更新されます。
FCS_CHKTIMがアサートされたタイミングでFCS_OKがアサートされていればFCS正常、
FCS_CHKTIMがアサートされたタイミングでFCS_OKがネゲートされていればFCS異常、
として扱って下さい。
FCS_CHKTIM out FCS_OKが有効となるタイミングを表す信号(Active High)です。
フレーム終了後に1 クロック期間だけアサートされます。
※特に注記のない限り、信号は全て正論理です。
本ソースコードはVerilogを用意しています。
詳細は下記の資料ダウンロードをクリックください。
ソースコード自体は当社WEBストアにて販売しております。

Ethernet GMII/MII FCS Checker
資料ダウンロード