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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Не стартует PCIE корка в Stratix V, Висит в состоянии LTSSM = 00001: Detect.Active.
novartis
сообщение May 31 2016, 07:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Пытаюсь запустить проект для платы XPRESSGX5-LPA7SE-GEN3 от Reflexces.
Я его уже и так и эдак.
Взял пример, который генерится в qsys, его и эксплуатирую.

Вот сигнал тап что показывает:
Прикрепленное изображение


Как я понимаю:
serdes_pll_locked = 1 - частота захвачена, то етсь 100МГЦ с разъема pcie подается,
reset_status = 0 - не под сбросом находится,
npor, perstn = 1 - сброса нет.
А LTSSM = 00001: Detect.Active.

Как это правильно интерпретировать?
Корка не может pcie линки обнаружить или что?
Go to the top of the page
 
+Quote Post
Inanity
сообщение May 31 2016, 18:49
Сообщение #2


Местный
***

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



Здравствуйте.

Что-то у вас на этапе детектирования сторон не проходит. Либо хост не видит плату, либо наоборот. Приёмная сторона терминирование включает для того, чтобы ответная сторона её детектировала. Пробовали ли на другой матери? Не повреждены ли конденсаторы на плате на линиях PCIe? Не знаю как на альтере (думаю там всё так же), надо проверить RX_ELECIDLE пин на корке PCIe, он отвечает за то, что хост увидел плату.

Сообщение отредактировал Inanity - May 31 2016, 18:55
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 1 2016, 06:52
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



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

Решил добавить в сигнал тап еще сигналы (какие то внутренние).
Скомпилил проект, залил, в сигнал тапе вижу LTSSM = 0x0F, то есть плата перешла в нормальное рабочее состояние!
В jungo windriver тоже свою плату вижу, можно драйвер сгенерить.

Тут же перезаливаю прошивку - LTSSM = 0x01.

Опять перезаливаю прошивку - LTSSM = 0x0F.

SDC файл в проект добавлен. Указаны частоты 100МГц - реф клок для pcie, 125МГц - для компонентов реконфигурации трансиверов, 100МГц - для светодиодов.
Тайм квест говорит, что все констрейны удовлетворены.

Что же делать?
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 1 2016, 09:28
Сообщение #4


Местный
***

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



Цитата(novartis @ Jun 1 2016, 09:52) *
Тут же перезаливаю прошивку - LTSSM = 0x01.

Опять перезаливаю прошивку - LTSSM = 0x0F.


А вы перезагружаете хост после заливки прошивки? Я не уверен, что обычный PCIe умеет hotplug (вот expresscard умел). Если ваша плата поддерживает внешнее питание, то по идее нужно питать отдельно от хоста, конфигурировать ПЛИС и только после этого включать хост. Если это невозможно, то нужно каждый раз зашивать конфигурирующую память (И, кстати, если ПЛИСина жирная, то нужно, чтобы она успела законфигурироваться после подачи питания. Там вроде для PCIe 100ms допустимо).

И ещё, насколько я помню, после link training плата должна в состоянии 0x16 находиться, т.е. L0.

Сообщение отредактировал Inanity - Jun 1 2016, 09:34
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Jun 1 2016, 09:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Цитата(novartis @ Jun 1 2016, 09:52) *
Спасибо за ответ!

Решил добавить в сигнал тап еще сигналы (какие то внутренние).
Скомпилил проект, залил, в сигнал тапе вижу LTSSM = 0x0F, то есть плата перешла в нормальное рабочее состояние!
В jungo windriver тоже свою плату вижу, можно драйвер сгенерить.

Тут же перезаливаю прошивку - LTSSM = 0x01.

Опять перезаливаю прошивку - LTSSM = 0x0F.

SDC файл в проект добавлен. Указаны частоты 100МГц - реф клок для pcie, 125МГц - для компонентов реконфигурации трансиверов, 100МГц - для светодиодов.
Тайм квест говорит, что все констрейны удовлетворены.

Что же делать?


Добрый день.
После перезаливки конфигурации попробуйте в диспетчере устройств выполнить поиск устройств.
Удачи.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 1 2016, 10:35
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Inanity @ Jun 1 2016, 12:28) *
А вы перезагружаете хост после заливки прошивки? Я не уверен, что обычный PCIe умеет hotplug (вот expresscard умел). Если ваша плата поддерживает внешнее питание, то по идее нужно питать отдельно от хоста, конфигурировать ПЛИС и только после этого включать хост. Если это невозможно, то нужно каждый раз зашивать конфигурирующую память (И, кстати, если ПЛИСина жирная, то нужно, чтобы она успела законфигурироваться после подачи питания. Там вроде для PCIe 100ms допустимо).

Перезагрузка ПК не ведет к сбросу питания на PCIe плате (на моём ПК это так). Но чтобы каждый раз не перезагружаться после перепрошивки FPGA под Windows делал так:
1. До перепрошивки FPGA удаляется драйвер для PCIe устройства.
2. Перепрошивается FPGA.
3. Создаётся новый драйвер.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 1 2016, 16:56
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Цитата
после link training плата должна в состоянии 0x16 находиться, т.е. L0.

Вы опечаталмсь наверно, L0 = 0x0F, я об этом состоянии и писал, что иногда в нормальное рабочее состояние прошиваться стала.

Цитата
После перезаливки конфигурации попробуйте в диспетчере устройств выполнить поиск устройств.

Если плата повисла в L0 = 0x01, то комп ее не видит и все тут, ни поиск в винде в диспетчере устройств не помогает, ни перезагрузка компа.

Цитата
Перезагрузка ПК не ведет к сбросу питания на PCIe плате

Питание для платы сбрасывать и не нужно. Я заливаю не во флешку, а в саму плис (sof файл).
После прошивки я пробовал и перезагружать комп.

Как я понимаю процесс.
Перезагружаем комп, в момент перезагрузки дергается нога perstn на разъеме pcie.
Происходит сброс корки pcie в ПЛИС, сброс компонентов реконфигурации и т.п.
Если бы образ для ПЛИС разворачивался из флешки, то это должно было бы выполниться за 100мс.
Но образ в ПЛИС уже загружен, поэтому требование про 100мс тут удовлетворяется.



Надо попробовать на другой материнской плате...


Хотелось бы рассказать про саппорт в reflexces.com:
на обращение в саппорт сам саппорт отводит себе 48 часов (business hour) - 48 рабочих часов, карл!!
Это 6 рабочих дней!! Ужас...
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 1 2016, 18:58
Сообщение #8


Местный
***

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



Цитата(novartis @ Jun 1 2016, 19:56) *
Вы опечаталмсь наверно, L0 = 0x0F, я об этом состоянии и писал, что иногда в нормальное рабочее состояние прошиваться стала.


Я на xilinx делал, там L0 = 0x16. Наверное у альтеры по другому кодируются состояния LTSSM, хотя странно.

Цитата(novartis @ Jun 1 2016, 19:56) *
Если плата повисла в L0 = 0x01, то комп ее не видит и все тут, ни поиск в винде в диспетчере устройств не помогает, ни перезагрузка компа.


Detect.Active это не начальное состояние, перед ним Detect.Quiet вроде должен быть (у Xilinx там по крайней мере). У вас сброс этот вообще происходит? Не знаю
как в альтере PCIe сделан, но если до 0x01 есть состояния, в которые она не переходит после сброса, то что-то с логикой сброса не так.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 2 2016, 06:08
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



У альтеры L0 = 0x0F. Видимо у каждого по своему.
Прикрепленное изображение


Провел сейчас эксперимент.
На другом компе на другой отладочной плате Stratix IV Dev Kit переразвел ноги pcie. Вместо pcie разъема указал на другие ножки (там второй pcie hard ip core есть), они в воздухе болтаются получается. Рефклок 100МГц подал.
В итоге рефклок захватилась, корка работает, LTSSM циклически переходит 0x00 -> 0x01 -> 0x00 -> 0x01...
Пытается обнаружить ответную сторону, но не удается.

От саппорта жду ответа по поводу IO_STANDARD для pci ног, в даташите только пины были указаны.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 2 2016, 18:19
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Саппорт прислал схему на плату.
На линии tx стоят конденсаторы по 100нФ.
Прикрепленное изображение


В то же время на отладке Stratix V GX FPGA Development Kit Board от альтеры-terasic кондеры по 220нФ.
Прикрепленное изображение


В стандарте на pcie GEN3 написано, что для GEN1 и GEN2 можно ставить 75-265нФ, для GEN3 176-265нФ
Прикрепленное изображение


Где то даже тема была, в которой обсуждали емкость конденсаторв для pcie, не могу найти.

Незнаю с этим или нет связаны мои проблемы.

Но выходит, что для GEN3 совсем всё плохо будет?


PS: исправил опечатки, везде про нанофарады
Go to the top of the page
 
+Quote Post
des333
сообщение Jun 2 2016, 20:31
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Один из вариантов -- не правильно выбран I/O standard для референсного клока.


--------------------
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jun 2 2016, 21:23
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(novartis @ Jun 2 2016, 21:19) *
На линии tx стоят конденсаторы по 100мкФ.
В то же время на отладке Stratix V GX FPGA Development Kit Board от альтеры-terasic кондеры по 220нФ.
В стандарте на pcie GEN3 написано, что для GEN1 и GEN2 можно ставить 75-265мкФ, для GEN3 176-265мкФ

у вас во всех трех картинках емкость правильная (100нФ = 0.1мкФ)
т.е. что 100нФ, что 0.22мкФ вполне в границах допуска, для Gen3 надо не меньше 176нФ
256мкФ - это явно ваша опечатка..

для паранойи, самостоятельно или попросите монтажника внимательно посмотреть монтаж конденсаторов - кондюки бывают лопаются или коротятся по обкладкам/монтажу, что приводит к неработоспособности линии..
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 3 2016, 08:34
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Помогите правильно назначить пины для pcie.
Вот такая схема для pcie ног:
Прикрепленное изображение

Прикрепленное изображение


Сам рефлекс предлагает использовать следующие назначения:
Код
# PCIe Signals
set_location_assignment PIN_AC28 -to pcie_rstn
set_location_assignment PIN_AF34 -to refclk
set_location_assignment PIN_AV38 -to rx_in0
set_location_assignment PIN_AT38 -to rx_in1
set_location_assignment PIN_AP38 -to rx_in2
set_location_assignment PIN_AM38 -to rx_in3
set_location_assignment PIN_AH38 -to rx_in4
set_location_assignment PIN_AF38 -to rx_in5
set_location_assignment PIN_AD38 -to rx_in6
set_location_assignment PIN_AB38 -to rx_in7
set_location_assignment PIN_AU36 -to tx_out0
set_location_assignment PIN_AR36 -to tx_out1
set_location_assignment PIN_AN36 -to tx_out2
set_location_assignment PIN_AL36 -to tx_out3
set_location_assignment PIN_AG36 -to tx_out4
set_location_assignment PIN_AE36 -to tx_out5
set_location_assignment PIN_AC36 -to tx_out6
set_location_assignment PIN_AA36 -to tx_out7

# Misc
set_location_assignment PIN_AK23 -to clk125

# Pin Constraints
set_instance_assignment -name IO_STANDARD "2.5 V" -to pcie_rstn
set_instance_assignment -name IO_STANDARD LVDS -to clk125
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to refclk
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in0
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in1
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in2
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in3
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in4
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in5
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in6
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to rx_in7
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out0
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out1
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out2
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out3
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out4
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out5
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out6
set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to tx_out7


Но с ними pcie встает в состояние LTSSM = 0x01 - Detect.Active, и дальше никуда не движется.

По схеме у рефклока есть внешнее сопротивление 100 Ом, как его наличие указать в квартусе?
По схеме это сопротивление не подключено (nc) и на плате его тоже нет.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 5 2016, 16:59
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Уже во всем ищу причину))

Вот на фото на трассе референс клока какая то грязь, флюс не смыт что ли?
Может это влиять на работу pcie?
Как это дело очистить в условиях обычного офиса (спиртиком протереть или еще чего)?

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 5 2016, 17:14
Сообщение #15


Местный
***

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



Цитата(novartis @ Jun 5 2016, 19:59) *
Уже во всем ищу причину))

Вот на фото на трассе референс клока какая то грязь, флюс не смыт что ли?
Может это влиять на работу pcie?
Как это дело очистить в условиях обычного офиса (спиртиком протереть или еще чего)?


Вроде маской закрыто всё, вряд ли. Водкой смойте, если имеется. Жидкостью для очистки мониторов в небольших количествах. Хуже не будет. Главное всё просушить.

Сообщение отредактировал Inanity - Jun 5 2016, 17:14
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:56
Рейтинг@Mail.ru


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