Всем доброго времени суток!!!
XILINX во всех своих примерах для PCIe с использованием DMA применяет стороннюю корку от "Northwest Logic" - "DMA Back-End Core". Лицензию на ее XILINX не дает... Из множества примеров, просмотренных мной, не один не являлся полным... - в каждом частично отсутствует часть файлов. Конечно можно немножко попыхтеть и догенерировать недостающие файлы, но....
Я решил по-быстрому проверить имеющуюся "DMA Back-End Core". Из различных проектов "выдрал" packet_dma v1_08, как full так и eval. В "core gen" я сгенерировал PCIe - endpoint gen2 4x, запустил сгенерированный пример(на kc705) - все работает. Втянул в проект корку "DMA Back-End Core"(full) и прикрутил ее к endpoint - при синтезе сразу выдало ошибку об отсутствии лицензии.... Заменил "DMA Back-End Core"(full) на "DMA Back-End Core"(eval) - синтез прошел. Залил в ПЛИС... и получил непонятный результат.... Линк по PCIe устанавливается (вижу по светодиоду) но ПС не стартует -похоже что какой-то конфликт на PCIe и БИОС не работает... (не работает клава, нет видеосигнала с видеокарты). Стоит мне заресетить плату - ПС начинает запускаться!!!
В чем может быть дело? Кто может помочь? А-то TLP-пакет самому разбирать(собирать) не хоч. - да и не так уж просто это. Корка из EDK мне не очень подходит(я ее уже проверил и протестировал) - на ее основе строить систему реального времени не совем удобно...