реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблемы с ECP5-5G Versa Development Kit, Странное поведение SERDES
Pavel_I
сообщение Nov 5 2017, 21:44
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 27-06-05
Из: Москва
Пользователь №: 6 325



Добрый день!

По акции была приобретена данная плата что-бы поиграться с PCI-Express.
Начал с демонстрационных проектов, которые не заработали.
Засомневался в работоспособности SERDES и электрических соединений на пути к PCI-е разъему.

В моем варианте ПЛИС четыре SERDES устройства.
Тогда с помощью SERDESEyeDemo проекта решил проверить их работоспособность.
В оригинале SERDESEyeDemo использует DCU0 CH1. И в такой конфигурации все работает, как и должно быть. Т.е. передатчик передает, приемник принимает, как с
Internal Loopback так и c External Loopback.

Дальше в проекте стал менял SERDES.
Во-первых, выяснилась такая особенность.
У каждого SERDES имеется Receive CDR Loss of Lock, который, насколько понимаю, показывает есть ли синхронизация с примаемым потоком.
Так вот в оригинальном SERDESEyeDemo (DCU0 CH1) все работает объяснимо – есть поток на входе – есть синронизация, нет потока – нет синхроницации.
Для остальных трех SERDES, что есть поток, что нету, показывает, что есть синронизация. Смотрю это в Reveal Analyzer SERDES Debug, а также на отладочном светодиоде.

Для двух SERDES из DCU1 могу использовать только Internal Loopback. И они в принципе работают.
SERDES CH0 из DCU0, который ответственен за PCI-Express с Internal Loopback тоже принимает, но когда делаешь External Loopback принимать совсем не хочет.
Хотя передатчик передает (смотрю осциллографом), и детектор сигнала на входе показывает, что он есть.

Вообщем, происходят странные вещи, с которыми непонятно, что делать.
Остается два предположения. Либо делаю что-то не так. Либо ПЛИС имеет дефект в SERDES юнитах, во что верится с трудом.

Может кто сталкивался с подобным? Или может что-то еще посоветовать.

В принципе, могу предоставить прошивки для ПЛИС. Возможно кто-то еще располагает аналогичной платой и сможет посмотреть, как она себя ведет.
Также, если у кого-то заработали-не заработали демо проекты для PCI-e, то было бы также интересным узнать про это.


Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 6 2017, 12:32
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 098
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Не вижу в тексте результата проверки PCI-E Demo прошивки. Вижу что пробовалось. Но какой конкретно результат? А то "сомневаюсь что работает" - как это понимать? У меня на ECP3 все прекрасно пахало, но это совсем другая плата конечно.

Устройство не видится вообще? И как проверялось его наличие? Это смешные вопросы, но не обладая опытом работы с этой шиной, можно произвольно трактовать отсутствие работы...


--------------------
Go to the top of the page
 
+Quote Post
Pavel_I
сообщение Nov 6 2017, 21:57
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 27-06-05
Из: Москва
Пользователь №: 6 325



Цитата(AVR @ Nov 6 2017, 16:32) *
Не вижу в тексте результата проверки PCI-E Demo прошивки. Вижу что пробовалось. Но какой конкретно результат?


Компьютер никак не реагирует на вставленную плату. Пробовал на двух разных. Сами слоты PCI-E компьютеров проверял сетевой карточкой. С ними все в порядке.
Светодиоды на плате, например Data Link up, не демонстрируют какую-либо активность.

Битстрим для FPGA заливал в загрузочную флеш.
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 7 2017, 06:28
Сообщение #4


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 098
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Pavel_I @ Nov 7 2017, 00:57) *
Светодиоды на плате, например Data Link up, не демонстрируют какую-либо активность

Надеюсь это достаточный признак. Хорошо, какая операционная система проверялась? Где искалась карточка? Я бы запустил Linux и смотрел там в dmesg и lspci.
Какой версии порты? Можно сюда модели материнских плат? Нужно понять насколько они стары или новы.
Могу ошибаться, но spread spectrum в биосе включен или выключен для клоков?
Эта отладочная плата тактирует порт от встроенного генератора или от клоков с материнской платы?

Цитата(Pavel_I @ Nov 7 2017, 00:57) *
Битстрим для FPGA заливал в загрузочную флеш

Что, если загрузить битстрим в ПЛИС через JTAG без флэша и перезагрузить компьютер (именно ребут, а не выключить и включить)?
Вдруг оно не взлетает при подаче питания при включения компьютера? А если зашить на лету, и перезагрузиться, то всё будет как надо?


--------------------
Go to the top of the page
 
+Quote Post
Inanity
сообщение Nov 7 2017, 08:27
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(Pavel_I @ Nov 7 2017, 00:57) *
Битстрим для FPGA заливал в загрузочную флеш.


Пробуйте, как говорит AVR. Таймаут при инициализации на PCIe 100ms. ПЛИС банально может не успевать подтянуть конфигурацию из флешки после подачи питания.

Сообщение отредактировал Inanity - Nov 7 2017, 08:27
Go to the top of the page
 
+Quote Post
Pavel_I
сообщение Nov 8 2017, 21:31
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 27-06-05
Из: Москва
Пользователь №: 6 325



Цитата(AVR @ Nov 7 2017, 10:28) *
Хорошо, какая операционная система проверялась? Где искалась карточка? Я бы запустил Linux и смотрел там в dmesg и lspci.
Какой версии порты? Можно сюда модели материнских плат? Нужно понять насколько они стары или новы.
Могу ошибаться, но spread spectrum в биосе включен или выключен для клоков?
Эта отладочная плата тактирует порт от встроенного генератора или от клоков с материнской платы?

Что, если загрузить битстрим в ПЛИС через JTAG без флэша и перезагрузить компьютер (именно ребут, а не выключить и включить)?
Вдруг оно не взлетает при подаче питания при включения компьютера? А если зашить на лету, и перезагрузиться, то всё будет как надо?


Система Win 7/64
Согласно документации система должна сообщить о новом устройстве. Этого не происходит. И в девайс менеджере новых устройств не появляется.
Linux пробовал. Там тоже никакой реакции.

Обе материнки на Intel H81 Express. У одной слот PCI-E x1, у другой mini-PCI-E (использовал переходник).
Spread spectrum опции в биосе нет.
К сожалению, под рукой пока нет других компьютеров. Нынче ноутбуки у всех в округе.

Плата тактирутся с материнки. Судя по LOCK светодиоду генератора клоков, клок с материнки приходит.
Пробовал шить по-разному и перегружать. Работать упорно не хочет.

Еще такой момент.
Слот PCI-E x1, а плата может x2. Вот не знаю, может ли она автоматом переключится на нужную скорость?

Цитата(Inanity @ Nov 7 2017, 12:27) *
...Таймаут при инициализации на PCIe 100ms. ПЛИС банально может не успевать подтянуть конфигурацию из флешки после подачи питания.

Это уже в прошивку надо править. Пока не дошел до этого.
Пока склоняюсь, что проблема все-таки на железном уровне.
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 9 2017, 07:52
Сообщение #7


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 098
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Pavel_I @ Nov 9 2017, 00:31) *
Linux пробовал. Там тоже никакой реакции.

Что означает "никакой реакции"? Как было установлено, что ничего не появилось? Это важный момент.
Прошу прислать вывод команды dmesg прикрепленный к сообщению (ибо там много текста).
Причем, предлагаю записать два вывода dmesg > output1.txt и dmesg > output2.txt, первый раз когда карта стартует из флэшки, а второй раз когда она перезагрузилась от JTAG. Если записать еще dmesg > output3.txt когда вообще карточка вытащена, то есть некоторый шанс, что мы увидим разницу, и может быть даже причину.

Цитата(Pavel_I @ Nov 9 2017, 00:31) *
Еще такой момент.
Слот PCI-E x1, а плата может x2. Вот не знаю, может ли она автоматом переключится на нужную скорость?

1.0 и 2.0 или речь именно про x1/x2 число линий? По этой части, до PCI-E 4.x, в этом месте всё должно быть совместимо. Да даже в PCI-E 4.x можно вставлять карточки от 1.0 до 4.0, если речь про скорость - всё автоматом подстраивается по стандарту вообще. Если речь про x1/x2 то карточку x16 можно воткнуть в x1 порт через пассивный переходник и тоже будет хорошо, по стандарту. В этом плане это замечательный стандарт, без идиотских ограничений, к счастью.

Я работал с PCI-E на Lattice, правда на ECP 3, помню что там можно вытащить больше статусов и состояний, и прямо на светодиоды. А еще лучше, сделать некоторый буфер для быстрого накопления различных переходов состояния ядра при включении, а затем накопленную информацию можно вывалить через медленный UART. Есть там и аналог SignalTap/ChipScope свой - можно и его задействовать.


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th November 2017 - 15:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01249 секунд с 7
ELECTRONIX ©2004-2016