Первые отечественные программно-аппаратные комплексы моделирования цифровых схем

Первые отечественные программно-аппаратные комплексы моделирования цифровых схем

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

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

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

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

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

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

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

В конце восьмидесятых годов в ИНЭУМе был разработан и изготовлен адаптер аппаратной библиотеки, содержащий 1024 канала для подключения физических образцов с максимальной рабочей частотой для динамических каналов 10 МГц. Объем буферных ЗУ на каждый канал составлял 64 Кбит. Адаптер содержал комплект интерфейсных модулей, позволяющих подключать его практически к любой ЭВМ.

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

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

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

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

Сотрудники отдела Диагностического контроля понимали необходимость разработки подобных специализированных комплексов для отечественных САПР. В 1984–1985 гг. по инициативе и непосредственном участии Б.Г. Сергеева, ставшего к тому времени заведующим отделом, сотрудники отдела провели исследования, в результате которых были определены основные требования к программно-аппаратному комплексу – ускорителю моделирования цифровых схем, особенности его архитектуры и принципы построения. Среди этих принципов следует выделить: приспособление архитектуры комплекса к решаемым задачам; аппаратную реализацию всех функций вместо традиционной программной реализации; глубокое перекрытие операций в процессорах комплекса путем применения конвейерного принципа обработки данных; использование наиболее быстрого алгоритма моделирования и его оптимизацию с учётом конвейерных операций; обеспечение высокой степени автономности, сводящей к минимуму участие программ универсальной ЭВМ в процессе моделирования и передачи данных.

В соответствии с этими принципами в 1986 г. во время проводимой в ИНЭУМ НИР был создан первый экспериментальный отечественный многопроцессорный комплекс – ускоритель моделирования. Он использовался в качестве периферийного субкомплекса, работающего под управлением дешевой универсальной ЭВМ серии СМ (СМ-1420, СМ-1600, СМ-1700). В состав комплекса входили два конвейерных процессора аппаратного моделирования с распределенной памятью: процессор вентильного моделирования (ПВМ), предназначенный для двоичного сплошного и событийного моделирования на уровне вентилей типа И-НЕ, И-ИЛИ-НЕ и т. д.; процессор функционального моделирования (ПФМ), предназначенный для двоичного событийного моделирования как на уровне вентилей, так и на уровне функциональных узлов.

Экспериментальные данные показали, что использование таких комплексов обеспечивает ускорение моделирования более чем в 100 раз по сравнению с имеющимися в то время программными системами моделирования на ЭВМ классов ЕС-1061 и ЕС-1065. Поскольку наибольший интерес к данному ускорителю проявили организации МЭП, то в дальнейшем было решено приступить к разработке многопроцессорного комплекса – ускорителя моделирования, основу которого составляют значительно улучшенные процессоры вентильного моделирования. В результате в конце 1980-х годов появился УЛМ (устройство логического моделирования). УЛМ было рассчитано на использование в составе как действующих, так и вновь разрабатываемых САПР на базе вычислительных комплексов (ВК) СМ-1700 и других совместимых с ними ВК ("Электроника-82", VAX фирмы DEC). УЛМ имело модульную организацию, предполагающую применение в его составе нескольких (до 15) параллельно работающих ПВМ. При этом моделируемая схема разделялась на несколько подсхем, каждой из которых назначался свой ПВМ. Все подсхемы обрабатывались процессорами одновременно. При этом оперативный обмен данными между входящими в состав УЛМ ПВМ, а также обмен данными между ПВМ и ВК САПР велись через специальный процессор обмена (ПО).

Каждый из ПВМ был рассчитан на моделирование цифровой схемы, представленной 64 000 базовых элементов (примитивов) УЛМ. Примитивами УЛМ были вентили, транзисторы, резисторы, конденсаторы, триггеры, монтажные соединения И, ИЛИ, элементы одно- или четырехразрядных ЗУ емкостью до 128 Кбит. Функции примитивов задавались таблицами истинности, загружаемыми в память ПВМ.

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

Средняя скорость моделирования для одного ПВМ составляла 1 млн. событий в секунду, что примерно соответствует универсальной ЭВМ с быстродействием10 млн. команд в секунду. При увеличении числа ПВМ до 15 скорость возрастает до 15 млн. событий в секунду, что соответствует универсальной ЭВМ с быстродействием 150 млн. команд в секунду.

Для сравнения производительность программных систем событийного моделирования, реализованных на универсальных ЭВМ, в то время составляли:

  • на супермини-ЭВМ – 0,5–10 тыс. событий в секунду;
  • на ЭВМ среднего класса – 5–30 тыс. событий в секунду;
  • на супер-ЭВМ – порядка 100 тыс. событий в секунду.

Для работы УЛМ под управлением ВК было написано ПО. Его основное назначение – обеспечение программного интерфейса между УЛМ и средой САПР, к которой он подключается. Главным идеологом и руководителем разработки программного обеспечения УЛМ был к. т. н. М. А. Бродский, заменивший Д.М. Гробмана на посту начальника лаборатории Математических методов контроля. ПО обеспечивало: ввод в базу данных (БД) описаний структур моделируемых схем, ввод в БД описаний функций базовых элементов, ввод в БД описаний тестов , разворачивание иерархически описанных структур, создание и загрузку в УЛМ моделей схем, управление режимами моделирования УЛМ, анализ корректности поведения схем в процессе моделирования, вывод результатов моделирования на экран или на печать.

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

Во второй половине восьмидесятых годов в ИНЭУМе были изготовлены два промышленных образца УЛМ – СМ 05.13, содержащий ПО и два ПВМ, и СМ 05.13.01, содержащий ПО и один ПВМ. В конце восьмидесятых годов были изготовлены еще два образца УЛМ (один по заказу ИПИ АН СССР) в настольном исполнении для работы с ПЭВМ. Этот вариант содержал ПО и ПВМ, рассчитанный на 32 000 примитивов.

В заключение хотелось бы назвать имена сотрудников отдела, вклад которых в разработку программно-аппаратных средств моделирования цифровых устройств был особенно существенным. Это: Д.М. Гробман, Б.Г. Сергеев, Б.М. Басок, М.А.Бродский, Е.П.Березов, И.В. Вольвовский, И.М. Гетманский, В.Н. Гусаров, Е.А. Каплунов, Ю.Г. Рабинович, Г.И Танетов, Д.Ю. Тоблер, В.Г.Чучман.

Литература

  1. Сергеев Б.Г. Аппаратное ускорение моделирования СБИС. // Микроэлектроника диагностика цифровых устройств. ИНЭУМ. // Микроэлектроника, т.18, вып.6, 1989, с. 554 - 560
  2. Сергеев Б.Г., Басок Б.М. Использование адаптера аппаратной библиотеки БИС для моделирования сложных цифровых блоков. // Вопросы радиоэлектроники серия ЭВТ, 1990, вып. 17, с. 61 – 65.
  3. Бродский М.А., Каплунов Е.А. Организация проектирования дискретных устройств программно-техническом комплексе «Ускоритель» // Вопросы радиоэлектроники серия ЭВТ, 1990, вып. 17, с. 66 – 67.

Материалы международной конференции Sorucom 2017
Помещена в музей с разрешения автора 21 декабря 2017