Добрый день!
Имеется плата KC705, Vivado 2018.2, 1G/2.5G Ethernet PCS/PMA Core, sfp d-link 1000 base-x, оптика и коммутатор d-link с портами 100/1000М и 1G/10G.
Ядро 1G/2.5G Ethernet PCS/PMA Core сконфигурировано под режим 1000base-x with auto-negotiation(configuration vector и mdio inetrface).
Если configuration_vector = 5'b00000 (то есть без auto-negotiation), то линк с портом коммутатора 100/1000М есть, а с 1G/10G портом коммутатора линка нет. Я думаю, что там где порт коммутатора 1G/10G есть auto-negotiation, поэтому включаю auto-negotiation через configuration_vector = 5'b10000 и an_adv_configuration = 0x0821(и другими значениями), но линка по-прежнему нет. Немного непонятно в каком порядке нужно выставлять сигналы валидности configuration_vector_val, an_adv_configuration_valid и an_restart_configuration, я пробовала в разных, но к сожалению линка нет (не горит светодиод на коммутаторе, а также status_vector = 0x0806, на rx_data = (bc,42,00,00,bc,b5)). Тогда через mdio я прописала в ядро:
Register 0 - 0x1140 (чтобы включить auto-negotiation)
Register 4 - 0x0020 (чтобы включить full duplex mode)
Register 0 - 0x9140 (чтобы ресетнуть ядро)
Register 0 - 0x1340 (чтобы перезапустить auto-negotiation)
но линка по-прежнему нет. Еще почему-то при чтении через mdio Регистра 5, который говорит о auto-negotiation link partner ability, получаю только 0. Кто-нибудь сталкивался с подобной проблемой отсутствия линка? Или предполагает в чем может быть причина?