Учет динамически рассеиваемой мощности при технологическом покрытии И. Н. Бычков Аннотация В последнее время при проектировании CБИС (сверх больших интегральных схем) требуется минимизация рассеиваемой мощности. Минимизацию рассеиваемой мощности можно проводить на этапе технологического покрытия, являющегося составной частью синтеза. Предлагается использовать для технологического покрытия метод фиксированного выигрыша [1]. В данной работе рассматривается способ учета ограничения на динамически рассеиваемую мощность при технологическом покрытии. Для учета динамически рассеиваемой мощности используются активности выводов элементов схемы из анализа ее диагностики с помощью программно-аппаратного комплекса. До этапа технологического покрытия проводится разбиение схемы с применением результатов диагностики. Введение Неотъемлемым этапом маршрута проектирования CБИС является технологическое покрытие логического описания схемы библиотекой элементов. Разнообразие библиотеки элементов позволяет использовать ее при проектировании интегральных схем различного назначения. Существует тенденция роста размера библиотек элементов, а значит, постоянно усложняется поиск оптимального технологического покрытия для заданных ограничений. С ростом мобильного сегмента рынка большое внимание уделяется потребляемой мощности. Появляются элементы схем с возможностью управления потреблением мощности. Кроме того, в уже используемых библиотеках элементов, существуют элементы с одной и той же логической функцией, рассчитанные на различную нагрузку или энергопотребление. Кроме изменения содержания и размера библиотек элементов при переходе на нанотехнологиии растет вклад параметров линий связи между элементами на результирующие характеристики схемы, в том числе и на энергопотребление [2]. Вследствие этого, возникают новые 1 способы организации маршрута проектирования. Среди предлагаемых способов наблюдается появление сложного взаимодействия традиционно независимых, последовательных этапов синтеза, размещения и трассировки [3, 4]. Необходимость минимизации рассеиваемой мощности обусловлена тем, что уровень энергопотребления выходит на первый план в ряду основных параметров, влияющих на конкурентоспособность. Принимая в рассмотрение развитие технологий и способов организации маршрутов проектирования, предлагается способ минимизации рассеиваемой мощности на этапе технологического покрытия для новейших маршрутов проектирования. Мощность, рассеиваемая на элементе Мощность, рассеиваемая на элементе, зависит от напряжения питания, частоты синхронизации схемы, внутренних емкостей элементов и выходных нагрузок. В библиотеках существующих элементов среднюю мощность, рассеиваемую на элементе можно описать следующей формулой: x y n 1 n 1 Pavg ( Ein f in ) (Con Vdd2 где 1 f on ) Pstatic 2 (1) Pavg - средняя мощность ( W ), x - число входных выводов элемента, Ein - связанная с каждым n–ым входным выводом энергия ( W / MHz ), f in - частота изменения состояния n-го входного вывода, y - число выходных выводов элемента, Con - внешняя емкость нагрузки n-го выходного вывода ( pF ), Vdd - напряжение питания ( V ), f on - частота изменения состояния n-го выходного вывода ( MHz ), Pstatic - статическая потеря мощности библиотечного элемента ( W ). Из формулы (1) следует, что рассеиваемая мощность на элементе состоит из динамической, зависящей от частоты переключения выводов, и статической составляющей. В современных библиотеках одну логическую функцию представляют разные по временным характеристикам, площади или рассеиваемой мощности элементы. Из анализа библиотек элементов можно установить, что динамическая составляющая превалирует. 2 Мощность Емкость входа B Ширина элемента статическая динамическая vsclib013 0.13um nW nW/MHz an2v0x05 2.20 0.54 11.8 2.9 an2v0x1 2.20 0.74 16.2 3.3 an2v0x2 2.20 1.00 21.9 3.9 an2v0x3 3.08 1.35 28.0 4.8 an2v0x4 3.08 1.78 36.1 5.8 an2v0x6 4.40 2.44 49.8 7.5 an2v0x8 5.28 3.27 66.5 9.5 (A*B) fF Таблица 1: Характеристики рассеиваемой мощности элементов «И». В таблице 1 приведены характеристики динамической и статической составляющей рассеиваемой мощности элементов «И» из оптимизированной по мощности библиотеки [5]. Библиотека изготовлена на технологии 0.13 m , напряжение питания 1.2V и емкость нагрузки при характеризации равна 0.02pF. В свою очередь динамическую составляющую рассеиваемой мощности можно разделить на входную и выходную составляющую, зависящую от частот переключения входных и выходных выводов соответственно. Выходная составляющая, как правило, в 10-100 раз больше входной составляющей при проектировании схем с помощью существующих кремниевых технологий. Анализируя библиотеки, нетрудно заметить, что входная составляющая зависит от площади элемента и частоты переключения входов элемента, поэтому, для больших по площади элементов она может быть существенной. Более того, статическая составляющая рассеиваемой мощности также зависит от площади элемента. Мощность, рассеиваемая на линии связи Основную составляющую мощности, рассеиваемой на линии связи, можно представить в следующем виде [2]: Pdyn 1 2 C Vdd F 2 (2) 3 где Pdyn - динамическая мощность, рассеиваемая на линии связи ( W ), - активность или вероятность переключения, C - общая емкость сегментов ( pF ), Vdd - напряжение питания ( V ), F - частота синхронизации( MHz ). Следует отметить, что линии связи также вносят существенный вклад в энергопотребление и различаются как локальные, промежуточные и глобальные [3]. К примеру, мощность, динамически рассеиваемая на локальной линии связи, длиной 100 m при использовании технологии 0.13 m , частоте синхронизации 100 MHz , активности равной 0.5, напряжении питания 1.5V и общей емкости в 23 fF , рассчитанной из модели [6], равна ~1.3 W . Уже при технологии 0.13 m мощность, рассеиваемая на линии связи, может быть больше чем на элементе. При использовании же нанотехнологий, рассеиваемая мощность на линиях связи становится ключевой в энергопотреблении. При проектировании микропроцессоров, было замечено, что рассеяние мощности на линиях связи составляет уже более 50% от динамической составляющей общего энергопотребления [7]. Как уже было отмечено, линии связи разделяют на разные типы: локальные, промежуточные и глобальные. На этапе технологического покрытия имеет смысл лишь учет и оптимизация по мощности линий связи локального и промежуточного типов. Это следует из общей иерархической методологии проектирования при физическом синтезе [3]. Анализ рассеиваемой мощности на глобальных линиях связи и ее оптимизация эффективна на других этапах проектирования. Глобальные линии связи вносят значительный вклад в общую потребляемую мощность схемы, но, несмотря на это доля локальных и промежуточных линий связи превалирует. При проектировании микропроцессора на технологии 0.13 m было замечено, что динамическое рассеивание мощности на линиях связи локального и промежуточного типов больше чем динамическое рассеяние мощности на глобальных линиях связи. Следовательно, учет мощности, рассеиваемой на локальных и промежуточных линиях связи, важен и может быть использован на этапе технологического покрытия. Активности выходов элементов Согласно формулам (1) и (2), для учета динамически рассеиваемой мощности на этапе технологического покрытия 4 необходимо знание вероятностей переключения выходов элементов. За исключением основных входов и выходов всей схемы, выходы одних элементов являются входами других. Иначе говоря, для выбора оптимальных элементов покрытия необходимо учитывать вероятности переключения выходов этих элементов, то есть активности выходов. Аналогично элементам, выделяемая мощность на линиях связи зависит от активности выходов связываемых ими библиотечных элементов. До этапа технологического покрытия применяется декомпозиция схемы на элементы «И» и «НЕ» с применением логических оптимизаций. В приближении нулевой задержки на элементах и линиях связи оценка активности каждого выхода элементов схемы может быть получена с помощью диагностики, как это показано на рисунке 1 . Входные тестовые вектора для схемы Диагностика для нахождения активностей выходов элементов Активности выходов элементов Средство технологичиского покрытия Рисунок 1. Нахождение активностей элементов и линий связи. До завершения проектирования невозможно учесть переключения сигналов на выходах элементов, обусловленные переходными процессами из-за соревнований логики, возникающие после завершения маршрута проектирования. Поэтому используется приближение нулевой задержки элементов и линий связи Предлагаемая диагностика используется для оценки активностей выходов элементов, причем полученная оценка активности для каждого вывода элемента является оценкой снизу, поскольку не учитываются переключения, обусловленные задержками. В процессе моделирования схем после завершения проектирования было замечено, что реальная активность выходов элементов может в среднем отличаться на 20-30% от активности, полученной в приближении нулевых задержек. Тем не менее, с помощью такой оценки можно определить части схемы с разной интенсивностью переключений сигналов на выходах элементов. Следует отметить, что любые маршруты проектирования неизбежно сталкиваются с противоречием: до завершения маршрута проектирования невозможно точно определить активности выходов элементов, которые уже 5 необходимы при технологическом покрытии с применением оптимизации по мощности. Диагностика для нахождения активностей выходов элементов На этапе функциональной верификации создаются тесты для разрабатываемого устройства. Эти же тесты могут быть использованы для предлагаемой диагностики. Как правило, тесты на этапе функциональной верификации составлены для различных режимов работы устройства. Поскольку от подбора тестов сильно зависят результаты диагностики, то был произведен подбор тестов для тех режимов работы устройства, применение которых наиболее ожидаемо. Диагностику для нахождения активностей выходов целесообразно проводить после этапа функциональной верификации устройства с помощью программноаппаратного комплекса, как это показано на рисунке 2. Загрузка архитектуры, управление Результаты диагностики Рисунок 2. Программно-аппаратный комплекс. Программно-аппаратные комплексы для функциональной верификации, используемые в автоматизации проектирования, получили свое развитие в связи с появлением современных технологий программируемой логики и интерфейсов вычислительных машин. В блоке программируемой архитектуры реализован прототип разрабатываемого устройства включающего схему тестируемого модуля логики. Тестирование модуля может проводиться при различных режимах работы устройства. На выходах элементов «И» или «НЕ» в тестируемой до этапа технологического покрытия схеме установлены статистические счетчики. Для нахождения активностей выходов элементов использовался сбор статистических данных. Существуют различные способы сбора статистики потока событий. В данном случае событиями являются увеличения показаний счетчика при 6 переключении выхода элемента из состояния 0 в 1 или наоборот. Используемые способы представлены на рисунке 3. Поток событий события a) Sm S m +3n Sm +1 t, время Выдача на Выдача на Выдача на окне n окне n окне n статистичской статистичской статистичской величины величины величины Y m +1 Y m +2 Ym б) Z0 = Ym; Z n+1 = w1* Y m +n + w2* Z n ; Рисунок 3. Примеры способов сбора статистики: a) способ сбора в стационарном окне, b) способ рекуррентных вычислений. Вследствие большого объема прогнозируемых вычислений статистических величин в блоке программируемой архитектуры при диагностике схемы для технологического покрытия наиболее приемлемым являлся способ сбора статистики в стационарном окне с применением рекуррентных вычислений. В результате диагностики тестируемой схемы были получены активности выходов элементов. После диагностики можно выделить части схемы различной динамикой переключений. Выделение этих частей проводиться таким образом, чтобы активности выходов элементов каждой из этих частей находились в пределах небольшого диапазона значений. В дальнейшем схему целесообразно разбить на эти части для этапа технологического покрытия. Метод фиксированного выигрыша В маршруте проектирования для нанотехнологий существует необходимость взаимодействия синтеза, размещения и трассировки [3]. Изменения, вносимые в результате синтеза, должны все более уточнять и детализировать размещение и трассировку, чтобы, в конечном счете, обеспечить выполнение всех ограничений, накладываемых на проект [4]. 7 Можно выделить три основных подхода для учета результатов размещения и трассировки на этапе синтеза: 1. Предварительный анализ влияния структуры и поведения синтезируемой схемы на результаты размещения и трассировки 2. Сохранение топологии и структуры синтезируемой схемы после предварительного этапа размещения и трассировки 3. Задание единых параметров для синтеза, размещения и трассировки Перспективным способом задания единых параметров для синтеза, размещения и трассировки представляется метод фиксированного выигрыша. Использование метода фиксированного выигрыша при технологическом покрытии позволяет учитывать зависимость задержки модулей от емкости нагрузки. При этом имеется возможность учитывать емкости линий связи, полученных из учета результатов размещения и трассировки. Результаты синтеза, размещения и трассировки, такие как размеры модулей, линии связи и их расположение, зависят от одного и того же параметра выигрыша G . Иначе говоря, от выбора параметра выигрыша зависит выполнение основных ограничений, предъявляемых к проектированию. Несмотря на эффективность параметризации средств синтеза и размещения в существующих маршрутах проектирования, основанных на методе фиксированного выигрыша, существуют трудности в нахождении нужных параметров выигрыша для выполнения ограничений, предъявляемых к проектированию [1]. По результатам моделирования было замечено, что выбор различных параметров выигрыша для частей схемы с различным диапазоном значений активностей выходов элементов приводит к выполнению более жестких ограничений, предъявляемых к проектированию. При этом разница параметров выигрыша частей схем существенна. Поэтому, для создания эффективного маршрута проектирования необходимо разбиение схемы для дальнейшей параметризации проектирования ее частей. Такая методология уже имеет успешное применение при проектировании микропроцессоров [3]. Также, необходимо найти способы определения нужного набора параметров выигрыша {G0 , G1 ,..., Gn } для выполнения ограничений, предъявляемых к проектированию. Следует отметить, что из анализа библиотеки элементов и параметров линий связи можно установить возможный 8 диапазон значений параметров выигрыша, что значительно упрощает поиск нужного набора параметров. Технологическое покрытие Для оценки эффективности предлагаемых подходов было разработано программное приложение GSTM (Gain Selective Technology Mapping). Его входные и выходные данные показаны на рисунке 4. Функция стоимости (задержка\мощность) GSTM Формирование вариантов покрытий, выбор параметра выигрыша, покрытие входной схемы Схема ( элементы «И» и «Не») Активности выходов элементов Параметры линий связи Схема ( библиотечные элементы ) Библиотека элементов Рисунок 4. Использование GSTM. Для получения технологического покрытия входной схемы в программном средстве GSTM, основой которого является метод фиксированного выигрыша, реализован следующий алгоритм: 1. Анализ библиотеки элементов и параметров линий связи для поиска минимально и максимально возможного параметра выигрыша. 2. Выбор набора параметров выигрыша из найденного на предыдущем шаге диапазона. 3. Формирование вариантов покрытий схемы для параметров выигрыша из набора полученного на предыдущем шаге. 4. Построение функциональной зависимости задержки и мощности от параметра выигрыша. 5. Выбор параметра выигрыша, при котором максимальна функция стоимости. 9 6. Покрытие входной схемы для параметра выигрыша, полученного на предыдущем шаге В этом средстве технологического покрытия используется формирование вариантов покрытий схемы для различных параметров выигрыша с применением структурного алгоритма [8]. Вычислительная сложность этого алгоритма является приемлемой для построения функциональной зависимости задержки и рассеиваемой мощности от параметра выигрыша. Моделирование и результаты При диагностике использовались тесты, в которых была реализована различная динамика изменения состояний входов тестируемых схем. Результаты диагностики были использованы для разбиения ориентированного ациклического графа из элементов схемы и линий связи между ними. Процесс разбиения выполнялся вручную с применением карты распределения рассеиваемой мощности. Эта карта является визуализацией на плоскости элементов схемы и линий связи между ними. Каждый элемент имеет цвет, соответствующий активности его выхода. Чем больше активность выхода элемента, тем больше составляющая красного цвета в палитре «зеленый, красный, синий». Соответственно чем меньше активность выхода элемента, тем больше составляющая синего цвета. Программный модуль для создания и визуализации карты распределения рассеиваемой мощности был реализован на основе программного пакета Graphviz – Graph Visualization Software лабораторий AT&T Labs, Inc. Следует отметить, что процесс разбиения схемы можно автоматизировать. При этом могут использоваться известные алгоритмы разбиения, такие как алгоритм Лина-Кернигана или алгоритм Фидуччиа-Маттеуса [9]. Эти алгоритмы являются алгоритмами итеративного улучшения. В них используется метрика, определяющая выигрыш от перемещения элемента из одной части разбиения в другую. Для учета результатов диагностики данная метрика помимо уменьшения связности должна учитывать увеличение разности между среднеарифметическими активностями выходов элементов в разделяемых частях схемы. Для технологического покрытия были отобраны схемы из набора ISCAS ’85 и применялась библиотека, изготовленная на технологии 0.13 m . При моделировании с помощью GSTM использовались два режима работы: технологическое покрытие 10 всей схемы целиком или поочередное технологическое покрытие всех ее частей, полученных после разбиения c использованием результатов диагностики. Результаты моделирования представлены на рисунке 5. Тест C432 C499 C880 C1355 C1908 C2670 C3540 C6288 Деление схемы Без деления схемы схемы Задержка Мощность Задержка Мощность G Улучшение % Задержка Мощность 2.80 120.0 2.60 125.2 6.5 -7.69 4.15 2.25 2.33 357.3 2.35 2.28 3.52 2.97 278.8 471.9 476.8 513.1 6.2 4.8 7.2 9.5 14.4 3.43 3.40 -1.75 11.36 -4.38 36.07 2.32 3.12 3.10 228.4 217.1 369.5 408.2 490.4 22.13 21.70 14.39 4.42 4.02 792.5 4.12 814.2 11 2.43 2.67 10.15 1861.8 10.34 2278.4 9.1 1.84 18.28 2.27 Рисунок 5. Результаты, полученные с помощью GSTM. Заключение Литература. 1. Bo.Ho, Y. Watanabe, A. Kondratyev, M. Marek-Sadowska, “Gain-Based Technology Mapping for Discrete-Size Cell Libraries”, DAC 2003, June 2-6, 2003, Anaheim, California, USA. 2. K.Banerjee, A.Mehrotra, ”Global Interconnect Warming”, Circuit & Devices, September 2001. 3. Yiu-Hing Chan, P. Kudva, L. Lacey, G. Northrop, T. Rosser, “Physical Synthesis Methodology for High Performance Microprocessors”, Proc. of Design Automation Conference, 2003. 4. О. В. Венгер, А. В. Жмурин, Д. А. Рыбин, «Изменение маршрута проектирования БИС при переходе к нанотехнологиям». Журнал Информационные Технологии, №5, 2005. 5. http://www.vlsitechnology.org/html/cells/vsclib013/lib_gif_index.html 6. http://www-device.eecs.berkeley.edu/~ptm/introduction.html 11 7. N. Magen, A. Kolodny, U. Weiser, N. Shamir, “Interconnect-power dissipation in a Microprocessor”, SLIP ’04, February 14-15, 2004, Paris., France. 8. M. Zhao, S.Sapatnekar, “A New Structural Pattern Matching Algorithm for Technology Mapping”, DAC 2001, June 18-22, Las Vegas, Nevada, USA. 9. Bradford L. Chamberlain, Graph Partitioning Algorithms for Distributing Workloads of Parallel Computations. Technical Report UW-CSE-98-10-03, University of Washington, October 1998. 12