ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2014 Управление, вычислительная техника и информатика № 3 (28)
УДК 519.714
Л.Д. Черемисинова
ЛОГИЧЕСКИЙ СИНТЕЗ КОМБИНАЦИОННЫХ КМОП СХЕМ С УЧЕТОМ РАССЕИВАНИЯ МОЩНОСТИ
Рассматривается задача синтеза многоуровневых логических сетей в базисе библиотечных элементов КМОП СБИС, оптимизированных по критерию площади и среднему значению рассеиваемой КМОП микросхемой мощности при ее реализации на кристалле СБИС. Предлагаются сравнительные прогнозные оценки вариантов оптимизации схем по критерию рассеивания мощности на этапах логического синтеза: минимизации двухуровневых и многоуровневых И-ИЛИ-схем, отображения И-ИЛИ-схем в технологический базис КМОП СБИС.
Ключевые слова: логический синтез; заказные КМОП СБИС; рассеивание мощности.
Прогресс в области микроэлектронных технологий обусловливает постоянное повышение степени интеграции и тактовой частоты, что позволяет, в свою очередь, создавать на одном кристалле все более быстродействующие и функционально сложные устройства. Однако наряду с огромными возможностями, которые открывают для электронных изделий эти успехи, они обусловливают также и серьезные проблемы, связанные с рассеянием мощности. Высокая степень интеграции привела к появлению устройств более чувствительных к рассеиванию мощности, к обострению проблемы надежности по сравнению с аналогичными устройствами меньшей степени интеграции. Эти проблемы не могут быть проигнорированы, так как проектируются все более сложные изделия для различных сфер применения, которые будут работать длительное время без подзарядки батареи питания и иметь наряду с этим низкую стоимость.
Проектирование с учетом энергопотребления до сих пор остается по большому счету искусством, что связано, в частности, и с отсутствием эффективных средств оценки эффекта используемых в процессе проектирования эвристик на энергопотребление схемы, реализуемой в дальнейшем на кристалле СБИС. Решением проблемы энергопотребления при проектировании СБИС занимаются многие специалисты и фирмы, например Cadence Design Systems (лидер в области автоматизации проектирования), Apache Design, Atrenta, Magma Design Automation, Synopsys, Mentor Graphics и др.
Снижение энергопотребления данной схемы может обеспечиваться на разных уровнях ее проектирования. При этом чем более ранним является этап, тем важнее получать на нем более качественные решения. В частности, на логическом уровне (за счет построения удачной логической структуры) можно достичь сокращения рассеивания мощности на 10-20% без ущерба для быстродействия и сложности схемы [2]. САПР микроэлектронных схем должны иметь средства, позволяющие оценивать и минимизировать энергопотребление схем уже в процессе их логического проектирования, чтобы избежать дорогостоящей процедуры их перепроектирования на стадии схемотехнического проектирования.
В настоящей работе рассматривается проблема снижения рассеивания мощности (энергопотребления) при логическом синтезе многоуровневых схем из библиотечных элементов, выполненных на основе технологии статических КМОП схем, которая в настоящее время является доминирующей технологией в области цифровых СБИС. Компоненты СБИС, выполненные по этой технологии, потребляют подавляющую часть необходимой для их функционирования энергии во время их переключения, соответственно, энергопотребление существенно зависит от переключательной активности узлов схемы, которая определяется, в свою очередь, динамикой функционирования и структурой схемы.
Рассматриваемый подход к синтезу позволяет минимизировать площадь и среднее значение мощности, рассеиваемой микросхемой, реализуемой на кристалле КМОП СБИС. Предлагаются оценки среднего значения рассеиваемой мощности многоуровневых комбинационных КМОП схем на всех этапах логического синтеза, когда 1) основные схемотехнические решения, такие как частота синхронизации и напряжение питания, фиксированы; 2) предполагается синхронная реализация схем; 3) для оценки энергопотребления в процессе синтеза схем используется статический метод, основанный на вероятностных характеристиках входных сигналов. Предполагается, что возможные входные воздействия на схему существенно определяются ее применением и могут быть спрогнозированы проектировщиком на вероятностном уровне, при этом, помимо функционального описания проектируемой схемы, задаются вероятностные оценки активности изменения сигналов на ее входах.
1. Оценка вариантов оптимизации схемы по прогнозируемому рассеиванию мощности
В общем случае мощность рассеивания энергии логической схемой является сложной функцией, зависящей от задержек распространения сигналов через схему, частоты синхронизации, технологических параметров изготовления, топологии микросхемы, а в случае КМОП технологии мощность рассеивания существенно зависит от последовательности прилагаемых к схеме входных воздействий. В типичных КМОП цепях от 60 до 80% всей рассеиваемой мощности приходится на ее динамическую составляющую [4], порождаемую нестационарным поведением узлов схемы. Согласно упрощенной модели энергия рассеивается КМОП микросхемой всякий раз, когда изменяется сигнал на ее выходе. Отсюда следует, что более активные в переключательном плане КМОП схемы рассеивают больший объем энергии. Таким образом, рассеивание мощности существенно зависит от переключательной активности элементов схемы, а она, в свою очередь, определяется последовательностью подаваемых входных воздействий на КМОП схему, т.е. динамикой функционирования.
На логическом уровне, когда схемы еще нет и часто неизвестен даже технологический базис, в котором она будет реализована, рассеивание мощности может быть снижено путем такого преобразования схемы, которое обеспечивает уменьшение ее переключательной активности без изменения функциональности [2, 5]. Для оценки предпочтительности вариантов оптимизации схемы на логическом уровне может быть использовано количественное изменение переключательной активности результирующей схемы при выборе этих вариантов. Такой подход к оценке рассеивания мощности дает возможность сравнивать варианты реализации схемы в процессе ее проектирования, что позволяет уже на логическом уровне проектировать схемы, потенциально имеющие низкое рассеивание мощности.
В основе методов оценки переключательной активности лежит подход, основанный на вероятностных характеристиках входных сигналов и функционально-структурных свойствах исследуемой схемы [6]. Подход предполагает задание вероятностей переключения сигналов на входных полюсах схемы, которые отражают частоту смены значений сигналов и используются для вычисления вероятностей переключения сигналов на выходах узлов схемы. В литературе предлагается множество вероятностных методов оценки энергопотребления логических схем [1-3, 5-7]. Для оценки вариантов оптимизации схемы достаточным представляется использование простых, быстро вычисляемых оценок изменения переключательной активности, в основе которых лежат следующие предположения: 1) изменения на входах схемы распространяются через все ее элементы мгновенно, а значит, все переходы в схеме происходят одновременно; 2) для каждого входного полюса узла имеет место временная независимость, предполагающая, что значение сигнала в любом такте синхронизации не зависит от его значений в предшествующих тактах; 3) входные полюсы узла пространственно независимы, что означает отсутствие корреляции значений сигналов на них (что может быть вызвано, например, наличием разветвлений на выходах элементов или обратных связей).
Различают вероятность появления сигнала 1 (или 0) на некотором полюсе схемы и вероятность смены значения сигнала на этом полюсе. Вероятность появления сигнала 1 на /-м полюсе схемы называется сигнальной вероятностью р/ и определяется средней долей тактов, на которых сигнал на /-м полюсе
имеет единичное значение. Вторая вероятность р/^0 (илир^1) есть вероятность смены значения сигнала с 1 на 0 (или с 0 на 1) и определяется средней долей тактов, на которых сигнал на /-м полюсе меняет свое значение по сравнению со значением в предшествующем такте. При сделанных предположениях вероятность р/^° (р0^1) равна произведению вероятности появления на нем сигнала 1 (0) в одном такте на вероятность того, что в следующем такте на нем появится 0 (1). Соответственно, переключательная активность полюса 2^ схемы равна Е(^-) = р/^0 + р/0^1 или (в предположении, что 0 <рг < 1):
Е(^) = 2р/ (1 - р/). (1)
Например, если сигнальная вероятность ре полюса е равна 0,2, то переключательная активность этого полюса Е(е) = 0,32; или если ре = 0,5, то Е(е) = 0,5.
Вероятность ре появления сигнала 1 на выходе элемента е существенно зависит от вероятностных характеристик рг сигналов на его входах и от функции, реализуемой этим элементом. Если сигналы на входах элемента не коррелируют в пространстве и времени, то сигнальные вероятности на выходе простых элементов типа инвертора и И, ИЛИ с п(е) входными полюсами подсчитываются исходя из таблиц истинности реализуемых ими функций:
п(е) п(е)
ре" = 1-р1; рел' = П р/; ре7 = 1 -П(1 - р/). (2)
г=1 /=1
Если заданы сигнальные вероятности входных сигналов схемы, то они могут быть распространены на выходы элементов схемы и через всю схему на ее выходные полюсы. Таким образом, могут быть подсчитаны переключательные активности всех полюсов схемы и, соответственно, переключательная активность схемы в целом как сумма переключательных активностей всех ее полюсов. Следует заметить, что если даже требование пространственной (и временной) независимости выполняется для входных сигналов схемы, оно может не иметь места для входных сигналов внутренних элементов схемы (как результат наличия разветвлений на выходах элементов и линий обратной связи).
В этом случае вычисленные по формулам (1), (2) вероятности имеют погрешность. Однако для сравнительной оценки вариантов оптимизации достаточно, как правило, ограничиться этими простыми оценками, не прибегая к более точным, но гораздо более трудоемко вычисляемым оценкам.
2. Логический синтез в базисе библиотечных элементов с учетом рассеивания мощности
В процессе логического синтеза абстрактное описание поведения синтезируемой схемы (система булевых функций) представляется в базисе элементов технологической библиотеки КМОП СБИС. Каждый из элементов характеризуется своей функцией и физическими характеристиками. Подход основан, как и большинство известных методов синтеза, на разбиении процесса логического синтеза на стадии технологически независимой оптимизации и технологического отображения. Первая стадия синтеза ориентирована на оптимизацию и декомпозицию логики, а вторая - на реализацию полученного функционального описания в заданном технологическом базисе. Цель первого этапа заключается в минимизации сложности многоуровневой схемы в технологически независимом базисе элементов. Последний состоит, как правило, из простых вентилей, выбор которых может быть не привязан ни к какому элементному базису или может выбираться исходя из реальной технологической библиотеки, как это делается в [8] и в предлагаемой работе. Сложность многоуровневой схемы измеряется числом вентилей, глубиной схемы и оценкой рассеивания мощности на логическом уровне.
Второй этап заключается в переводе многоуровневой схемы из вентилей в технологический базис на основе структурного покрытия соответствующей объектной сети подсхемами, реализующими библиотечные элементы. Такой подход не предполагает кардинальную перестройку схемы, полученной на этапе технологически независимой оптимизации, отсюда следует, что качество искомого покрытия существенно зависит от ее структуры. Просчеты, допущенные при ее синтезе, не могут быть компенсированы в полной мере на этапе технологического отображения, поэтому в существующих САПР большое внимание уделяется этапу технологически независимой оптимизации.
Технологически независимая оптимизация включает в себя в качестве первого этапа минимизацию функций реализуемых логических описаний в классе дизъюнктивных нормальных форм (ДНФ). Принимая во внимание специфику КМОП базиса, рационально проводить совместную минимизацию с учетом полярности функций, выбирая ту ее форму (ДНФ или ее инверсию), которая имеет меньшие сложность и энергопотребление. На втором этапе минимизированная система ДНФ, представляемая двухуровневой схемой, декомпозируется в многоуровневую объектную сеть из вентилей И, ИЛИ с ограниченным числом входов, на которые распадаются структуры основных элементов КМОП библиотеки, в которую планируется отобразить схему.
Сложность схемы и рассеивание ею мощности тесно связаны в том смысле, что уменьшение площади схемы имеет тенденцию обеспечивать также и снижение ее энергопотребления, а увеличение площади, как правило, ведет к увеличению энергопотребления [7]. Из этих соображений следует, что в процессе синтеза необходим компромисс между критериями минимизации энергопотребления и площади. Основная проблема оптимизации схемы заключается в том, что на этапе логического синтеза, еще не привязанного к конкретному технологическому базису, трудно оценить энергопотребление реальной схемы на достаточно достоверном уровне. В связи с этим минимизация динамической составляющей энергопотребления схемы (оцениваемой переключательной активностью схемы) на этапе логического синтеза в ущерб сложности схемы может в итоге привести к увеличению ее энергопотребления. Это происходит из-за возрастания значений других составляющих энергопотребления.
В настоящей работе решение проблемы оптимизации логических схем исходит из того, что основной путь энергосбережения при проектировании логических схем, прежде всего, подразумевает сокращение площади, занимаемой схемой на кристалле. На всех этапах логического синтеза при оценке вариантов оптимизации используется ранжированный критерий: в первую очередь количественная оценка изменения площади, затем количественная оценка изменения переключательной активности схемы.
3. Оптимизация двухуровневых логических схем
Для оптимизации двухуровневых схем с учетом рассеяния мощности используются методы минимизации функциональных описаний систем полностью и частично определенных булевых функций, которые представляют собой модификации известных методов минимизации булевых функций в классе ДНФ путем добавления в них эвристик, направляющих процесс минимизации к получению систем ДНФ, реализуемых схемами с наименьшим рассеиванием мощности. Практически все методы минимизации двухуровневых представлений булевых функций основаны на разделении множества искомых простых импликант на три подмножества: существенных, несущественных и условно существенных. Первые должны быть включены в любое безызбыточное решение, вторые не должны включаться ни в одно решение, а из третьих выбирается некоторое безызбыточное подмножество, покрывающее все интервалы единичных областей задания минимизируемых функций, которые оказались не покрытыми существенными импликантами.
Методы минимизации различаются способами построения простых импликант из числа условно существенных и критериями, которым они должны удовлетворять для включения их в решение. Различают методы: 1) последовательного построения простых импликант, включаемых в решение (например, метод конкурирующих интервалов [9]), путем укрупнения интервала булева пространства аргументов, представляющего импликанту, за счет включения в него непокрытых элементарных конъюнкций; 2) последовательного расширения интервала булева пространства аргументов, представляющего сначала конъюнкцию исходной ДНФ, а в перспективе простую импликанту, покрывающую эту конъюнкцию за счет исключения некоторых литералов, входящих в нее (например, методы, реализуемые ESPRESSO [10]). Простейший метод минимизации может использовать лишь одну операцию расширения условно существенных импликант. Наиболее просто с целью учета энергосбережения модифицируются методы минимизации, в которых в качестве кандидатов в искомое реше-
ние строится сразу несколько простых импликант, или методы, в которых найденное решение модифицируется методом последовательных улучшений.
Для того чтобы направить минимизацию к получению энергосберегающего решения, необходимо в процессе получения простых импликант и безызбыточных покрытий вычислять и учитывать переключательные активности всех простых импликант, используя формулы (1), (2). Для пояснения процедур, направляющих процесс минимизации на получение нужного результата, рассмотрим операции, входящие практически во все методы минимизации.
Операция расширения интервала выполняется путем исключения его литералов. При расширении интервала принимаются во внимание две цели: уменьшить сложность этого интервала, т.е. максимально расширить его, и покрыть с его помощью (полностью или частично) как можно больше непокрытых еще интервалов. При минимизации энергопотребления желательно: 1) исключать не любые, а наиболее активные литералы и 2) покрывать не любые, а наиболее энергоемкие интервалы. В силу первого утверждения на предмет исключения проверяются сначала литералы с большей переключательной активностью. В силу второго утверждения важен порядок расширения интервалов: слишком раннее расширение интервала может препятствовать ситуации, когда другой интервал покроет рассматриваемый. Чтобы снизить энергопотребление, оценивается энергетический вклад каждого интервала и энергоемкие (с большой переключательной активностью) интервалы расширяются последними в надежде на то, что некоторые другие интервалы расширятся и покроют их.
Операция нахождения безызбыточного покрытия заключается в приведении текущего покрытия ДНФ к безызбыточному виду. При поиске безызбыточного множества простых импликант выбирается минимальное число наименее активных (с меньшей переключательной активностью) импликант. При этом из безызбыточных множеств простых импликант, представляющих собой покрытие исходного множества интервалов единичных областей минимизируемых булевых функций, отбираются минимальные по мощности или по суммарному числу литералов всех импликант. Каждое из отобранных множеств оценивается суммой переключательных активностей (или плотностей переключений [6, 11]) входящих в него импликант, и в качестве решения выбирается безызбыточное множество с минимальной оценкой переключательной активности.
Проведенное сравнение модифицированных методов минимизации [11] с исходными методами (без учета энергопотребления) показало, что минимизация булевых функций с учетом переключательной активности сигналов позволяет получить уменьшение энергопотребления схем без увеличения их сложности. При этом вычислительные затраты на минимизацию увеличиваются незначительно.
4. Оптимизация многоуровневых логических схем
На этом этапе рассматривается задача построения многоуровневой логической схемы из вентилей И, ИЛИ, НЕ, реализующей систему булевых функций. Эта задача непосредственно следует за минимизацией булевых функций в классе ДНФ и предшествует синтезу логических схем из библиотечных элементов, выполненных по КМОП технологии. Цель этапа заключается в том, чтобы построить такой вариант представления схемы из вентилей, который мог бы служить хорошей отправной точкой для этапа технологического отображения в базис библиотечных элементов. В качестве количественных оценок эффективности проектирования на этом этапе используются суммарное число входных полюсов вентилей и суммарная переключательная активность полюсов схемы.
Комбинационные элементы типичной библиотеки КМОП СБИС на логическом уровне можно представить древообразными структурами из вентилей НЕ, И и ИЛИ, реализующими инверсную логику. Например, двухъярусные И-НЕ, ИЛИ-НЕ, трехъярусные 2-2И-2ИЛИ-НЕ. Элементы, реализуемые многоярусными структурами, включают в себя вентили с двумя и тремя входными полюсами. Логическую эффективность элемента библиотеки можно оценивать отношением суммарного числа полюсов его структуры к числу транзисторов. Наиболее эффективными элементами являются сильно структурированные микросхемы из вентилей И и ИЛИ с числом входов 2 и 3, наименее эффективными - инвертор и двухвходовые вентили. Соответственно, наиболее привлекательными с точки зрения
покрытия библиотечными элементами являются сильно структурированные сети из вентилей И и ИЛИ с малым числом входных полюсов. Эти соображения положены в основу принятого метода синтеза многоуровневых схем.
Основным, используемым во всех САПР, методом решения задачи декомпозиции систем ДНФ является алгебраическая декомпозиция [8], в основе которой лежит построение факторизованных форм (или факторизованных ДНФ) путем поиска факторов - общих частей конъюнкций или дизъюнкций ДНФ системы. Факторизованная форма является алгебраической формой задания многоуровневого представления ДНФ. Преобразование исходной минимизированной системы ДНФ в факторизованную форму, которой соответствует многоуровневая реализация из вентилей с ограниченным числом входов, разбивается на два этапа [12].
1. Совместная нетривиальная факторизация системы ДНФ: выделяются факторы (конъюнкции или ДНФ), которые имеют длину (число литералов) не более максимальных чисел входов птах и ттах вентилей И и ИЛИ и входят в не менее чем п& выражений. Ключевым вопросом при поиске факторов является вопрос оценки их стоимостного и энергосберегающего качества. Стоимостное качество Т. фактора 5, входящего в выражения из его порождающего множества V.;, упрощенно оценивается площадью соответствующего ему минора булевой матрицы, задающей факторизуемое множество выражений
т; = ф) (| V. | - 1),
где с(;) - цена реализации выражения 5 по Квайну. Энергосберегающее качество фактора количественно оценивается тем выигрышем в переключательной активности искомой схемы, который дает выделение этого фактора. В факторизованном множестве выражений переключательные активности всех выражений не изменятся по сравнению с их значениями в исходном множестве, но изменяется нагрузка полюсов схемы, соответствующих литералам, входящим в фактор ;: она уменьшится на (| V. | - 1), соответственно изменяется и суммарная переключательная активность полюсов схемы, реализующих факторизованное множество выражений. Энергосберегающее качество фактора ; = {г1,г2,^,гг} оценивается как
Р; = (| V; | - 1) Е Е(г.).
2. Построение скобочных выражений ДНФ каждой из функций системы основано на итеративном вынесении общих литералов конъюнкций заданной ДНФ В за скобки, т.е. на декомпозиции В = к (А) + В, где В, А и В - ДНФ (дизъюнкции некоторого множества конъюнкций), а к - конъюнкция, состоящая из некоторого множества литералов, общих для всех конъюнкций из А. Конъюнкция к выбирается следующим образом: ее ядром является некоторый «лучший» литерал х, вместе с этим литералом за скобки выносятся и другие литералы, общие для конъюнкций из ДНФ А. Лучшим считается тот литерал х, который входит в максимальное число I конъюнкций из В, а из равноценных по этому критерию - тот, что имеет максимальное значение переключательной активности. Такой выбор литерала обосновывается тем, что 1) энергонагрузка на полюс схемы, имеющий переключательную активность Ех и соответствующий литералу х, выносимому из I выражений, уменьшается на величину (I - 1) Ех; 2) наиболее активный сигнал будет подаваться на схему ближе к выходу, что позволит уменьшить суммарную переключательную активность схемы.
После окончания итеративного процесса вынесения общих литералов конъюнкций за скобки оставшиеся конъюнкции ранга, большего чем птах, факторизуются раздельно. При этом в фактор включаются в первую очередь литералы, соответствующие полюсам с наименьшей переключательной активностью, так как наиболее активные сигналы желательно подавать на входы элементов схемы как можно ближе к выходу.
Проведенные экспериментальные исследования [12] показали, что предложенный метод синтеза позволяет получить достаточно стабильный выигрыш в оценке рассеивания мощности проектируемой схемы по сравнению с аналогичным методом без учета энергопотребления.
5. Технологическое отображение
На этапе технологического отображения используется структурный метод покрытия (наиболее эффективный в практике проектирования сложных схем) многоуровневой схемы из вентилей И, ИЛИ библиотечными элементами. В процессе покрытия структурные схемы библиотечных элементов сравниваются с фрагментами покрываемой схемы, и в случае полного совпадения заменяют их. Соответственно, каждый библиотечный элемент должен быть представлен разными структурами, реализующими его функцию. При структурном покрытии схемы наряду со структурами КМОП элементов, которые реализуют инверсную логику, в библиотеку структурных описаний предлагается включать также двойственные структуры, получаемые путем переноса инверторов с выходов элементов на входы (и, соответственно, смены вентилей И на ИЛИ, а ИЛИ на И). Например, элемент 2И-2ИЛИ-НЕ (КОЛ), реализующий функцию ab V о, порождает элемент 2ИЛИ-2И с инверторами на входах (ЛОК), реализующий функцию (а V Ь) о.
Покрываемая многоуровневая многовыходная логическая сеть из вентилей представляется ориентированным ациклическим графом О = (V, V), называемым далее объектным. Вершины графа соответствуют базовым вентилям и входным полюсам схемы. Структурное описание библиотечного элемента представляет собой одновыходную многоуровневую логическую сеть из тех же базовых вентилей, что и покрываемая объектная сеть. Каждый библиотечный элемент представляется древообразным ориентированным графом, называемым далее модельным.
Метод покрытия основан на последовательном выделении подграфов Ок графа О, сравнении каждого из них на предмет покрытия его графами И и замене его графом Иг, дающим наибольшее значение выбранных критериев оптимизации. Таким образом, метод обеспечивает локальную оптимизацию и является приближенным. В процессе покрытия граф О сжимается за счет исключения из него покрытых подграфов. Одновременно наращивается (начиная с пустого) результирующий граф Е, представляющий логическую сеть из библиотечных элементов, которая функционально эквивалентна исходной объектной сети.
Критерии оптимизации покрытия. В процессе покрытия необходимо получить такой вариант схемы из библиотечных элементов, который обеспечивал бы минимум площади и рассеивания мощности. В предлагаемом методе в качестве первого критерия оптимизации принимается площадь полученной в результате покрытия схемы, которая измеряется суммарным числом транзисторов всех библиотечных элементов и оценивается суммой стоимостей модельных графов, входящих в покрытие объектного графа. Соответственно, в качестве стоимостной оценки варианта покрытия подграфа графа О = (V, V) принимается относительная стоимость покрытия одного полюса объектной сети, которая измеряется отношением числа покрытых полюсов фрагмента сети к стоимости покрывающего библиотечного элемента (которая измеряется числом транзисторов): чем больше это число, тем более желателен вариант покрытия.
Энергопотребление схемы, полученной в результате покрытия, оценивается суммой переключательных активностей всех полюсов схемы. Соответственно, в качестве энергосберегающей оценки варианта покрытия подграфа графа О = (V, V) принимается сумма переключательных активностей вентилей, покрытых библиотечным элементом.
Если пренебречь задержкой сигналов в логических элементах, то при оценке рассеивания мощности можно пренебречь также и интенсивностью переключений сигналов на внутренних полюсах библиотечных элементов. Это допущение обосновывается тем, что наиболее существенный вклад в паразитную емкость схемы вносят соединительные линии и на перезарядку этой емкости в процессе переключений сигналов тратится основная доля расходуемой мощности источника питания. Отсюда схему, реализуемую по КМОП технологии, нужно покрывать библиотечными элементами так, чтобы как можно больше узлов схемы с наибольшей переключательной активностью оказалось внутри библиотечных элементов. Соответственно, за значение критерия энергоэффективности варианта покрытия принимается сумма переключательных активностей элементов, которые соответствуют покрытым вершинам, ставшим внутренними вершинами покрывающего образца.
Повышение быстродействия алгоритма покрытия. Основной перебор при выполнении покрытия сосредоточен в процедуре выборы пары: покрываемый подграф Gk графа G и покрывающий модельный граф Hj библиотечного элемента. Следующие процедуры позволяют существенно сократить этот перебор.
1. Поиск и покрытие подграфов Gk объектного графа, допускающих покрытие единственным образом (единственным модельным графом). В простейшем случае такими подграфами являются вершины с большими степенями захода (соответствующие элементам с большим числом входных полюсов), для которых существует единственный вариант покрытия (например, для многих серий КМОП библиотек это число больше трех).
2. Упорядочение модельных графов. Если упорядочить модельные графы Hj по убыванию их эффективности (измеряемой отношением числа полюсов его структуры к числу транзисторов), то, сравнивая их по порядку с выделяемым на некотором шаге алгоритма покрытия подграфом Gk, можно сократить в ряде случаев перебор: если для некоторого модельного графа Hi значение Hi \ Gk = 0, то можно не производить сравнение подграфа Gk с другими графами Ht, так как они имеют меньшую эффективность и покрывают, следовательно, меньшую часть графа G. Можно ограничиться лишь поиском варианта покрытия подграфа Gk с наибольшим значением критерия энергоэффективности.
3. Топологическая сортировка объектного и модельных графов. Сортировка модельного графа Hi (он есть дерево) заключается в упорядочении ветвей дерева слева направо по убыванию их сложности. Ветвь P помещается левее ветви R, если P длиннее ветви R или (если они равны по длине) при просмотре вершин от корня в ветви P раньше встретится вершина с большей полустепенью захода, чем в ветви R. Аналогично производится и частичная сортировка графа G. Сортировка позволит быстрее давать ответ на вопрос, возможно ли покрыть фрагмент объектного графа заданным модельным графом.
Заключение
1. Предложены процедуры модификации методов, реализующих этапы синтеза и оптимизации многоуровневых логических сетей в базисе библиотечных элементов КМОП СБИС, с целью оптимизировать при логическом синтезе среднее значение рассеиваемой мощности целевой КМОП микросхемой.
2. Предложены сравнительные прогнозные оценки вариантов оптимизации схем по критерию энергопотребления на этапах логического синтеза: минимизации двухуровневых и многоуровневых И-ИЛИ-схем, отображения И-ИЛИ-схем в технологический базис КМОП СБИС.
3. Программные реализации описанных методов, реализующих этапы синтеза многоуровневых логических сетей в базисе библиотечных элементов КМОП СБИС, оптимизированных по критерию площади и среднему значению рассеиваемой мощности КМОП микросхемой при ее реализации на кристалле СБИС, включены в программный комплекс автоматизации проектирования интегральных микросхем с пониженным энергопотреблением, выполняемых по КМОП технологии [13].
ЛИТЕРАТУРА
1. Рабаи Ж.М., Чандракасан А., Николич Б. Цифровые интегральные схемы. Методология проектирования. М. : ООО
«И.Д. Вильямс», 2007. 912 с.
2. Benini L., De Micheli G. Logic Synthesis for Low Power // Logic Synthesis and Verification / eds. S. Hassoun, T. Sasao,
R.K. Brayton. Boston ; Dardrecht ; London : Kluwer Academic Publ., 2002. P. 197-223.
3. Roy K., PrasadS.C. Low Power CMOS VLSI Circuit Design. N.Y. : John Wiley and Sons Inc., 2000. 376 p.
4. Power Compiler. Automatic Power Management within Galaxy™ Implementation Platform. URL: http://pdf.aminer.org/
000/285/870/power_compiler_a_gate_level_power_optimization_and_synthesis_system.pdf (дата обращения: 1.02.14).
5. Черемисинова Л.Д. Оценка энергопотребления КМОП схем на логическом уровне // Информационные технологии. 2010. № 8. С. 27-35.
6. Najm F.N. A survey of Power Estimation Techniques in VLSI Circuits // IEEE Trans. on VLSI. 1994. No. 12. P. 446-455.
7. Pedram M. Power Minimization in IC Design: Principles and Applications // ACM Trans. Design Automation Electronic Systems. 1996. V. 1. P. 3-56.
8. Черемисинова Л.Д. Синтез комбинационных КМОП схем с учетом энергосбережения // Информатика. 2010. № 4. С. 112122.
9. Торопов Н.Р. Минимизация систем булевых функций в классе ДНФ // Логическое проектирование / под ред. А.А. Закревского. Минск: Ин-т техн. кибернетики НАН Беларуси, 1999. С. 4-19.
10. Brayton R.K., Hachtel G.D., McMullen C., Sangiovanni-Vincentelli A.L. Logic minimization algorithms for VLSI synthesis. Boston, Massachusetts : Kluwer Academic Publ., 1984. 193 p.
11. Черемисинов Д.И., Черемисинова Л.Д. Минимизация двухуровневых КМОП схем с учетом энергопотребления // Информационные технологии. 2011. № 5. С. 17-23.
12. Черемисинова Л.Д., Кириенко Н.А. Синтез многоуровневых логических схем с учетом энергопотребления // Информационные технологии. 2013. № 3. C. 8-14.
13. Бибило П.Н., Черемисинова Л.Д., Кардаш С.Н., Кириенко Н.А., Романов В.И., Черемисинов Д.И. Автоматизация логического синтеза КМОП схем с пониженным энергопотреблением // Программная инженерия. 2013. № 8. С. 35-41.
Черемисинова Людмила Дмитриевна, д-р техн. наук. E-mail: cld@newman.bas-net.by Объединенный институт проблем информатики НАН Беларуси (г. Минск)
Поступила в редакцию 1 февраля 2014 г.
Cheremisinova Ludmila D. (United Institute of Informatics Problems of NAS of Belarus, Minsk, Belarus).
Lower-power logic synthesis of the combinational CMOS circuits.
Keywords: logic design; CMOS VLSI; power dissipation.
In the paper, the task of synthesis of multilevel circuits in the basis of the static CMOS cell library is considered. The circuits are optimized according to area and mean value of the dissipated power of microcircuit implemented on the CMOS VLSI chip. The case of synthesis of the combinational CMOS circuits is discussed when 1) key schematic solutions, such as clock frequency and supply voltage, are assigned; 2) synchronous implementation of the CMOS circuits is supposed; 3) for the purposes of energy estimation during the synthesis process the static method, based on probabilistic properties of input signals, is used. The estimates of mean value of the dissipated power of the multilevel combinational CMOS circuits on all steps of logic synthesis are proposed.
The dynamic power dissipation dominates in the CMOS digital circuits: it accounts for 60%-80% of the overall power dissipation. The dynamic power dissipation is related to charging and discharging node capacitors which is caused by switching signals on circuit nodes. At the stage of logic optimization the majority of the overall energy savings can be achieved by minimizing the switching activities in the circuit. Based on this fact, to estimate variants of circuit optimization on logic level, the quantitative change of switching activity of the resulting (after the variant choosing) circuit is used. It is supposed that a circuit input sequence depends essentially upon its application and can be forecasted by designer on probabilistic level. At that, in addition to functional description of circuit under design, the probabilistic estimates of switching activities of circuit input signals should be specified.
Here, the solving problem of logic circuit optimization is based on the assumption that the basic way of power saving during logic design, first of all, reduces the chip area of the circuit implementation. So, in all techniques at all stages of logic design, a ranged criterion is used: the chip area as the first one, and only then a quantitative criterion of circuit switching activity change.
In the process of logic synthesis, an abstract form of desired circuit behavior (system of Boolean functions) is turned into a design implementation in terms of the logic gates of the CMOS cell library. The considered approach is based, as overwhelming majority of known synthesis methods, on design process partition into two stages: the technology independent phase, where logic minimization and decomposition is performed on the Boolean functions with no regard to physical properties and the technology dependent phase, where the mapping logic network into a physical CMOS cell library is performed.
The first step of technology independent optimization is driven minimization of the Boolean functions in class of disjunctive normal forms (DNFs). In the second step, the two-level network realizing the minimized DNF system is decomposed in the multilevel network of primitive AND and OR gates with restricted numbers of inputs that are predefined by the structures of the basic gates of the target CMOS library. The technology mapping consists in transformation of the multi-level AND-OR network in the target CMOS cell library basis, the mapping is based on structural replacing sub-networks of the initial AND-OR network with cell library instances.
In the paper, the modifications of methods, realizing the basic stages of synthesis and optimization of multi-level logic circuits in CMOS cell library basis, are considered. They are minimization of the two-level and multi-level AND-OR networks and mapping the networks into the technological CMOS VLSI basis. To optimize variants for a circuit under design, the comparative look-ahead estimates are proposed which targeted to reducing the average power dissipation of the CMOS circuit and based on expected change of its switching activity.
REFERENCES
1. Rabaey J.M., Chandrakasan A., Nikolic B. Tsifrovye integral'nye skhemy. Metodologiya proektirovaniya [Digital integrated cir-
cuits. A design perspective]. Moscow: OOO I.D. Vilyams Publ., 2003. 761 p.
2. Benini L., De Micheli G. Logic synthesis for low power. In: Hassoun S., Sasao T., Brayton R.K. (eds.) Logic synthesis and verifi-
cation. Boston, Dardrecht, London: Kluwer Academic Publ., 2002, pp. 197-223.
3. Roy K., Prasad S.C. Low power CMOS VLSI circuit design. New York: John Wiley and Sons Inc., 2000. 376 p.
4. Power Compiler. Automatic Power Management within Galaxy™ Implementation Platform. Available: http://pdf.aminer.org/
000/285/870/power_compiler_a_gate_level_power_optimization_and_synthesis_system.pdf. (Accessed: 1st February 2014).
5. Cheremisinova L.D. Logic level estimation of power dissipation in CMOS circuits. Informatsionnye tekhnologii - Information
Technologies, 2010, no. 8, pp. 27-35. (In Russian).
6. Najm F.N. A survey of power estimation techniques in VLSI circuits. IEEE Transactions on VLSI, 1994, no. 12, pp. 446-455.
DOI: 10.1109/92.335013.
7. Pedram M. Power minimization in IC design: principles and applications. ACM Transactions Design Automation Electronic Sys-
tems, 1996, vol. 1, pp. 3-56. DOI: 10.1145/225871.225877.
8. Cheremisinova L.D. Sintez kombinatsionnykh KMOP skhem s uchetom energosberezheniya [Low-power synthesis of combina-
tional CMOC networks]. Informatika, 2010, no. 4, pp. 112-122.
9. Toropov N.R. Minimizatsiya sistem bulevykh funktsiy v klasse DNF [Minimization of a system of Boolean in DNF class]. In:
Zakrevskiy A.A. Logicheskoeproektirovanie [Logic Design]. Minsk: Institute of Technical Cybernetics of NAS of Belarus Publ., 1999, pp. 4-19.
10. Brayton R.K., Hachtel G.D., McMullen C., Sangiovanni-Vincentelli A.L. Logic minimization algorithms for VLSI synthesis. Boston, Massachusetts: Kluwer Academic Publ., 1984. 193 p.
11. Cheremisinov D.I., Cheremisinova L.D. Low power driven minimization of two-level CMOS-circuits . Informatsionnye tekhnologii - Information Technologies, 2011, no. 5, pp.17-23. (In Russian).
12. Cheremisinova L.D., Kirienko N.A. Low power driven synthesis of multi-level logical circuits. Informatsionnye tekhnologii -Information Technologies, 2013, no. 3, pp. 8-14. (In Russian).
13. Bibilo P.N., Cheremisinova L.D., Kardash S.N., Kirienko N.A., Romanov V.I., Cheremisinov D.I. Low-Power Logical Synthesis of CMOS Circuits Automation. Programmnaya inzheneriya - Software engineering, 2013, no. 3, pp. 8-14. (In Russian).