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


Источник: http://www.computer-museum.ru/histussr/sm_cad.htm


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

Традиционный способ моделирования основывается на использовании программ, представляющих объект на соответствующем уровне детализации (функциональном, логическом, схемотехническом). Эти программы прогоняются на ЭВМ общего назначения. Однако решение задач верификации сложных схем и синтеза для них тестов производственного и эксплуатационного контроля требует значительных затрат машинного времени даже при использовании ЭВМ высокой производительности. В наибольшей степени это относится к логическому (на уровне логических элементов – вентилей) и схемотехническому моделированию. Уже для БИС, содержащих до 10 тыс. логических вентилей, временные затраты составляют сотни часов. Для СБИС, сложность которых оценивается сотнями тысяч вентилей, требуемое машинное время возрастает на несколько порядков. Таким образом, системы моделирования на базе универсальных ЭВМ оказываются малоэффективными даже для существующих объектов, сложность которых определяется возможностями микроэлектронной технологии сегодняшнего дня.

Существенное увеличение скорости моделирования, позволяющее резко повысить порог сложности схем, может быть достигнуто в результате применения специализированных вычислительных средств. Первый опыт создания экспериментальных образцов таких средств относится к концу 70-х годов. Начало коммерческому выпуску специализированных процессоров-ускорителей и комплексов моделирования было положено в 1982 г. Выпускаемые в настоящее время в США лучшие образцы такого оборудования обеспечивают ускорение моделирования по сравнению с универсальными ЭВМ в 1000 и более раз. В этом плане показательна продукция фирмы Zycad Corp., в течение ряда лет занимающей лидирующее положение на рынке высокопроизводительных средств моделирования. С 1982 г. эта фирма выпустила систему LE1000, представляющую собой модульный комплекс, сопрягаемый на правах периферийного процессора с ЭВМ типов VAX II и Microvax фирмы DEC и с ЭВМ некоторых других фирм. Младшая модель LE 1001 этой системы имеет один процессор моделирования, модель LE 1002 – один сдвоенный процессор, старшая модель – LE 1032 – 16 сдвоенных процессоров. В 1985 г. фирма объявила о выпуске одноплатного процессора Sprintor, предназначенного для инженерных АРМ или персональных компьютеров с шиной Multibus, и комплекса EXPEDITOR 100/200, включающего пакет прикладных программ. Комплекс рассчитан на работу с ЭВМ VAX II, Microvax, с рабочими станциями фирмы Apollo, с персональными ЭВМ PC AT фирмы IBM. Наконец, в 1985 г. Zycad Corp. анонсировала разработку 256-процессорной суперсистемы моделирования SDE 8000 сверхвысокой производительности. Основные характеристики перечисленного оборудования фирмы Zycad Corp. [1] приведены в таблице.

Наименование Год начала производства Объем моделируемых схем, тыс. 3-входовых элементов Производительность, млн. событий/с Цена, тыс. долл.
LE1001 1982 32 0,5 250
LE1002 1983 64 1,0 400
LE1032 1983 1000 16 2100
EXPEDITOR 100/200 1985 16/32 1,0 95/120
  1986 16 0,2 20
SDE8032 (модификация, содержащая 256 процессоров) 1986 1500 1000 2500

Примечание. Все указанные в таблице средства фирмы Zycad Corp. обеспечивают событийное моделирование, при котором вычисляются состояния только тех элементов схемы, у которых изменяется хотя бы один вход, поэтому производительность этих средств измеряется числом событий, обрабатываемых в 1 с. Событием считается изменение состояния (активизация) какого-либо выхода элемента или внешнего входа схемы. Обработка одного события включает вычисление новых состояний всех элементов, входы которых связаны с источником события. При этом предполагается, что среднее количество таких элементов-приемников события равно 2,5.

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

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

Технические средства этого комплекса совместно с типовыми вычислительными комплексами СМ ЭВМ должны обеспечивать высокоскоростное моделирование цифровых объектов на функциональном, логическом и переключательном (транзисторном) уровнях с учетом реальных задержек элементов, а также моделирование неисправностей и анализ полноты тестов. Комплекс должен решать следующие типовые задачи САПР:

  • верификация схем проектируемых средств ВТ;
  • отладка микропрограмм и подготовка данных, необходимых для программирования ПЗУ, ПЛМ и других программируемых схем;
  • проверка корректности и полноты тестов;
  • автоматизированный синтез тестов;
  • экспертиза проектируемых схем на контролепригодность;
  • оценка эффективности средств встроенного контроля.

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

Комплекс в максимальной модификации будет рассчитан на объем моделируемых схем на вентильном уровне порядка 1 млн. логических элементов и иметь производительность не ниже 10–20 млн. событий/с.

Наивысшая из всех встречающихся в литературе оценка скорости событийных программ вентильного уровня, реализуемых на универсальных ЭВМ, получена для суперЭВМ Cyber 176 фирмы CDC и равна 90 тыс. событий/с [2]. Для ЭВМ среднего класса (IBM 370/168, ЕС 1061, ЕС 1066 и др.) скорость событийного моделирования составляет 10–20 тыс. событий/с. Для супермини-ЭВМ типа VAX И/780 аналогичная оценка равна 1–5 тыс. событий/с. Таким образом, при производительности специализированного комплекса 10 млн. событий/с моделирование ускоряется по сравнению с суперЭВМ в 100 раз, а по сравнению с супермини-ЭВМ – в 2000 раз.

Для разработки комплекса моделирования СМ ЭВМ в 1984–1985 гг. проведены исследования, в результате которых определены требования к комплексу, особенности его архитектуры и принципы построения. При сохранении основных черт классической (фон-Неймана) архитектуры возможны следующие пути повышения производительности спецпроцессоров моделирования:

  • сокращение списка команд (как в RISC-машинах общего назначения), упрощение процесса выполнения команды и сжатие на этой основе цикла команд до нескольких микроопераций;
  • использование многоадресных команд, позволяющих обрабатывать состояния большинства вентилей одной командой;
  • применение раздельных ЗУ для команд и данных, приспособление организации ЗУ к структуре информации, копирование одних и тех же данных в нескольких ЗУ для совмещения операций многоадресной выборки;
  • полная конвейеризация процесса выполнения команды;
  • исключение потерь времени при передаче данных с одной стадии обработки на другую путем использования синхронного конвейера, в котором каждая стадия выполняется за один такт синхронизации.

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

Более высокая производительность процессоров моделирования достигается при использовании специальных архитектур, реализующих событийные алгоритмы. В наиболее простом варианте такая архитектура обеспечивается введением в обычный процессор дополнительного сопроцессора – аппаратного событийного диспетчера программы при сохранении программного способа вычисления элементов схемы. Максимальное ускорение в этом варианте получается при полном совмещении вычисления элементов с операциями анализа событий и событийного управления процессом вычислений. Выигрыш в скорости по сравнению с несобытийным (сплошным) компилятивным моделированием определяется величиной 100 С/АК, где С – скорость сплошного моделирования, выраженная числом вентилей, вычисляемых в секунду, А – средний процент активных (изменяющих состояние выхода) вентилей в каждый момент времени, К – средний коэффициент разветвления выхода вентиля. При типовых значениях А=2–5% и К=2,5 скорость моделирования по отношению к ускоренному фон-неймановскому процессору увеличивается в 8–20 раз.

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

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

Осуществление перечисленных мер позволяет повысить скорость вентильного моделирования на 2–3 порядка по сравнению с процессорами классической архитектуры.

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

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

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

При N параллельно работающих процессоров (архитектура типа "N – потоков команд, N – потоков данных") производительность комплекса, выраженная числом элементов, вычисляемых в 1 с, или числом обрабатываемых в 1 с событий, в N раз выше, чем у одного процессора. Однако реальное ускорение моделирования равно N/P, где Р>1 из-за дополнительных затрат времени на межпроцессорный обмен и неравномерной загрузки процессоров вследствие различия потоков событий и трудностей такого разделения схемы между процессорами, при котором эффективно используется параллелизм вычислений. С увеличением N возрастает и Р.

По экспериментальным данным фирмы IBM, для машины сплошного моделирования YSE Р=1 при N<8; при N = 32 Р=2; при N=64 Р=3. По сведениям фирмы NEC для событийного комплекса HAL наращивание количества процессоров с 7 до 25 увеличивает реальную производительность комплекса в 1,6 раза, т. е. при N=25 Р=2,2. Таким образом, начиная с некоторого значения N (по-видимому, около 20–30) для достижения заданной реальной производительности многопроцессорного комплекса выгоднее увеличивать быстродействие процессоров, чем их количество. С этой точки зрения представляется проблематичной возможность реального использования вычислительной мощности комплексов с 256 процессорами, таких, как YSE IBM и SDE 8032 Zycad.

На основе изложенных здесь принципов разработан предварительный проект комплекса моделирования СМ ЭВМ [3 и 5], который может служить основой для опытно-конструкторских работ. Комплекс имеет параллельную многопроцессорную архитектуру с распределенной по процессорам памятью исходных, обрабатываемых данных, данных (команд) управления и с централизованным управлением временем модели. В максимальной конфигурации комплекс содержит 16 специализированных процессоров моделирования и процессор обмена, обеспечивающий передачу данных между моделирующими процессорами и их сопряжение с ВК САПР. Связи между процессорами унифицированы и осуществляются с помощью внутренней асинхронной магистрали комплекса; соединение процессора обмена с ВК обеспечивается через системный интерфейс ВК.

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

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

Основные возможности и характеристики комплекса определяются используемыми в его составе процессорами моделирования. В первую очередь разработки входят два типа таких процессоров: процессор вентильного моделирования (ПВМ) и процессор функционального моделирования (ПФМ).

ПВМ предназначен для моделирования схем на уровне базовых логических элементов (вентили И, ИЛИ, И-НЕ, ИЛИ-НЕ, И-ИЛИ, ИЛИ-И и т. п.) и на переключательном (транзисторном) уровне. Кроме того, ПВМ обеспечивает функциональное моделирование входящих в схему оперативных и постоянных ЗУ. В своей основной конфигурации базовый логический элемент имеет 1 выход и не более 6 входов, базовый элемент ЗУ – не более 4 выходов и 22 входов. Существуют также конфигурации логических элементов с внутренней обратной связью и с динамическим (фронтовым) входом, которые служат для функционального моделирования триггеров.

Архитектура ПВМ ориентирована на многозначное (значения 1, 0, неопределенное и высокоимпедансное с характеристиками логической "силы") логическое и логико-временное событийное моделирование с индивидуально задаваемыми задержками элементов, отдельно для переключения выхода с 0 на 1 и с 1 на 0. Процессор позволяет моделировать схемы произвольной конфигурации, в том числе содержащие встроенные автогенераторы, функции И, ИЛИ, образуемые объединением выходов элементов, элементы с тремя состояниями выхода, двунаправленные линии передачи данных, двунаправленные вентили (транзисторы), аттенюаторы (резисторы), элементы задержки.

Максимальное количество значений любого сигнала в схеме при многозначном моделировании – 16. Функции элементов (примитивы) в многозначной логике произвольные и задаются с помощью таблиц истинности, загружаемых от ВК. Диапазон времени задержки для каждого элемента 0–255 микротактов. Максимальный объем моделируемой схемы – 64 тыс. элементов и, кроме того, 512 Кбит оперативной и постоянной памяти, производительность при моделировании – 1 млн. событий/с.

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

Список событий организуется на основе так называемого "колеса времени" [5], реализованного с помощью набора стеков событий, каждый из которых соответствует определенному микротакту. Для обработки активизированных логических элементов используется однопроходовый алгоритм, для элементов ЗУ – двухпроходовый. Оба алгоритма интерпретируются на основе аппаратного управления.

Память ПВМ обеспечивает хранение описания моделируемой схемы и данных самого процесса моделирования. Она организована с помощью 12 отдельных ЗУ с независимым управлением, обеспечивающим одновременное обращение к 190 битам данных. Общая емкость всех ЗУ – 1,5 Мбайт.

Другой процессор комплекса – ПФМ служит для двоичного событийного моделирования схем на уровне вентилей, функциональных узлов и на смешанном вентильно-функциональном уровне. Входящие в схему вентили моделируются программно. Функциональное моделирование производится на уровне интегральных схем, в том числе СИС и БИС. При этом в качестве моделей СИС и БИС используются их реальные образцы, входящие в состав встроенной в ПФМ аппаратной библиотеки либо подключаемые пользователем к специальным внешним каналам процессора. Определяемые схемой объекта соединения СИС и БИС между собой и с программно-моделируемыми элементами устанавливаются с помощью команд передачи значений соответствующих входных и выходных сигналов. При этом эмулируются синхронные или асинхронные интерфейсы БИС, подключенных к внешним каналам ПФМ. Многоразрядные информационные, адресные и командные тракты объекта, включая линии передачи, регистры и другие схемы, моделируются параллельно как один сложный (векторный) сигнал или элемент с использованием команд, оперирующих с данными переменного формата (1, 4, 8 или 16 разрядов).

Максимальный объем моделируемых схем, предусматриваемый архитектурой ПФМ: на вентильном уровне – 16 тыс. элементов, на функциональном уровне – 2 тыс. СИС и БИС. Количество внешних каналов для подключения сменных БИС-моделей – до 4096. Максимальный объем встроенной аппаратной библиотеки СИС и БИС – 500 типов схем. Производительность: при вентильном моделировании – 0,5 млн. событий/с, при функциональном – 0,1 млн. событий/с.

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

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