novartis 0 23 января, 2018 Опубликовано 23 января, 2018 · Жалоба У 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 увеличиваются. Разъясните пожалуйста что это за кредиты такие)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kww0552 0 24 января, 2018 Опубликовано 24 января, 2018 · Жалоба Есть сигналы готовности rx_st_ready и tx_st_ready, их и используйте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 24 января, 2018 Опубликовано 24 января, 2018 · Жалоба Есть сигналы готовности rx_st_ready и tx_st_ready, их и используйте. Разумеется я их использую... Запускаю пересылку данных по pcie, нагрузка порядка 20 Гигабит/с. Частая запись со стороны ПЛИС и чуть пореже чтение из памяти ПК. Сигнал tx_st_ready иногда перещелкивается в 0, в такие моменты за два такта (как рекомендует альтера) прекращаю посылку пакетов в tx линию. Через какое то время (может 10 минут, может 30 минут) сигнал tx_st_ready падает навсегда. Пересматриваю последние транзакции, никакого криминала не вижу, все формирую в соответствии со стандартом. Из-за чего то же падает корка, вот и решил разобраться с tx_cred, может я лимиты превысил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 1 февраля, 2018 Опубликовано 1 февраля, 2018 · Жалоба Нашел у себя ошибку в формировании сигнала tx_st_empty для pcie ядра альтеры. Исправил, теперь pcie не отваливается. Использую только tx_st_ready, а с tx_cred так и не разобрался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться