Лекция 7. Автоматизированные системы моделирования
Сложность современных объектов, содержащих сотни тысяч, а порой и миллионы компонентов, делает их проектирование традиционными (ручными) методами с обязательным изготовлением макета практически невозможным.
Именно по этой причине резко возрос интерес разработчиков электронной аппаратуры к автоматизированным системам проектирования и входящим в их состав подсистемам моделирования.
Об этом можно судить по количеству вложенных средств в их развитие, которое по зарубежным оценкам превышает годовой оборот такого монстра как фирма Intel.
В последние годы даже самые консервативно настроенные разработчики аппаратуры вынуждены пересмотреть своё отношение к САПР как к большим и дорогостоящим «игрушкам», обнаружив в них весьма мощные и эффективные инструментальные средства. Особенно привлекательной выглядит возможность, наконец-то, заменить действующий макет имитационной моделью, а натурные эксперименты – модельными. Раньше их останавливала недостаточная достоверность имитационных экспериментов, но теперь, кажется, с этим всё в порядке.
САПР и её неотъемлемая часть АСМ умеют сейчас очень многое. Они позволяют проверять не только правильность работы проектируемого устройства, но и выяснять его основные характеристики, начиная с самых первых шагов, когда прорабатываются только архитектурные решения будущего проекта.
Современные АСМ электронной аппаратуры позволяют:
§ проверить правильность работы проектируемого устройства;
§ выяснить его временные задержки и проконтролировать выполнение требуемых временных соотношений в схеме;
§ провести моделирование с учётом допустимых нагрузок на выходные контакты;
§ проконтролировать допустимую мощность рассеивания на каждом компоненте;
§ промоделировать работу идеальной схемы и той же схемы с учётом паразитных параметров и влияния близко расположенных компонентов.
Другими словами, современные СМ позволяют учесть в проекте такие «мелочи», из-за которых «правильная» схема почему-то отказывается работать в реальных условиях и в реальном окружении.
Современные профессиональные СМ имеют следующие отличительные черты:
§ графический пользовательский интерфейс, позволяющий «рисовать» на экране монитора проектируемую схему и временные диаграммы на её входах;
§ интерактивная рабочая среда проектирования – управляющая оболочка, то есть специальная программа, из которой можно запускать все или большинство других программ пакета, не обращаясь к услугам штатной операционной системы (например, PCADSHL. EXE в пакете PCAD);
§ современные СМ поддерживают иерархическое проектирование как сверху – вниз, так и снизу – вверх;
§ многоуровневое моделирование и метод локальной детализации проекта, неразрывно связанные с иерархическим проектированием;
§ многоразрядные контакты и шины, позволяющие на верхних уровнях иерархии весьма лаконично описывать проект и тут же выяснять его работоспособность;
§ наличие в современных САПР и АСМ постпроцессоров моделирования позволяет не только просматривать в удобной для пользователя форме результаты моделирования, но и обрабатывать эти результаты, отыскивая нужные события или состояния в схеме, измерять временные интервалы, контролировать соблюдение временных соотношений в схеме;
§ современные СМ поддерживают библиотечный метод проектирования, то есть содержат огромное число графических и функциональных описаний компонентов; причём эти библиотеки открыты для добавления в них новых описаний, которые может сделать сам пользователь;
§ в современных СМ реализуется событийный механизм продвижения модельного времени, основанный на принципе dz; это означает, что модельное время продвигается, опираясь на ближайшее событие, а не на очередной такт;
§ моделирование выполняется с учётом реальных временных задержек, связанных с распространением сигналов внутри компонентов; при этом могут учитываться не только средние задержки, но и максимальные их значения, а также наихудший случай при их разбросе;
§ автоматическая генерация модели всей схемы по её структурному описанию;
§ многозначный алфавит представления сигналов в схеме, включающий (кроме лог.0 и лог.1) значения X, Z, R и F, то есть неизвестное значение, высокоомный выход, переключение сигнала вверх (Rise - фронт) и вниз (Fall - спад);
§ интегрируемость с другими пакетами аналогичного назначения, которая обеспечивается соответствующими программами – конверторами, позволяющими импортировать и экспортировать данные из одной системы в другую; высшей формой такого взаимодействия является «горячая связь» - Cross Probing.
С иерархическим проектированием неразрывно связано так называемое многоуровневое моделирование. При многоуровневом моделировании различные части объекта (фрагменты) представлены с разной степенью детальности, то есть на различных уровнях иерархии. Например, проектируемая в настоящий момент времени часть объекта раскрыта до вентильного уровня и имитируется структурной моделью, а остальные фрагменты представлены на соседнем более высоком регистровом уровне в виде поведенческих моделей.
Закончив проектирование данного фрагмента, разработчик представит его поведенческой моделью, то есть спрячет детали структурного описания в «чёрный ящик», и раскроет более подробно другой фрагмент объекта, который ещё предстоит проектировать.
Эта процедура повторяется столько раз, сколько фрагментов необходимо спроектировать на данном уровне иерархии. Описанный метод проектирования называется методом локальной детализации объекта, потому что в каждый момент времени подробно представлен только один фрагмент - тот, который находится «в работе». Остальные фрагменты свёрнуты в «чёрные ящики» и не перегружают модель ненужными для решения текущей задачи деталями.
Современные САПР и СМ поддерживают так называемый библиотечный метод проектирования. Суть метода заключается в том, что в процессе проектирования объект детализируется до некоторых элементарных фрагментов, называемых структурными примитивами. Каждый примитив имеет свою поведенческую модель.
В качестве примитивов обычно выступают конструктивно законченные радиоэлектронные компоненты, например интегральные микросхемы или функциональные ячейки топологии кристалла кремния. Примитивы и их модели объединяются в библиотеки, которые доступны любому проектировщику.
Разрабатываемый объект представляет собой некоторую комбинацию стандартных примитивов. Генерация конкретного варианта структуры выполняется на заданном наборе библиотечных примитивов методом проб и ошибок. Полученное решение требует проверки на работоспособность и соответствие требованиям технического задания.
С этой целью строится структурная модель объекта как комбинация поведенческих моделей структурных примитивов, составляющих объект. Привлекательная сторона библиотечного метода проектирования состоит в том, что структурные примитивы могут принадлежать разным иерархическим уровням. Благодаря этому значительно повышается эффективность моделирования.
Понятно, что поведенческие модели должны весьма точно отображать временные параметры примитива. Современные СМ позволяют строить такие модели. Этим объясняется большое внимание, уделяемое наиболее перспективным САПР и СМ, таким как PCAD, PSPICE (DesignLab), OrCAD, Active HDL и языкам моделирования PML, VERILOG и VHDL.
Типовой состав профессиональной системы моделирования (рис.3) включает графический или текстовый язык описания объекта (ЯОО), с помощью которого пользователь вводит в систему моделируемую схему. Для событийного моделирования описание объекта обычно представляется в табличной форме или автоматически преобразуется в неё из исходного графического представления (в так называемый связный список).

Проектирование схемы выполняется с использованием базовых структурных примитивов, графические и функциональные описания которых содержатся в соответствующих библиотеках.
Транслятор ЯОО (в PCAD’e, например, это программа PC-NODES) преобразует исходное описание проекта в формат, пригодный для моделирования. Моделирование выполняется специальной программой, называемой управляющей программой моделирования или коротко моделятором (в PCAD’e такая программа называется PC-LOGS). На моделятор обычно возлагаются следующие функции:
§ начальная инициализация моделируемой схемы;
§ задание временных диаграмм на входах схемы (заметим, что эту функцию иногда выполняет другая программа, называемая редактором входных сигналов.);
§ продвижение модельного времени по принципу Dt или dz, а при моделировании смешанных (аналого-цифровых) схем используются одновременно оба принципа (лекция 6);
§ автоматическая или пошаговая реализация запланированных пользователем модельных экспериментов;
§ поддержание диалога с пользователем (запросы, диагностические сообщения, ошибки);
§ накопление и фиксация результатов моделирования и представление их в желаемой форме (обычно в виде временных диаграмм или таблиц).
Для задания временных диаграмм входных сигналов в составе СМ обычно имеется специальная программа, которая позволяет рисовать или редактировать входные тестовые наборы в графической или текстовой форме. Она называется редактором входных сигналов, например в пакете DesignLab - это Stimulus Editor – редактор стимулов, позволяющий мышью рисовать эпюры внешних воздействий.
Для вывода, наблюдения и обработки результатов моделирования используется другая программа, называемая постпроцессором моделирования (в PCAD’e она имеет название POSTSIM). Часто дополнительные программы объединяются под общим названием: инструментальные средства моделирования. Сюда могут входить и некоторые другие программы, например менеджер иерархии, менеджер проекта, программа электрического контроля схемы, библиотекарь, отладчики поведенческих моделей, программы автоматической генерации макромоделей, программные логические анализаторы и т. п.
Современные промышленные СМ имеют также средства для проектирования поведенческих моделей, включающие языки логического моделирования (ЯЛМ) и соответствующие компиляторы ЯЛМ.
Информация о проекте хранится в базах данных СМ, которые разделяются на справочные и рабочие. Управляющая оболочка СМ осуществляет вызовы нужных программ и делает работу с системой удобной для пользователя.
Таким образом, можно констатировать, что АСМ объединяют в себе средства для:
§ интерактивного ввода структурной схемы проектируемого или исследуемого объекта;
§ автоматического построения (генерации) его модели;
§ интерактивного ввода временных диаграмм входных сигналов, в том числе и непосредственно в графической форме;
§ автоматического проведения имитационных экспериментов с построенной моделью;
§ автоматизированной или интерактивной обработки результатов моделирования.
Одной из самых слабых сторон моделирования является невозможность имитировать работу объекта в реальном масштабе времени, то есть поддерживать темп, с которым протекают процессы в моделируемом объекте. Сказанное касается, прежде всего, вычислительных систем с их сумасшедшими скоростями работы. Например, чтобы промоделировать функционирование микропроцессора МП8086 на временном интервале 100нс требуется одна секунда процессорного времени ЭВМ с быстродействием 1МИПС.
Отношение названных времён называется эффективностью моделирования и составляет для данного примера величину:
![]()
Низкая эффективность моделирования во многом объясняется невозможностью адекватно моделировать параллельно протекающие процессы на однопроцессорных вычислительных системах. Такие процессы приходится моделировать квазипараллельно (лекция 6), обрабатывая одно за другим одновременные события при остановленном (замороженном) модельном времени.
Это время остаётся фиксированным до тех пор, пока не будут обработаны все одновременные (кратные) события, привязанные к текущему моменту времени. После этого модельное время опять оживает и начинает двигаться дальше шагами равной длины (принцип Dt - потактовое моделирование) или прыгая неравномерными скачками от текущего события до ближайшего будущего (принцип dz - событийное моделирование).
Для повышения эффективности моделирования используются следующие методы:
n высокоуровневое моделирование;
n многопроцессорные ВС;
n событийный механизм продвижения модельного времени;
n многоуровневое моделирование;
n метод локальной детализации проекта;
n сетевое моделирование;
n компилятивный метод моделирования (вместо интерпретирующего);
n аппаратные акселераторы (ускорители) моделирования.
Перечисленные выше методы повышения эффективности моделирования говорят о том, что АСМ может представлять собой не только программный, но и аппаратно-программный комплекс. В последнем случае он включает кроме пакета программ ещё и специализированную аппаратуру, в частности, многопроцессорные вычислительные установки и/или аппаратные акселераторы (ускорители) моделирования.
Подобные акселераторы находят применение и в других задачах, например, графические ускорители устанавливаются на видео картах или специализированные арифметические сопроцессоры, которые до недавнего времени монтировались на материнских платах РС для ускорения операций с плавающей запятой.
Краткий обзор современных САПР и АСМ
В данном обзоре мы не будем касаться САПР и АСМ, ориентированных на «большие машины». Рассмотрим только системы, устанавливаемые на персональных компьютерах.
PCAD
Не случайно мы начинаем обзор именно с этого пакета. PCAD одна из первых (если не первая) сквозных систем автоматизированного проектирования, появившаяся на рынке CAD-систем. Слово «сквозная» означает, что такая система позволяет автоматизировать все этапы проектирования аппаратуры, начиная от создания и проверки правильности разработанной схемы и заканчивая разводкой печатной платы и созданием управляющей информации для исполнительного оборудования.
Своё название Personal Computer Aided Design (сокращённо PCAD) пакет унаследовал от имени разработавшей его фирмы – Personal CAD Systems. Долгое время PCAD оставался лидером в классе подобных программных продуктов и если бы не частая смена хозяина, то, возможно, и теперь он не потерял бы своих лидирующих позиций.
Но судьбе было угодно распорядиться иначе. Первые версии этого продукта 1.0, 2.0 и 3.0, созданные названной фирмой в 1985 – 1987 гг., не получили в нашей стране заметного внимания.
В 1988 году права на PCAD получила фирма CADAM Company, которая выпустила версию PCAD 4.5, получившую тогда ещё в Советском Союзе большую популярность. Она была русифицирована, для неё были созданы обширные библиотеки графических описаний отечественных компонентов, а, главное, именно для неё были решены проблемы выхода на отечественное технологическое оборудование – фото плоттеры и сверлильные автоматы.
Благодаря этим достижениям PCAD 4.5 до сих пор находит применение на российских предприятиях электронной промышленности.
В 1992 году PCAD опять сменил своего хозяина, теперь его владельцем стала фирма ALTIUM, которая решилась на серьёзные новшества. Она выпустила версию PCAD 6.0, в которой перешла к арифметике с плавающей запятой. Благодаря этому на два порядка повысилась разрешающая способность графических редакторов, и были устранены многие проблемы, связанные с разводкой печатных плат.
Фирма ALTIUM приняла тяжёлое решение. Она решилась на изменение форматов графических библиотек и перешла от 16- к 32-разрядным форматам описания данных. Чтобы не потерять все библиотеки графических описаний, созданные для более ранних версий, фирма разработала специальную программу, конвертирующую старые библиотеки в новый формат.
Однако ни эта, ни последующие DOS-версии PCAD’а (PCAD 7.0, PCAD 8.0, PCAD 8.5) не завоевали особой любви у отечественного разработчика аппаратуры. Старая любовь к PCAD’у 4.5 оказалась сильнее новых возможностей.
Надо сказать ещё об одной особенности более поздних версий PCAD. Из них была удалена подсистема моделирования, и пакет перестал быть сквозной САПР.
В последние годы (а точнее с1995года) владельцем пакета PCAD является фирма ACCEL Technologies, которая прекратила изрядно надоевшую линию DOS-версий данного продукта и перешла на платформу Windows-приложений.
Последнее её детище ACCEL EDA 14.0 даже в самом названии не отражает связь с бывшим PCAD’ом. Тем не менее, и в новом продукте сохранена идеология более ранних версий PCAD’а, так что разработчикам аппаратуры не придётся заново переучиваться.
Фирма ACCEL Technologies предприняла ещё одну попытку вернуть себе так нелепо утраченные позиции лидера в области CAD-систем для персональных компьютеров. Во всяком случае, создав горячую связь с системой моделирования Dr. Spice 2000 A/D 8.2 фирмы Deutsch Research, она восстановила прежний статус пакета ACCEL EDA 14.0 как сквозной системы проектирования.
Надо сказать, что фирма ACCEL Technologies использование «чужих» программ сделала стратегической линией своего поведения. Аналогичным образом она подключила к своей системе программу авторазмещения и автотрассировки SPECCTRA 7.1 фирмы Cadence. Это одна из самых мощных и эффективных программ, использующая новейшие бессеточные алгоритмы трассировки печатных плат.
PSpice (Design Center, DesignLab)
Аббревиатура PSpice расшифровывается так: Simulation Program with Integrated Circuit Emphasis (моделирующая программа с акцентом на интегральные схемы).
В отличие от PCAD’а эта САПР оставалась верной своему хозяину. Всё началось с разработки в конце 1970-х годов в Калифорнийском университете
(г. Беркли) программы схемотехнического моделирования SPICE 2. Её входной язык описания схемы оказался настолько удачным, что на многие годы вперёд определил неофициальный стандарт описания электронной аппаратуры.
Принятые в ней форматы и модели применяются сейчас во многих программах аналогичного назначения, а списки соединений схемы в формате SPICE используются во многих современных пакетах, например в Micro-Cap, Dr. Spice, OrCAD, ACCEL EDA, ViewLogic и многих других.
Аббревиатура PSpice расшифровывается так: моделирующая программа с акцентом на интегральные схемы (Simulation Program with Integrated Circuit Emphasis).
Первая версия программы PSpice на РС-платформе была создана в 1984 году корпорацией MicroSim. Эта и последующие версии используют те же алгоритмы, что и SPICE, тот же формат представления входных и выходных данных. Заметим, что первая версия программы PSpice моделировала только аналоговые схемы.
В 1989 году появилась версия PSpice 4.0, позволяющая моделировать смешанные аналого-цифровые схемы. Уже в следующем году появилась пятая версия этой программы. Она, в отличие от всех предыдущих версий, позволяла вводить схему не только в текстовом, но и в графическом виде. Кроме того, фирма MicroSim выпустила версию, работающую в среде Windows.
Начиная с 1994 года, на базе разработанных программ моделирования фирма MicroSim стала выпускать САПР Design Center (версии 6.0, 6.1, 6.2, 6.3), в которую были включены дополнительно программы технического проектирования, в частности, уже известный нам автотрассировщик SPECCTRA.
В 1996 году произошла ещё одна смена названия системы. Новая версия 7.1 получила название DesignLab. В 1997 году появилась последняя версия под этим названием DesignLab 8. Мы говорим «последняя», потому что после её выхода корпорация MicroSim объединилась с другим монстром в области разработки CAD-продуктов – фирмой OrCAD. Объединённая фирма получила название OrCAD, но торговая марка MicroSim сохранилась. Созданная фирма уже сообщила о разработке новой САПР - OrCAD 9.0.
VHDL
Сразу отметим, что VHDL – это не САПР и не АСМ, а язык описания аппаратуры, который поддерживается в настоящее время многими системами моделирования, такими как GMVHDL, Active HDL, Accolade Peak VHDL, OrCAD и др. История появления и развития этого языка во многих отношениях показательна.
Язык VHDL появился не на пустом месте. Можно привести довольно длинный список языков описания и моделирования цифровых устройств, например ФОРОС, ОСС-2, DDL, HSL и т. п., которые вроде бы предназначались для тех же целей. Однако все они страдали одним недостатком – моделируя функцию объекта, они не имели развитых средств для описания и контроля временных соотношений в цифровой аппаратуре (ЦА).
Особенно остро это ощущалось при разработке сверхскоростных интегральных схем (VHSIC – Very High Speed Integrated Circuits). Схема правильно работает на умеренных частотах. Но на высоких частотах синхронизации появляются сбои, и работоспособность ЦУ нарушается. Моделированием на существующих до сих пор языках обнаружить эти предельные для аппаратуры частоты не удавалось.
Военное ведомство США, которое финансировало программу VHSIC по разработке сверхскоростных ИМС, решилось выступить в 1983 году в роли спонсора при разработке такого языка. Он получил название VHDL (Vhsic Hardware Description Language) – язык описания аппаратуры на базе сверхскоростных интегральных схем.
Разработку языка VHDL поддержал институт инженеров по электротехнике и радиоэлектронике (IEEE), и в конце 1987 года этот язык был принят в качестве стандарта (стандарт IEEE 1076).
В окончательную редакцию языка VHDL (1993 год) вошли предложения и рекомендации многих известных специалистов в области вычислительной техники и ведущих фирм, занятых разработкой САПР электронной аппаратуры. Поэтому можно говорить, что язык VHDL отражает общее мнение о том, какими характеристиками должен обладать эффективный стандартный язык описания аппаратуры.
Язык VHDL имеет развитую обще алгоритмическую базу, заимствованную от языка программирования PASCAL. Он содержит тщательно проработанные конструкции для поведенческого (функционального) и структурного представления, а также средства для документирования проектов.
Высокоуровневые описания могут комбинироваться с низкоуровневыми принципиальными схемами. Другими словами, это многоуровневый язык, поддерживающий иерархическое проектирование.
Язык имеет средства для описания протекающих во времени процессов, для задания временных задержек на элементах. С его помощью можно описать временные диаграммы на входах моделируемой схемы и взаимодействия между отдельными устройствами через системную шину.
Министерство обороны США обязало своих поставщиков ИМС представлять в составе документации на новые изделия VHDL-модели и тестирующие их VHDL-векторы.
Интерес к языку VHDL огромен. В США создана VHDL Users Group, в Европе – VHDL FORUM группы, которые занимаются внедрением этого языка. В бывшем СССР также существовала подобная ассоциация.
С внедрением языка VHDL разработчики аппаратуры могут «экспериментально» прорабатывать на своих компьютерах идеи по проектированию цифровой аппаратуры на архитектурном уровне и немедленно видеть результаты своих экспериментов.
Им больше не придётся ждать детализации своих проектов вплоть до уровня логических вентилей, чтобы получить возможность практической оценки своих идей. Им больше не придётся ждать момента, когда будет уже слишком поздно возвращаться назад, чтобы внести фундаментальные изменения в общую архитектуру проекта без громадных потерь времени и средств. Теперь внесение даже серьёзных изменений в проект в малой степени повлияют на его стоимость и сроки подготовки производства.
В отличие от других языков описания и моделирования аппаратуры, язык VHDL не навязывает разработчику конкретный метод проектирования. Он волен выбрать любой способ проектирования с использованием как поведенческих, так и структурных представлений компонентов, можно применить как восходящее так и нисходящее проектирование или комбинировать их.
Язык VHDL позволяет сначала создать абстрактное описание функций, а затем (по мере проработки проекта) осуществлять их детализацию, вплоть до того момента, когда для них станут ясными структурные решения. Другие языки не могут похвастаться столь широкими возможностями.
Системы моделирования, поддерживающие язык VHDL, обычно включают в себя компилятор языка VHDL, отладчик исходного кода и интерактивную подсистему цифрового моделирования. Некоторые АСМ дополнительно включают схемный редактор или интегрируются с другими САПР, имеющими такой редактор. Например, можно создать принципиальную схему в пакете OrCAD и специальная программа конвертирует графическое описание в VHDL-код.
Одна из самых современных систем моделирования на языке VHDL, разработанная корпорацией ALDEC, носит название Active HDL 3.6. Для первоначального знакомства с языком VHDL можно рекомендовать «игрушечную» АСМ, созданную фирмой Green Mountain Computing Systems. Она называется GMVHDL, работает под DOS и занимает всего около 1Mb дисковой памяти.
Вставка 1
Система моделирования – это совокупность языковых и программных средств, которая включает … (см. Технология системного моделирования, стр. 332).
Occurred случаться, происходить
Для подключения а схемному редактору новой графической библиотеки (библиотеки символов) активизируем команду Options -> Editor Configuration
Для подключения к управляющей оболочке (схемному редактору) библиотек с математическими (функциональными) моделями активизируем команду Analysis -> Library and Include Files



