В настоящее время наблюдается непрерывный рост функциональных возможностей цифровой электронной техники (ЦЭТ), который приводит к повышению еѐ сложности. При этом прослеживается тенденция снижения стоимости и сокращения сроков морального старения таких устройств, а значит стоимости и сроков разработки и отладки. Все это приводит к необходимости повышения эффективности моделей ЦЭТ.
Современные системы моделирования обычно используют блочный подход при построении проекта модели. Он заключается в выборе и использовании необходимых элементов (блоков) из созданной разработчиком системы моделирования библиотеки, а также определении связей между ними (структуры). Каждый такой блок представляет собой множество простейших элементов математического аппарата – модуль, имитирующий поведение соответствующего блока реального объекта.
Традиционно системы моделирования используют в своей основе модели монолитной архитектуры. При запуске имитационного эксперимента такие модели строятся из своего проекта путем подстановки из библиотеки модулей соответствующих блоков. Затем происходит организация необходимых в соответствии с проектом связей между блоками. Этот процесс обычно называется синтезом модели.
Проблема заключается в том, что получившаяся в результате синтеза модели комбинация элементов математического аппарата становится монолитным (отсюда и название архитектуры модели) образованием, в котором трудноразличима изначальная структура реального объекта.
Использование таких моделей эффективно при работе с реальными объектами невысокой сложности. Однако при моделировании сложной цифровой электронной техники неизбежно возникают следующие трудности. Во-первых, проблема интерпретации, возникающая из-за потери структуры объекта. Другими словами, при отладке необходимы значительные временные и трудозатраты на декомпозицию модели. Во- вторых, возрастание трудозатрат и информационной нагрузки (требований к памяти) приводит к необходимости использовать несколько компьютеров и целую команду проектировщиков и отладчиков. Очевидно, что монолитная модель не может быть распределена на несколько компьютеров таким образом, чтобы сохранить работоспособность, целостность и адекватность условно-графического отображения. В-третьих, увеличение размера модели приводит к повышению вычислительной нагрузки, и, в свою очередь, снижению еѐ быстродействия.
Описанные факторы негативно влияют на сроки и стоимость разработки цифровой электронной техники. Кроме того, существуют субъективные современные тенденции непрерывного сокращения сроков жизненного цикла такой техники и еѐ стоимости. Это связано с повсеместным распространением цифровой электронной техники, технической и экономической конкуренцией и другими факторами.
Распределѐнные модели отличаются от традиционных (монолитных) тем, что состоят из взаимодействующих автономных частей (компонент) не только на этапе разработки проекта, но и в ходе имитационного эксперимента и отладки модели. Это достигается благодаря использованию более сложного вида блока – компоненты. В отличие от блока, компонента состоит не только из функционального модуля, представляющего собой монолитную модель (внутреннюю часть), но и из его внешнего представителя. Он представляет собой «черный ящик», обладающий определѐнным интерфейсом для взаимодействия с блоком извне. Обе части компоненты связаны между собой через механизм обмена сообщениями о происходящих событиях (Рисунок 1). Взаимодействие между блоками может осуществляться только посредством их внешних представителей.
Внешние представители и их взаимосвязи в составе распределѐнной модели позволяют сохранить структуру реального объекта, хотя и несут в себе дополнительную информационную нагрузку и сложность реализации такой модели. Кроме того, две части компоненты могут находиться как в одном приложении, так и в разных адресных пространствах – в разных приложениях и даже на разных компьютерах. Распределение информационной и вычислительной нагрузки позволяет снизить требования к компьютерам, повысить быстродействие распределѐнной модели и организовать коллективную работу с моделью.
В настоящее время большинство систем моделирования цифровых электронных устройств использует при построении моделей графический интерфейс. Он предназначен для отображения модели цифрового устройства, и взаимодействия с ней при помощи специальной понятной проектировщику визуализации. Как правило, таким представлением модели являются еѐ схемное и блочно-схемное условно-графические отображения (Рисунок 2). При таком подходе проектировщиком схемного решения цифрового электронного устройства необязательно должен быть специалист в области моделирования, знакомый с особенностями математического аппарата и моделей, используемых для имитации поведения реальных блоков устройства.
Каждая модель в системе моделирования, как правило, имеет два отображения – графовое и блочно- схемное или схемное и блочно-схемное. Графовое и блочно-схемное используются разработчиками системы моделирования и необходимы для создания встроенной библиотеки моделей атомарных базовых блоков цифровых устройств. Проектировщики же используют схемное и блочно-схемное отображения для разработки моделей сложных цифровых устройств и, при необходимости, создания с их помощью пользовательских базовых блоков. Такие блоки могут быть использованы для построения еще более сложных моделей.
Основным отображением модели является графовое или схемное. Блочно-схемная необходима для:
- интерпретации модели, построенной с использованием одной визуализации, в терминах другой;
- для построения более сложной модели, применяя существующую в качестве одного из еѐ базовых блоков (перехода на более высокий иерархический уровень).
Поэтому нетрудно заметить, что блочно-схемное представление модели напоминает внешнего представителя функционального модуля компоненты распределѐнной модели.
Если графовая и схемная визуализации обладают связью с моделью с начала еѐ построения, то блочно- схемная требует организации связи с ней. Для этого система моделирования должна содержать соответствующий интерпретатор.
Как уже было замечено, модель и еѐ отображения, аналогично функциональному модулю и его внешнему представителю, независимы, но связаны при помощи механизма обмена сообщениями. Такой подход позволяет:
- использовать для отладки модели еѐ визуальные представления одновременно;
- наблюдать за работой компонент распределѐнной модели любого иерархического уровня (блоков цифрового устройства любого уровня детализации);
- разрабатывать модель сложного цифрового устройства одновременно с помощью целой команды проектировщиков;
- организовать удалѐнное наблюдение и взаимодействие в процессе имитационного эксперимента без размещения на управляющем компьютере модели («тонкий клиент»).
При этом необходимо обеспечить удобство пользователя при решении задач установки соединений, конфигурирования, размещения и организации связей. Это вызвано, в основном, тем, что в едином адресном пространстве такой обмен сообщениями реализуется, как правило, при помощи подписки и реакции на происходящие события. При нахождении объектов в разных адресных пространствах необходимо обеспечить формирование, передачу и разбор пакетов, транспортирующих сообщения через каналы связи от компьютера к компьютеру. Организация связей ещѐ осложняется и тем, что подписка выполняется в разных областях памяти, поэтому непосредственные указатели (ссылки) на такие объекты в памяти не могут быть использованы. Поэтому система моделирования должна содержать соответствующий блок, реализующий указанные задачи.
Таким образом, можно сформировать следующий список требований к разрабатываемой распределѐнной системе моделирования цифровых устройств:
1. обеспечить построение модели в терминах D-сетей Петри с использованием графового отображения;
2. предоставить возможность сохранения и загрузки модели и еѐ графового отображения в соответствующие библиотеки;
3. реализовать разработку блочно-схемного отображения;
4. обеспечить интерпретацию модели, разработанной в терминах D-сетей Петри с использованием графового отображения, в блочно-схемное отображение;
5. реализовать возможность сохранения и загрузки блочно-схемного отображения в соответствующую библиотеку;
6. обеспечить построение модели в терминах схемных решений с использованием полученных базовых блоков блочно-схемного отображения;
7. предоставить возможность сохранения и загрузки модели и еѐ схемного отображения в соответствующие библиотеки;
8. обеспечить интерпретацию модели, разработанной в терминах схемных решений, в блочно-схемное отображение;
9. реализовать возможность конфигурирования, размещения компонент распределѐнной модели цифрового устройства и организации связей между ними при еѐ размещении в разных приложениях и на разных компьютерах;
10. обеспечить возможность подключения и визуализации любого блока (компоненты) цифрового устройства.
Список литературы
1. Питерсон, Дж. Теория сетей Петри и моделирование систем. / Дж. Питерсон. М.: Мир, 1984. 264 с.
2. Танненбаум, Э. Распределенные системы. Принципы и парадигмы. / Э. Танненбаум, М. ван Стеен. СПб.: Питер, 2003. 877 с.
3. Удалов, А.В. Особенности реализации моделей цифровой электронной техники. / А.В. Удалов, А.А. Веселов // Тверь: ТвГТУ. Сборник научных трудов магистрантов и аспирантов. 2013. №3. С. 23-25.
4. Удалов, А.В. Применение распределенных моделей для повышения эффективности САПР цифровых электронных устройств. / А.В. Удалов, А.А. Веселов // Тверь: ТвГТУ. Сборник научных трудов магистрантов и аспирантов. 2012. №1. С. 30-33.
5. Уэйкерли, Дж. Проектирование цифровых устройств. / Дж. Уэйкерли. М.: Постмаркет, 2002. 544 с.