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

 
 
7 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Ядро PCI Express Block Plus в Virtex 5
serebr
сообщение Dec 4 2009, 04:00
Сообщение #46


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

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



Пока нет времени детально разобраться с приведенными логами.
Первое что приходит в голову - несоблюдение правила 4KB границ адресных диапазонов при формировании запроса (пункт 2.2.7 спецификации). Вторая возможная причина - нарушение границы адресного диапазона для правила Read Completion Boundary (RCB, пункт 2.3.1.1).
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 4 2009, 09:19
Сообщение #47


Гуру
******

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



2 serebr - а не могли бы вы учтонить(пример всмысле)? Потому как в принципе понимаю о чём речь, только не могу понять как это может быть привязано к изменению.
(прицепил выше не логи а полностью прожекты)
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Dec 4 2009, 16:10
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



тоже как-то не хватает времени посмотреть проекты, но упоминание об усечении адреса и 1 dw посылках наводит на следующую мысль: даже если посылается 1 dw, но по байтовому адресу, то придёт 2 dw в payload data, и в first last dw byte enables будут не 1, а 0 и 1 со сдвигом в зависимости от исходного адреса. Адрес в пакете будет усечённый. Пустые байты скорее всего будут заполнены нулями, хотя это зависит от мастера, я в своём их не обнулял.
Может поможет!
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 11 2009, 12:41
Сообщение #49


Гуру
******

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



Новости с полей:
после того как в отправке Completition Header-е поле Lower Address стал наполнять байтовым адресом вырезанным из получаемого (нижние 2 бита меняю согласно спецификации как и раньше) и изменил процедуру отправки прерывания (стало MSI, как по UG) - всё заработало без сбоев.
В обсчем как обычно - нужно внимательно читать ДШ и не пропускать мелочи laughing.gif
Go to the top of the page
 
+Quote Post
serebr
сообщение Dec 11 2009, 12:48
Сообщение #50


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

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



Цитата(Kuzmi4 @ Dec 11 2009, 18:41) *
Новости с полей:
после того как в отправке Completition Header-е поле Lower Address стал наполнять байтовым адресом вырезанным из получаемого (нижние 2 бита меняю согласно спецификации как и раньше) и изменил процедуру отправки прерывания (стало MSI, как по UG) - всё заработало без сбоев.
В обсчем как обычно - нужно внимательно читать ДШ и не пропускать мелочи laughing.gif

Поздравляю! Мне всё это ещё предстоит пройти, но своим путём, т.к. делать надо не на Xilinx'е, а на Lattic'e.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jan 6 2010, 09:05
Сообщение #51


Гуру
******

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



И снова здравствуйте laughing.gif

Имею неприятную специфику работы этого самого PCI Express Block Plus:
Дата-трансферы без прерываний бегают нормально rolleyes.gif
Отсылка прерывания по контрольным точкам (то есть редко) тоже работала нормально с трансферами.
А вот если сделать эти дата-трансферы пачками, упорядочить (запись перед трансфером управляющей информации трансфера-запись/чтение,адрес,длинна), прерывания после обработки трансферов(то есть довольно часто) - тогда возникает этот самый неприятный момент - прога на PC виснет. Проверялось как на Р55 платформе так и (да простят меня Одмины ) на ML370. И была замечена интересная специфика - на серверной платформе зависания начинались после гораздо меньшего числа трансферов чем на Р55 (грубо говоря если на Р55 работало полдня без вопросов, то на серверной после ~100-300 трансферов висли) 07.gif
В результате исследования со стороны корки выяснилось что пред-момент зависона выглядит так: получаю трансфер обрабатываю, отсылаю прерывание,получаю подтверждение от корки, что запрос прерывания от меня воспринят и дальше - тишина, входящих запросов от PC нет.. На стороне PC удалось увидеть пару раз (логи ядра в линухе), что виснем как раз на ожидании прерывания... PCIE анализера нет, чтоб посмотреть ушёл ли пакет в мать или нет, но реально видно что корка работает и рапортует в нормальном режиме и это беспокоит.

Никто не сталкивался с таким чЮдесным функционированием ?? 1111493779.gif
Как вариант - может я там галочки какие пропустил ? smile3046.gif
Скриншоты конфигурирования и автомат отсылки прерывания прилагаю (на PC разрешено 1 прерывание, отсылаю 1 прерывание). Потому что нахожусь в каком то тупике - неясно где поломалось...
Прикрепленный файл  interrupt_block.v ( 2.98 килобайт ) Кол-во скачиваний: 339

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

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

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


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

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

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

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


Прикрепленное изображение
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 11 2010, 11:12
Сообщение #52


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



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

Вы не пробовали ядро PLDA для Virtex-5? Там и тестбенч есть, и обёртка вокруг ядра Endpoint Block Plus.
Ядро можно получить после короткой переписки по e-mail. Затем уговорить ядро работать стандартным образом.
Go to the top of the page
 
+Quote Post
serebr
сообщение Jan 11 2010, 11:17
Сообщение #53


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

Группа: Свой
Сообщений: 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! Само ядро имеется, а с таблеткой для него - труба.
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 11 2010, 16:05
Сообщение #54


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Предполагаю, что ядро PLDA по способу лечения не отличается от IP-ядер Lattice.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jan 12 2010, 09:50
Сообщение #55


Гуру
******

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



Цитата(jojo @ Jan 11 2010, 13:12) *
Всё слежу за новостями борьбы с PCI Express, так всё меньше хочется делать свою обёртку.

Вы не пробовали ядро PLDA для Virtex-5? Там и тестбенч есть, и обёртка вокруг ядра Endpoint Block Plus.
Ядро можно получить после короткой переписки по e-mail. Затем уговорить ядро работать стандартным образом.

С того, что я знаю - ядру от PLDA требуется внешняя физика. Потому не подходит если юзать с трансиверами в виртексе. Или я где то ошибся ?
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 12 2010, 16:52
Сообщение #56


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



В Virtex-5 встроенные трансиверы, кроме краевого разъёма PCI Express и самой ПЛИС ничего не нужно.

Ядро PLDA (точнее одно из ядер) является обёрткой вокруг Endpoint block plus. Endpoint block IP параметризуем в Xilinx Coregen, ядро PLDA параметризуем в визарде PLDA. Затем всё сводим под крышей одного проекта в ISE.
Go to the top of the page
 
+Quote Post
demon_rt
сообщение Aug 22 2010, 19:15
Сообщение #57





Группа: Участник
Сообщений: 13
Регистрация: 20-01-09
Пользователь №: 43 665



У меня такая проблема: устройство на базе Endpoint Block Plus
v1.9 не на всех PC работает в режиме х8. Перепробовал кучу машин с различными мостами. В некоторых материнках, устройство сразу работает на х8, в других при первом включении на х1, а после перезагрузки(помогает кнопка ресет), переходит на х8, в третьих только на х1, и никакая перезагрузка не помогает, не смотря на то, что на материнке написано х8 и в биосе тоже все нормально. Неужели Endpoint Block Plus такой привередливый к типу чипсетов?????
Go to the top of the page
 
+Quote Post
FLTI
сообщение Aug 4 2011, 16:57
Сообщение #58


Местный
***

Группа: Свой
Сообщений: 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,что Вам удалось за год на эту тему выяснить?
Go to the top of the page
 
+Quote Post
dsmv
сообщение Aug 8 2011, 10:37
Сообщение #59


Местный
***

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



Цитата(FLTI @ Aug 4 2011, 19:57) *
Тема привередливости к чипсетам меня тоже интересует.
demon_rt,что Вам удалось за год на эту тему выяснить?


PCI Express платы на основе Xilinx Virtex 5 выпускаем давно. С такими проблемами не сталкивался.
Проверьте:
1. Скорость загрузки ПЛИС - нужна параллельная загрузка.
2. Выводы PCI Express подключены через конденсаторы. Проверьте их, может там попались разные конденсаторы.
Go to the top of the page
 
+Quote Post
FLTI
сообщение Aug 8 2011, 10:49
Сообщение #60


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Цитата(dsmv @ Aug 8 2011, 14:37) *
PCI Express платы на основе Xilinx Virtex 5 выпускаем давно.

Какие реальные скорости получаете для передач "Память ПК->Буферная память на PCIe х 1 плате" ( System Memory Read ) в зависимости от чипсета матери?

Go to the top of the page
 
+Quote Post

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

 


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


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