Столкнулся с проблемой отладки PCIe аппаратного блока Virtex-5. Свой контроллер осуществляет чтение из памяти PC по pcie - отправляет mrd запросы, ждёт cpld ответы. Если обмен типа - запрос передачи блока (размер до 1 мбайта, не влияет), затем ожидание окончания, затем следующий запрос - всё нормально. Если ожидания нет и чтение идёт непрерывно - виснет винда, а обмен идёт! Чипскоп показывает непрерывный поток cpld в ответ на mrd запросы. Конфигурация блока - completion streaming, до 32 запросов на чтение перед получением первого ответа. Где можно поискать ошибку? Уже и идей то не осталось, всё проверил. За состоянием буферов на материнке следил чипскопом, в нуле только non-posted data, причём всегда. Передача данных в память PC спокойно идёт на полной скорости (mwr запросы).
|