Логико-временной анализ нанометровых схем на основе интервального подхода

УДК 621.3.049.771.14

С.В. Гаврилов, О.Н. Гудкова, А.Н. Щелоков

ЛОГИКО-ВРЕМЕННОЙ АНАЛИЗ НАНОМЕТРОВЫХ СХЕМ НА ОСНОВЕ ИНТЕРВАЛЬНОГО ПОДХОДА

Данная статья посвящена разработке методики анализа быстродействия сложнофункциональных блоков на основе интервального моделирования с учетом неопределенностей параметров элементов. В отличии от традиционного анализа быстродействия на основе моделирования тестовых последовательностей с упорядочиванием событий во времени, предлагаемая методика обеспечивает упорядочивание в пространстве от первичных входов к первичным выходам. Этим достигается анализ логически совместимых путей, сочетающий в себе высокую скорость алгоритма анализа критических путей с приемлемой точностью на основе точных моделей задержек.

Сложно-функциональный блок (СФ-блок); логико-временной анализ; SP-граф; статический временной анализ.

S.V. Gavrilov, O.N. Gudkova, A.N. Schelokov

LOGIC TIMING NANOMETER CIRCUITS ANALYSIS USING INTERVAL

APPROACH

This paper is dedicated to IP-blocks performance analysis technique development, which is based on interval simulation accounting for element parameter variations. The traditional performance analysis of test stimulus sequence orders the events during time, while the proposed technique provides space ordering. This technique results in true logic path analysis, combines the high speed of critical path analysis with good accuracy due to accurate delay model.

IP-block; logic-timing analysis; SP-DAG; static timing analysis.

Введение. Основу современного маршрута проектирования составляют библиотеки элементов и сложно-функциональные блоки (СФ-блоки). Уровень надежности и качества библиотек элементов и СФ-блоков в значительной мере определяет надежность и качество изделий наноэлектроники в ближайшей перспективе.

Одной из ключевых проблем анализа быстродействия СФ-блоков при переходе в нанометровый диапазон является сложность в определении точных размеров элементов и межсоединений, и, как следствие, существенное возрастание вариаций задержек блока с возрастанием вариаций параметров. Попытки решить эту проблему методами статистического анализа [1] не получили широкого практического использования. Во-первых, статистические методы обеспечивают лишь расчет средних значений и погрешности и не обеспечивают расчет крайних случаев. Во-вторых, для их практического использования требуется огромный объем вычислений на этапе характеризации библиотек элементов при различных отклонениях параметров.

Наибольшую точность при решении возникших новых проблем могли бы обеспечить методы схемотехнического или логического моделирования всего проекта для заданных входных последовательностей. Однако верификация сложного проекта для всевозможных вариантов входных последовательностей невозможна из-за большой размерности задачи. Противоположными свойствами обладают специализированные методы логического уровня, ориентированные на анализ верхней или нижней возможной оценки той или иной характеристики схемы. Среди систем, основанных на таком подходе, наибольшее распространение в реальных маршрутах проектирования получили подсистемы статического временного анализа (СВА) для верхней оценки задержек на основе поиска критических путей (PrimeTime фирмы Synopsys и CTE Encounter фирмы Cadence).

Таким образом, можно говорить о двух противоположных подходах к оценке характеристик СФ-блоков. В данной статье предпринята попытка объединить эти два противоположных подхода в рамках интервального моделирования. Выбор интервального моделирования обусловлен существенным возрастанием удельного веса вариаций параметров нанометровых элементов в расчете быстродействия. Как следствие, задержки и фронты элементов следует рассматривать не как числа, а как интервалы возможных значений.

1. Анализ существующих подходов. В основе предлагаемого подхода лежит понятие интервала для описания задержек, фронтов распространения сигналов, а также входных векторов с булевскими значениями. Интервальный анализ широко используется в решении задач, где неопределённости и неоднозначности являются неотъемлемой частью постановки задачи. Основы интервальной арифметики были заложены в работах [2-3]. Существенное развитие методы интервального моделирования получили в работах Института теоретической и прикладной механики в Новосибирске (Ю.И. Шокин и др. [4-5]). Следует отметить, что современное развитие интервального моделирования в большинстве случаев направлено на решение задач оптимизации, а также решение стационарных задач, описываемых системами алгебраических уравнений и неравенств. Куда меньшее внимание уделяется динамическим задачам. Причина этого заключается в трудно контролируемом росте неопределенности во времени.

Аналогичная проблема роста неопределенности возникает и на логическом уровне в статическом временном анализе при переходе от фиксированных задержек к интервалам. Для преодоления этой проблемы в рамках данной работы предложены следующие подходы:

♦ введено понятие логико-временного интервала, объединяющего наряду с вещественным интервалом задержки в узле схемы также и булевский интервал возможных векторов входных переключений для задержки в заданном интервале;

♦ для контроля роста неопределенности булевских интервалов предложены спецификации характеристичеких функций интервала (ICF);

♦ предложены алгоритмы распространения характеристических функций интервала вдоль схемы на основе аппарата BDD [6].

Идея неполной или частичной определенности булевых функций получала свое развитие в ряде работ, ориентированных на решение задач логического синтеза и оптимизации [7-8]. В данной работе аппарат частично-определенных булевых функций используется для быстрой оценки совместимости входных интервалов конкретного вентиля в процессе распространения интервалов вдоль схемы. Окончательное же решение о совместимости входных интервалов принимается на основе точного анализа их логической совместимости на основе предлагаемого аппарата характеристичеких функций интервалов. Тем самым, достигается сочетание высокой скорости работы алгоритма за счет быстрых оценок на основе сравнения границ интервалов с полным анализом логических корреляций в схеме за счет аппарата ICF.

Для повышения достоверности результатов статического временного анализа неоднократно предпринимались попытки учета логики работы схемы в анализе критических путей. Одним из методов решения проблемы поиска входных векторов для генерации истинных критических путей является построение так называемой характеристической функции во времени или TCF-функции (Timed Characteristic Function [9]). TCF-функция определяет множество входных векторов, для которых задержка превышает заданное ограничение по времени:

TCF(y = v,t0+) = {{х}: Vt > t0 y(x,t) = v}.

Применение TCF-функций в сочетании с последующим анализом логической совместимости входного вектора и самой схемы (SAT-анализ [10]) позволяет найти входные воздействия при заданных ограничениях на задержку. Используя итерации для разных ограничений на задержку можно на основе такого подхода найти истинный критический путь, и соответствующий ему входной вектор.

В данной работе предлагается дальнейшее развитие этой идеи в следующих направлениях:

♦ во-первых, вместо характеристической функции с односторонним ограничением на задержку предлагается характеристическая функция интервала, определяющая множество входных векторов, для которых задержка попадает в некоторый интервал [a, b], что, в отличие от TCF-подхода, не требует итераций для определения границ интервалов;

♦ во-вторых, предлагается аппарат распространения характеристических функций вдоль схемы с встроенным анализом логической совместимости, который, в отличие от TCF-подхода, не требует применения SAT-анализа;

♦ в-третьих, предлагаемый аппарат обеспечивает анализ логической совмес-

тимости всех путей от заданного входного переключения, в том числе и не критических, а это имеет существенное значение для решения широкого класса задач, где, наряду с максимальной задержкой в узле, требуется и

минимальная задержка, в том числе, для определения интервалов пере-

ключений в анализе помехоустойчивости, для оценки максимального тока питания, при характеризации сложно-функциональных блоков и др.

2. Алгебра интервалов векторов и задержек переключений. Комбинационную схему можно описать в рамках четырехзначной Булевой алгебры

A4 = (B4 = B2 х B2, < + >, < * >, < >, < 0 >, < 1 >), где #2 = {0,1} - множество

Булевых статических состояний, (< + >, < * >, < >) - соответственно операции

дизъюнкции, конъюнкции и отрицания в четырехзначной логике, < 0 >= (0,0) -состояние статического нуля, < 1 >= (1,1) - состояние статической единицы, а в4 = в2 х #2 представляет собой Декартово произведение #2 на само себя. То есть множеством состояний узлов схемы в данном случае являются упорядоченные пары булевских значений B4 = {(х^, х j): х^, Xj е #2} для обозначения логических величин до переключения и после переключения соответственно. Для определения упорядоченных пар (х, х j) можно использовать следующий алфавит:

1 J

B4 = {l, r, f, h},

где l =< 0 >= (0,0) - обозначает стабильное состояние 0 до и после переключения (low), r = (0,1)- обозначает переключение из 0 в 1 (rise), f = (1,0)- обозначает переключение из 1 в 0 (fall), h =< 1 >= (1,1) - обозначает стабильное состояние 1

до и после переключения (high).

Операции четырехзначной логики сводятся к поразрядным операциям двузначной логики для состояний до и после переключения:

(a, b) < + > (c, d) = (a v c, b v d),

(a, b) < * > (c, d) = (a & c, b & d),

< (a, b) >= (a, b).

Комбинационная схема может быть, в частности, приведена к требуемому виду путем экстракции логических функций в форме SP-графа (SP-DAG [12]) из описания на транзисторном уровне. В SP-графе операции <+> соответствует параллельное соединение, операции <*> - последовательное соединение, операции

отрицания < > может соответствовать вход транзистора P-типа либо выход вен-

тиля для pull-down цепи от узла земли.

Для определения интервалов возможных значений первичных входов будут использоваться векторные обозначения:

V е V, Vb ] ^ Va ^ V ^ Vb ,

- T - T

где V =| a,. ., a | , V, =1 b,. ., b | - соответственно нижняя и верхняя границы a 1 1 nl b 1 1 ni

интервала, что в скалярной форме соответствует поразрядным неравенствам для каждого из nl первичных входов:

ai ^Vi ^bi Viе {1,...,nl}.

Логико-временным интервалом Ij (N) для заданного узла схемы N будем

называть объединение вещественного интервала возможных значений задержки в узле схемы с булевской информацией о возможных векторах входных переключений в следующей форме:

lj (N) = (f, [dmin, dmaxMVa ,Vb ^ где t е B4 - тип интервала в терминах четырехзначной логики, [ dm-n, dmax ] -

интервал возможных значений задержки, а [Va , Vb ] - интервал возможных значений входного вектора, при которых задержка находится в указанном интервале. В общем случае, к заданному узлу может относиться несколько интервалов одного типа.

Одной из распространенных задач логико-временного моделирования является задача расчета задержек на первичных выходах СФ-болока при заданном переключении одного или нескольких первичных входов. Предположим, первый вход переключается из 1 в 0 (t=f), остальные находятся в статическом состоянии. Тогда, при заданном значении периода р, если нет дополнительных ограничений, то

для первичных входов N1, N2,..., Nn можно определить следующие интервалы:

l1(N1) = (f ,[0,0Mf ,0,..,0 |T,| f ,1,..,1 |T]); l1(N2) = (l,[0,p],[jf,0,0,..,0 |T,| f ,0,1,..,1 |T]); l2(N2) = (h, [0, p],[|f ,1,0,..,0 |T,| f ,1,1,..,1 |T]);

l1(Nnt) = (l,[0,p],[\f ,0,...,0,0 |T,| f ,1.1,0 |T]);

l1(Nnt) = (h,[0, pUf ,0,...,0,1 |T,| f ,1...1,1 |T]).

Задача интервального моделирования состоит в том, чтобы распространить интервалы от первичных входов через промежуточные узлы до выходов схемы.

Исходя из того, что схема определена на основе БР-графа с использованием операций четырехзначной логики, необходимо сформировать правила генерации новых интервалов на выходах у = < + > х^ ; г = х^ < * > х^ для каждой пары

интервалов на входах.

Пусть /1(х1) = (г^^,?!,],[а^,Ьр), ^^2) = ^2^2,Г2,],[а2,тогда

тип выходного интервала формируется по правилам четырехзначной логики: г (у) = г (хр < + > г (х2); г (г) = г (хр < * > г (х2).

Очевидно, что логическая совместимость входных интервалов возможна лишь в области их пересечения, поэтому Булевы интервалы для у и г формируются по следующим правилам:

[Ор Ьр п [Й2, ^2 ] = [а1 V Й2, Ь & ^2].

Пересечение Булевых интервалов может оказаться пустым, если выполнено условие конфликта, свидетельствующее об обнаружении ложного пути (в этом случае новый интервал не формируется):

(о & а2 & —Ь V Ь2)).

Операция отрицания соответствует выходу вентиля в БР-графе, поэтому для каждого входного интервала I^ (х) = (гх,[1х, гх,],[ах,Ьх]) на выходе вентиля

у =< > х с задержкой в интервале [йт-п, йтах ] формируется выходной ин-

тервал противоположного типа с теми же Булевыми ограничениями, но со смещенными границами интервала задержек:

(у) = (< > гх,[1х + йт1п,гх + йтах,],[ах,Ьх]).

Несмотря на отсев ложных интервалов, интервалы на выходах бинарных операций формируются для каждой пары входных интервалов, что ведет к их экспоненциальному росту. Для сокращения роста количества интервалов можно ограничить

максимальное количество интервалов каждого типа предельным значением Iмах ,

а для выполнения этого ограничения воспользоваться объединением “близких” интервалов (по аналогии с методом [11] для границ интервалов задержек):

[Ьр и [а2,Ь2] с [^1 & а2,Ь V Ь2].

Используя операцию объединения и оперируя заданием предельного значения I мах можно получать различные результаты с разной степенью учета логики

работы схемы. В частности, при Iмах = 1 на выходе будут получены два крайних значения задержки [ йт-п, йтах ], практически без учета логики работы схемы, что соответствует результатам статического временного анализа. И, наоборот, при IМАХ = объединение интервалов не выполняется и результаты соответствуют полному моделированию всех входных последовательностей.

Существенная проблема, связанная с операцией объединения, состоит в том, что при объединении может возникнуть неоднозначность, а именно в объединенный интервал попадают векторы переключений, которые, на самом деле, не соответствуют спецификации интервала (типу и задержкам). Для решения этой проблемы необходим более детальный учет логики работы схемы, чему и посвящен следующий раздел.

3. Аппарат характеристических функций интервалов. Для контроля роста неопределенности булевских интервалов предлагаются спецификации характеристических функций интервала (ICF) и алгоритмы распространения характеристических функций интервала вдоль схемы на основе аппарата BDD [8].

Аппарат частично-определенных булевых функций с использованием векторных границ эффективен для быстрой оценки совместимости входных интервалов конкретного вентиля в процессе распространения интервалов вдоль схемы. И этот аппарат обеспечивает полноту анализа логической совместимости до тех пор, пока используются операции пересечения, и не выполняются объединения. Для сохранения полноты информации о входных векторах конкретного интервала вводится понятие характеристической функции интервала.

Для логико-временного интервала lj(N) = (t,[dmin,dmax],[Va,Vb]) характеристическая функция интервала lCF(lj) определяется как Булева функция,

аргументами которой являются Булевы значения переменных - первичных входов после переключения, а значение функции равно 1 в том, и только в том случае, когда входной вектор гарантирует переключение (или состояние), соответствующие спецификациям t, [ dm-n, dmax ].

При пересечении и объединении входных интервалов, характеристическая функция нового интервала может быть построена на основе аппарата BDD, соответственно как конъюнкция и дизъюнкция характеристических функций входных интервалов:

lCF([a1, b1] < * > [a2, b2]) = lCF([ap b^ < + > [a2, b2]) =

= lCF([a1, b1] n [a2, b2]) = lCF([ap b1]) & lCF([a2, b2]), lCF ({av b1] u [a2, b2]) = lCF ([^, b1]) v lCF([a2, b2]).

Характеристическая функция результата операции отрицания тождественна характеристической функции входа - аргумента.

Аппарат BDD эффективен при таком подходе для отсева ложных путей, поскольку условие конфликта определяется в этом случае как тождественный 0:

lCF([a1,b1] n [a2,b2]) = 0.

4. Результаты численных экспериментов. Предложенные алгоритмы были реализованы в программном виде в составе программного комплекса логиковременного анализа. На основе численных экспериментов показано, что предлагаемый метод сокращает количество ложных путей до 35 %. Показано, что учет логики позволяет сократить временные интервалы в среднем на 7 % для максимальной границы и на 5 % для минимальной границы, при этом в некоторых ситуациях на заданном наборе схем уменьшение максимальной задержки достигает 90%, а увеличение минимальной задержки - более чем в 2 раза. Время работы алгоритма на Intel Core Quad CPU Q8300 2.5GHz для перечисленных схем составило менее 1мин. на схему, что позволяет использовать данный подход в рамках оптимизационных процедур.

Заключение. В работе предложен новый метод логико-временного анализа цифровых КМОП-схем на основе интервальных оценок, который обеспечивает интеграцию двух противоположных подходов к решению задачи анализа быстродействия - анализа критических путей и моделирования тестовых последовательностей. Этим достигается анализ логически совместимых путей, сочетающий в себе высокую скорость алгоритма анализа критических путей с высокой точностью на основе моделирования тестовых последовательностей.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Agarwal, D. Blaauw, and V. Zolotov. Statistical timing analysis for intra-die process variations with spatial correlations. In IEEE/ACM International Conference on Computer-Aided Design (ICCAD). San Jose, CA, November 9-13 2003. - P. 900-907.

2. Warmus M. Calculus of approximations // Bull. Acad. Polon. Sci. - Cl. III. - 1956.- Vol. IV, № 5. - P. 253-259.

3. Sunaga T. Theory of an interval algebra and its application to numerical analysis // RAAG Memoirs. - 1958. - Vol. 2, Misc. II. - P. 547-564.

4. Шокин Ю.И. Интервальный анализ. - Новосибирск: Наука, 1981. - 112 с.

5. Калмыков С.А., Шокин Ю.И., Юлдашев З.Х. Методы интервального анализа. - Новосибирск: Наука, 1986. - 223 с.

6. R.E. Bryant. Graph-Based Algorithms for Boolean Function Manipulation // IEEE Trans. on Computers, 1986. - P. 677-691.

7. Karem A. Sakallah. Functional Abstraction and Partial Specification of Boolean Functions // The University of Michigan, 1995.

8. Черемисинова Л.Д., Новиков Д.Я. Проверка схемной реализации частичных булевых функций.

9. Yu-Min Kuo, Yue-Lung. Efficient Boolean Characteristic Function for Fast Timed ATPG // ICCAD'06, 2006.

10. M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, S. Malik. Chaff: Engineering an Efficient SAT Solver” Proc. DAC 2001.

11. Bobba S., HaJJ l.N. Estimation of maximum current envelope for power bus analysis and design// Int. Symp. on Phys. Des. - 1998. - P. 141-146.

12. R.E. Bryant. Boolean Analysis of MOS Circuits // IEEE Transactions on Computer-Aided Design of Integrated Circuits. - 1987. - P. 634-649.

Статью рекомендовал к опубликованию д.т.н., профессор А. Л. Глебов.

Гаврилов Сергей Витальевич - Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН); e -mail: sergey.v.gavrilov@ippm.ru; 124365, Москва, Зеленоград, ул. Советская, 3; тел.: 84997299890; отдел автоматизации проектирования цифровых схем; зав. отделом.

Щелоков Альберт Николаевич - e-mail: schan@ippm.ru; тел.: 84997299845; зам. директора.

Гудкова Ольга Николаевна - e-mail: gudkova_o@ippm.ruж; отдел автоматизации проектирования цифровых схем; м.н.с.

Gavrilov Sergey Vitalievich - The Institute for Design Problems in Microelectronics of the Russian Academy of Science; e-mail: sergey.v.gavrilov@ippm.ru; 3, Sovetskaya street, Zelenograd, 124681, Russia; phone: +74997299890; the department of digital design automation; head the department.

Schelokov Albert Nikolaevich - e-mail: schan@ippm.ru; phone: +74997299845; deputy director.

Gudkova Olga Nikolaevna - e-mail: gudkova_o@ippm.ru; the department of digital design automation; junior researcher.