Lattice Propel открывает новые возможности для разработчиков программного обеспечения

Дизайн встраиваемых систем стремительно развивается. Еще недавно такие ресурсоемкие задачи, как обеспечение безопасности системы, анализ данных, реализация алгоритмов искусственного интеллекта (AI) и машинного обучения (ML), преимущественно выполнялись в облаке. Теперь эти задачи все чаще реализуются на устройствах Edge, которые находятся на границе, где Интернет встречается и взаимодействует с реальным миром.

Другой тенденцией является бурный рост использования процессорных ядер RISC-V, которые имеют  архитектуру со стандартным набором команд (ISA - Instruction Set Architecture), основанную на принципах компьютеров с сокращенным набором команд (RISC - Reduced Instruction Set Computer) и открытый исходный код. Хотя они занимают не больше 6 процентов на  рынке процессорных ядер, с процессорным ядром RISC-V полезно познакомиться.

Также во встраиваемых системах все больше используются ПЛИС или программируемые вентильные матрицы (FPGA). При реализации многих алгоритмов, в том числе AI / ML, требуется параллельная обработка данных. Традиционные микропроцессоры (MPU) и микроконтроллеры (MCU) хорошо подходят для задач, в которых нужно принимать решения, но они могут быть не очень эффективными с точки зрения времени реакции и энергопотребления, когда используются необработанные данные. На рисунке 1a показана программируемая матрица в ПЛИС. Она может быть настроена для реализации функций аппаратного ускорения (Hardware Accelerator), которые выполняют алгоритмы обработки данных максимально распаралелливая вычисления (рисунок 1b), тем самым обеспечивая высокую производительность и быстрое время отклика при относительно небольшом энергопотреблении.

Рис. 1. Комбинация аппаратных ускорителей и процессоров RISC-V дает преимущества для широкого спектра приложений, включая машинное зрение, безопасность и искусственный интеллект.

Во многих случаях требуется дополнить эти аппаратные ускорители центральным процессором (CPU), который может выполнять высокоуровневые функции принятия решений и управления. В этом случае  часть программируемой матрицы ПЛИС может использоваться для реализации центрального процессора и системной шины, передающей адрес, данные и управляющие сигналы, любому модулю на ней, включая IP блоки, выполняющие периферийные функции (рисунок 1c).

До сих пор разработчиков программного обеспечения (“программистов”) пугала мысль об использовании традиционных инструментов для проектирования на ПЛИС и языков описания оборудования (Hardware Description Language). В результате они оказывались в зависимости от инженеров проектировщиков оборудования (“плисоводов”), которые конфигурировали и реализовывали процессор RISC-V на программируемой матрице ПЛИС.

Решением является средство Lattice Propel™, которое представляет собой современную среду проектирования с использованием графического интерфейса (GUI), позволяя любому инженеру, с опытом или без опыта работы с ПЛИС, использовать функции захвата и перетаскивания для создания  процессорной системы на базе RISC-V за считанные минуты.

Дополнительно к созданию процессорной системы методом перетаскивания, функция Propel Builder обеспечивает автоматическое соединение выводов, настройку и параметризацию IP ядер.

Lattice Propel также имеет полноценную среду разработки программного обеспечения (Software Development Kit), которая включает стандартную интегрированную среду разработки (Integrated Development Environment) и набор инструментов (Toolchain). SDK может использоваться для отладки программного и аппаратного обеспечения, имеет программные библиотеки и пакеты поддержки плат (Board Support Package).

Результатом работы Lattice Propel является RTL-файл на языке Verilog HDL, который можно использовать для синтеза и генерации конфигурационного файла, который загружается в ПЛИС семейств MachXO3D™, Mach™-NX, CrossLink™-NX и Certus™-NX.

Теперь разработчики программного обеспечения будут меньше зависеть от “плисоводов”.