Как оптимизировать потребление энергии Fpga для мобильных устройств
Table of Contents
Полевые программируемые воротные массивы (FPGA) вышли за рамки прототипирования и роли центров обработки данных, чтобы стать важными вычислительными платформами в мобильных устройствах с ограниченным энергопотреблением, включая смартфоны, планшеты, носимые устройства и беспилотники. Их реконфигурируемое оборудование обеспечивает эффективное ускорение для синтеза датчиков, вывода сверточных нейронных сетей и обработки изображений в реальном времени, часто превосходя процессоры общего назначения. Однако гибкость, которая делает FPGA привлекательными, также создает значительную проблему управления мощностью. Мощности батареи ограничены несколькими ватт-часами, а пассивное охлаждение является нормой, поэтому минимизация энергопотребления FPGA является коммерческим требованием. В этой статье представлен набор методов, охватывающих архитектурные решения в стиле дизайна-время выполнения, динамические элементы управления временем выполнения и интеграцию на системном уровне, чтобы помочь инженерам достичь сверхнизких профилей мощности, требуемых их мобильными продуктами.
Мощный ландшафт мобильных FPGA
Понимание физических истоков рассеивания мощности в FPGA имеет важное значение перед оптимизацией. Общая мощность P состоит из двух основных компонентов: динамическая мощность и статическая мощность. Динамическая мощность потребляется, когда транзисторы переключаются, аппроксимируемая Pдинамическая , где α — активность переключения, C — емкость нагрузки, V — напряжение питания, а f — частота. В мобильных рабочих нагрузках приводит к тому, что всплески обработки, сопровождаемые длительными периодами простоя, вызывают резкое изменение α, что делает динамическую мощность сильно зависимой от приложения.
Статическая мощность возникает в результате токов утечки, протекающих даже при непереключении транзисторов. По мере продвижения технологии изготовления до 28 нм, 16 нм и ниже субпороговая утечка, утечка затвора и утечка перехода становятся значительными. В отличие от динамической мощности, статическая мощность сильно зависит от температуры и изменения процесса. В мобильных устройствах с ограниченным рассеиванием тепла повышенные температуры перехода могут заставить статическую мощность доминировать без тщательного смягчения. Например, семейство Lattice iCE40 UltraLite достигает резервных токов до 75 мкА с использованием передовых методов процесса, но повышение температуры перехода на 10 ° C может удвоить утечку.
Мобильные приложения добавляют дополнительные ограничения: напряжение питания обычно фиксируется системой PMIC, пространство для компонентов подачи энергии ограничено, и FPGA часто разделяет тепловой интерфейс с другими чипами высокой плотности. Эффективная стратегия оптимизации должна учитывать как внутреннее поведение кремния, так и окружающую системную среду. Более новые устройства, такие как семейство Efinix Trion, используют квантовую архитектуру маршрутизации, которая снижает пропускную способность межсоединений до 40% по сравнению с традиционными сетчатыми тканями, непосредственно снижая динамическую мощность для того же фактора активности.
Техники оптимизации мощности в режиме проектирования-времени
Значительная экономия энергии может быть достигнута до того, как FPGA будет запрограммирована на плате. Эти методы сосредоточены на RTL, нет-листе, потоке реализации и физической компоновке. Начав с осознанного мышления во время определения архитектуры, дает наибольшее влияние.
Инструменты Power-Aware Synthesis и Implementation
Современные среды разработки FPGA предлагают мощные двигатели оценки и оптимизации мощности. Такие инструменты, как директивы Xilinx Vivado power opt, PowerPlay Power Analyzer от Intel Quartus Prime и функции оценки мощности Lattice Radiant, могут идентифицировать горячие точки, автоматически вставлять тактовые очки и применять многовольтную оптимизацию. Например, руководство по анализу и оптимизации мощности Xilinx Power Analysis и Optimization Guide описывает, как генерировать векторы активности от моделирования и инструктировать плаценту минимизировать динамическую мощность сетей с высоким переключателем. Intel PowerPlay Power Analyzer позволяет импортировать данные о скорости переключения на основе моделирования и итеративно оптимизировать мощность, торгуя таймингом для снижения прочности диска или повторной синтетической логикой с библиотеками с низким энергопотреблением. Интеграция этих инструментов в начале цикла проектирования, прежде чем критические
Логика и оптимизация маршрутизации на уровне RTL
Казалось бы, небольшие варианты RTL могут радикально повлиять на динамическую мощность. Часовое торможение остается наиболее эффективным методом: торможение часов для регистров, которые не используются активно, останавливает переключение всего дерева часов вниз по течению, устраняя динамическую мощность как в шлепанцах, так и в большой емкостной распределительной сети часов. Большинство инструментов синтеза поддерживают автоматическую вставку торможения часов, но ручное кодирование позволяет создавать условия для больших банков регистров, часто дает лучшие результаты. Для мобильного конвейера видения торможение часов в двигатель свертки во время холостых рамок может сэкономить более 30% от общей мощности ядра.
Помимо часов, операбельность и изоляция предотвращает вычисление арифметических блоков, когда выходы не нужны. Например, блок многократного накопления, используемый только на определенных этапах обработки, должен иметь свои входы, вынужденные к нулю при холостом режиме, останавливая внутренние переключатели. Совместное использование ресурсов уменьшает количество инстанциированных функциональных блоков, сокращая как площадь, так и связанную с ними емкость. Совместное использование одного аппаратного множителя в нескольких операциях способом разделения времени может уменьшить динамическую мощность до 50% в конструкциях с преобладанием данных.
Маршрутизация в FPGAs является основным фактором динамической мощности, потому что программируемые межсоединительные провода имеют высокую емкость. Плотная перегрузка маршрутизации увеличивает как емкость, так и перекрестную передачу, повышая динамическую и паразитную мощность. Модули планирования пола , чтобы минимизировать длину провода между часто взаимодействующими блоками, используя балансировку трубопровода , чтобы избежать глитч-предрасположенных длинных комбинационных путей, и структурирование государственных машин с серым кодом или одногорячим кодированием (в зависимости от ткани) может уменьшить как α, так и C. Мощность глитча возникает, когда логические входы прибывают в разное время, вызывая множественные ложные переходы. Использование полностью синхронной конструкции, регистрация выходов модулей и создание сбалансированных или трубопроводных арифметических устройств может подавлять расточительные переключатели. Общий метод заключается в вставке регистров трубопроводов после кажды
Многопороговое напряжение и выбор ячеек
Большинство семейств FPGA обеспечивают клеточные примитивы различными пороговыми напряжениями (Vt). Ячейки высокой Вт протекают меньше статического тока, но медленнее; ячейки низкой Вт быстры, но протекают. Инструменты реализации в Quartus Prime (поток оптимизации с низким энергопотреблением) или Vivado (синтез с питанием) могут автоматически менять критические пути на низковольтные, сохраняя при этом некритические пути в высокой Вт, уменьшая статичную утечку без ущерба для производительности. В мобильных конструкциях, где FPGA проводит много времени в состояниях глубокого сна, максимизируя ячейки высокой Вт и используя специфичные для устройства варианты процесса ультранизкой утечки (например, некоторые детали Lattice iCE40 UltraLite) могут уменьшать резервный ток на порядок. Некоторые устройства Intel Agilex предлагают настраиваемые варианты Вт на уровне блока.
Data-Path и снижение мощности памяти
Блоки памяти (BRAM) и срезы DSP часто являются крупнейшими источниками энергии в мобильных ускорителях. Когда алгоритм часто получает доступ к блоку RAM, схема предварительной зарядки битовой линии и усилителя чувств может быстро сжигать динамическую мощность. Включение режима низкой мощности в BRAM (где поддерживается) уменьшает статический ток за счет немного увеличенной задержки доступа, компромисс, достойный создания в кэш-подобных приложениях. Кроме того, минимизация количества активных портов памяти, использование более узкой ширины данных, когда это возможно, и планирование разрывных доступов во время плотных окон обработки может снизить среднюю мощность.
На стороне траектории передачи данных bus inversion и data-encoding schemes уменьшают переходы на сильно нагруженных шинах. Серые кодирующие адреса на высокоскоростной шине памяти могут сократить среднее расстояние Хэмминга между последовательными доступами пополам, уменьшая активность переключения на межсоединении. Многие инструменты синтеза могут автоматически применять кодирование переключения шины на шины с высоким переключателем. Для блоков DSP использование полуточной арифметики с фиксированной точкой вместо полной точности может снизить активность переключения до 25% при сохранении приемлемой точности для вывода нейронной сети.
Синтез директив и ограничений власти
Инструменты синтеза поставщиков позволяют дизайнерам явно контролировать преобразования, связанные с питанием. В Xilinx Vivado установка стратегии «Исследовать» может вызвать логическую реструктуризацию, которая снижает активность переключения. Intel Quartus Prime предлагает настройку , которая автоматически вставляет галочку часов и снижает мощность маршрутизации. Для FPGA Lattice опция удаляет избыточную логику. Обеспечение точных ограничений скорости переключения (команд SDC, таких как ) имеет решающее значение, поэтому оптимизатор знает, какие узлы на самом деле активны. Без надлежащих данных о деятельности инструменты предполагают худшие скорости переключения и могут не применять агрессивные оптимизации.
Динамические стратегии управления мощностью
Меры по времени проектирования устанавливают базовый уровень малой мощности, но мобильные устройства требуют адаптивности к времени выполнения для соответствия различной рабочей нагрузке и бюджету мощности. Эти стратегии используют реконфигурируемость FPGA и системы управления мобильной платформой.
Мощность и частичная реконфигурация
Силовое крыло физически отсоединяет часть ткани FPGA от рельсов питания, устраняя как статические, так и динамические мощности в этом регионе. Хард-IP острова питания в семьях, таких как Xilinx Zynq UltraScale + MPSoC или Intel Agilex, позволяют дизайнерам отключать целые логические блоки, не затрагивая смежные активные области. В мобильных ускорителях ИИ, когда двигатель обнаружения объектов простаивает, весь блок ускорителя может быть закрыт, уменьшая утечку до почти нуля. Для FPGA, не имеющих выделенных островов питания, частичная реконфигурация достигает аналогичного эффекта, загружая пустую или минимальную конфигурацию функциональных возможностей в область, устанавливая всю логику в известное состояние с низким уровнем утечки. Даже без аппаратного воротного ствола, позволяя бить часы и заставляя неподключенные входы на статические уровни в неиспользуемой логике, может резко сократить динамические переключатели. В семействе Lattice iCE40 пин-код может мгновенно остановить всю внутреннюю активность, снижая потребление
Динамическое натяжение и частотное масштабирование (DVFS)
DVFS является основным продуктом управления мощностью мобильного процессора и все более доступным для FPGA. Динамически регулируя напряжение ядра и тактовую частоту в ответ на требования к пропускной способности, DVFS использует квадратичное соотношение P ⁇ V2f . Снижение напряжения на 10%, если позволяют временные пределы, дает примерно 19% динамической экономии энергии. Внедрение DVFS требует регулятора напряжения, контролируемого FPGA или сопутствующим MCU, мониторов напряжения на чипе и генерации часов. Современные семейства FPGA, такие как Lattice CertusPro-NX и некоторые члены Efinix Titanium, включают в себя интегрированные регуляторы напряжения и закаленные контроллеры DVFS, позволяющие плавные переходы режима. Для мобильных рабочих нагрузок, где пиковая производительность требуется только во время коротких вспышек (например, окно вывода 100 мс каждую секунду), DVFS может продлить срок службы батареи на 40-60% по сравнению с фиксированной высокопроизводительной установкой. Дизайнеры должны определять несколько рабочих точек
Активное управление питанием с помощью оптимизации часового дерева
Сеть распределения часов в FPGA может потреблять 20-40% общей динамической мощности даже при отсутствии логических переключений. Сегментация часового домена позволяет дизайнерам полностью отключать деревья часов для неиспользуемых областей. Использование PLL, который динамически переключает выходные частоты и отключает вторичные выходы, экономит мощность. , позволяет передавать сигналы , которые распространяются через дерево часов (vs. gating at the leaf) уменьшает количество буферов тактового сигнала, которые переключаются. Некоторые инструменты поставщика предлагают пропуск «снижение мощности часов», который переупорядочение ячеек тактового сигнала для минимизации переключения функций высокопроизводительных узлов датчиков, выделенный низкочастотный часовой домен (например, 32 кГц от часов реального времени) может работать в микроваттах, в то время как основной часовой домен закрыт.
Пересечение часовых доменов и сокращение сбоев во время выполнения
Сбои, возникающие при пересечении асинхронных часовых доменов, могут вызывать чрезмерную динамическую мощность. Все мобильные конструкции FPGA должны использовать надежные синхронизаторы (на основе двух вилок или FIFO) и группировать несвязанную логику в отдельные тактовые домены, которые могут быть закрыты или масштабированы независимо. Это уменьшает сбои и облегчает мелкозернистые тактовые галочки и DVFS для каждого домена. Для функций всегда включенного сенсорного концентратора выделенный низкочастотный тактовый домен, работающий от внутреннего осциллятора, может потреблять только микроватты, в то время как высокопроизводительный домен остается включенным. Двухчастные FIFO с асинхронным деассертированием сбрасывания с предотвращают метастабильность и переключатели с отводом энергии во время переходов домена.
Подходы к аппаратному уровню и системной интеграции
Даже эффективный кремний FPGA теряет мощность, если дизайн на уровне платы плохой. Стратегии на уровне оборудования включают выбор устройства, доставку питания и тепловой дизайн, формируя основу для всех оптимизаций на уровне программного обеспечения.
Выбор правильного семейства FPGA с низким энергопотреблением
Не все FPGA равны для мобильного использования. Специализированные устройства с низким энергопотреблением, такие как Lattice iCE40 UltraLite , имеют целевые статические токи до 75 мкА при сохранении достаточного количества LUT для подключения датчиков и простой совместной обработки. Семейства Efinix Trion и Titanium используют квантовую архитектуру маршрутизации, которая снижает пропускную способность межсоединений и динамическую мощность. Для более высокопроизводительных потребностей, Xilinx Zynq-7000 и UltraScale+ MPSoC объединяют систему обработки данных с FPGA, поддерживающую несколько доменов мощности. Инженеры должны тщательно изучать таблицы данных поставщиков для постоянного тока (I CCSB , возможности перезагрузки (POR)], которая избегает внешних супервайзеров, и режимы низкой мощности , такие как Hibernate (сох
Дизайн и эффективность энергоснабжения
Сеть питания напрямую влияет как на энергоэффективность, так и на целостность сигнала. Регуляторы коммутации предлагают эффективность преобразования выше 90%, но выходная рябь может связывать в чувствительные аналоговые блоки. Обычный мобильный метод использует высокопроизводительный бакс-преобразователь для основного питания с последующим линейным регулятором с низким уровнем выпадения (LDO) для обеспечения чистого, низкошумного напряжения для PLL и приемопередатчиков. Оптимизация секвенирования питания и снижения мощности избегает защелкивания и впуска токов. Выбор конденсаторов с разъединением - использование керамических конденсаторов с низким ESR, расположенных близко к штифтам питания FPGA - имеет решающее значение для подавления падения напряжения во время внезапных логических всплесков активности, которые в противном случае заставили бы более высокое базовое напряжение. Типичная мобильная конструкция FPGA использует конденсатор 10 мкФ для разъединения навалов на рельс плюс несколько 100 нФ и 1 нФ шапки для высокочастотного шума. Стек ПХБ должен
PCB Layout и термоменеджмент
Ток утечки FPGA удваивает примерно каждые 10 ° C увеличение температуры перехода, делая управление тепловым потоком прямой энергосберегающей мерой. В компактных мобильных устройствах выделенные радиаторы на основе ПХД редко осуществимы, поэтому тепловое распространение на основе ПХД, тепловые потоки, направляющие тепло на внутреннюю плоскость земли, и тесный контакт с шасси устройства могут удерживать температуры перехода на 10-20 ° C ниже. Некоторые мобильные SoC динамически дроссельной ЦП/ГПУ частоты при повышении температуры; подобный подход может быть реализован для ПХД с использованием диода температуры на чипе. FPGA мониторы умирают температура и, при превышении порога, уменьшает тактовую частоту или затворы некритических блоков до падения температуры. Этот цикл обратной связи предотвращает тепловой бегство, где утечка резко возрастает. Для высоконадежных конструкций, включающих тепловой предохранитель или специальный датчик температуры вблизи ПХД обеспечивает дополнительную безопасность от отказа.
Лучшие практики для мобильной интеграции FPGA
Эффективная оптимизация мощности не является одноразовой деятельностью; она должна быть внедрена во весь поток разработки от архитектуры до настройки после развертывания. Следующие методы помогают институционализировать энергоэффективность на протяжении всего жизненного цикла проекта.
Профиль мощности и поток оценки
Анализ мощности не может полагаться на догадки. Инженеры должны генерировать реалистичные данные переключения от моделирования уровня ворот с использованием репрезентативных мобильных рабочих нагрузок - например, типичный 30-секундный всплеск обработки кадра камеры с последующим простоем. Экспорт файла SAIF или VCD и подача его в анализатор мощности поставщика приводит к поломкам мощности по модулю, типу (динамический против статического) и рельсу питания. Отчет Xilinx Vivado Power показывает подробное дерево мощности, показывающее, какие блоки рисуют наиболее актуальны. Этот профиль становится основой для итеративной оптимизации: после изменения RTL, повторного синтеза с директивами мощности и повторного запуска потока, дизайнер может количественно оценить улучшение. Часто этот процесс обнаруживает неожиданные виновники - небольшой блок, никогда не связанный с часами, потому что синтезу не хватало информации о деятельности, или банк ввода / вывода, приводящий длинный след PCB с ненужно высокой прочностью диска. Для ранней оценки без полной реализации инструменты, такие как Lattice Power Estimator, обеспечивают точный анализ на основе таблицы в течение 10-20%.
Программно-аппаратный дизайн для Power
В мобильной системе FPGA редко работает изолированно. Процессор приложений или MCU может организовывать состояния питания через простой интерфейс SPI/I2C. Разработчики должны определять режимы питания — Active, Idle, Sleep, Hibernate — и подвергать их воздействию программного стека. Когда система входит в режим ожидания, процессор отправляет команду на выход на остров питания FPGA или утверждает внешний штифт отключения. Для частичной реконфигурации битовые потоки могут храниться в системной вспышке и загружаться в десятки микросекунд, что позволяет FPGA быстро переключаться между всегда включенным распознавателем жестов (потребляющим менее 1 мВт) и полнокадровым видеопроводом (потребляющим сотни милливатт) в течение одного периода кадра. Этот со-дизайн превращает FPGA в динамическую подсистему управления питанием. Хорошо спроектированная машина управления питанием может достичь 10-кратного снижения средней мощности для взрывных рабочих нагрузок.
Постоянный мониторинг и адаптивная оптимизация
Развернутые мобильные устройства испытывают широкий спектр условий окружающей среды и использования. Многие современные FPGA включают в себя мониторы напряжения на чипе, температуры и тока, доступные через внутренние JTAG или выделенные ADC. Легкий демон программного обеспечения на процессоре приложения может периодически считывать датчики и регулировать уровни DVFS или запускать подачу мощности в режиме реального времени. При расширенном использовании в полевых условиях импеданс батареи увеличивается, а напряжения питания могут снижаться при нагрузке; адаптивный алгоритм, который контролирует напряжение питания ядра и снижает максимально допустимую тактовую частоту, когда это необходимо, предотвращает сбои в синхронизации и избегает неэффективного охранного диапазона. Отслеживание моделей рабочей нагрузки с течением времени может информировать будущие оптимизации битового потока - например, если двигатель активен в 80% случаев, придавая приоритет его энергоэффективности через пользовательскую реализацию с низким энергопотреблением, дает непропорциональное увеличение срока службы батареи. Некоторые платформы даже реализуют контроллеры мощности на основе машинного обучения, которые изучают корреляции рабочей нагрузки и активно регулируют состояния мощности до ухудшения производительности.
Заключение
Оптимизация энергопотребления FPGA для мобильных устройств является многомерной задачей, требующей внимания от архитектуры посредством системной интеграции и полевого функционирования. Путем объединения методов проектирования-время-синтез, регуляции времени, многовольтной оптимизации и кодирования пути передачи данных - со стратегиями времени выполнения, такими как DVFS, регуляции мощности и частичной реконфигурации, инженеры могут устранить ненужные милливатты. Аппаратные решения для семейств FPGA с ультранизким энергопотреблением, эффективный дизайн источника питания и проактивное управление тепловой энергией образуют физическую основу. С тщательным профилированием мощности, близким программно-аппаратным сопроектированием и адаптивным мониторингом можно создавать мобильные устройства с поддержкой FPGA, которые обеспечивают вычислительные функции без ущерба для срока службы батареи. Поскольку технология FPGA продолжает развиваться с новыми архитектурами с ультранизким энергопотреблением, интегрированными контроллерами управления мощностью и более мелкой перенастройкой, потенциал для снижения энергопотребления будет только расти, укрепляя роль перенастраиваемой логики в мобильных продуктах следующего поколения.