Кратко рассмотрены особенности использования FPGA, перечислены их преимущества.
Управление
В идеальном случае задержка на выполнение команды составляет примерно 1 мкс при использовании шинных интерфейсов ввода-вывода. В качестве примера сравним FPGA с процессором, работающим на ОСРВ и обменивающийся данными с периферийными и внешними устройствами по шине PCI.
Под задержкой на выполнение подразумевается следующее:
- Вход на периферийный модуль через приемопередатчик.
- Передача входного сигнала по шине PCI процессору.
- Выполнение программного кода, наслоенного на ОСРВ.
- Генерация прикладной программой выходной ответной команды.
- Передача команды модулю по шине.
- Отправка команды через приемопередатчик.
Эта же петля управления в системах на основе FPGA значительно упрощена:
- Вход на FPGA через приемопередатчик.
- Выполнение петли управления на FPGA.
- Передача выходной команды через приемопередатчик.
Эта процедура выполняется примерно в 1000 раз быстрее (см. рис. 1).

Рис. 1
Периферийные возможности FPGA
Интерфейсов подключения внешних устройств и обмена информацией в ними очень много (см. рис. 2). Каждый модуль с FPGA должен поддерживать основные интерфейсы. Например семейство IP-EP20x Acromag имеет фиксированный интерфейс ввода-вывода с несколькими опциями, в т.ч. CMOS/TTL, RS422/485 и LVDS.

Более крупные модули на основе Virtex-4 и Virtex-5 (PMC и XMC) оснащены мало распространенными интерфейсами ввода-вывода LVCMOS, LVTTL и LVDS для 64 точек подключения. Для более гибкой системы интерфейсов можно использовать мезонинные модули AXM. В стандартный набор интерфейсов входят: TTL, RS422/485, LVDS и 105 МГц A/D.
Производительность
Быстродействие FPGA – очень важная характеристика. Семейство IP-EP20x выполняет логические операции на частоте 125 МГц. Модули Virtex-4 FPGA (PMC-LX/SX) имеют быстродействие 500 МГц, а Virtex-5 (PMC/XMC-VLX/VSX) – 550 МГц.
Быстродействие может быть увеличено за счет разбиения задачи на параллельные потоки. Тактовая скорость выполнения каждого из них задается цифровым менеджером. Заметим, что семейство IP-EP20x не поддерживает распараллеливание задач. Семейство PMC-LX/SX поддерживает работу с 8 цифровыми менеджерами (DCM), Virtex-5 (PMC/XMC-VLX/VSX) — до 12. Производительность Virtex-4 FPGA при использовании 8 DCM на частоте 500 МГЦц эквивалентна производительности процессора с частотой 4 ГГц. Производительность Virtex-5 FPGA при 12 DCM и частоте 550 МГц равна 6,5 ГГц.
Портыввода—вывода
Модули PMC и XMC позволяют программировать FPGA (см. рис. 3). Порты ввода-вывода разделены на два разъема: передний и задний. Отдельный разъем для подключения шины. К переднему разъему подключается плата АХМ с поддержкой TTL, LVDS, RS422/485 и т.п.

Логические схемы
Процедуры обмена данными устанавливаются логической схемой и утилитами, загруженными на FPGA. Логические схемы частично представлены в пакете разработки в виде VHDL моделей. Недостающие приложения пользователь составляет самостоятельно в одном из предложенных форматов:
- Программные ядра (например, Xilinx MicroBlaze или PicoBlaze).
- VHDL модель.
- Операционная система на программном процессоре (LINUX, Windows, VxWorks или собственная).
- Код на языке высокого уровня.
Сборка
Для наиболее эффективного использования всех преимуществ FPGA может потребоваться управление шестью потоками:
- DDR контроллер, 200 MГц.
- SERDES, 400 МГц.
- Логическое устройство циклового управления, управление FIFO, 200 МГц.
- БПФ при обработке изображения, 500 МГц.
- Интерфейс с медленными устройствами 1 МГц.
- Шинный интерфейс, SDRAM контроллер, 100 МГц.
В типичном приложении используются следующие элементы:
- Передний разъем FPGA через модуль AXM-D0x.
- DDR RAM для промежуточной записи на высокой скорости.
- Буферы ПДП, реализованные с помощью SDRAM.
- Шинный интерфейс, например PCI, PCI-X или PCIe.
Как показано на рисунке 4, поток последовательных битов проходит через модуль расширения AXM, преобразуется в параллельный и сохраняется в DDR. При необходимости использовать логические последовательности или FIFO данные фильтруются и обрабатываются блоком преобразования Фурье. Затем они помещаются в SDRAM и подготавливаются к процедуре ПДП для передачи на главный процессор по шине.

Инструменты
Для облегчения процесса проектирования производители FPGA предоставляют различные инструменты: средства разработки и отладки, а также полноценные пакеты разработки.
Так, Xilinx ISE foundation содержит элементы для создания логических схем и загрузки их на FPGA для выполнения. Отладка логических схем производится с помощью инстремента ChipScope. Моделирование чаще всего производится на более высоком уровне абстракции в таких средах как SIMULINK или MathLab.
Заключение
FPGA – уникальные устройства, имеющие высокую производительность и готовые для выполнения сложных задач.
Преимущества FPGA:
- Логические операции выполняются быстрее, чем в любой ОСРВ.
- Программные ядра и логические схемы могут быть использованы повторно.
- Платформы FPGA Acromag предоставляют широкие возможности по кастомизации на готовых модулях.
- FPGA Acromag позволяют выбирать требуемый уровень быстродействия и конфигурацию памяти.
- FPGA Acromag поддерживают распределенные вычисления и кастомизацию приложений.
- Сфера применения: управление, цифровая обработка сигналов, системы связи, моделирование и т.п.
Автор: Антон Ковалев, инженер


6 сентября, 2017