Языки моделирования и описания цифровой аппаратуры, страница 4

Данные, передаваемые человеком в автоматизированную систему проектирования, можно разделить на две группы:

§  сведения о проектируемом объекте;

§  сведения о характере и последовательности проектных процедур, подлежащих выполнению.

Для представления этих сведений служат соответствующие разновидности входных языков, называемые соответственно языком описания объекта (ЯОО) и языком описания заданий (ЯОЗ).

Используя ЯОО, разработчик цифровой аппаратуры описывает структуру проектируемого устройства и, возможно, значения его параметров. Средства ЯОЗ служат для указания системе, какие задачи должны быть решены и в каких условиях. Запись на ЯОЗ представляет собой последовательность директив – управляющих операторов.

В некоторых системах проектирования, таких как Pspice, обе функции реализуются единым входным языком, а директива отличается от описания компонента схемы тем, что она начинается с символа «.» - точка.

Языки моделирования

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

Таким образом, язык моделирования (ЯМ) – это обычный процедурный язык программирования, преобразованный в «нечто большее и лучшее». В чём же заключаются эти преобразования? Что отличает их от обычных языков? Пожалуй, самым важным отличительным признаком ЯМ является наличие в нём изобразительных средств, обслуживающих время.

Процессы, протекающие в динамических объектах, развиваются в реальном времени, которое при имитации заменяется некоторой искусственной переменной, называемой модельным временем. Эта системная переменная может присутствовать в языке моделирования в явном виде и обозначаться соответствующим идентификатором, например T, TIME, CLOCK или как-то ещё.

Однако чаще модельное время задаётся неявно и реализуется специальной управляющей программой моделирования, называемой коротко моделятором. Эта программа, как и все другие прикладные программы САПР или СМ, является готовым программным продуктом. Именно на моделятор возлагается задача синхронизации моделируемых процессов со стандартными средствами ЯМ.

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

Из сказанного становится ясным, что пользователь не может произвольно управлять модельным временем. Например, моделирование всегда начинается с нулевой отметки модельного времени, и пользователь бессилен здесь что-либо изменить.

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

В языках моделирования имеются средства для описания временных параметров, например задержек распространения сигналов в элементах, из которых состоит объект. Так, в языке VHDL можно определить указанную задержку с невероятной лёгкостью:

OUT <= not INP after 20ns;

Фраза «after 20ns» означает, что выход OUT получит новое значение не в текущий момент модельного времени, а спустя 20ns, то есть сигнал OUT будет сохранять старое значение ещё некоторое время.

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