|
|
  |
Ядро PCI Express Block Plus в Virtex 5 |
|
|
|
Dec 11 2009, 12:48
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Цитата(Kuzmi4 @ Dec 11 2009, 18:41)  Новости с полей: после того как в отправке Completition Header-е поле Lower Address стал наполнять байтовым адресом вырезанным из получаемого (нижние 2 бита меняю согласно спецификации как и раньше) и изменил процедуру отправки прерывания (стало MSI, как по UG) - всё заработало без сбоев. В обсчем как обычно - нужно внимательно читать ДШ и не пропускать мелочи  Поздравляю! Мне всё это ещё предстоит пройти, но своим путём, т.к. делать надо не на Xilinx'е, а на Lattic'e.
|
|
|
|
|
Jan 6 2010, 09:05
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
И снова здравствуйте Имею неприятную специфику работы этого самого PCI Express Block Plus: Дата-трансферы без прерываний бегают нормально Отсылка прерывания по контрольным точкам (то есть редко) тоже работала нормально с трансферами. А вот если сделать эти дата-трансферы пачками, упорядочить (запись перед трансфером управляющей информации трансфера-запись/чтение,адрес,длинна), прерывания после обработки трансферов(то есть довольно часто) - тогда возникает этот самый неприятный момент - прога на PC виснет. Проверялось как на Р55 платформе так и (да простят меня Одмины ) на ML370. И была замечена интересная специфика - на серверной платформе зависания начинались после гораздо меньшего числа трансферов чем на Р55 (грубо говоря если на Р55 работало полдня без вопросов, то на серверной после ~100-300 трансферов висли) В результате исследования со стороны корки выяснилось что пред-момент зависона выглядит так: получаю трансфер обрабатываю, отсылаю прерывание,получаю подтверждение от корки, что запрос прерывания от меня воспринят и дальше - тишина, входящих запросов от PC нет.. На стороне PC удалось увидеть пару раз (логи ядра в линухе), что виснем как раз на ожидании прерывания... PCIE анализера нет, чтоб посмотреть ушёл ли пакет в мать или нет, но реально видно что корка работает и рапортует в нормальном режиме и это беспокоит. Никто не сталкивался с таким чЮдесным функционированием ?? Как вариант - может я там галочки какие пропустил ? Скриншоты конфигурирования и автомат отсылки прерывания прилагаю (на PC разрешено 1 прерывание, отсылаю 1 прерывание). Потому что нахожусь в каком то тупике - неясно где поломалось...
interrupt_block.v ( 2.98 килобайт )
Кол-во скачиваний: 339
|
|
|
|
|
Jan 11 2010, 11:17
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Цитата(jojo @ Jan 11 2010, 17:12)  Всё слежу за новостями борьбы с PCI Express, так всё меньше хочется делать свою обёртку.
Вы не пробовали ядро PLDA для Virtex-5? Там и тестбенч есть, и обёртка вокруг ядра Endpoint Block Plus. Ядро можно получить после короткой переписки по e-mail. Затем уговорить ядро работать стандартным образом. Вот бы уговорить работать ядро PCIe от PLDA для Lattice! Само ядро имеется, а с таблеткой для него - труба.
|
|
|
|
|
Aug 22 2010, 19:15
|
Группа: Участник
Сообщений: 13
Регистрация: 20-01-09
Пользователь №: 43 665

|
У меня такая проблема: устройство на базе Endpoint Block Plus v1.9 не на всех PC работает в режиме х8. Перепробовал кучу машин с различными мостами. В некоторых материнках, устройство сразу работает на х8, в других при первом включении на х1, а после перезагрузки(помогает кнопка ресет), переходит на х8, в третьих только на х1, и никакая перезагрузка не помогает, не смотря на то, что на материнке написано х8 и в биосе тоже все нормально. Неужели Endpoint Block Plus такой привередливый к типу чипсетов?????
|
|
|
|
|
Aug 4 2011, 16:57
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(demon_rt @ Aug 22 2010, 23:15)  У меня такая проблема: устройство на базе Endpoint Block Plus v1.9 не на всех PC работает в режиме х8. Перепробовал кучу машин с различными мостами. В некоторых материнках, устройство сразу работает на х8, в других при первом включении на х1, а после перезагрузки(помогает кнопка ресет), переходит на х8, в третьих только на х1, и никакая перезагрузка не помогает, не смотря на то, что на материнке написано х8 и в биосе тоже все нормально. Неужели Endpoint Block Plus такой привередливый к типу чипсетов????? Тема привередливости к чипсетам меня тоже интересует. demon_rt,что Вам удалось за год на эту тему выяснить?
|
|
|
|
|
Aug 8 2011, 10:37
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(FLTI @ Aug 4 2011, 19:57)  Тема привередливости к чипсетам меня тоже интересует. demon_rt,что Вам удалось за год на эту тему выяснить? PCI Express платы на основе Xilinx Virtex 5 выпускаем давно. С такими проблемами не сталкивался. Проверьте: 1. Скорость загрузки ПЛИС - нужна параллельная загрузка. 2. Выводы PCI Express подключены через конденсаторы. Проверьте их, может там попались разные конденсаторы.
|
|
|
|
|
Aug 8 2011, 10:49
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(dsmv @ Aug 8 2011, 14:37)  PCI Express платы на основе Xilinx Virtex 5 выпускаем давно. Какие реальные скорости получаете для передач "Память ПК->Буферная память на PCIe х 1 плате" ( System Memory Read ) в зависимости от чипсета матери?
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|