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

Запуск Arria V GZ transciever с помощью Custom PHY

Всем привет.
Пытаюсь наладить связь между двумя ПЛИС. Для этого использую трансиверы Arria V GZ c data rate 3125 Mbps в режиме gige на основе Standard PCS. 
В качестве IP использую Custom PHY с пресетом GIGE-2.50Gbps (скриншоты настроек во вложении). 

Спойлер

ScreenShot080.thumb.png.5bdfae145d5f5538dcf7edb2f54bbb2f.pngScreenShot081.thumb.png.ad5f833f6da55bce28d6b8eeeb27c677.png


Но в результате, отправив пакет, я получаю нечто похожее по структуре, но совершенно с другими значениями. Пример отправленного и принятого куска пакета во вложении.

Спойлер

 

ScreenShot077.thumb.png.dade7c8bc0d9d76391cfdba8ee79b51c.png

ScreenShot079.thumb.png.56257750741f81da43bf9b4d55084674.png

 

Насколько я понял, приемник не может синхронизироваться (rx_syncstatus всегда равен 0). 
Собственно сам вопрос. Если Word Aligner настроен в режим  Automatic synchronization state machine mode, должен ли я сам генерировать какие-то кодовые группы для синхронизации? 
На данный момент, к каждому пакету я добавляю только FB (Start of Packet), FD (End of Packet) и устанавливаю tx_datak (т.е. control signal).

Буду очень благодарен любой помощи.

 

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


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

Да, должны. Ну, насколько мне известно. Для начала рекомендую утащить корку в симулятор и там поиграться с параметрами и сигналами.

Но, если хочется сразу в железо - надо не только поднять tx_datak но и в данные засунуть константу BC (в каждую линию). Это будет соответствовать синхрослову K28.5, если не ошибаюсь. И, после того, как увидите, что у вас на константе приемник-передатчик поднялись - пытаетесь толкать данные.

Ну и, выравнивающие фифошки я бы выбросил, для упрощения.

А, ну и, кроме сигнала rx_sync стоит мониторить остальные статусные сигнальчики. Уже точно не помню, но они показывают захват несущей, битовую ошибки и что-то еще. Довольно полезная информация.

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


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

Спасибо за ответ.

9 минут назад, nice_vladi сказал:

надо не только поднять tx_datak но и в данные засунуть константу BC (в каждую линию). Это будет соответствовать синхрослову K28.5, если не ошибаюсь. И, после того, как увидите, что у вас на константе приемник-передатчик поднялись - пытаетесь толкать данные.

Буду пробовать. Меня смущает, что при решении аналогичной задачи, только не на Standard PCS, а на 10G PCS, я не вставлял константу BC и при этом все работало. Я точно так же выставлял там константы FB и FD, а во время отсутствия данных каждый байт parallel_data устанавливал в 07. Почему интересно так? Там блок какой-то есть дополнительный для синхронизации? Или кодирование 64/66 как-то по другому функционирует и не требует синхрослова?

 

14 минут назад, nice_vladi сказал:

А, ну и, кроме сигнала rx_sync стоит мониторить остальные статусные сигнальчики.

rx_lockedtodata и rx_lockedtoref устанавливаются в единицу, rx_patterndetect всегда в нуле, rx_disperr иногда устанавливается в единицу. Я подумал, что это все следствие отсутствия синхронизации.
Сигналы переполнения разных fifo всегда в нуле. rx_ready и tx_ready - 1.

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


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

Для 64/66 другие сервисные слова. Но могу ошибаться - не использовал никогда такое кодирование.

Вообще,у Альтеры есть куча design examples почти на все основные блоки. Погуглите, их вики посмотрите. Там прям полный проект.

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


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

35 minutes ago, nice_vladi said:

Альтеры есть куча design examples почти на все основные блоки. Погуглите, их вики посмотрите. Там прям полный проект.

alterawiki спрятан теперь глубоко, у меня ни одна страница не открывается из избранного. И екземлы пятых серий они начинают активно уже подрезать из инета зачем то.

 

36 minutes ago, nice_vladi said:

Для 64/66 другие сервисные слова. Но могу ошибаться - не использовал никогда такое кодирование.

случайно не для xgmii речь? FB FD

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


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

24 минуты назад, new123 сказал:

случайно не для xgmii речь? FB FD

А синхрослово там какое не 07 случайно?

1 час назад, nice_vladi сказал:

Вообще,у Альтеры есть куча design examples почти на все основные блоки. Погуглите, их вики посмотрите. Там прям полный проект.

Для Custom PHY нашел только простой проект на Сyclon V c data rate 1000 Mbps. Но там нет пакетной передачи.
Там, как вы сказали в отсутствие rx_syncstatus подается BC, как только появляется rx_syncstatus -- отправляют данные (просто счетчик).
Я уже попробовал так, у меня на приеме появились стабильные данные BC, но rx_syncstatus все равно ноль (появился только rx_pattern_detect, что уже неплохо:).

На самом деле я немного запутался, не очень понятно, что за pattern указывается в настройках Custom PHY в Word Aligner. Зачем собственно он нужен, если есть кодовые группы в стандартах. Или это вообще разные вещи?
Помимо этого почему-то в хэндбуке Arria V слабо описан процесс синхронизации, если этот процесс не выполняется трансивером и я сам должен его делать, то почему тогда сигналы синхронизации, захвата паттерна опциональные? Как будто они и не особо то нужны.

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


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

4 hours ago, Perdachillo said:

А синхрослово там какое не 07 случайно?

я вот именно с таким решением дела не имел, только с готовым 10g base. Там синхронятся передачу данных по набору 55 55 55 55 55 55 5D, как в обычном Ethernet преамбула. А 07 выставляется, когда данных нет. Но вроде вы 55 выставляете в начале после FB. Я вообще думаю, что sdc не заполнили и у вас все поплыло. Кстати говоря, речь мы ведем про 64/66, а вы выставили 8/10.

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


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

7 hours ago, Perdachillo said:

... у меня на приеме появились стабильные данные BC, но rx_syncstatus все равно ноль (появился только rx_pattern_detect, что уже неплохо:) ...

"Пилите, Шура, пилите" =)))

Нужно добиться, что бы все сигналы были "правильные", на константе. Это прям 100%

7 hours ago, Perdachillo said:

На самом деле я немного запутался.

Можете попробовать забросить вообще ВСЕ навороты и оставить только трансиверы + FSM синхронизации. Которые полностью содрать из примера. Можно даже одну линию оставить - 8 бит. И скорость маленькую. Что бы проверить, что у вас в-принципе, железо работает. Я бы так сделал.

3 hours ago, new123 said:

 Я вообще думаю, что sdc не заполнили и у вас все поплыло..

Да там .sdc автоматически подсосвывается, в комплекте с ядром. Хотя, стоит лишний раз перепроверить.

 

Ну и, ПС: после того, как заработает лучше всего проверить надежность линка PRBS ~2^32, погонять ее минут 15-30. А то потом надо будет обратно возращаться, если ошибки начнут сыпаться.

И ППС: засуньте его в квесту. В квартусе замучаетесь по 10 раз пересобирать, что бы посмотреть, какие параметры на что влияют.

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


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

15 часов назад, nice_vladi сказал:

"Пилите, Шура, пилите" =)))

На счет 8'hBC вы оказались правы.
В промежутках между пакетами я выставлял 8'h07 (поскольку до этого делал связь на 10G PCS и там нужно выставлять именно эту кодовую группу).
Мне в голову не пришло, что у Standard PCS другой символ запятой - 8'hBC.
Помимо этого я еще не сразу въехал, что эти группы не просто разделяют пакеты, но и являются синхрословом для трансивера.
Короче, сейчас вроде все заработало, но с отвалами, возможно, дело в SFP модулях. Буду дальше кувыряться.
Спасибо)

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


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

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

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

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

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

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

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

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

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

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