рассчитать (и проверить) ethernet FCS (crc32) в VHDL

м, используяСпартанский 3E стартовый комплект и я'я пытаюсь получить кадры Ethernet на нем через 100MBit ссылка.

Для тех, кто неКак известно, на плате установлена микросхема PHY.МГц. Я (в значительной степени) проверил, что прием работает нормально, буферизуя полученные кадры и повторно отправляя их через последовательный канал.

Кроме того, ям, используяГенератор CRC32 от outputlogic.com, Я собираю полученные фрагменты в байты и пересылаю их в CRC. В конце кадра я фиксирую сгенерированный CRC и отображаю его на ЖК-дисплее вместе с CRC, который я нашел в кадре Ethernet.

Однако (как вы уже догадались) эти два числа не совпадают.

527edb0d  -- FCS extracted from the frame
43a4d833  -- calculated using the CRC32 generator

Первый также можно проверить, запустив пакет через функцию pythons crc32, как с кадром, захваченным wireshark, так и с кадром, снятым и полученным через последовательный порт от FPGA.

Я думаю, это должно быть что-то более или менее тривиальное.Я вставил процесс получения здесь, Я скинул все, что не было необходимости. При захвате вывода через последовательный порт я добавил fifo (готовый блок из Xilinx), который защелкнулся одновременно с генератором CRC, чтобы получить точно такие же байты.

У кого-нибудь есть идея, что?что с этим не так?

Ответы на вопрос(2)

Ваш ответ на вопрос