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

сигнал 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 так и не разобрался.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...