Динамическое конфигурирование FPGA из хост-программы

Мне было интересно, знает ли кто-нибудь эффективный способ программирования FPGA (PL) для серии Xilinx Zynq-7 или связанных устройств из главной программы C (не на SoC, а с главного ПК). Есть ли API Xilinx, который я могу использовать / включить в свою программу. Единственный способ, которым я могу это сделать на данный момент, - это вызвать программирование из командной строки через Impact.

В основном я хочу поместить функциональность SDK «Program FPGA» в мою программу на C, где пользователь выбирает предварительно созданный файл .bit (и файл .elf, если это возможно) для программирования FPGA / (SoC). Это просто для проверки концепции, позже я хотел бы поместить эту динамическую конфигурацию на один из процессоров ARM.

Большое спасибо Сэм


person Sam Palmer    schedule 20.04.2014    source источник
comment
Вероятно, вы получите лучший ответ на electronics.stackexchange.com.   -  person Oliver Charlesworth    schedule 20.04.2014


Ответы (1)


По крайней мере, вам понадобится промежуточный MPU / MCU, который может читать с USB, поскольку при запуске большинство FPGA вообще не способны на многое. Я предполагаю, что это затруднит поиск пары MPU / библиотека для этого, потому что существует так много вариантов, каждая из которых будет в значительной степени зависеть от приложения. Лучше начать с программирования их на чипе ARM, так как вам в любом случае понадобится процессор с FPGA.

Это кажется несколько полезным.

person cactus1    schedule 20.04.2014
comment
это, вероятно, слишком далеко для того, что мне сейчас нужно, так как я использую ZedBoard, поэтому мне просто нужно сейчас получить доступ к JTAG программно с помощью стандартного Diligent / Xilinx APIS - person Sam Palmer; 20.04.2014
comment
Digilent и Xilinx не предоставляют никакой информации об API для своих драйверов. Проще всего обойти их и найти библиотеку JTAG, которая работает с вашим оборудованием. Другое решение - использовать стандартную последовательную флеш-память и программировать ее, а не напрямую FPGA. - person Kevin Thibedeau; 20.04.2014
comment
Другой вариант, который я нашел, заключался в том, чтобы воспользоваться механизмом частичной реконфигурации и запустить его на процессоре ARM. - person Sam Palmer; 20.04.2014