СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ
УДК:621.3
Диакоптические методы временной характеризации статических ЗУПВ КМОП, компилируемых по субмикронным проектным нормам
Представлены два диакоптических метода, в полном объеме решающих задачу временной характеризации блоков статической памяти. Методы отличаются как эффективностью, так и способами обеспечения Spice-адекватности вычислений. Приведены результаты опытной эксплуатации соответствующих программных реализаций в сравнении с результатами запуска маршрута САПР Cadence, обеспечивающего логико-временное моделирование. При этом во всех случаях и в равных условиях характеризовались варианты ЗУ рассматриваемого класса. Предложены приемы и указана общая теоретическая база для повышения точности табличных методов диакоптики как наиболее перспективных.
Ключевые слова: статическая память, временная характеризация, диа-коптика, компиляторы памяти.
Актуальность и проблематичность разработки средств временной характеризации для компилируемых вариантов ЗУ показаны в работе [1]. Каждый такой вариант задается триадой Nw, ЫЪ, тих - соответственно количество слов, количество разрядов в слове и параметр, определяющий типоразмер накопителя.
Получение динамических характеристик для любого варианта памяти в зарубежных компиляторах занимает время
Данный факт означает, что основные расчеты выполняются предварительно, причем только для подмножества вариантов ЗУ, называемых опорными вариантами (ОВ). Затем полученные результаты, например зависимости вида «Задержка-ОВ», заносятся в базу данных (БД) компилятора. После его инициации каждая характеристика, отвечающая заданным значениям Nw, ЫЪ, тих, формируется выборкой ближайших к ним ОВ и последующей интерполяцией задержек или других величин, связанных с выбранными ОВ. Время выполнения этих операций для всех динамических характеристик и есть Тх. Такой подход к применению известных методов схемного моделирования заменяет для них требование (1) менее жестким:
В.А.Бачманов, С.А.Бобриков, И.В.Заболотнов
ОАО «Ангстрем-М» (г. Москва)
Tx < 10 с.
(1)
T < 100T
(2)
© В.А.Бачманов, С.А.Бобриков, И.В.Заболотнов, 2010
позволяя рассматривать сочетание «точность-быстродействие» в области приемлемых компромиссов. При этом погрешность счета относительно Spice-моделирования должна ограничиваться интервалом
-5% < 5 < 5%. (3)
Соотношение (3) обосновано в [1] для статических ЗУПВ с учетом особенностей субмикронных технологий КМОП. Там же показано, что методы, основанные на упрощении схемной модели, способны в рамках ограничений (2), (3) обеспечивать характе-ризацию вариантов памяти лишь до средних значений ЫЪ, тих при максимальной емкости накопителя 1 Мбит. Но программные воплощения этих методов, как и SPICE-симуляторы, необходимы для построения более эффективных - диакоптических алгоритмов [2, 3], способных при тех же ограничениях обеспечивать характеризацию всех или хотя бы опорных вариантов ЗУ.
Настоящая работа посвящена рассмотрению и специализации двух таких алгоритмов, обеспечивающих Spice-адекватность счета в прямой и косвенной формах.
Аналогизация логических итераций Якоби. Расчет сложной системы по частям (диакоптирование) предполагает ее структурно-временную декомпозицию на фрагменты, получение фрагментных решений и последующую их композицию в решение всей системы. Для электронной схемы это означает разбиение системы N уравнений, т.е. ее Брюе-модели на п подсистем, 1< п < N. Поэтому время счета диакоптических алгоритмов Т будем оценивать, сравнивая его как с правой частью (2), так и с аналогичным показателем Spice-моделирования, который пропорционален степенной зависимости:
Тз ~ Ыр, 2 < в < 3. (4)
Алгоритмы диакоптики могут иметь несколько ступеней ускорения счета. Первая из них достигается во всех алгоритмах «эксплуатацией» нелинейного характера зависимости (4). Так, если подсистемы рассматривать как Spice-модели равной сложности, то декомпозиция обеспечивает показатели
Т1 ~ п(Ы/п)в и Тз / Т1 ~ п в-1. (5)
Отметим, что первая ступень обеспечивает приблизительно п-кратное ускорение, и схему выгодно разбивать на мелкие фрагменты. Более оптимистичные выводы лишены основания, поскольку при неизвестных способах декомпозиции/композиции неизвестны и накладные затраты вычислительных ресурсов. В частности, под вопросом остается эффективность предельного случая п = N. Значительную часть накладных затрат могут составить и процедуры, обеспечивающие условие (3). Наконец, выполнение условия (3) может оказаться невозможным.
Последняя ситуация типична при сильном упрощении подсистем. Например, равенство п = N в этом случае можно отнести к структурной композиции схемы из упрощенных транзисторных моделей в виде управляемых резисторов, а неравенство 1 < п < N - к структурной композиции из упрощенных логико-электрических макромоделей, замещающих цифровые и аналоговые блоки уровня элементов или узлов. В таких макромоделях каждая емкость, соединяющая вход с выходом, заменяется с учетом теоремы Миллера [4] на две емкости, одна из которых подключается ко входу, а другая к выходу. В результате исходная система схемных уравнений не только сокращается, но и распадается на подсистемы, не имеющие общих компонентов. Соответствующие программные реализации применяются для ускоренного - оценочного моделирования
СБИС. Погрешность счета макромодельных схем достигает 25%, а схем на управляемых резисторах - более 50%.
Таким образом, класс диакоптических алгоритмов, способных при ограничениях (2), (3) обеспечить характеризацию всех или хотя бы опорных вариантов ЗУ, должен иметь адекватность подсистем (подсхем, блоков) на уровне Spice-модели.
В прямой форме данное требование выполняется в предлагаемом алгоритме анало-гизации логических итераций Якоби (АЛИЯ). Его внешний цикл организуется как процесс решения логических уравнений схемы методом итераций Якоби, который отличается, например, от метода Зейделя тем, что вычисленные на текущей итерации значения выходных переменных блока не вводятся в вычислительный процесс, пока аналогичные значения не будут вычислены для всех блоков схемы.
Аналогизация для схем на основе МОП-транзисторов сводится к следующей структурно-временной декомпозиции целостного S рюе-процесса (рис.1). К выходам блоков-источников сигнала, подключаются емкости (С), численно равные входным емкостям блоков-приемников, а ко входам последних подключаются ветви идеальных генераторов постоянного напряжения (V) с номиналами, равными выходным потенциалам блоков-источников лишь в дискретные моменты времени. При этом величины указанных емкостей назначаются с учетом эффекта Миллера [4]. Тем самым, во-первых, блоки-источники остаются при реальной нагрузке, во-вторых, входные емкости блоков-приемников исключаются из вычислительного процесса (на основании предельного свойства дифференциальных уравнений с малым параметром при производной), в-третьих, номинальные значения для ветвей (V) транспортируются от блоков-
Рис.1. Структурно-временная декомпозиция Spice-процесса для МОП-схем по методу АЛИЯ. Релаксирующий запуск блоков на Spice-счет; text : STOP. text -внешнее время; tint - внутреннее время; емкости межсоединений не указаны;
- входы схемы (вход/выход внутри блоков); —► - выходы схемы: 2- и 3-стабильные; ЦЦ - внешние блоки; [J - внутренние блоки; Q - смешанные блоки
источников с помощью программы, внешней по отношению к симулятору Spice и выполняющей функции диспетчера. Цель такой декомпозиции - заменить целостный Spice-счет всей схемы поочередными запусками ее блоков на Spice-счет и, следовательно, получить ускорение (5) при выполнении условия (3).
Наличие между блоками паразитных КС-деревьев (межсоединений) в принципиальном отношении ничего не меняет, поскольку выходами каждого блока становятся выходные узлы этих нагрузочных КС-структур, и емкости {С} подключаются к этим узлам.
Если поочередно запустить блоки на Spice-счет с «малым» внутренним временем моделирования At (см. рис.1), то на их выходах сформируются потенциалы (возбужденные начальными условиями и/или входными сигналами). Эти потенциалы будут близки к истинным, соответствующим моменту времени to + At. Но уровень Spice-точности будет достигнут лишь для блоков, возбуждаемых только внешними сигналами, поскольку здесь Spice-процесс подвергается структурно-временной декомпозиции лишь со стороны выходов. Назовем такие блоки внешними, а соответствующую декомпозицию - выходной. Для остальных блоков - внутренних, выходные потенциалы будут рассчитаны с большей погрешностью из-за наличия у каждого из них еще и входной декомпозиции. Действительно, из-за нее внутренние блоки были возбуждены только начальными условиями, т.е., значениями внутренних сигналов, соответствующими моменту to, в то время как для их входов уже рассчитаны новые значения, соответствующие моменту t0 + At. Данное потенциально-временное несоответствие возникло на интервале At. Следовательно, во исполнение логики внешней временной дискретизации Spice-процесса отмеченное несоответствие необходимо ликвидировать на том же интервале. Существование смешанных блоков, отличающихся наличием внешних и внутренних входных сигналов, никак не меняет этого заключения, поскольку для возникновения потенциально-временного несоответствия достаточно одного внутреннего входного сигнала. Поэтому указанная программа-диспетчер должна:
- запомнить состояние всех узлов во всех блоках;
- остановить внешнее модельное время tх (не наращивать его на At для 2-го запуска);
- передать входным ветвям { V} блоков-приемников новые номинальные значения с выходов блоков-источников;
- поочередно запустить на Spice-счет только внутренние и смешанные блоки на интервале моделирования At, остановив в последних (на этот период) внутреннее модельное время tint только для внешних входных сигналов.
Остановить tint для внешнего входного сигнала означает заменить в соответствующем ему описании (генератора типа V) раздел PULSE на достигнутое значение потенциала как на константу, номинирующую V.
С генераторами входных сигналов, входными и смешанными блоками связан еще и структурный аспект, влияющий на быстродействие метода АЛИЯ. Генераторы описываются внутри блоков (внешних и смешанных) и могут подсоединяться к входным транзисторам как непосредственно, так и через .КС-дерево. В первой ситуации особенности не возникают, даже если одним генератором возбуждаются несколько блоков: достаточно растиражировать по ним его описание и вместо одного крупного блока в Spice-процессе будут участвовать несколько мелких, что заметно снизит общие затраты времени (5). Во второй ситуации для этого могут потребоваться более сложные предварительные преобразования входных цепей. Простейшее из них показано на рис.1 (генератор А в исходной схеме возбуждал верхний блок непосредственно, а нижний - через резистор, показанный штриховыми линиями). Если ничего не предпринимать, то оба блока необходимо запускать на счет как одно целое и, следовательно, ог-
раничиться относительно скромным ускорением счета. Но можно выполнить тождественное преобразование: описание генератора А продублировать в нижнем блоке как генератор Б и подсоединить к нему верхний вывод указанного резистора.
Таким образом, во 2-м, и вообще в четном запуске, text останавливается. Также останавливается и tint, но только для внешних блоков и внешних входных воздействий смешанных блоков. Четный запуск служит для восстановления (релаксации) соответствия в потенциально-временной форме внутренних сигналов, которое в целостном Spice-процессе выполняется на каждом шаге интегрирования и/или на каждой уточняющей итерации при остановленном модельном времени. Другими словами, четные запуски позволяют приблизиться к точности целостного Spice-счета и формируют выходные результаты.
Отсюда также следует, что формула вычисления Дt должна быть аналогична формуле вычисления шага интегрирования, которая основывается в Spice-программах на каких-либо нормах производных всех сигналов. В данном случае ее естественно строить на основе указанных выше потенциально-временных несоответствиях, представленных как Дф/Д^ а также на основе производных входных воздействий ДКвх /Дt:
Atk = 0Atk_2-fAVrM*-, k = 3, 5 , 7 , ... , (6)
max{ AFBX, Аф}^ _2
где 0,1 < 0 < 1 - коэффициент внешней настройки; Vnm - напряжение питания; максимум берется по всем входным сигналам и несоответствиям во всех n блоках. При этом следует задать
At1 = min{ASBX}. (7)
Здесь А5вх - длительности фронтов входных воздействий AV^, а также DELMAX = oAtk, где 0,2 < о < 1 - коэффициент внутренней настройки, DELMAX - параметр в Spice-описании, ограничивающий максимальный шаг интегрирования. При умолчании этого параметра в Spice выполнится присвоение: DELMAX = 0,02Atk. В данном случае это неоправданно малая величина, поскольку сами значения Atk бывают весьма малыми -порядка минимальной длительности фронта входных воздействий (7), (6). Поэтому для 0 и о следует подобрать такие значения, при которых в течение Atk Spice-программа будет выполнять 3-5 шагов интегрирования. Соответствующую настройку целесообразно выполнять на основе сравнительного анализа выходных результатов, полученных для несложных вариантов ЗУ по методу АЛИЯ, - с одной стороны, а с другой - посредством целостного Spice-процесса. Внимание следует уделять тем областям на одноименных потенциалограммах, которые содержат уровни измерения задержек (0,4-0,6)Vim-r. Отличия в выходных результатах не должны превышать 1%.
Итак, каждой «логической» итерации соответствует пара смежных запусков, причем нечетный запуск формирует частные решения блоков, а четный выполняет их композицию, формируя общее решение схемы.
Метод АЛИЯ представляет специализированную версию метода релаксации формы сигнала (РФС) [5]. Специализация метода и, следовательно, его повышенная эффективность достигаются за счет использования такого свойства МОП-схем, как практически бесконечное входное сопротивление затворных входов. Но это лишь означает, что все входы всех блоков должны быть затворами МОП-транзисторов. На входы остальных каскадов каждого блока данное ограничение не распространяется, более того, в остальных каскадах могут применяться и токоуправляемые компоненты, например биполярные транзисторы.
Вторую ступень ускорения счета в алгоритме АЛИЯ логично связывать с уменьшением накладных затрат путем замены универсального Spice-симулятора на специализированные решатели дифференциальных уравнений. Однако разработка таких решателей по силам далеко не всем дизайн-центрам РФ. Более реальным представляется программно-аппаратный способ ускорения - многопроцессорный счет схемных блоков, который, конечно, был бы заметно эффективнее с применением указанных решателей.
Организация счета n блоков на p процессорах обеспечивает в первом приближении ускорение (см. соотношения (5) и комментарий к ним):
Ts / T2 ~ np. (8)
При этом накладные затраты увеличиваются из-за усложнения функции программы-диспетчера. Их можно существенно скомпенсировать, минимизируя суммарное время счета оптимальным выделением и распределением блоков по процессорам разной мощности. С использованием этой возможности и симулятора HSpice метод АЛИЯ был применен для характеризации вариантов КМОП ЗУПВ, емкость накопителя которого варьируется в интервале 32 бит - 1 Мбит, порождая до 0,5^106 компилируемых вариантов.
Расчет выполнялся только для блоков, образующих характеризуемые пути, и только для ОВ количеством около 10 . При n = 55, p = 11 и отдельном процессоре для программы-диспетчера вычислительный процесс длился 360 ч для одного сочетания факторов PTV [1]. Это превышает границу (2) на 30% и, значит, необходимо обеспечивать p > 15, если увеличение n не представляется возможным.
Сравнение результатов с доступными результатами целостного Spice-счета (HSpice, UltraSim [1, 5]) показало, что требование (3) удовлетворяется, а TS / T2 = 910. Отсюда условное ускорение на уровне (5) оценивается как Ts / T1 = 82,73 ~ 551,102.
В указанные оценки не входит время на экстракцию и регуляризацию [1] паразитных .RC-деревьев, так как эти операции проводятся вне рассмотренного алгоритма.
Табличная параметризация схемных фрагментов. Вычисления между ступенями (5) и (8) можно ускорить, не прибегая к замене универсального Spice-симулятора на специализированные решатели. Применяемый для этого способ квалифицируется как 2-уровневая свертка схемных переменных блока посредством предварительной Spice-характеризации.
Теоретически первый уровень свертки можно ассоциировать с преобразованием уравнений блока в параметры макромодели, а второй - с преобразованием выходных переменных макромодели непосредственно в характеризуемый параметр, например в задержку, мощность потребления и другие параметры. Следовательно, вводится сразу две ступени ускорения. Поэтому в равных условиях, в частности вне организации (8), данный подход эффективнее любого макромодельного и тем более метода АЛИЯ.
На практике оба уровня свертки реализуются одновременно в ходе указанной выше Spice-характеризации блоков. Поскольку к основным динамическим характеристикам ЗУ относятся время выборки, длительность цикла, длительность предзаряда битовых шин и другие временные отрезки, то главные аспекты 2-уровневой свертки целесообразно рассматривать, избрав в качестве характеризуемого параметра путевые задержки цифрового блока и ^С-дерева, представляющего межсоединение.
При фиксированных PTV-факторах задержка Dab логического пути от входа a блока к его выходу b зависит от емкостной нагрузки Сь, длительности Fa входного фронта и от его знака (rise либо fall). Поэтому для каждого такого пути посредством Spice рассчитываются две пары одинаково устроенных 2-мерных таблиц с входными переменными Fa и Сь: одна пара для rise-, а другая для fall-фронта.
Рассмотрим одну из этих пар. В первой ее таблице выходной переменной является длительность Fb выходного фронта, а во второй - задержка Dab. Ряды входных переменных являются общими для обеих таблиц и представлены значениями из рабочих диапазонов нагрузок и фронтов. Но после получения таблиц, связанных с 3-стабильными выходами, в них члены ряда нагрузок увеличиваются на значение выходной емкости во исполнение принципа: отключаясь, 3-стабильный выход должен «отдавать» межсоединению свою емкость, а включаясь - «забирать» ее. Поэтому на этапе Spice-характеризации блоков помимо входных емкостей вычисляются емкости 3-стабильных выходов. Емкости 2-стабильных выходов не вычисляются, так как учтены в значениях Dab.
После экстракции КС-деревьев, представляющих межсоединения, емкости 3-стабильных блочных выходов, где они есть, подсоединяются ко входам связанных с ними деревьев, а выходы всех деревьев нагружаются входными емкостями связанных с ними блоков-приемников. Затем для каждого КС-дерева, как для блока с фиксированными нагрузками, рассчитываются две пары одинаково устроенных 1-мерных таблиц с входной переменной Fa: одна пара для rise-, а другая для fa/l-фронта. В первой таблице такой пары выходной переменной является длительность Fb выходного фронта, а во второй - задержка Dab.
Выходные фронты блоков-источников являются входными фронтами КС-деревьев, а выходные фронты последних, в свою очередь, есть входные фронты блоков-приемников; при этом суммарные емкости нагруженных КС-деревьев служат входными переменными блоков-источников. В итоге FC/DF- и F/DF-таблицы представляют в информационном отношении замкнутую (самодостаточную) систему для расчета задержки DLW любого логического пути, который возбуждается заданным фронтом F0 (рис.2), где rise/fall-спецификация подразумевается.
Г
-VQhi
♦...............k......>
-(Щд
FC/DF ч F/DF F „ FC/DF F/DF Fkb
-:—w -p-
D
J"
D,
Рис.2. Граф вычисления задержки логического пути посредством системы таблиц FC/DF, F/DF и суммарных емкостей нагруженных КС-деревьев (h, j; i, k - имена локальных путей соответственно в блоках и КС-деревьях), (EQhi - суммарная емкость нагруженного КС-дерева, содержащего путь i, продолжающий путь h
Несмотря на то что фронты Fh, Fi, Fj, Fk... и локальные задержки Dh, Di, Dj, Dk... получаются из таблиц в основном интерполированием, значения последних отличаются высокой аддитивностью, так что композиция их в общее решение предельно проста:
DLW = Dh + Di + Dj + Dk + ... (9)
и условие (3), как правило, выполняется. То есть сформулированное выше требование к классу диакоптических алгоритмов соблюдается и здесь, но в отличие от метода АЛИЯ - в косвенной форме.
Метод табличной параметризации схемных фрагментов уже около 10 лет успешно применяется в современных САПР, заменив так называемые PWL-модели (piece-wise linear). В Cadence [1], например, калькулятор CDC (central delay calculator) вычисляет тетрады значений: {Fh, Fi, Dh, DJ,.. .{Fj, Fk, Dj, Dk},..., занося пары:
h
{Dh, D},.{Dj, Dk},... (10)
в файл SDF (standard delay format), которые использует, в частности, логико-временной симулятор Verilog, выполняя все сложения в (9). При этом Verilog никак не оперирует фронтами, а значение F0, указанное на рис.2, задается на входе CDC, где в противном случае выполняется присвоение F0 = 0.
Трудоемкость операций выборки из БД значений (10) и вычисления задержек способом (9) растет линейно с ростом N. Но помимо этих вычислений в симуляторе Verilog выполняется еще масса операций по организации событийного процесса в схемной модели: вычисляются значения логических функций блоков, сопоставляются с текущими значениями, сравниваются силы сигналов, обновляется список очередности событий и т.п. Так что указанная трудоемкость есть еще и слабо нелинейная функция сложности N/n каждого блока при показателе нелинейности 1 + 8, где экспертно 0 < 8 < 0,5. Отсюда ускорение, которое обеспечивает Verilog по отношению к Spice-счету, оценивается отношением
Ts / Tv ~ (N ß) / [n(N/n)1+8] = nEN 13-1-8 = (N/n)-8N ß-1. (11)
Столь высокое значение является следствием применения принципа предварительных вычислений [1] на более низком иерархическом уровне. При этом (11) сохраняет свойства оценки (5). Так, диакоптическое ускорение счета растет с ростом ß по степенному закону, а вырожденный случай n = N приводит к результату, общему для (5), (11).
Новое свойство, привнесенное сменой основания при ß и введением 8, легко сформулировать по двум последним формам (11): во всех случаях 1 < n < N ускорение (11) при 8—»0 перестает зависеть как от количества блоков, так и от их сложности, стремясь к максимальному значению , т.е. специализация Verilog-воплощения табличного метода возможна и должна достигаться уменьшением 8.
В этой связи представляет интерес максимальное ускорение Amax специализированного табличного метода относительно Verilog-счета:
Amax = Tv/ [Tv]8=0 ~ [n(N/n)1+8]/N = (N/n)8. (12)
Переменная 8 (как и ß) зависит от качественных особенностей схемных решений, а наиболее широким диапазоном значений отличается N. Поэтому, фиксируя n = 102, получим численные значения (12) для четырех случаев, близких к крайним. При 8 = 0,05 и N = 104 имеем Amax = 1,3, а при 8 = 0,2 и прежнем N получаем Amax = 2,5. Если же N = 106, то выигрыш в быстродействии вырастает соответственно до 1,6 и 6. Как и требуется, специализация дает значимый эффект при высокой схемной сложности (количественной и качественной).
Уменьшить 8 до 0 - значит предельно расширить область предварительных вычислений, т.е. предпринять следующие шаги.
1. Отказаться от рассмотрения всех возможных событий в схеме (возбуждаемых заданным набором воздействий), ограничившись актами распространения сигналов в логических путях, подлежащих характеризации.
2. Выявить закономерность свершения указанных актов, выделяя все локальные пути в блоках и ^С-деревьях и специфицируя эти пути признаками rise и fall в обеспечение выбора FC/FD- и F/FD-таблиц.
3. Отследить закономерность структурных и других изменений в логических путях при переходе от одного варианта значений Nw, Nb, mux к другому. Такие изменения предусмотрены, в частности, для цепочек элементов, эмулирующих задержки по строке и столбцу накопителя.
В случае рассматриваемого ЗУ для выполнения шагов 1-3 имеются все возможности. Действительно, в структурном отношении характеризуемые пути известны, хотя их количество, определяемое разрядностью данных, разное для разных вариантов ЗУ. Это две группы по Nb структурных путей каждая. Первая из них связывает вход разрешения выдачи данных (OE) с самими блоками выдачи данных, т.е. с выходами ЗУ, а вторая - вход запуска (CLOCK) с этими же выходами.
Выделение и rise/fall-спецификация локальных путей сводятся к последовательному вычислению логических функций блоков для процесса распространения rise- либо fall-фронта от инициирующего входа к выходам ЗУ. Тем самым специфицируются и полные структурные пути, расщепляясь на несколько логических. Так, первая из отмеченных выше групп структурных путей преобразуется в группу из 4Nb логических путей, поскольку rise-переход сигнала OE вызывает на выходах ЗУ переходы Z—1 либо Z—»0, а fall-переход вызывает эти же переходы в обратном направлении. Во второй группе выходы ЗУ реагируют только на rise-фронт сигнала CLOCK и только rise-, fall-фронтами, поэтому она трансформируется в группу из 2Nb логических путей.
Для выполнения шагов 2, 3 и совмещения указанных в них закономерностей достаточно в ручном режиме проанализировать лишь небольшую часть структурных путей. В данном случае таких путей оказалось 8. На основе их анализа и учета сопряженных с ними конструкционных аспектов разработана программа специализированной табличной параметризации (СТП), наделенная следующими функциями:
- выборка из файла DSPF (detailed standard parasitic format) описаний RC-деревьев, относящихся ко всем структурным путям текущего ОВ, пополнение их необходимыми емкостями блоков (см. выше) с последующей регуляризацией [1];
- вычисление для преобразованных так RC-деревьев суммарных емкостей и F/FD-таблиц поочередным запуском RC-описаний на Spice-счет;
- генерация логических путей, специфицированных rise/fall-признаками;
- вычисление путевых задержек в соответствии с графом рис.2 и формулой (9), занесение результатов в БД компилятора, переход к следующему ОВ.
С целью получения DSPF предварительно запускается программа генерации топологии ЗУ (формат GDSII), применяемая также в составе компилятора, и программа генерации схемы ЗУ на уровне блоков (Spice/Verilog-форматы). Результаты подаются на вход экстрактора ASSURA. Получение DSPF по этому маршруту для всех ОВ занимает 17 ч.
Расчет задержек посредством программы СТП для всех ОВ и одного сочетания факторов PTV занимает 35 ч. Так как при этом n = 55, можно заключить, что однопроцессорная версия метода СТП на два порядка производительнее аналогичной версии метода АЛИЯ, а требование (2) выполняется с большим запасом. Заметим, что данная версия СТП есть специализация не Verilog-, а CDC/Verilog-воплощения табличного метода и поэтому для нее оценка (11) имеет вид (см. также комментарий к (5))
Ts / Tcv ~ ÇN, Ç = 0,1-0,3, (13)
Таблицы FC/FD (а также емкости и функциональные описания блоков) хранятся в формате Liberty. Цель - иметь возможность запуска стандартного маршрута Cadence: ASSURA—CDC—Verilog для логико-временного моделирования ЗУ. Оказалось, что данная возможность ограничена средними значениями Nw, Nb, mux из-за нехватки вычислительных ресурсов в ходе формирования файла SDF. Попытки заменить CDC на Pearle, а затем и на PrimeTime, включая версию с расширенной адресацией, результат не улучшили.
Очередную ступень ускорения счета в алгоритме СТП реально связывать с уменьшением накладных затрат заменой Spice-симулятора на решатели уравнений RC-схем.
Такой прием позволит сократить время вычислений по меньшей мере вдвое. Многопроцессорный счет как последняя ступень ускорения в данном случае может быть направлен тоже лишь на сокращение времени получения F/FD-таблиц. В итоге пессимистичная оценка максимального ускорения для алгоритма СТП сводится к 2р-кратному усилению (13):
Ts / Тср ~ 2N (14)
Итак, даже однопроцессорная версия программы СТП, в циклах которой применяется Spice-счет, имеет эффективность (13) и способна обеспечить характеризацию большего количества вариантов ЗУ, чем это необходимо для ряда ОВ. В результате для указанного ряда выявляется такой состав, при котором погрешность межвариантной интерполяции в ЗУ-компиляторе минимальна.
При табличном подходе не исключены нарушения требования (3). Причиной может быть не всегда корректное построение таблиц как для блоков, так и межсоединений. В частности, совместимое табличное описание аналоговых и цифровых режимов еще не получило должного развития и потому может являться источником повышенной погрешности. В этом смысле всегда эффективным, хотя и не кардинальным средством является разбиение схемы на блоки, при котором большинство аналоговых режимов оказываются «погруженными» в цифровую среду. Паллиативом, минимизирующим указанную погрешность и несколько ухудшающим показатели (13), (14), может стать интеграция принципов АЛИЯ и СТП.
Между тем источником повышенной погрешности может быть даже таблица цифрового блока, например в случаях необоснованного выбора значений для ее входных переменных или параметров Spice-настройки [1]. Поэтому общей теоретической базой для дальнейшего совершенствования табличного подхода является анализ механизмов возникновения, компенсации и подавления погрешности как на этапе вычисления таблиц, так и на этапе их применения.
Литература
1. Бачманов В.А., Бобриков С.А., Заболотнов И.В. Временная характеризация статических ЗУПВ КМОП, компилируемых по субмикронным нормам // Изв. вузов. Электроника. - 2009. - № 5(79). - С. 35-43.
2. Хэпп Х. Диакоптика и электрические цепи: Пер. с англ. под ред. к.т.н. В.Г. Миронова. - М.: Мир, 1974. - 342 с.
3. Шатихин Л.Г. Структурные матрицы и их применение для исследования систем. - М.: Машиностроение, 1974. - 248 с.
4. Уве Наундорф. Аналоговая электроника. Основы, расчет, моделирование: пер. с нем. - М.: Техносфера, 2008. - 472 с.
5. Денисенко В.В. Проблемы схемотехнического моделирования КМОП СБИС // Компоненты и технологии. - 2002. - № 3. - С. 74-78.
Статья поступила 30 ноября 2009 г.
Бачманов Владимир Александрович - руководитель дизайн-группы ОАО «Ангст-рем-М» (г. Москва). Область научных интересов: машинный анализ электронных схем.
Бобриков Сергей Александрович - главный конструктор дизайн-группы ОАО «Ангстрем-М» (г. Москва). Область научных интересов: статическая память, ассоциативная память, компиляторы памяти. E-mail: bobrs_2006@mail.ru
Заболотнов Игорь Вячеславович - заместитель генерального директора ОАО «Ангстрем-М» (г. Москва). Область научных интересов: технологическая среда проектирования систем-на-кристалле.