Kostochkin 0 19 марта, 2021 Опубликовано 19 марта, 2021 · Жалоба Здравствуйте. Xilinx, US+. Есть ядро PCS 10Gbase-r 32бита для трансивера PHY. В симуляции в vivado 2018.2 работает, выход трансивера замыкаю на вход, получаю на шине RX xgmii пакеты, посланные с TX xgmii. Теперь перегенерировал трансивер и установил байпасс TX и RX вместо эластичных буферов и соответственно синхронные gearbox, синхронизация в автоматическом режиме. Сделал стейт машину bitslip для RX как указано в мануале. Клоки rxuserclk и rxuserclk2 подключил к txuserclk и txuserclk2, установил TX master bypass, RX - slave bypass, установил параметры, как указано в мануале. После того как пришел tx_reset_done дожидаюсь поднятия GTYE4_CHANNEL_TXSYNCDONE. Следом опускаю rx_reset, жду rx_reset_done, начинается синхронизация по bitslip. Но в симуляции выравнивание через bitslip не происходит, постоянно сыпятся неверные преамбулы. Функцию битслип делаю так: если пришла верная преамбула, инкрементирую счетчик верных преамбул, если пришла неверная преамбула, сбрасываю счетчик верных преамбул, поднимаю GTYE4_CHANNEL_RXGEARBOXSLIP на один такт, жду 16 тактов и всё заново. Синхронизация при достижении счетчиком верных преамбул 64. Но этого не происходит. Где-то какой-то рассинхрон. Может кто этим занимался, подскажите что я упустил? Прилагаю картинки. Благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться