Выпуск #6/2013
К.Брок
Оптимизация основных элементов систем на кристалле. Достижение максимальной производительности и минимального энергопотребления
Оптимизация основных элементов систем на кристалле. Достижение максимальной производительности и минимального энергопотребления
Просмотры: 3500
При проектировании систем на кристалле (SoC) разработчики должны стремиться к достижению оптимального соотношения производительности, энергопотребления и занимаемой площади (PPA – performance, power, area). Подобранные должным образом библиотеки логических ячеек и компиляторов памяти позволяют достичь заданных параметров РРА, в то время как создание оптимизированных под каждый конкретный случай библиотек может оказаться дорогостоящим и малоэффективным. Компания Synopsys предлагает инструменты проектирования SoC, позволяющие достичь оптимальных результатов в кратчайшие сроки.
Теги: fpga soc synopsys плис системы на кристалле
С точки зрения критериев PPA, интегрированные в единую SoC ядра центрального процессора (CPU), графического ускорителя (GPU) и цифрового сигнального процессора (DSP) зачастую оптимизируются по-разному (рис.1). Например, для CPU наиболее важна производительность при минимальной потребляемой мощности, а для графического ускорителя основной фактор оптимизации – это сокращение занимаемой площади и пониженное энергопотребление. GPU, как правило, строятся на основе алгоритмов распараллеливания вычислений, позволяющих использовать пониженную тактовую частоту за счет увеличения площади блока, в ряде случаев он занимает до 40% общей площади SoC. DSP оптимизируются с учетом целевой спецификации: например, для многоканальной базовой станции важна производительность, а для портативных применений или гарнитуры – площадь и потребляемая мощность.
Современные библиотеки стандартных элементов высокой производительности и САПР последнего поколения позволяют выполнять синтез пользовательских проектов и достигать оптимального результата без разработки новых специализированных библиотек элементов для каждого нового проекта. Однако, для обеспечения высокой производительности схемы библиотека элементов должна содержать:
высокопроизводительные последовательностные элементы;
высокопроизводительные комбинационные элементы;
высокопроизводительные ячейки для тактовых деревьев;
библиотеки для оптимизации энергопотребления и энергоэффективные ячейки для некритических путей.
Последовательностные элементы
Время предустановки и задержки триггера часто считают "мертвым" временем в составе временного цикла. Подобно времени, заложенному на запас и фазовый шум тактового сигнала, оно просто вычитается из рабочего периода тактового сигнала. Однако в эти интервалы времени могла бы выполняться полезная вычислительная работа. Набор высокопроизводительных триггеров позволяет использовать "мертвое" время с пользой: оптимизированные по задержке и по времени предустановки триггеры, размещенные в критических цепях, увеличивают доступный временной ресурс (рис.2). Инструменты логического и физического синтеза могут быть сконфигурированы для использования подобных регистров и обеспечить за счет этого рост производительности готовой схемы на 15–20%.
Комбинационные элементы
Оптимизация путей регистр–регистр требует большого разнообразия библиотечных элементов, в том числе набор реализуемых функций с богатым выбором вариантов нагрузочной способности для каждой из них. Хотя известно [1], что все логические функции могут быть описаны в базисе И-НЕ, для реализации эффективных схем требуется более широкий набор функциональных элементов (И-НЕ, ИЛИ-НЕ, И, ИЛИ, НЕ, исключающее ИЛИ, сумматоры, компрессоры и т.д.) (рис.3). Современные САПР логического и физического синтеза также эффективно используют различные варианты нагрузочных способностей элементов для различных нагрузок, расстояний, коэффициентов разветвления и вариантов размещения ячеек на кристалле.
Ячейки с различными пороговыми напряжениями и длиной канала, каскадные ячейки, оптимизированные на минимальную задержку в традиционных критических путях, элементы свертки И-ИЛИ-НЕ, ИЛИ-И-НЕ также дают САПР дополнительную гибкость при оптимизации. Однако нужно помнить, что для эффективного использования этих ячеек необходимо иметь отлаженный и оптимизированный маршрут проектирования (design flow) СБИС. Кроме того, для изделий, работающих в гигагерцовом диапазоне, ячейки с высокой нагрузочной способностью должны быть спроектированы с учетом явлений электромиграции.
Для того чтобы помочь САПР использовать правильный набор ячеек, на различных этапах маршрута проектирования зачастую применяются списки don’t_use, в которых перечислены элементы, скрытые для инструмента на данном этапе. Это позволяет инструменту сфокусироваться на том или ином критерии оптимизации Группировка нескольких сигналов со сходными ограничениями и типами нагрузок также хорошо влияет на результаты синтеза. Для достижения максимальной производительности проектируемой схемы необходима подстройка и оптимизация отдельных фаз синтеза (например, предварительного синтеза, инкрементального синтеза, синтеза тактового дерева, размещения, трассировки, физической оптимизации). Обычно за счет подобных техник оптимизации обеспечивается прирост производительности на 15–20%.
Библиотечные элементы
для тактовых деревьев
Особенность высокопроизводительных буферов и инверторов тактовых цепей – пониженная задержка для уменьшения общей задержки тактового дерева, минимизации фазовых сдвигов между его ветвями (clock skew) и снижения влияния вариаций технологического процесса на максимально достижимую тактовую частоту. Кроме этого, буферные элементы тактовых цепей оптимизированы с точки зрения энергопотребления и имеют симметричные значения задержек для фронта и среза входного сигнала (рис.4). Для полного использования перечисленных пре-
имуществ, предоставляемых библиотекой, инструменты синтеза должны иметь соответствующие функциональные возможности, использующие эти преимущества.
Можно добиться весьма значительной экономии потребляемой энергии, отключая синхросигнал при помощи, в частности, интегрированных отключающих элементов (ICG), доступных для широкого диапазона нагрузочных способностей. Энергия, потребляемая тактовым деревом, может составлять 25–50% от общего динамического энергопотребления готового изделия.
Инструменты минимизации энергопотребления в ядрах CPU, GPU и DSP
Современный рынок компонентов для средств мобильной связи, мультимедиа и потребительской электроники требует высокой производительности и низкого энергопотребления, обеспечивающего длительное время работы от батареи и удобное компактное корпусирование. Энергопотребление становится одним из основных ограничений при разработке изделий, и требуемый уровень производительности теперь необходимо обеспечивать внутри предопределенного бюджета мощности. Каждое новое поколение технологических процессов ставит новые вызовы для разработчиков библиотек и IP-блоков, но и открывает в то же время дополнительные возможности для создания энергоэффективных подсистем.
Библиотечный инструментарий для создания энергоэффективных систем включает в себя полный набор функциональных ячеек, необходимых для реализации технических решений по энергосбережению в SoC:
управляемое отключение синхросигналов,
полное выключение питания в доменах,
режим сна,
реализацию доменов с различными напряжениями питания,
динамическую регулировку величины напряжения питания и рабочей частоты (рис.5).
Эти ячейки не только реализуют перечисленные функции, но и спроектированы соответствующим образом и содержат все необходимые для САПР атрибуты для автоматической их установки и верификации полученного результата.
Многоразрядные триггеры
Использование многоразрядных триггеров – эффективный метод для уменьшения энергопотребления. Многоразрядные триггеры могут значительно сократить количество отдельных нагрузок на дерево синхронизации, уменьшая таким образом полную динамическую мощность, потребляемую деревом. Занимаемая элементами площадь и мощность утечки могут быть также уменьшены за счет совместного использования буферов синхросигналов в многоразрядных триггерах.
Многоразрядные триггеры – дополнительные библиотечные ячейки хранения данных, оптимизированные для минимизации энергопотребления и площади в обмен на незначительное снижение производительности и менее гибкие возможности размещения этих ячеек. Многоразрядные триггеры используют общий для всех вход синхросигнала (рис.6), который уменьшает нагрузку на дерево синхронизации в N раз, где N – разрядность триггера. Они уменьшают занимаемую элементами площадь, токи утечки и значительно снижают динамическое энергопотребление – до 50% для двухразрядных триггеров и до больших значений – для четырех- или восьмиразрядных триггеров.
Многоразрядные триггеры обычно используются в блоках, которые не входят в критические цепи и не работают на максимальных частотах системы. Они могут применяться как в небольших регистрах конфигурации системы, тактируемых только в процессе начальной загрузки, так и в основных трактах обработки данных, которые тактируются постоянно. Разработчики СБИС применяют соответствующий параметр – коэффициент замены, определяющийся как количество стандартных одноразрядных триггеров, которое может быть заменено на многоразрядные эквиваленты с целью уменьшения площади, занимаемой ячейками, и энергопотребления. При этом одноразрядные триггеры должны функционально соответствовать многоразрядным – иметь одинаковые входы, выходы, функции установки, сброса, тестирования и т.п.
Преимущества применения ячеек с разными пороговыми напряжениями и длинами каналов для оптимизации энергопотребления
Технологический процесс 28 нм с применением металлических затворов с высокой диэлектрической постоянной (HKMG) предоставляет широкие возможности для создания высокопроизводительных и энергоэффективных SoC. Процесс PolySION, использующий то же технологическое оборудование, более выгоден экономически. Эти технологические процессы позволяют изготавливать транзисторы с различными длинами каналов при неизменном минимальном расстоянии между соседними затворами (gate pitch). Это позволяет разработчикам использовать мультиканальные библиотеки, не рискуя выйти за ограниченные ТЗ требования по максимальной площади кристалла. Применение таких взаимодополняющих друг друга библиотек способствует снижению энергопотребления на поздних стадиях проектирования (размещение и трассировка) и обеспечивает широкие возможности оптимизации энергопотребления именно там, где это необходимо (рис.7). В дополнение к этому библиотеки логических ячеек с низкими и высокими пороговыми напряжениями позволяют добиться еще большей, адресной оптимизации энергопотребления.
Может показаться, что объем данных, с которым приходится работать инструментам логического синтеза и создания топологии (с учетом всех возможных вариантов библиотек стандартных ячеек), чрезмерен. Однако активное применение списков don’t_use (которые обычно запрещают применять ячейки как с очень низкими, так и с очень высокими нагрузочными способностями) и надлежащее упорядочивание библиотек обеспечивают эффективную методологию выбора оптимального набора библиотек – быстродействующих и высокой плотности – и компиляторов памяти, которые позволяют достичь требуемого быстродействия при минимально возможном энергопотреблении. Эта методология эффективна для большинства типов СБИС (CPU, GPU и высокоскоростных интерфейсов) и зависит от использованных схемотехнических решений и типов применяемых технологических процессов. Хорошо понимая процессы логического синтеза и создания топологии, можно быстро найти оптимальную, с точки зрения PPA, комбинацию и последовательность применения библиотек стандартных ячеек для любого конкретного проекта (см. таблицу). Разработка же специализированных библиотек для каждого типа и конфигурации ядер CPU, GPU и DSP, реализованных в SoC, может оказаться неэффективной и дорогостоящей.
* * *
Процесс с проектными нормами 28 нм имеет много технологических особенностей, грамотное использование которых позволит разработчикам СнК достигнуть оптимального соотношения PPA для конкретных применений. Оптимизированный набор библиотек стандартных ячеек и компиляторов памяти может значительно уменьшить время проектирования и реализации СнК. Чтобы помочь разработчикам в кратчайшие сроки создавать удовлетворяющие заданным требованиям СнК, Synopsys предлагает уникальную комбинацию IP-блоков, инструментов и методологий проектирования, а также профессиональные консультации. Дополнительную информацию о логических библиотеках Synop-
sys можно получить по ссылке http://www.synopsys.com/dw/ipdir.php?ds=dwc_standard_cell.
Литература
Roth J.P. Diagnosis of Automata Failures: A Calculus and a Method. – IBM Journal of Research and Development, 1966, vol.10 (Jul.), no.4, pp.278–291.
Современные библиотеки стандартных элементов высокой производительности и САПР последнего поколения позволяют выполнять синтез пользовательских проектов и достигать оптимального результата без разработки новых специализированных библиотек элементов для каждого нового проекта. Однако, для обеспечения высокой производительности схемы библиотека элементов должна содержать:
высокопроизводительные последовательностные элементы;
высокопроизводительные комбинационные элементы;
высокопроизводительные ячейки для тактовых деревьев;
библиотеки для оптимизации энергопотребления и энергоэффективные ячейки для некритических путей.
Последовательностные элементы
Время предустановки и задержки триггера часто считают "мертвым" временем в составе временного цикла. Подобно времени, заложенному на запас и фазовый шум тактового сигнала, оно просто вычитается из рабочего периода тактового сигнала. Однако в эти интервалы времени могла бы выполняться полезная вычислительная работа. Набор высокопроизводительных триггеров позволяет использовать "мертвое" время с пользой: оптимизированные по задержке и по времени предустановки триггеры, размещенные в критических цепях, увеличивают доступный временной ресурс (рис.2). Инструменты логического и физического синтеза могут быть сконфигурированы для использования подобных регистров и обеспечить за счет этого рост производительности готовой схемы на 15–20%.
Комбинационные элементы
Оптимизация путей регистр–регистр требует большого разнообразия библиотечных элементов, в том числе набор реализуемых функций с богатым выбором вариантов нагрузочной способности для каждой из них. Хотя известно [1], что все логические функции могут быть описаны в базисе И-НЕ, для реализации эффективных схем требуется более широкий набор функциональных элементов (И-НЕ, ИЛИ-НЕ, И, ИЛИ, НЕ, исключающее ИЛИ, сумматоры, компрессоры и т.д.) (рис.3). Современные САПР логического и физического синтеза также эффективно используют различные варианты нагрузочных способностей элементов для различных нагрузок, расстояний, коэффициентов разветвления и вариантов размещения ячеек на кристалле.
Ячейки с различными пороговыми напряжениями и длиной канала, каскадные ячейки, оптимизированные на минимальную задержку в традиционных критических путях, элементы свертки И-ИЛИ-НЕ, ИЛИ-И-НЕ также дают САПР дополнительную гибкость при оптимизации. Однако нужно помнить, что для эффективного использования этих ячеек необходимо иметь отлаженный и оптимизированный маршрут проектирования (design flow) СБИС. Кроме того, для изделий, работающих в гигагерцовом диапазоне, ячейки с высокой нагрузочной способностью должны быть спроектированы с учетом явлений электромиграции.
Для того чтобы помочь САПР использовать правильный набор ячеек, на различных этапах маршрута проектирования зачастую применяются списки don’t_use, в которых перечислены элементы, скрытые для инструмента на данном этапе. Это позволяет инструменту сфокусироваться на том или ином критерии оптимизации Группировка нескольких сигналов со сходными ограничениями и типами нагрузок также хорошо влияет на результаты синтеза. Для достижения максимальной производительности проектируемой схемы необходима подстройка и оптимизация отдельных фаз синтеза (например, предварительного синтеза, инкрементального синтеза, синтеза тактового дерева, размещения, трассировки, физической оптимизации). Обычно за счет подобных техник оптимизации обеспечивается прирост производительности на 15–20%.
Библиотечные элементы
для тактовых деревьев
Особенность высокопроизводительных буферов и инверторов тактовых цепей – пониженная задержка для уменьшения общей задержки тактового дерева, минимизации фазовых сдвигов между его ветвями (clock skew) и снижения влияния вариаций технологического процесса на максимально достижимую тактовую частоту. Кроме этого, буферные элементы тактовых цепей оптимизированы с точки зрения энергопотребления и имеют симметричные значения задержек для фронта и среза входного сигнала (рис.4). Для полного использования перечисленных пре-
имуществ, предоставляемых библиотекой, инструменты синтеза должны иметь соответствующие функциональные возможности, использующие эти преимущества.
Можно добиться весьма значительной экономии потребляемой энергии, отключая синхросигнал при помощи, в частности, интегрированных отключающих элементов (ICG), доступных для широкого диапазона нагрузочных способностей. Энергия, потребляемая тактовым деревом, может составлять 25–50% от общего динамического энергопотребления готового изделия.
Инструменты минимизации энергопотребления в ядрах CPU, GPU и DSP
Современный рынок компонентов для средств мобильной связи, мультимедиа и потребительской электроники требует высокой производительности и низкого энергопотребления, обеспечивающего длительное время работы от батареи и удобное компактное корпусирование. Энергопотребление становится одним из основных ограничений при разработке изделий, и требуемый уровень производительности теперь необходимо обеспечивать внутри предопределенного бюджета мощности. Каждое новое поколение технологических процессов ставит новые вызовы для разработчиков библиотек и IP-блоков, но и открывает в то же время дополнительные возможности для создания энергоэффективных подсистем.
Библиотечный инструментарий для создания энергоэффективных систем включает в себя полный набор функциональных ячеек, необходимых для реализации технических решений по энергосбережению в SoC:
управляемое отключение синхросигналов,
полное выключение питания в доменах,
режим сна,
реализацию доменов с различными напряжениями питания,
динамическую регулировку величины напряжения питания и рабочей частоты (рис.5).
Эти ячейки не только реализуют перечисленные функции, но и спроектированы соответствующим образом и содержат все необходимые для САПР атрибуты для автоматической их установки и верификации полученного результата.
Многоразрядные триггеры
Использование многоразрядных триггеров – эффективный метод для уменьшения энергопотребления. Многоразрядные триггеры могут значительно сократить количество отдельных нагрузок на дерево синхронизации, уменьшая таким образом полную динамическую мощность, потребляемую деревом. Занимаемая элементами площадь и мощность утечки могут быть также уменьшены за счет совместного использования буферов синхросигналов в многоразрядных триггерах.
Многоразрядные триггеры – дополнительные библиотечные ячейки хранения данных, оптимизированные для минимизации энергопотребления и площади в обмен на незначительное снижение производительности и менее гибкие возможности размещения этих ячеек. Многоразрядные триггеры используют общий для всех вход синхросигнала (рис.6), который уменьшает нагрузку на дерево синхронизации в N раз, где N – разрядность триггера. Они уменьшают занимаемую элементами площадь, токи утечки и значительно снижают динамическое энергопотребление – до 50% для двухразрядных триггеров и до больших значений – для четырех- или восьмиразрядных триггеров.
Многоразрядные триггеры обычно используются в блоках, которые не входят в критические цепи и не работают на максимальных частотах системы. Они могут применяться как в небольших регистрах конфигурации системы, тактируемых только в процессе начальной загрузки, так и в основных трактах обработки данных, которые тактируются постоянно. Разработчики СБИС применяют соответствующий параметр – коэффициент замены, определяющийся как количество стандартных одноразрядных триггеров, которое может быть заменено на многоразрядные эквиваленты с целью уменьшения площади, занимаемой ячейками, и энергопотребления. При этом одноразрядные триггеры должны функционально соответствовать многоразрядным – иметь одинаковые входы, выходы, функции установки, сброса, тестирования и т.п.
Преимущества применения ячеек с разными пороговыми напряжениями и длинами каналов для оптимизации энергопотребления
Технологический процесс 28 нм с применением металлических затворов с высокой диэлектрической постоянной (HKMG) предоставляет широкие возможности для создания высокопроизводительных и энергоэффективных SoC. Процесс PolySION, использующий то же технологическое оборудование, более выгоден экономически. Эти технологические процессы позволяют изготавливать транзисторы с различными длинами каналов при неизменном минимальном расстоянии между соседними затворами (gate pitch). Это позволяет разработчикам использовать мультиканальные библиотеки, не рискуя выйти за ограниченные ТЗ требования по максимальной площади кристалла. Применение таких взаимодополняющих друг друга библиотек способствует снижению энергопотребления на поздних стадиях проектирования (размещение и трассировка) и обеспечивает широкие возможности оптимизации энергопотребления именно там, где это необходимо (рис.7). В дополнение к этому библиотеки логических ячеек с низкими и высокими пороговыми напряжениями позволяют добиться еще большей, адресной оптимизации энергопотребления.
Может показаться, что объем данных, с которым приходится работать инструментам логического синтеза и создания топологии (с учетом всех возможных вариантов библиотек стандартных ячеек), чрезмерен. Однако активное применение списков don’t_use (которые обычно запрещают применять ячейки как с очень низкими, так и с очень высокими нагрузочными способностями) и надлежащее упорядочивание библиотек обеспечивают эффективную методологию выбора оптимального набора библиотек – быстродействующих и высокой плотности – и компиляторов памяти, которые позволяют достичь требуемого быстродействия при минимально возможном энергопотреблении. Эта методология эффективна для большинства типов СБИС (CPU, GPU и высокоскоростных интерфейсов) и зависит от использованных схемотехнических решений и типов применяемых технологических процессов. Хорошо понимая процессы логического синтеза и создания топологии, можно быстро найти оптимальную, с точки зрения PPA, комбинацию и последовательность применения библиотек стандартных ячеек для любого конкретного проекта (см. таблицу). Разработка же специализированных библиотек для каждого типа и конфигурации ядер CPU, GPU и DSP, реализованных в SoC, может оказаться неэффективной и дорогостоящей.
* * *
Процесс с проектными нормами 28 нм имеет много технологических особенностей, грамотное использование которых позволит разработчикам СнК достигнуть оптимального соотношения PPA для конкретных применений. Оптимизированный набор библиотек стандартных ячеек и компиляторов памяти может значительно уменьшить время проектирования и реализации СнК. Чтобы помочь разработчикам в кратчайшие сроки создавать удовлетворяющие заданным требованиям СнК, Synopsys предлагает уникальную комбинацию IP-блоков, инструментов и методологий проектирования, а также профессиональные консультации. Дополнительную информацию о логических библиотеках Synop-
sys можно получить по ссылке http://www.synopsys.com/dw/ipdir.php?ds=dwc_standard_cell.
Литература
Roth J.P. Diagnosis of Automata Failures: A Calculus and a Method. – IBM Journal of Research and Development, 1966, vol.10 (Jul.), no.4, pp.278–291.
Отзывы читателей