Стрімкий розвиток цифрових технологій, Інтернету речей (IoT), штучного інтелекту (ШІ) та систем реального часу (СРЧ) зумовлює зростання вимог до апаратно-програмних платформ. Останнім часом спостерігається тенденція, коли розробники змушені знаходити альтернативні варіанти та баланс між продуктивністю, енергоефективністю, вартістю та складністю розробки [1].
При проєктуванні важливим є вибір платформи, на якій буде реалізовано функціональність системи. Ландшафт проєктування вбудованих систем (ВС) постійно розвивається, що супроводжується зростаючою потребою в більшій продуктивності, гнучкості та інтеграції. Серед найпоширеніших підходів можна виділити використання класичних ВС на основі мікроконтролерів, систем на кристалі (SoC), а також програмованих логічних інтегральних схем (FPGA) [2-3]. Кожна з таких платформ має ряд переваг та обмежень, що визначають доцільність її застосування для конкретних задач.
До однієї з інноваційних розробок можна віднести проєктування SoC на основі FPGA. Поєднуючи можливість конфігурації FPGA з інтегрованими процесорами SoC на основі FPGA пропонують ефективне рішення для різних застосувань, від автомобільних систем до промислової автоматизації, телекомунікацій та оборони. Однак, як і будь-яка технологія, SoC на основі FPGA мають свої власні проблеми [4].
Постановка задачі. Проаналізувати основні апаратно-програмні платформи, що застосовуються у ВС (мікроконтролери, SoC, FPGA та SoC на базі FPGA) з визначенням їхніх переваг та недоліків з точки зору продуктивності, енергоефективності, гнучкості, масштабованості та складності розробки.
Мета дослідження. Дослідження особливостей сучасних апаратно-програмних платформ – ВС на основі мікроконтролерів, систем на кристалі (FPGA та SoC на базі FPGA), а також обґрунтування доцільності їх використання для різних класів вбудованих та високопродуктивних застосувань.
Результати дослідження. Вбудовані системи – це спеціалізовані обчислювальні системи, які призначені для виконання чітко визначених функцій у складні більш складних технічних об’єктів. Як правило, вони базуються на мікроконтролерах, які інтегрують процесорне ядро, пам’ять та периферійні модулі в одному корпусі. До переваг ВС можна віднести низьке енергоспоживання, компактність та невисоку вартість. До недоліків можна віднести обмеження обчислювальної потужності та невисоку гнучкість у випадках, коли виникає потреба у масштабуванні або реалізації складних алгоритмів обробки даних. Через що застосування таких систем є обмеженим у високопродуктивних або інтелектуальних системах [1].
Еволюційний розвиток характеризується використанням SoC для ВС, що дає змогу поєднувати на одному кристалі процесорні ядра, графічні прискорювачі, контролери пам’яті, інтерфейси введення та виведення, а також інші функціональні блоки. Іноді SoC базуються на архітектурі ARM та підтримують повноцінні операційні системи, наприклад, Android. До переваг використання SoC можна віднести високу продуктивність, підтримку багатозадачності та розвинену екосистему програмного забезпечення (ПЗ), що робить їх ефективними для застосування у смартфонах, мережевому обладнанні та мультимедійних пристроях. Але підвищене енергоспоживання та менша гнучкість апаратної конфігурації є суттєвими недоліками SoC [2-3].
Програмовані логічні інтегральні схеми (FPGA) належать до пристроїв, що дозволяють реалізовувати апаратні алгоритми шляхом конфігурації логічних блоків та з’єднань між ними. На відміну від процесорних рішень FPGA забезпечують паралельну обробку даних на апаратному рівні [3]. Основною перевагою FPGA є висока гнучкість та можливість оптимізації під конкретні задачі, наприклад, обробку сигналів, криптографію, мережеві протоколи та СРЧ. Однак до недоліків можна віднести високу вартість та складність розробки. Окрім того, енергоспоживання FPGA може бути вищим порівняно з оптимізованими SoC для масових застосувань [4].
Інноваційним рішенням є застосування SoC на базі FPGA інтегрує FPGA з процесором або мікропроцесором на одному кристалі, що дозволяє поєднувати програмування ПЗ та гнучкість апаратного забезпечення [4].
Популярні платформи SoC на базі FPGA включають Xilinx Zynq, Intel (Altera) SoC FPGA та Lattice Semiconductor's ECP5. Ці пристрої поєднують FPGA-матрицю з процесорними ядрами на базі ARM або RISC-V, що робить їх універсальними для високопродуктивних вбудованих застосувань.
Розглянемо табл. 1, в якій будуть наведені переваги та недоліки проєктування SoC в поєднанні з FPGA.
Таблиця 1
Переваги та недоліки проєктування SoC на базі FPGA
Джерело: сформовано автором на основі [2, 4]
У таблиці наведено узагальнений аналіз основних переваг і недоліків проєктування SoC на базі FPGA, що дозволяє комплексно оцінити доцільність використання такої платформи у ВС та СРЧ. З одного боку, ключовими перевагами є гнучкість апаратно-програмної проєкції, висока продуктивність і низька затримка завдяки паралельній обробці даних, а також підвищена енергоефективність і можливість масштабування та реконфігурації під конкретні вимоги застосування. Це робить FPGA-SoC ефективним рішенням для задач із високими вимогами до швидкодії та адаптивності. З іншого боку, таблиця демонструє, що такі переваги супроводжуються суттєвими обмеженнями, зокрема складністю розробки, необхідністю використання спеціалізованого інструментарію, проблемами управління обмеженими апаратними ресурсами, підвищеною вартістю та вимогами до термічного менеджменту.
Висновки та перспективи. Проєктування систем на кристалі на основі FPGA є ефективним підходом до створення сучасних ВС і СРЧ, що поєднує високу продуктивність, гнучкість та енергоефективність. Інтеграція програмованої логіки FPGA з процесорними ядрами в межах єдиної платформи забезпечує можливість апаратно-програмної проєкції, що дозволяє оптимально розподіляти обчислювальні задачі відповідно до їх характеристик та вимог до швидкодії.
Разом із тим використання SoC на основі FPGA супроводжується низкою технічних і організаційних викликів, зокрема підвищеною складністю спільного проєктування апаратного та програмного забезпечення, необхідністю ефективного управління обмеженими апаратними ресурсами та складністю інструментарію розробки. Подолання зазначених проблем можливе за рахунок застосування високорівневих засобів опису апаратури, модульних принципів проєктування та налагодженої взаємодії між фахівцями з апаратної та програмної інженерії.
Перспективним напрямом є впровадження високорівневих засобів проєктування, а також використання мов високого рівня та фреймворків для апаратного прискорення, що знижує складність апаратно-програмної проєкції та скорочує час розробки.
Література:
1. Bian, J., Al Arafat, A., Xiong, H., Li, J., Li, L., Chen, H., ... & Guo, Z. (2022). Machine learning in real-time Internet of Things (IoT) systems: A survey. IEEE Internet of Things Journal, 9(11), 8364-8386. https://doi.org/10.1109/JIOT.2022.3161050
2. Shkil, A., Rakhlis, D., Filippenko, I., Korniienko, V., & Rozhnova, T. (2024). Automated design of embedded digital signal processing systems on SOC platform. INNOVATIVE TECHNOLOGIES AND SCIENTIFIC SOLUTIONS FOR INDUSTRIES, 1(27), 192–203. https://doi.org/10.30837/ITSSI.2024.27.192
3. Saday, A., Ozkan, İ. A., & Sarıtas, I. (2023). FPGA-Based battery management system for real-time monitoring and instantaneous SOC prediction. International Journal of Applied Mathematics Electronics and Computers, 11(1), 55-61. https://doi.org/10.18100/ijamec.1233451
4. Lance Harvie (2924). Exploring FPGA-Based System on Chip (SoC) Design: Benefits and Challenges. RUNTIME RECRUITMENT. URL: https://runtimerec.com/exploring-fpga-based-system-on-chip-soc-design/
|