программатор fpga
Есть вопросы ? Напишите нам.
Для начала работы FPGA-процессора необходимо его конфигурирование, то есть построение из равномерно расположенных ячеек, определенного объекта, управляющего сигналами, преобразующего их или управляющего по заданным алгоритмам. Основой работы любого конфигурирования остается соединяющее звено между идеей проектировщика и реальной микропроцессорной матрицей – программатор. Но сначала следует немного рассказать о самых популярных и трендовых версиях FPGA-микропроцессоров, для которых используются эти универсальные помощники авторов программируемых процессоров – программаторы.
Знакомимся: семейство FPGA от Xilinx
Одна из популярных версий программируемых логических интегральных схем –продукция компании Xilinx. Разработчики Xilinx изначально создавали продукцию с оптимальной ценой и максимальной функциональностью:
-
Artix 7 FPGA – оптимизированный вариант программируемого микропроцессора с минимальным потреблением энергии и минимальной ценой, в основном применяется в массовом производстве;
-
Kintex 7 FPGA – инновационное решение для создания практически идеального баланса цена/качество/функциональность;
-
Virtex 7 FPGA – самая высокая производительность с использованием миниатюризированных стековых межсоединений SSI;
Zynq FPGA объединяет микропроцессор, модуль для работы микропроцессора и периферию для его «разворачивания». Alinx FPGA-платы сочетают в себе стандартный набор для обеспечения работы программируемого процессора: FLASH-память, сам программируемый процессор, периферийные устройства.
Использование внешнего интерфейса: просто подключите USB
В классической версии, для общения между FPGA используется простое USB-устройство в виде соединительного интерфейса.
Большинство моделей использует в качестве системы описания продукта JTAG-интерфейс. Производители стремятся создать универсальные интегрирующие устройства для максимально большего количества моделей микросхем FPGA от Xilinx.
Для того чтобы передать данные, применяют самые популярные и наиболее подходящие автору среды разработки.
Программатор для FPGA: как это работает?
Все упомянутые нами устройства FPGA 7 серии формируются с помощью bitstream – битового потока данных. Получить их можно из независимой внешней памяти или микропроцессором DSP, микроконтроллером, данными, получаемыми от персонального компьютера и других источников. Каналы используются первичные и вторичные.
Первый канал – последовательная цепочка данных. Второй канал – 8…32-разрядный параллельный канал потока данных. Обычно, для внешних источников данных, применяют второй канал.
Во всех устройствах 7 серии используют пять интерфейсов конфигурирования. Для того чтобы уточнить все данные по определенному интерфейсу, следует перечитать инструкции к конкретному устройству.
JTAG и SPI интерфейс, конфигурирование из системной памяти
JTAG-интерфейс использует четыре контакта для соединения и обычно используется для тестирования готовых или проектных плат. Для загрузки прототипа и его отладки используется кабель программирования.
FPGA в стандартном решении для питания микропроцессора, снимает конфигурационные данные с подключённой флеш-памяти. Чтобы пользоваться таким вариантом базового конфигурирования, используется последовательный периферийный интерфейс SPI. С помощью такого интерфейса микропроцессор получает всю информацию для полной загрузки и начла работы по алгоритмам.
Самый простой и самый дешевый способ конфигурирования микропроцессоров рассматриваемого нами производителя – из резервной энергонезависимой памяти, которая доступна как системная память. Если персональный компьютер имеет специальную настройку, то он может создавать образ FPGA на внутреннем носителе информации – жесткий диск. Есть и альтернативное решение – подгрузить образ из сетевого соединения на сервере.
Симбиоз конфигурирования и работы приложения можно применить, если энергонезависимая память необходимой емкости поставляется вместе с процессором. Тогда энергонезависимая память сохраняет образ FPGA с любым записанным кодом системного процессора. Так можно решить сразу две проблемы: поиск нужного объема памяти и создание быстродействующего устройства. Впрочем, здесь уже наступает зависимость от параметров «внешнего» процессора.
Процесс конфигурирования
Сам процесс конфигурирования, то есть программирования FPGA включает несколько шагов. Первым и, пожалуй, самым важным, является последовательность подключения питания для самих питающих устройств. Симуляция (отладка) конфигурирования помогает создать реальную модель интерфейсов, которые необходимо поддерживать устройству. Задача отладки – выяснить как устройства, подлежащие управлению, реагируют на активности в определенных точках интерфейса.