Power gating — это метод, используемый в проектировании интегральных схем для снижения энергопотребления путем отключения тока в блоках схемы, которые не используются. Помимо снижения мощности в режиме ожидания или утечки, power gating имеет преимущество в том, что позволяет проводить тестирование Iddq .
Power gateing влияет на архитектуру проекта больше, чем clock gateing . Он увеличивает временные задержки, поскольку режимы power gated должны безопасно входить и выходить. Существуют архитектурные компромиссы между проектированием для экономии мощности утечки в режимах с низким энергопотреблением и рассеиванием энергии для входа и выхода из режимов с низким энергопотреблением. Выключение блоков может быть выполнено как программным, так и аппаратным способом. Программное обеспечение драйвера может планировать операции по отключению питания. Могут использоваться аппаратные таймеры. Другой вариант — выделенный контроллер управления питанием.
Внешне коммутируемый источник питания является очень простой формой управления питанием для достижения долгосрочного снижения мощности утечки. Для отключения блока на короткие промежутки времени больше подходит внутреннее управление питанием. КМОП -переключатели, которые обеспечивают питание схемы, управляются контроллерами управления питанием. Выходы блока управления питанием разряжаются медленно. Следовательно, уровни выходного напряжения проводят больше времени на уровне порогового напряжения. Это может привести к большему току короткого замыкания.
Power gating использует транзисторы PMOS с низкой утечкой в качестве переключателей заголовка для отключения питания частей конструкции в режиме ожидания или сна. Переключатели нижнего NMOS также могут использоваться в качестве транзисторов сна. Вставка транзисторов сна разделяет сеть питания чипа на постоянную сеть питания, подключенную к источнику питания, и виртуальную сеть питания, которая управляет ячейками и может быть отключена.
Обычно транзисторы сна с высоким пороговым напряжением (V th ) используются для управления мощностью в технике, иногда называемой многопороговой КМОП (MTCMOS). Размер транзистора сна является важным параметром проектирования.
Качество этой сложной сети питания имеет решающее значение для успеха конструкции управления питанием. Два наиболее важных параметра — это падение IR и штрафы в области кремния и ресурсах маршрутизации. Управление питанием может быть реализовано с использованием подходов на основе ячеек или кластеров (или мелкозернистых) или распределенного крупнозернистого подхода.
Реализация Power Gating имеет дополнительные соображения для реализации time-close. Следующие параметры должны быть рассмотрены и их значения должны быть тщательно выбраны для успешной реализации этой методологии. [1] [2]
Добавление спящего транзистора к каждой ячейке, которая должна быть выключена, налагает большой штраф за площадь, а индивидуальное стробирование питания каждого кластера ячеек создает проблемы синхронизации, вызванные изменением напряжения между кластерами, которые трудно решить. Тонкое стробирование питания инкапсулирует транзистор переключения как часть стандартной логики ячейки. Транзисторы переключения проектируются либо поставщиком IP библиотеки, либо разработчиком стандартных ячеек. Обычно эти конструкции ячеек соответствуют обычным правилам стандартных ячеек и могут легко обрабатываться инструментами EDA для реализации.
Размер управления затвором разработан с учетом наихудшего сценария, который потребует переключения схемы в течение каждого тактового цикла, что приведет к огромному влиянию на площадь. Некоторые из последних разработок реализуют мелкозернистое силовое стробирование выборочно, но только для ячеек с низким V th . Если технология допускает несколько библиотек V th , использование устройств с низким V th в конструкции минимально (20%), так что влияние на площадь может быть уменьшено. При использовании силовых затворов на ячейках с низким V th выход должен быть изолирован, если следующим этапом является ячейка с высоким V th . В противном случае это может привести к утечке в соседней ячейке с высоким V th , когда выход переходит в неизвестное состояние из-за силового стробирования.
Ограничение скорости нарастания сигнала управления затвором достигается за счет наличия буферного дерева распределения для управляющих сигналов. Буферы должны быть выбраны из набора всегда включенных буферов (буферов без управляющего сигнала затвора), разработанных с ячейками с высоким V th . Внутренняя разница между выключением ячейки по отношению к другой минимизирует бросок тока во время включения и выключения.
Обычно затворный транзистор проектируется как устройство с высоким V th . Крупнозернистое затворное управление мощностью обеспечивает дополнительную гибкость за счет оптимизации ячеек затвора мощности, где наблюдается низкая коммутационная активность. Оптимизация утечки должна выполняться на крупнозернистом уровне, заменяя ячейку с низкой утечкой на ячейку с высокой утечкой. Мелкозернистое затворное управление мощностью является элегантной методологией, приводящей к снижению утечки до 10 раз. Этот тип снижения мощности делает его привлекательным методом, если требование снижения мощности не удовлетворяется только за счет многократной оптимизации V th .
Подход с грубой зернистостью реализует спящие транзисторы в стиле сетки, которые локально управляют ячейками через общие виртуальные сети питания. Этот подход менее чувствителен к изменению PVT, вносит меньше изменений IR-drop и налагает меньшие издержки на площадь, чем реализации на основе ячеек или кластеров. В грубой зернистости силового стробирования силовой стробирующий транзистор является частью сети распределения питания, а не стандартной ячейки.
Существует два способа реализации крупнозернистой структуры:
Размер затвора зависит от общего тока переключения модуля в любой момент времени. Поскольку только часть схем переключается в любой момент времени, размеры затворов мощности меньше по сравнению с мелкозернистыми переключателями. Динамическое моделирование мощности с использованием векторов наихудшего случая может определить наихудший случай переключения для модуля и, следовательно, размер. Падение IR также может быть учтено в анализе. Одновременная коммутационная емкость является основным фактором при реализации крупнозернистого управления мощностью. Чтобы ограничить одновременное переключение, буферы управления затворами могут быть соединены последовательно, а специальные счетчики могут использоваться для выборочного включения блоков переключателей.
Изоляционные ячейки используются для предотвращения тока короткого замыкания. Как следует из названия, эти ячейки изолируют блок питания от нормально включенного блока. Изоляционные ячейки специально разработаны для низкого тока короткого замыкания, когда вход находится на уровне порогового напряжения. Сигналы управления изоляцией подаются контроллером питания. Изоляция сигналов переключаемого модуля необходима для сохранения целостности конструкции. Обычно простая логика ИЛИ или И может функционировать как выходное изолирующее устройство. На практике доступны схемы сохранения нескольких состояний для сохранения состояния до выключения модуля. Самый простой метод — сканировать значения регистров в память перед выключением модуля. Когда модуль просыпается, значения сканируются обратно из памяти.
При использовании силового стробирования система нуждается в некоторой форме сохранения состояния, например, сканировании данных в ОЗУ, а затем сканировании их обратно при повторном пробуждении системы. Для критических приложений состояния памяти должны поддерживаться в ячейке, условие, которое требует флоп-удержания для сохранения битов в таблице. Это позволяет очень быстро восстанавливать биты во время пробуждения. Регистры сохранения представляют собой специальные триггеры с низкой утечкой, используемые для сохранения данных основных регистров силового стробирующего блока. Таким образом, внутреннее состояние блока во время режима отключения питания может быть сохранено и загружено обратно в него при повторной активации блока. Регистры сохранения всегда включены. Стратегия сохранения зависит от конструкции. Контроллер силового стробирования управляет механизмом сохранения, например, когда сохранять текущее содержимое силового стробирующего блока и когда восстанавливать его обратно.