Другие журналы

научное издание МГТУ им. Н.Э. Баумана

НАУКА и ОБРАЗОВАНИЕ

Издатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211.  ISSN 1994-0408

Алгоритм ключевого временного моделирования с оценкой мощности

#2 Февраль 2005

Ю

Ю.Б. Егоров, А.В. Зиновьев НИИ систем автоматизированного проектирования РЭА и СБИС Российской Академии наук (НИИСАПРАН)

 

Алгоритм ключевого временного моделирования с оценкой мощности

 

Описывается новый подход к временному моделированию цифровых МОП-схем на ключевом уровне. Этот подход объединяет некоторые преимущества используемых в Elogic [1], Rsim [2] и Mom [3] способов и такие программы работают на два-три порядка быстрее, чем программы типа SPICE. Во время моделирования этим способом также оценивается потребляемая схемой мощность. Возможна подстройка требуемого соотношения скорости/точности моделирования для отдельных частей схемы.

 

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

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

В последнее время разработано несколько методов, которые не нуждаются в предварительно построенных временных моделях вентилей, такими методами непосредственно вычисляют временные характеристики поведения схемы из ее транзисторного описания. Среди них можно отметить Elogic [I], Rsim [2] и Mom [3]. К сожалению, все они имеют недостатки, которые ограничивают возможности их использования.

Elogic использует только непосредственное взаимодействие между соседними узлами в схеме. Он работает подобно алгоритму Гаусса-Зейделя, но не использует итераций при решении. В результате простейший из алгоритмов серии Elogic сталкивается с трудностями при моделировании схем с сильными связями между соседними узлами. Более сложные алгоритмы Elogic справляются с такими схемами лучше, но работают намного дольше.

Rsim использует простейшую модель транзистора, в результате временная ошибка обычно составляет около 15 % от ошибки при работе с программой SPICE, но иногда может возрастать до 30 %. Rsim использует только три дискретных уровня напряжения (0, 1, X), что затрудняет включение Rsim в состав программы смешанного моделирования, а также приводит к погрешностям при оценке потребляемой мощности с учетом сбоев и гонок.

Mom - улучшенная версия Rsim - использует непрерывное аналоговое представление напряжения и модельного времени, более сложную кусочно-линейную модель транзистора. В результате Mom достигает лучших результатов, чем Rsim. Для расчета переходных процессов в схеме Mom использует аппроксимации AWE [6] высокого порядка, что улучшает его точность. Однако AWE-метод аппроксимирует Лапласовское изображение передаточной функции схемы при s = 0, что соответствует t = ∞ во временной области. Это снижает преимущество использования аппроксимаций высокого порядка для схем, содержащих элементы с кусочно-линейными характеристиками, которые меняют свои параметры во время переходного процесса. Также Mom может успешно обрабатывать схемы лишь древовидной структуры и использует разрезание схемы, если структура не древовидная. Разрезание схемы вносит дополнительные погрешности в получаемые результаты.

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

Этот подход реализован в экспериментальной программе ключевого моделирования. Некоторые примеры ее использования приведены ниже.

 

Модели элементов

В описании схемы допускаются четыре вида элементов. Это nМОП — и рМОП - транзисторы, резисторы и конденсаторы. Один из выводов конденсатора должен быть подключен к источнику постоянного сигнала или к земле. В отличие от простых методов ключевого моделирования [4], [5] здесь используются реальные значения сопротивлений и емкостей для каждого элемента схемы. Для транзисторов используются табличные модели. Фактически для каждого типа транзистора хранятся четыре различные таблицы. Одна таблица описывает электрические свойства канала транзистора и содержит данные о токе через канал и его сопротивлении. Три другие таблицы хранят данные о емкостях затвора, стока и истока транзистора. Обычно программы ключевого моделирования используют некоторые средние значения этих паразитных емкостей для упрощения вычислений. В данном подходе исполь­зуются фактические значения. Известно, что значения этих емкостей сильно зависят от напряжений на контак­тах транзистора. Эта зависимость существенно влияет на форму сигналов и на вычисленные временные характеристики (задержки, длительности фронтов).

Каждая из этих таблиц построена на сетке, шаг которой указывается пользователем для того, чтобы получить требуемое соотношение точность/скорость. Шаг сетки всегда выбирается постоянным для ускорения получения реального интерполированного значения.

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

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

тогда используется двухкомпонентная замена с параметрами

 

Рис. l. Модель МОП транзистора

 

где Ids - ток через канал транзистора (точная модель); Vgs — напряжение затвор — исток; Vds - напряжение сток -исток; Vth — пороговое напряжение транзистора;  — ток через канал транзистора в линейном режиме (точная модель);  — ток через канал транзистора в режиме насыщения (точная модель); It - ток источника (ключевая модель); Rt - сопротивление резистора (ключевая модель).

 

Процесс моделирования

Процесс моделирования состоит из трех стадий: подготовки, инициализации и расчета переходного процесса.

Во время подготовки вычисляются параметры элементов и строятся таблицы и структуры, которые описывают схему. При этом используется разделение схемы на группы связанных по постоянному току компонентов (DCCC-группы). Также строятся отношения зависимости между узлами в разных DCCC-группах. Если изменение напряжения на одном из таких узлов непосредственно может приводить к изменению напряжения на другом, то первый называется управляющим, а второй — управляемым.

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

Так же, как и в других подходах к ключевому моделированию, используется событийный механизм селективной трассировки активности. DCCC-группа является единицей планирования. Когда прогнозируется изменение напряжения какого-либо узла, DCCC-группа, которая содержит этот узел, планируется для последующей обработки и помещается в упорядоченный во времени календарь событий. Кратко алгоритм моделирования выглядит следующим образом (псевдокод):

 

algorithm transient simulation( circuit) {

put stimuli to the time_queue( queue);

while queue is not empty and simulation period is not expired {

event = get next event( queue );

process DCCC group( event → group, event → time );

foreach fanout of event → group

if inputs of fanout are changed enough

process DCCC group( fanout, event → Mime );

}

}

procedure process DCCC group( group, time ) {

foreach node in group

update voltage(node, lime);

foreach element in group

calculate parametersf element);

if group is tree {

calculate moment Pl(group → root, m -1);

calculate moment P2( group → root, m -1);

calculate moment P1( group → root, m0):

calculate moment P2(group → root, m0);

} else

solve 1. Usystem for moments(group );

dt_min = ∞;

foreach node in group

if different (node → v, node → m -1) {

next v    next_voltage level(node → v, node → m -1);

dt=node → m0/node → m -1*.

ln ((next_v-node → m -1) / (node → v-node → m-1)) ;

dt min = min(dt, dt_min);

}

schedule DCCC group(group, time + dt min);

}

procedure calculate moment_Pl( vertex, moment) {

Sg - 0;

vertex i → 0;

if vertex has children {

foreach child of vertex {

calculate_moment Pl(child, moment);

It = edge_current (vertex, child);

Rt = edge resistance (vertex, child);

vertex → i + = It;

if child → node is driven {

Sg + = l/(child → r + Rt);

vertex → i + = (child → r* child → r + It* Rt) / (child → r + Rt);

} else {

Sg + = 1/Rt;

if moment = = m0

vertex → I + = It;

else

vertex → i += (child → v + shift) / Rt + It;

}

}

Vertex → r = 1/Sg;

if moment = = m0

vertex → i + = vertex → mode → m -1* vertex → node → c;

} else if vertex → node is driven {

vertex → i = 0;

vertex → r = ∞;

}

procedure calculate_moment_P2( vertex, moment) {

if vertex → mode is driven {

if vertex has parent {

It = edge current( vertex, parent);

Rt = edge resistance (vertex, parent);

vertex → node → moment = vertex → r* (parent → mode → moment)

+ (vertex → I - It * Rt) / (vertex → r + Rt);

} else

vertex → node → moment = vertex → r*vertex → i;

}

foreach child of vertex

calculate_moment_P2 (child, moment);

В данном алгоритме используются две вспомогательные функции, являющиеся достаточно традиционными и нетребующие детального описания. Функция solve_LUsystem for_moments решает систему линейных алгебраических уравнений, описывающих недревовидную DCCC-группу методом LU-разложения с правыми частями, соответствующими моментам m-1 и m0. Функция schedule_DCCC_group помещает в календарь событий информацию о том, что указанная группа планируется для обработки.

Для вычисления параметров переходного процесса одной DCCC-группы используется основанный на AWE метод совпадения временных моментов. Но в отличие от метода Mom в данном подходе никогда не используется порядок аппроксимации выше первого. В то время как увеличение используемого порядка аппроксимации на единицу требует почти в 10 раз больших вычислительных затрат [3], при AWE-методе аппроксимируется Лапласовское изображение функции цепи при s = 0, в этом случае максимальная ошибка соответствует точке t = 0. Это снижает положительный эффект от применения аппроксимации высокого порядка для схем, содержащих элементы с кусочно-линейными вольтамперными характеристиками, так как параметры таких элементов меняются в течение переходного процесса.

Для вычисления временных моментов используется модифицированный вариант алгоритма прохождения дерева [3], при этом вычисления параметров эквивалентных двухполюсников всех узлов дерева упрощены и оптимизированы для используемой модели транзистора (рис. 2). Если DCCC-группа имеет недревовидную структуру, то вместо разрезания схемы используется LU-разложение матрицы подсхемы. Это занимает несколько больше времени, но обычно для большинства схем, представляющих практический интерес, число таких подсхем невелико и размерность матрицы невелика.

Рис.2. Вычисления параметров эквивалентного двухполюсника

 

После вычисления моментов m-1 и m0 график напряжения в узле аппроксимируется экспонентой. В качестве асимптоты используется величина m -1 а в качестве постоянной времени - величина (-m0/m-1). При этом возникает проблема, если асимптотически решение стремится к нулю при t → ∞. Чтобы избежать такой ситуации к напряжению каждого узла схемы добавляется некоторое поправочное значение с тем, чтобы асимптотическое решение никогда не было равно нулю:

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

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

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

если Vnew > Vold. Здесь С — емкость узла, Vnew и Vold — соответственно новое и старое значения напряжения в узле.

 

Примеры

Несколько примеров использования описанного алгоритма представлены в этом разделе. Первый пример - моделирование логической КМОП-схемы 2И.

Рис.3. Моделирование вентиля 2И

 

Результаты моделирования показаны на рис. 3. На нем одновременно изображены: сигнал на переключившемся входе вентиля (сплошная жирная линия), выходной сигнал при моделировании с помощью полностью аналогового, подобного используемому в Spice алгоритма (сплошная тонкая линия), и выходной сигнал при моделировании с помощью описанного алгоритма ключевого моделирования (штриховая тонкая линия). Результаты оказываются практически неразличимыми при данном масштабе отображения, погрешность оценки задержки по уровню 50 % составляет менее 2 %. На рис. 4 изображены результаты моделирования схемы исключающего ИЛИ на проходных транзисторах.

Рис.4. Моделирование вентиля EXOR

 

Как было отмечено в литературе [7], если этот вентиль имеет один слабый входной инвертор, то обыкновенные программы ключевого моделирования терпят неудачу при анализе данной схемы. Результаты, обеспечиваемые нашим алгоритмом, совпадают с результатами моделирования Spice.

Для определения выигрыша по быстродействию по сравнению с методами аналогового моделирования тестировалась схема восьмиразрядного КМОП-умножителя. Эта схема содержит около 2000 МОП-транзисторов и около 900 узлов. Входной тест содержит 18 тактов, причем входные вектора подобраны таким образом, чтобы обеспечить активность большей части схемы. Программа точного аналогового моделирования (типа Spice) затрачивает около 90 мин процессорного времени компьютера Pentium-100 для нахождения решения. Экспериментальная программа, использующая наш алгоритм, работает более чем на два порядка быстрее даже при низком уровне латентности схемы и затрачивает около 40 с для получения результатов. Временные характеристики этой программы отличаются от точных менее чем на 10 %.

* * *

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

 

Список литературы

1. Kim Y., Klcchner J.E., Salch R.A., Newton A.R. Electrical-logic simulator. International Conference on Computer-Aided Design, Santa-Clara. Nov. 1984. CA. Pp. 7-10.

2. Terman С. RSIM - a logic-level timing simulator. / Proc. Int'l Conf. Computers and Design. 1983.

3. Kao R., Horowitz M. Timing analysis for piecewise linear Rsim // IEEE Trans. Computer-Aided Design. Vol. CAD-13, no. 12. Dec. 1994. Pp. 1498-1512.

4. Bryant R.E. A switch-level model and simulator for MOS digital systems//IEEE Trans. Comput. Vol. C-33. Feb. 1984. Pp. 160-177.

5. Barzilai Z. et al. SLS — a fast switch-level simulator. // IEEE Trans. Computer-Aided Design. Vol. CAD-7, no 8. Aug. 1988. Pp. 838-849.

6. Pillage L., Rohrer R. Asymptotic waveform evaluation for timing analysis // IEEE Trans. Computer-Aided Design, Vol. CAD-9, no 4. Apr. 1990. Pp. 352-366.

7. Svensson C, Tjarnstrom R. Switch-level simulation and the pass transistor EXOR gate //IEEE Trans. Computer-Aided Design. Vol. CAD-7, no. 9, Sep. 1988. Pp. 994-997.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ, № 9. 1997

МАИЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

 

Ключевые слова: Моделирование, МОП-схемы, ключевой уровень, модели транзисторов, DCCC-группы, алгоритмы, рассеивание мощности.

Поделиться:
 
ПОИСК
 
elibrary crossref ulrichsweb neicon rusycon
 
ЮБИЛЕИ
ФОТОРЕПОРТАЖИ
 
СОБЫТИЯ
 
НОВОСТНАЯ ЛЕНТА



Авторы
Пресс-релизы
Библиотека
Конференции
Выставки
О проекте
Rambler's Top100
Телефон: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)
  RSS
© 2003-2024 «Наука и образование»
Перепечатка материалов журнала без согласования с редакцией запрещена
 Тел.: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)