10G イーサネットのスクランブラーをコーディングしました。ieee802.3ae 規格から多項式を見つけました。ドキュメントにはブロック図が描かれていました(49-10,49-8)。スクランブラーとデスクランブラーモジュールをそれぞれ入れたとき。デスクランブラーの出力にスクランブラーの入力が見えません。どこに問題がありますか? どうすればそれを修正できますか?
すでに逆ビット順序を試しましたが、役に立ちません。:(
--I0 はデスクランブラーの入力です --私のデスクランブラー
O0( 38 downto 0 ) <= I0( 38 downto 0 ) XOR I1( 63 downto 25 ) XOR
I1( 44 downto 6 );
O0( 57 downto 39 ) <= I0( 57 downto 39 ) XOR I0( 18 downto 0 ) XOR
I1( 63 downto 45 );
O0( 63 downto 58 ) <= I0( 63 downto 58 ) XOR I0( 24 downto 19 ) XOR
I0( 5 downto 0 );
I1 <= I0;
--I0 はスクランブラー入力です --私のスクランブラー
OO1 <= O0;
O0( 38 downto 0 ) <= OO1( 63 downto 25 ) XOR OO1( 44 downto 06 )
XOR I0( 38 downto 0 );
O0( 57 downto 39 ) <= O0 ( 18 downto 0 ) XOR OO1( 63 downto 45 )
XOR I0( 57 downto 39 );
O0( 63 downto 58 ) <= O0 ( 24 downto 19 ) XOR O0( 5 downto 0 )
XOR I0( 63 downto 58 );
私の予想される結果は、スクランブラーにフェッチしたデータとデスクランブラーの結果との類似性です。図 49-8 スクランブラ ieee802.3ae 図 49-10 デスクランブラ ieee802.3ae