3

VHDL でイーサネット 10GE MAC デザインを生成しました。現在、CRCを実装しようとしています。VHDL で 64 ビットの並列 CRC-32 ジェネレーターを使用しています。

仕様:
- データ バスは 64 ビット
- 制御バスは 8 ビット (データ バイトを検証)

問題:
たとえば、着信パケットの長さが 14 バイトであるとします (パディングがない場合)。

CRC は 1 クロック サイクルで最初の 8 バイトに対して計算されますが、残りの 6 バイトに対して CRC を計算しようとすると、ゼロが付加されているために結果が正しくありません。

64 ビットの並列 CRC ジェネレーターを使用して、任意の長さのバイト パケット長の CRC を生成する方法はありますか?

試したこと:
さまざまな並列 CRC ジェネレーター (8 ビット並列 CRC、16 ビット並列 CRC ジェネレーターなど) を使用しました。しかし、それは多くの FPGA リソースを消費します。64 ビットの並列 CRC ジェネレーターのみを使用してリソースを節約したいと考えています。

4

2 に答える 2