KiT#21(4)_End.qxd 4/8/05 3:32 PM Page 100
Компоненты и технологии, № 4'2002
Окончание. Начало в № 3'2002
Проблемы схемотехнического
моделирования КМОП СБИС
Преодоление полупроводниковой технологией 0,18-мкм барьера привело к тому, что поведение чисто цифровых схем стало аналоговым и появилась потребность в применении Spice-подобных программ моделирования для цепей, состоящих из миллионов и десятков миллионов транзисторов. Настоящей публикацией заканчивается аналитический обзор, посвященный этой проблеме.
-ф--
Виктор Денисенко, к. т. н.
Аппаратные ускорители и многопроцессорные системы
Потребность в быстродействующих системах моделирования существовала всегда. Фактически те задачи проектирования, которые решались с помощью ЭВМ, были выбраны исходя из возможностей имеющихся средств вычислительной техники, а не из требований практики. Так и остались нерешенными задачи моделирования, связанные с многократным расчетом электрической цепи: оптимизация, расчет выхода годных кристаллов, расчет надежности, структурный синтез для большинства электрических цепей практически важных размеров. Несмотря на быстрое развитие вычислительной техники, еще быстрее росла сложность СБИС, которые нужно было моделировать с помощью той же вычислительной техники. Методы программного ускорения процесса моделирования неизбежно связаны со снижением достоверности получаемых результатов, как это было показано в предыдущих разделах. Поэтому одновременно с развитием программных методов ускоренного моделирования на протяжении десятилетий велись работы по методам аппаратного ускорения. Известны попытки увеличения скорости моделирования с помощью супер-ЭВМ, многопроцессорных компьютеров, специализированных аппаратных ускорителей, методов быстрого макетирования, сочетания макетирования с моделированием.
Задача увеличения скорости моделирования стала особенно актуальной в связи с появлением суб-микронной технологии, когда возникла необходимость моделирования цепей из миллионов и десятков миллионов транзисторов с предельно достижимым (8р1се-подобным) уровнем достоверности. Второй причиной возрастания актуальности аппаратного подхода в моделировании является тот факт, что в последние 10 лет потребность в скорости моделирования растет быстрее, чем тактовая частота процессоров или ускорение, достигаемое чисто программными средствами.
Наиболее распространенными архитектурами для схемотехнического моделирования являются многопроцессорные машины с общей памятью, к которым, в частности, относятся многопроцессорные версии компьютеров семейства Intel Pentium, поддерживаемые операционной системой Windows NT, а также профессиональные серверы Sun и Dec. Исследовались также возможности моделирования на системах с распределенной памятью.
Известные работы в области аппаратных средств моделирования используют три принципиально различных подхода: распараллеливание классических Spice-подобных алгоритмов; применение параллельного метода релаксации формы сигнала; построение специализированного параллельного процессора с аппаратной или программно-аппаратной реализацией алгоритмов моделирования.
Прямой метод
Рассмотрим классический метод решения уравнений электрической цепи, используемый в Spice-подобных программах моделирования. Поведение электрической цепи в динамике описывается системой нелинейных дифференциальных уравнений, которая в векторной форме записывается следующим образом:
F(x(0,x(0,0 = 0:
( 1)
x(0) = x,
0 ,
где х(0 — и-мерный вектор напряжений и то-
ков электрической цепи и его производная по времени; — время, — некоторый не-
линейный оператор, вид которого определяется топологией цепи и ее компонентами.
Решение системы (1) начинают с дискретизации производной по формуле дифференцирования назад:
К
(2)
Компоненты и технологии, № 4'2002
где х; = х(Ц )обозначает значение переменной X в точке, Ц к{ = ^ - Ц _1 — шаг интегрирования. Подставляя (2) в (1), получим
v^-^±tTi>ti)=0
hi
(3)
Начальным значением х; при і = 1 является х0. Для получения очередного значения вектора неизвестных необходимо решить систему нелинейных алгебраических уравнений (3). Изменяя обозначения, ее можно представить в виде
f(x) = 0
(4)
Это уравнение решают, используя метод Ньютона—Рафсона (или его модификации), который приводит к системе линейных алгебраических уравнений
где
дх
-(Xі-1) ÖX ’
Xі -Xа 1
— матрица Якоби.
Итерации Ньютона (5) выполняются до сходимости, затем полученный вектор х используется в качестве очередного начального значения в формуле интегрирования (3).
Для решения системы линейных алгебраических уравнений (5) используют прямой метод Гаусса или Ьи — декомпозицию. При этом принимаются специальные меры для сохранения высокой степени разреженности матрицы Якоби (коэффициент ее заполнения обычно составляет доли процента).
В описанной процедуре моделирования одним из двух наиболее трудоемких этапов является заполнение матрицы Якоби и правых частей уравнения (5). Для этого рассчитывают токи и проводимости всех компонентов моделируемой цепи. Современные модели транзисторов описываются достаточно сложными нелинейными уравнениями и существует тенденция к увеличению их сложности. Второй также трудоемкой задачей является решение полученной системы линейных алгебраических уравнений (5). Именно эти две задачи — заполнение матрицы и решение системы линейных алгебраических уравнений — и пытаются распараллелить при использовании вычислительных систем с различными видами параллелизма. Часто параллельно вычисляют также критерии остановки вычислительного процесса и шаг интегрирования, хотя они и являются гораздо менее трудоемкими задачами.
Заполнение матрицы Якоби и правой части уравнения (5) можно выполнять параллельно и независимо на нескольких процессорах, поскольку напряжение на выводах всех приборов ж 4-1 известны для каждого шага итераций Нью-тона—Рафсона одновременно и до начала заполнения матрицы. Значение в каждой ячейке матрицы и вектора правых частей представляет собой сумму значений, вычисленных для нескольких элементов электрической цепи. При суммировании возникает проблема синхронизации записи данных, вычисленных несколькими процессорами, одновременно в одну и ту же
ячейку матрицы. Для разрешения конфликтов используют «замок», который «отпирается» тем процессором, который первым обратился к данной ячейке и запирается на время выполнения процедуры суммирования записываемого операнда с содержимым этой ячейки. Другим методом является запись в одноименные ячейки нескольких матриц с последующим суммированием содержимого одноименных ячеек. Используются и другие методы разрешения этого конфликта. Процесс суммирования и расчета моделей выполняют с перекрытием по времени.
В отличие от рассмотренной выше задачи заполнения матриц, в которой расчет любой модели совершенно не зависит от результата расчета других, решение системы разреженных линейных уравнений не является столь простой задачей. Однако параллельное решение системы линейных алгебраических уравнений (СЛАУ) является типовой и хорошо изученной задачей линейной алгебры. Одной из особенностей нашего случая является очень сильная разреженность матрицы (коэффициент ее заполнения составляет доли процента). Другой особенностью является то, что решение СЛАУ используется как часть метода Ньютона—Рафсона, для которого погрешность решения СЛАУ слабо влияет на скорость его сходимости и точность полученного результата. Поэтому для экономии машинного времени выбор ведущего элемента в методе исключения Гаусса не используют. Кроме того, если для составления системы уравнений электрической цепи используют метод узловых потенциалов, и каждый узел имеет емкость на землю (что типично для КМОП СБИС), то матрица обычно автоматически получается с диагональным преобладанием. Для увеличения количества параллельно выполняемых операций при решении СЛАУ выполняют упорядочение строк матрицы Якоби. При этом следят, чтобы затраты на перестановку строк не превысили экономию за счет улучшения параллелизма, а степень разреженности матрицы осталась прежней.
Одной из немногих многопроцессорных систем схемотехнического проектирования, нашедших коммерческое воплощение, является программа БтаЛБрке фирмы 8Дуасо [1], работающая на многопроцессорных компьютерах РеПшт с общей памятью. Двухпроцессорный РеПшт II 300 МГц обеспечивает ускорение в 1,7 раз по сравнению с однопроцессорным вариантом и показывает характеристики не хуже любой рабочей станции ИШХ. В системе использовано многопотоковое программирование на основе стандарта 1ЕЕЕ Р081Х 1003.1-1996 для многопроцессорных машин с общей памятью. Применение этого стандарта обеспечивает переносимость программ между компьютерами разных производителей. В БтайБрке задачи, между которыми имеется слабый информационный обмен, выделены в отдельные потоки. Главный (ведущий) поток порождает набор дочерних потоков с заранее определенным объемом вычислений и дожидается их выполнения в точке синхронизации. Синхронизация выполняется по событию завершения вычислитель-
ного цикла. В SmartSpice наиболее трудоемкими являются описанные выше задачи заполнения матрицы Якоби и операция LU-разложения. Эти операции выполняются в различных потоках.
Многопотоковое программирование для многопроцессорных компьютеров использовано также в программе StarHSpice (бывшая HSpice) компании Avanti.
Исследовательская группа компании NEC [2] разработала макет системы, состоящей из 64 процессоров с распределенной памятью и общей шиной, имеющей древовидную структуру для взаимодействия процессоров между собой. Все 64 процессора были разделены на 8 кластеров. Процессоры в кластере соединялись через локальную шину. Каждый процессор был построен на микропроцессоре Motorola MC68020 с 4 Мб локальной памяти. Для ускоренного выполнения операций с плавающей точкой был использован чип Weitek WTL1167.
В этой системе была предпринята попытка реорганизовать алгоритм моделирования, чтобы использовать внутренний параллелизм исходной задачи. Для этого алгоритм планировался таким образом, чтобы разные подсхемы моделировались на отдельных процессорах, имеющих локальную память. Взаимодействие между процессорами выполнял отдельный «сшивающий» процессор. Его основной функцией являлось решение системы линейных уравнений. Алгоритм работы системы предполагал, что процессоры для подсхем будут работать независимо, а сшивающий процессор будет выполнять итерационный процесс «сшивания» подсхем для выполнения условий электрического равновесия моделируемой цепи. Система была протестирована на двух тестовых цепях, одна из которых содержала 1700 транзисторов, вторая
— 7000. Было зафиксировано 15-кратное ускорение для меньшей цепи и 16-кратное для большей.
Аналогичный подход был использован в системе с распределенной между процессорами памятью [3].
Недостатком описанного выше «прямого« метода решения системы уравнений электрической цепи (1-5) является то, что затраты времени на решение системы линейных алгебраических уравнений с ростом размера цепи растут быстрее, чем линейно. При использовании эффективных методов работы с разреженными матрицами время решения системы уравнений изменяется от O(n12) до O(n15), где n — размер матрицы [4]. Поэтому для больших цепей эта часть задачи является наиболее трудоемкой. Вторым недостатком является сложность учета латентности, то есть неизменности сигнала в течение некоторого промежутка времени. Этих недостатков не имеет метод релаксации формы сигнала [4].
Метод релаксации формы сигнала
Для применения метода релаксации формы сигнала (РФС) [4] электрическую цепь делят на подсхемы и систему уравнений для связей между подсхемами записывают в форме:
е
Компоненты и технологии, № 4'2002
с[у(0]у(0 = -г[у(0],
у(0) - Ус,
(6)
где y(t) — и-мерный вектор узловых потенциалов электрической цепи, (
[о, г]
— время,
гЕко] — некоторый нелинейный оператор, вид которого задается топологией цепи и ее компонентами. Для получения системы уравнений в виде (6) электрическая цепь должна иметь емкость между каждым узлом и землей. Если цепь не содержит таких емкостей, их вводят искусственно.
Принципиальной особенностью метода РФС является то, что итерации выполняются не значениями функции в некоторой временной точке ^ , как в «прямом» методе (1-5), а функциями времени, заданными на интервале [(( ( (( ] Одной из разновидностей метода формы сигнала для уравнения (6) является широко известный метод Пикара, который в частном случае линейных емкостей принимает вид:
у*(0 = -С-1
В более общем случае итерационный процесс для различных модификаций метода формы сигнала можно представить в виде:
V* = /(у* ,ук-\ук~1),
у(0) = У0 ,
где вид функции /(•) определяется не только топологией электрической цепи и ее компонентами, но и очередностью анализа ее подсхем, соотношением переменных, взятых для (к - 1)-й или к-й итерации. В зависимости от этого соотношения и очередности анализа подсхем получаем метод Пикара, Гаусса—Якоби, Гаусса—Зейделя, хаотический метод и другие разновидности метода формы сигнала. При параллельной реализации этого алгоритма одним из критериев выбора очередности выполнения итераций является необходимость равномерной загрузки процессоров вычислительной системы. Каждый процессор анализирует отдельную подсхему прямым или иным методом, а сшивание подсхем между собой выполняется методом формы сигнала.
Очередность выполнения итераций в методах формы сигнала имеет наглядную схемную интерпретацию: в методе Гаусса-Зейделя предполагается, что в пределах одной итерации входные сопротивления подсхем равны бесконечности, а выходные — нулю. Это позволяет каждую подсхему анализировать автономно, а затем, в процессе итераций, происходит постепенный (итерационный) учет выходных сопротивлений и сопротивлений нагрузки. Моделирование начинается с тех подсхем, к которым подключены входные сигналы. Эти подсхемы анализируются на интервале времени [^, ¿2], затем полученные на их выходах функции времени у($ подаются на вход следующих подсхем, с которыми они соединены, в соответствии с графом прохож-
дения сигнала. Таким образом анализируются последовательно все подсхемы цепи, от входов до выходов. Весь этот процесс составляет одну итерацию Гаусса—Зейделя. На второй итерации при анализе каждой подсхемы используется информация о нагрузочных подсхемах, которая была получена на предыдущей итерации. Итерации выполняются до тех пор, пока формы сигналов на двух соседних итерациях не будут совпадать между собой с заданной погрешностью.
Обратные связи на первой итерации считаются разомкнутыми, но на каждой последующей итерации напряжение с разомкнутых связей подается на те входы подсхем, на которые эти связи замыкаются. Таким образом, от входов электрической цепи к ее выходам распространяется «волна» у($, «ширина» которой, то есть количество переменных, известных одновременно, определяется коэффициентом разветвления подсхем со стороны их выходов.
Если коэффициент разветвления подсхем по выходу больше единицы, то для каждой итерации существует несколько подсхем, для которых известны напряжения на всех их выходах и которые, следовательно, можно анализировать одновременно на нескольких процессорах. В методе Гаусса—Якоби все подсхемы анализируются одновременно, и обмен информацией происходит только с ближайшими соседями. Такой алгоритм может быть распараллелен между большим числом процессоров и обеспечивает лучшую их загрузку, однако имеет гораздо более медленную сходимость, чем метод Гаусса—Зейделя. Для улучшения загрузки процессоров используют комбинацию описанных методов.
Проблемы, возникающие при использовании параллельной реализации метода РФС, состоят в выборе способа разбиения цепи на подсхемы, в выборе очередности анализа подсхем, в обеспечении равномерной загрузки процессоров и в обеспечении сходимости алгоритма моделирования. Деление на подсхемы целесообразно производить таким образом, чтобы число соединений между ними было минимальным, а размер подсхем примерно одинаков.
Скорость сходимости методов РФС сильно зависит от того, насколько сильно связаны между собой подсхемы. В частном случае, когда сопротивление нагрузки подсхемы равно бесконечности и обратные связи отсутствуют, для получения точного решения достаточно одной итерации Гаусса—Зейделя. В связи с этим в одной из работ использовались эвристические алгоритмы для определения силы связанности подсхем и улучшения скорости сходимости [5].
Если интервал времени, для которого выполняется моделирование, (временное окно) [¿1, ¿2] равен всему интервалу моделирования [0, Т], то такой алгоритм называют моделированием в полном окне. Его недостатком является невозможность анализа последующих подсхем до тех пор, пока не выполнится моделирования предыдущих в интервале [0, Т]. Это может привести к простою части процессоров. Для устранения этого недостатка используют моделирование в узком окне [¿1, ^], которое меньше пол-
ного временного интервала моделирования. Поскольку время анализа в узком временном окне меньше, чем в широком, уменьшается интервал времени от момента начала анализа подсхемы до получения данных, достаточных для моделирования очередной подсхемы. Кроме того, образуется поток данных, последовательно проходящих через несколько процессоров, который реализует идею конвейерной обработки. Таким образом, при моделировании в узком окне разделение задач происходит не только в пространстве (по подсхемам), но и во времени. Это позволяет существенно улучшить равномерность загрузки процессоров.
В предельном случае, когда временной интервал вырождается в одну точку, описанный метод называют «точечной конвейеризацией» [4]. Он позволяет увеличить параллелизм, однако при этом растет также доля накладных расходов, связанных с планированием очередности выполнения операций и обменом информацией между процессорами.
В одной из работ были исследованы различные сочетания размеров окна и методов планирования очередности выполнения итераций [4]. Максимальное ускорение, которое удалось получить по сравнению с однопроцессорным вариантом, составило 17 раз для системы из 32 процессоров и 10 раз для 16 процессоров при использовании метода Гаусса-Якоби с точечной конвейеризацией.
Аппаратные ускорители
Кроме использования серийных или единичных образцов компьютеров с многопроцессорной архитектурой совершались попытки применения специализированных аппаратных ускорителей, выполненных конструктивно как дополнение к рабочей станции проектирования или как общий ресурс локальной сети, который позволяет ускорить наиболее трудоемкие процедуры моделирования [6-8]. Ускорители используют архитектуру, оптимально настроенную на выполнение исключительно задач моделирования электрических цепей. Несмотря на то, что аппаратные ускорители для логического и регистрового уровня моделирования давно и успешно используются при проектировании СБИС, ускорители для схемотехнического моделирования до сих пор не нашли коммерческого воплощения. Известно только несколько попыток их построения, которые мы рассмотрим ниже.
В основе построения ускорителя Awsim [6] лежат несколько нетрадиционных принципов и допущений. Предполагается, что все емкости моделируемой цепи являются линейными и подключены между ее узлами и землей. При этом матрица С в уравнении (6) является диагональной, что позволяет легко получить обратную ей матрицу С-1. Для интегрирования системы уравнений используется явный метод Эйлера:
*/+1 =у{ - А-С 1 ^(уг) ,
(7)
у(0) = У),
где к — постоянный шаг интегрирования.
Компоненты и технологии, № 4'2002
Критерий устойчивости явного метода Эйлера не позволяет выбирать большой шаг интегрирования, однако достигаемое упрощение алгоритма позволило существенно упростить аппаратуру и благодаря ее простоте резко увеличить число процессоров, а также обеспечить большую длину конвейера в каждом из них. Величина шага в уравнении (7) вычисляется заранее, до этапа моделирования, путем решения линейной задачи, приближенно аппроксимирующей уравнение (7).
Для получения большого ускорения при небольших затратах оборудования в Awsim используется 11-разрядное представление данных. Широкий динамический диапазон обеспечивается представлением данных в логарифмической форме. Это позволило быстро выполнять операции умножения, а для сложения использовать обратное (экспоненциальное) преобразование с помощью запоминающего устройства небольшой емкости. Для моделирования МОП-транзисторов используется таблица. Она позволяет заменить трудоемкий этап вычисления токов по формулам простым выбором данных из статического ЗУ.
Алгоритм моделирования реализован аппаратно с помощью процессорного кластера, содержащего 32 процессора. В пределах кластера процессоры разделены на 4 группы. Взаимодействие процессоров осуществляется с помощью общего контроллера. Большая задержка передачи информации по сети в пределах кластера слабо влияет на общее быстродействие системы благодаря соответствующему распределению задач между процессорами. Каждый процессор системы содержит две микросхемы специализированных процессоров (СБИС) и 25 микросхем ОЗУ с произвольным доступом.
Ускоритель позволяет моделировать переходный процесс в электрической цепи, содержащей 100 тыс. транзисторов, за время 1 с.
Вследствие жесткой аппаратной реализации алгоритмов моделирования, использованной в Awsim, возникают проблемы модификации и развития этой системы. Поэтому был предложен ускоритель, основанный на менее специализированной вычислительной аппаратуре [7]. Программная реализация части функций упрощает аппаратную часть системы и позволяет выполнять модификации программного обеспечения по мере разработки новых методов моделирования. Данный ускоритель не имеет стандартного языка программирования, как обычные вычислительные машины, но использует специализированный оптимизирующий компилятор, жестко привязанный к архитектуре ускорителя. Система состоит из двух процессоров, один из которых реализует 50 компонентных моделей МОП-транзистора (выполняет аппроксимацию и поиск в таблице), второй имеет конвейерную архитектуру и решает другие части задачи моделирования.
Оба ускорителя предназначены для анализа СБИС на МОП-транзисторах, однако их нельзя отнести к 8рке-подобным системам моделирования, поскольку они используют достаточно грубые допущения (отсутствие
плавающих емкостей, отсутствие шин питания и земли, линейность емкостей и др.).
Еще один ускоритель использует идеи по-лунатурного моделирования и быстрого макетирования, когда в качестве модели транзистора используется реальный транзистор, а моделирование динамических процессов выполняется в замедленном масштабе времени [8]. Модель транзистора имеет управляемые параметры, как и математические модели для схемотехнического проектирования. На базе этого принципа строится процессор с универсальной коммутацией между аппаратными моделями. Моделирование больших цепей выполняется методом подсхем, которые сшиваются методом релаксации формы сигнала. Этот ускоритель был построен только в форме упрощенного макета и не был доведен до коммерческого воплощения.
Быстрое макетирование
В связи с острой конкурентной борьбой за скорейший выход на рынок полупроводниковые компании стремятся как можно раньше получить работоспособный образец или макет будущей системы, чтобы совместить во времени отладку программного обеспечения и доработку аппаратной части. Программные эмуляторы систем на кристалле или на плате не позволяют решить эту задачу достаточно быстро, поскольку работают медленно. Для решения этой проблемы некоторые фирмы предложили метод быстрого макетирования. Спрос к системам быстрого макетирования особенно возрос в последнее время в связи с тем, что современные проекты стали гораздо сложнее, а количество тестов, необходимое для верификации проекта, растет экспоненциально в зависимости от сложности системы. К тому же, применение аналого-цифровых блоков сделало невозможными традиционные подходы к решению проблем функциональной верификации и тестирования. По этой причине метод быстрого макетирования выбрали даже такие гиганты электронного бизнеса, как NEC, Texas Instruments, IBM, 3DSP. Еще одной причиной выбора метода быстрого макетирования вместо программной эмуляции является возможность верификации макета в условиях реального окружения. Например, если проектируется система индустриальной автоматизации, ее макет может быть опробован прямо в цехе, при управлении оборудованием в естественных производственных условиях. При проектировании сотового телефона макет может работать как сотовый телефон и осуществить связь в реальном времени.
В основе метода быстрого макетирования лежит применение программируемых логических интегральных схем (ПЛИС), которые располагаются на печатной плате таким образом, что получается одна гигантская ПЛИС, которая программируется так же, как и обычная ПЛИС. Система макетирования включает в себя компилятор, который автоматически переводит необходимую электрическую схему в матрицу соединений для электрического программирования. В систему быстрого маке-
тирования включают микросхемы памяти, часы реального времени, генераторы тестовых последовательностей, блоки питания, разъемы для подключения внешних устройств.
Имея электрическую схему будущей системы, ее очень быстро можно реализовать на ПЛИС с помощью компилятора и таким образом получить действующий макет. Конечно, такой подход не позволяет достичь аналогии с будущей системой во временной области, в том числе в отношении гонок сигналов, однако функциональная аналогия получается полной.
Метод быстрого макетирования сталкивается с двумя проблемами: большой задержкой сигнала при прохождении через печатные проводники и связанной с этим низкой тактовой частотой работы макета (несколько мегагерц). Для решения этих проблем некоторые компании предложили использовать специальные коммутирующие СБИС, которые позволяют существенно уменьшить размер печатной платы и поднять тактовую частоту до 20-35 МГц. Упрощается и идеология построения компилирующей программы. Благодаря возможности перепрограммирования макета система может быть отлажена, модифицирована и перепроверена как программно, так и аппаратно перед ее изготовлением в виде СБИС.
В системе быстрого макетирования фирмы Арйх Согр. компоненты макета вставляются в коммутационные панельки на макетной плате и соединяются с помощью специально разработанных быстродействующих коммутационных микросхем с 1024 выводами, матрица соединений которых может быть электрически перепрограммирована.
Системы быстрого макетирования не имеют отношения к схемотехническому моделированию, однако здесь они описаны как напоминание о том, что самой быстрой моделью проектируемой системы является сама эта система. И, поскольку проблема быстрого схемотехнического моделирования осталась открытой, идея применения реальных приборов вместо их математических моделей может быть использована для ее решения.
К сожалению, ни один из рассмотренных выше проектов параллельного и аппаратного моделирования не получил широкого применения в практике схемотехнического проектирования. Причины этого, на наш взгляд, состоят в следующем.
Основная причина заключается в том, что благодаря массовости и высокой рентабельности микропроцессоров широкого применения фирмы Ме1 ее технологические возможности растут так быстро, что ни один проект, ориентированный на ускорение в 10-100 раз, не может быть реализован раньше, чем появится очередной Ше1-процессор, решающий эту задачу. Кроме того, ускорение в 10-100 раз, которое может быть получено многопроцессорными системами приемлемой стоимости, не является достаточным, чтобы финансировать такой проект.
Технической причиной является то, что задача схемотехнического моделирования с математической точки зрения является доста-
е
Компоненты и технологии, № 4'2002
точно общей, использует несколько разнородных алгоритмов и поэтому может быть решена только на многопроцессорной системе общего назначения. Однако быстродействие многопроцессорных систем растет медленнее, чем число процессоров. При требуемом ускорении 3-6 порядков необходимое количество процессоров делает систему экономически нерентабельной при современном уровне развития полупроводниковой технологии, особенно с учетом ее принципиально малого тиража.
Выводы
1. Новой тенденцией в схемотехническом моделировании СБИС, которая возникла в связи с появлением существенно субмикрон-ной и нанометровой технологии, является необходимость моделирования электрических цепей, содержащих десятки миллионов транзисторов, при 8рке-подобном уровне достоверности.
2. Рост доли параметрического брака в субмикронных СБИС, анализ которого требует многократного расчета электрической
схемы, повысил требования к быстродействию программ схемотехнического моделирования.
3. Существующие программные средства схемотехнического моделирования решают задачу анализа цепей большой размерности только за счет снижения достоверности получаемого результата (рис.1).
4. Аппаратные средства ускоренного моделирования позволяют получить ускорение не более 10-100 раз и не получили широкого распространения.
5. Методы быстрого макетирования обеспечивают предельно высокую скорость моделирования, однако обеспечивают только функциональное подобие и в существующем виде не могут быть использованы для решения задач схемотехнического проектирования. ИИ
Литература
1. Parallel SmartSpice for PC. Simulation Standard. Silvaco International, Santa Clara, CA. Vol. 8. No. 10. October 1997.
2. Nakata T., Tanabe N., Kajihara N., Matsushita S., Onozuka H., Asano Y., Koike N. Cenju:
A Multiprocessor System for Modular Circuit Simulation. // Computer Systems in Engineering. 1990.
3. Trotter J., Agrawal P. A multiprocessor architecture for circuit simulation. 1991 IEEE International Conference on Computer Design. MA, USA. 14-16 Oct. 1991.
4. Saleh R. A., Gallivan K., Chang M.-C., Smart D., Trick T. Parallel circuit simulation on supercomputers. Proc. IEEE. Vol.77. Dec. 1989.
5. Jia X. D., Chen R. M. M. A new matrix solution technique for large-scale circuit simulation on multi-processor system. TENCON ’94. Singapore. 22-26 Aug. 1994. Vol. 2.
6. Lewis D. M. Hardware accelerator for Timing Similation of VLSI Design Circuits. IEEE Trans on CAD. Vol. 7. No. 11. Nov. 1988.
7. Lewis D. M. A compiled-code hardware accelerator for circuit simulation. IEEE Trans on Computer-Aided Design. Vol. 11. No. 5. May 1992.
8. Denisenko V. V. MOS VLSI circuit simulation by hardware accelerator using semi-natural models. Proc. EURO-DAC’94 with EURO-VHDL'94. 1994. IEEE Comp. Soc. Press. Los Alamos, CA.