Перейти к содержанию
    

Xilinx GTY transceiver mode bypass buffer

Здравствуйте.
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.
Но этого не происходит. Где-то какой-то рассинхрон.
Может кто этим занимался, подскажите что я упустил?
Прилагаю картинки.

 

Благодарю.

ps1.jpg

ps2.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...