Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб Пособ_Гончаровский.doc
Скачиваний:
1316
Добавлен:
29.03.2015
Размер:
3.65 Mб
Скачать

2.7.1. Моделирование, эмуляция и макетирование

Моделирование наиболее общая техника оценки и валидации проектов. Моделирование заключается в выполнении модели проекта на подходящем компьютерном оборудовании, обычно на компьютерах общего назначения. Очевидно, что модель должна быть выполнима. Все рассмотренные выполнимые модели и языки могут быть использованы в моделировании и на различных уровнях (системном, алгоритмическом, регистровых передач, вентильном). Уровень, на котором проекты моделируются, всегда является компромиссным между скоростью и точностью моделирования. Быстрее моделирование, меньше точность.

До сих пор использовался термин поведение в смысле функционального поведения системы (вход/выходное поведение). Существуют симуляторы не функционального поведения проектов, такие как симулятор теплового поведения, симулятор электромагнитной совместимости (EMC) с другим электронным оборудованием. Благодаря интеграции с физикой существует большое количество физических эффектов, которые могут быть включены в модель.

В кибер-физических системах моделирование сталкивается с серьезными ограничениями:

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

• Моделирование в физической среде может быть даже опасным.

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

• Большинство реальных систем также являются сложными. Следовательно, моделирование не может гарантировать отсутствие ошибок из-за того что не может быть выполнено полностью для всех возможных комбинаций входов и внутренних состояний.

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

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

Для дальнейшего усиления правдоподобия можно продолжить замену моделируемых компонент реальными компонентами. Это не будут окончательные компоненты. Они могут быть приближением к реальным компонентам, но повышать точность моделирования.

Наиболее общим сейчас является представление об эмуляции одним компьютером другого в смысле программного обеспечения. Однако рассмотренное выше представление можно рассматривать как соответствующее общему, т.к. эмулируемый компьютер не просто моделируется, а предполагается, что его скорость выше, чем симуляция.

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

Системы управления автомобилем хороший тому пример. Эти системы могут быть использованы водителями в различном окружении перед запуском в массовое производство. Так в автомобильной промышленности макетируют проекты. Эти макеты по существу ведут себя как окончательные системы, но они могут быть больше в размерах, с большим энергопотреблением и иметь другие свойства, которые мог привнести водитель-испытатель. Термин «макет» может ассоциироваться со всей системой, состоящей из электрических и механических компонент. Однако разница между быстрым макетированием и эмуляцией размыта. Быстрое макетирование само по себе широкая область деятельности, охватывающая не только встроенные системы.

Прототипы и эмуляторы могут быть построены, например, из FPGA. Шасси, содержащее FPGA, может быть размещено в корпусе пока водитель-испытатель упражняется с автомобилем. Этот подход не ограничивается автомобилестроением. Существуют несколько других случаев, когда макеты выполняются на FPGA. Коммерчески доступные эмуляторы состоят из большого числа FPGA. Они поставляются с необходимым инструментом для отображения проектируемой спецификации на эмуляторы. Используя этим эмуляторы, производят эксперименты с системами, которые ведут себя «почти» как окончательные системы. Однако каверзные ошибки при макетировании и эмуляции являются проблемой для сосредоточенных систем. Для распределенных систем ситуация еще более трудная.