Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сигнал tx_cred в Pcie IP Core альтеры
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
novartis
У Pci Express IP Core у Альтеры есть сигналы tx_cred для шести типов буферов: posted header, posted data, non-posted header, non-posted data, completion header, completion data.

Я использую только запись и чтение, поэтому для меня
Posted header и posted data - это Memory Write Request
Non-posted header - это Memory Read Request

Так вот вопрос, что за цифры в сигналах tx_cred?
Они постоянно увеличиваются.
Посылаю Memory Write - tx_cred Posted header и posted data увеличиваются.
Посылаю Memory Read - tx_cred Non-posted увеличивается.

Сигнал header имеет ширину 8 бит, до 255 доходит и перепрыгивает на 0.
Я понять не могу, что это за кредиты такие и как их учитывать у себя в Application Level?
Сначала думал, что это заполненность фифо, но оно ж не уменьшается...


Использую Аррию 10, непосредственно картинка с сигналтапа:
Нажмите для просмотра прикрепленного файла
Здесь вообще странно, по линии rx приходят запросы на запись и на чтение. В ответ на чтение я в линию tx возвращаю пакеты completion.
Все пять пакетов по линии tx на картинке - это ответы на чтение.
(Для completion пакетов у меня бесконечные кредиты)
В линию tx я запросы на запись и запросы на чтение не посылаю, но при этом i_tx_cred_posted_header и i_tx_cred_posted_data увеличиваются.
Разъясните пожалуйста что это за кредиты такие))




Viktorr
Есть сигналы готовности rx_st_ready и tx_st_ready, их и используйте.
novartis
Цитата
Есть сигналы готовности rx_st_ready и tx_st_ready, их и используйте.

Разумеется я их использую...

Запускаю пересылку данных по pcie, нагрузка порядка 20 Гигабит/с. Частая запись со стороны ПЛИС и чуть пореже чтение из памяти ПК.
Сигнал tx_st_ready иногда перещелкивается в 0, в такие моменты за два такта (как рекомендует альтера) прекращаю посылку пакетов в tx линию.
Через какое то время (может 10 минут, может 30 минут) сигнал tx_st_ready падает навсегда.
Пересматриваю последние транзакции, никакого криминала не вижу, все формирую в соответствии со стандартом.
Из-за чего то же падает корка, вот и решил разобраться с tx_cred, может я лимиты превысил...
novartis
Нашел у себя ошибку в формировании сигнала tx_st_empty для pcie ядра альтеры. Исправил, теперь pcie не отваливается.
Использую только tx_st_ready, а с tx_cred так и не разобрался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.