Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пропажа TLP пакетов в PCI-E EndPoint Block PLus (Virtex-5)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Anatol'
В общем, есть плата с XC5VLX30T, во всю используется DMA через PCI-express...
Изначально Endpoint Block Plus for PCI Express был сгенерён с частотой интерфейса 250 МГц, всё нормально работало, но по мере заполнения кристалла всякой дополнительной фигнёй, разводка всё реже и реже стала укладываться в констреинты, пока это не стало выглядеть совсем печально.
Было решено пересоздать этот блок с частотой интерфейса 125 МГц. После этого на двух из трёх рабочих машин всё продолжило прекрасно работать, а на одной (мать P5WDG2 WS PRO) радостно зависло.
Раскопки с чипскопом показали, что при чтении из памяти через DMA страницы размером 4К стабильно и всегда пропадают два TLP-пакета данных.
Пропадают в произвольном месте, вроде бы обычно ближе к концу страницы, вроде всегда не подряд, всегда два.

В readme к Endpoint Block Plus обнаружено вот такое вот known issue:
- TLP dropped on receive interface due to Completion Streaming Issue
o CR 473226
Completion TLP getting dropped on receive interface due to receiver
overflow when using Completion Streaming mode.

Вроде похоже, но фиг знает.

Кто-нибудь сталкивался с чем-то подобным?
Есть какие-нибудь мысли?
Kuzmi4
2 Anatol'
Мучал этот же Endpoint на Corei7 матери и на HP server-е - пакеты не пропадали. Пропадали MSI прерывания.
Посмотрите на мониторинг Credit Flow. Там если отступать от спецификации PCIE (я думаю что так типа лучше laughing.gif будет) - бывают чудеса rolleyes.gif
Anatol'
2 Kuzmi4
Спасибо за наводку! smile.gif

Излечилось установкой в Advanced Flow Control Credit Options галочки Advertise Non-Infinite completion Credits.

PS Кстати, интересный вывод получается: Несмотря на уверения Xilinx'а, что 125 МГц интерфейса хватает на полное покрытие пропускной способности PCI-express 4x, их корка с потоком нихрена не справляется.
Xilinx'овцы об этом прекрасно знают, но что-то предпринимать не торопятся - по крайней мере с версии 1.10 по 1.13 этот косяк стоит в Known Issue, но не исправлен.
Грустно, господа crying.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.