Перейти к содержанию

    

сигнал tx_cred в Pcie IP Core альтеры

У 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, непосредственно картинка с сигналтапа:

post-52845-1516733557_thumb.jpg

Здесь вообще странно, по линии rx приходят запросы на запись и на чтение. В ответ на чтение я в линию tx возвращаю пакеты completion.

Все пять пакетов по линии tx на картинке - это ответы на чтение.

(Для completion пакетов у меня бесконечные кредиты)

В линию tx я запросы на запись и запросы на чтение не посылаю, но при этом i_tx_cred_posted_header и i_tx_cred_posted_data увеличиваются.

Разъясните пожалуйста что это за кредиты такие))

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Есть сигналы готовности rx_st_ready и tx_st_ready, их и используйте.

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

 

Запускаю пересылку данных по pcie, нагрузка порядка 20 Гигабит/с. Частая запись со стороны ПЛИС и чуть пореже чтение из памяти ПК.

Сигнал tx_st_ready иногда перещелкивается в 0, в такие моменты за два такта (как рекомендует альтера) прекращаю посылку пакетов в tx линию.

Через какое то время (может 10 минут, может 30 минут) сигнал tx_st_ready падает навсегда.

Пересматриваю последние транзакции, никакого криминала не вижу, все формирую в соответствии со стандартом.

Из-за чего то же падает корка, вот и решил разобраться с tx_cred, может я лимиты превысил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел у себя ошибку в формировании сигнала tx_st_empty для pcie ядра альтеры. Исправил, теперь pcie не отваливается.

Использую только tx_st_ready, а с tx_cred так и не разобрался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация