Цитата(Kluwert @ Oct 9 2017, 13:52)

TX_EN взводится вместе с первым байтом вступления (кстати, большинство современных сетевых девайсов прекрасно принимают пакеты, даже если все 0x55 отсутствуют, главное, что бы был байт 0xD5) и заканчивается в точности за последним байтом проверочной суммы Eth-пакета. Абсолютно в точности та же хрень на приёме. Учтите, что для 4ых даже топовых Циклонов 125МГц - это уже жестковато, поэтому рекомендую все сигналы (даже GTX_CLK) протаскивать через altddio, иначе потом будете долго за голову хвататься почему "акула" всё красным подсвечивает

Так они взводятся именно с первым байтом преамбулы (0x55) или байтом SFD (0xD5 - который непосредственно переда данными)?
И еще, правильно ли я понял, что для 1 Gb преамбула будет такая - 55 55 55 55 55 55 55, затем D5?
Например, в 10 Gb (xgmii) несколько иная она -
FB 55 55 55 55 55 55, затем D5.
А по поводу клока GTX_CLK - идея кстати не плохая, использовать DDR.
Сейчас еще немного покопался в описании на Etherent - вот нашел такие таблички (правда они для MII, для RGMII ничего нет):
И вот там, что RX_DV, что TX_EN - устанавливаются именно вместе с первым байтом преамбулы (который 0x55)
И еще по поводу клока, у Альтеры есть такой апликейшн ноут - AN 477: Designing RGMII Interfaceswith FPGAs and HardCopy ASICs
Так там написано, что необходимо дополнительно настраивать внешний PHY на прием клока. Если не настраивать - то необходимо самому сдвигать фазу выходного клока на 90 градусов.
Кто как делает: настраиваете PHY или двигаете клок?
Цитата(XVR @ Oct 9 2017, 13:24)

Все правильно. Заметьте - TX_EN является входом PHY, а RX_DV - выходом PHY. Так что не удивительно, что логика разная.
TX_EN должен сопровождать все данные, передаваемые в PHY. Он от себя в выходной поток ничего не добавляет.
Например в xgmii логика одинаковая, что на прием, что на передачу. Плюс к тому, что считать данными? Преамбула, CRC, END FRAME BYTE тоже данные или нет?
Сообщение отредактировал gin - Oct 9 2017, 12:41
Эскизы прикрепленных изображений