Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 16
Текст из файла (страница 16)
Все, что описано в этом параграфе, может быть использовано только в 0[САО Ехргеяв. В Еоилк[а[[оп Ехргеяэ этн операторы игнорируются. Оператор аеееп При отладке модели полезно контролировать значения, которые принимают объекты, и заносить информацию, получаемую в ходе работы модели, в отчет о проведенном моделировании. Для этого в программу на языке ЧНР[. вводятся специальные операторы, управляющие сбором и сохранением информации о прогоняемой модели. Для этих целей используется оператор авваге, который имеет следующий синтаксис: аввага Ьоо1еап ехргаяяьоп [гарога ехргеяяьоп[ [вавагЫу ехргеяяьоп[ Если логическое выражение, стоящее в операторе авваге, принимает в ходе МОдЕЛИрОВаНИя ЗНаЧЕНИЕ Вязав, МОдЕЛИруЮщая ПрОГраММа НЕМЕДЛЕННО ВЫ- дает уведомление об этом. Выражение, стоящее в секции гароге (если она имеется), при этом заносится в отчет.
Это выражение может содержать текстовые строки, в качестве которых могут быть использованы атрибуты объектов, приводящие их значения к текстовому типу. Выражение, стоящее в секции ваяагзеу, позволяет определить уровень ошибки. Оно должно при- НИМатЬ ОДНО ИЗ ЗНаЧЕНИй, ПрИНадЛЕжащИХ ТИПУ яаяагьсу 1ауа1, ОПрЕдЕЛЕ- ние которого выглядит следующим образом: Евра яетегьгу 1еуе1 1в (попе, нагп1пд, еггог, га11ше); Значение посв соответствует ситуации, когда необходимо просто поместить информативное сообщение в отчет. Значение нагп1пд соответствует ситуации, когда в ходе выполнения модели возникло нечто, не характерное для нее (выполнение модели может продолжаться, но результат возможен не- Операторы и данные языка МНР1.
обычный). Уровень еттот используется, когда возникшая ситуация свидетельствует об ошибке (например, ширина тактового импульса оказалась меньше допустимой). Уровень газ ьпте свидетельствует о нарушении целостности (например, разность значений указателей последней и первой позиций в буфере, увеличенная на 1, оказалась не равна количеству объектов в буфере). Как правило, такие ситуации не приводят к аварийному завершению моделирования.
Однако после такой ситуации модель может начать вести себя неадекватно, значения сигналов модели перестанут соответствовать тому, что могло бы быть в реальной системе. Видимо, эти операторы и были созданы для того, чтобы проще было отслеживать ситуации, которые на временной диаграмме можно и не заметить. В ОгСАЕ) Ехргезз иногда возникают ситуации, когда моделирование завершается аварийно самой средой. Это может быть не связано с наличием оператора ааааас.
Данное определение ееътетт су 1е те1 входит в пакет бгапдагд, который подключается к модели по умолчанию, поэтому пользователю в явном виде вводить его в своей программе не надо. Например: аааеае атее веп<=1отт 1ппе аероас "тептоту Ье апа11" аеуеНЕу иапн'.пд; Если в операторе отсутствует секция терогс, то по умолчанию в файл отчета записывается фраза "Аззетт)оп ч)о1аг)оп". Если в операторе отсутствует секция аеуетзсу, то по умолчанию ситуация имеет уровень отток.
Оператор герог1 Если информация должна заноситься в отчет при любых условиях, то используется оператор теротс безусловного занесения информации в отчет. Он имеет следующий синтаксис: аероае ехртеааьоп 1аететьеу ехртеае3.оп]; Глава 3 Базовые конструкции моделей на языке ЧН0~ Сигналы Сигналы являются отдельным классом объектов языка ЧНОЬ, отличным от классов переменных и констант, достаточно традиционных для языков высокого уровня. Понятие сигнала не имеет аналогов в языках программирования типа РОКТКАХ, С, РАВСАЬ и др.
Цифровые системы работают во времени, преобразуя и передавая сигналы. Естественно, что понятие сигнала является базовым в языке описания аппаратуры — языке ЧНОЬ. Сигналы являются абстракцией, представлением в модели на ЧНОЬ состояния проводников в структуре цифрового устройства. О понятии Время. Рассуждая о языках и системах моделирования, мы имеем дело с несколькими понятиями, которые соотносятся с термином "время": П физическое время моделируемого устройства.
Оно непрерывно; в нем протекают реальные физические процессы, изменяются электрические сигналы в цифровых системах, наблюдаемые на логическом уровне как изменения логических состояний. 0 модельное время. Это время в модели устройства; оно является обобщенным представлением, на уровне модели устройства, физического времени, в котором работает моделируемое устройство. Молельное время дискретно; О время моделирования.
Это время выполнения программы на ЧНОЬ. В семантике программы на ЧНОЬ впрямую не наблюдается, однако, проявляется через упорядочение операторов программы по времени выполнения. Не имея для программиста на ЧНОЬ числовых значений, время работы системы моделирования позволяет определить отношение поряд- Глава 3 ка над событиями — выполнением операторов программы на ЧНРг .
Для каждой пары исполненных операторов программы определены отношения "выполнен раньше"/"выполнен позже". Важно различать эти три разных вида времени, с которыми имеет дело проектировщик, работающий на языке ЧНР).. Сигналы а цифровых устройствах. Каждое изменение состояния элемента схемы, его входов, является воздействием, которое может привести к изменению некоторого сигнала.
Например, подача 'Г на вход вентиля может привести к изменению сигнала на его выходе, но не мгновенно, а через интервал времени, определяемый задержкой вентиля (т„скажем, 5 нс.). Так что, подавая 'Г на вход вентиля в момент г~, мы как бы "запланировали" изменение сигнала на его выходе на время 1з = га+т,. А что будет на выходе вентиля в момент г2 = гт+г, — 2 нс.? Это определяется тем, что было на входах вентиля в момент г — 2 нс. (т.
е. — что было запланировано, но еще не успело выполниться, находится в процессе выполнения). Таким образом, в момент г2 в схеме идет множество процессов, которые "запланировали" значения сигналов на каждый момент времени, от момента га на некоторый промежуток времени вперед. В текущем состоянии физического устройства как бы заложена временная диаграмма рассматриваемого сигнала на некоторый период времени вперед. В реальном цифровом устройстве, которое моделируется программой на ЧНРт., воздействий на сигнал, приводящих к его изменению, может быть несколько.
Если мы посмотрим с этой точки зрения на сигнал и на устройство, то увидим, что в текущий момент физического времени в схеме одновременно идет множество процессов, в разных ее элементах и на связях между ними. Процессы в устройстве, которые приведут к изменению сигнала, уже идут, но в измененном состоянии сигнала они проявятся через некоторые промежутки времени (возможно, разные процессы — через разные промежутки).
Сигналы в моделях устройств яа )гН2)/.. Сигналы, как и переменные, имеют некоторые значения, которые им присваиваются. Однако если переменную характеризует только значение, то сигнал характеризуется и моменпгом модельного врелгеяи ', в который этот сигнал имеет данное значение. Можно сказать, что состояние сигнала — это пара: момент модельного времени / значение, которое сигнал имеет в данный момент.
Именно ассоциация сигнала с моментами модельного времени является его основным отличием от переменных. Сигнал существует в модельном времени, в каждый момент которого он может иметь свое значение, а переменная всегда имеет одно текущее значение. Таким образом, сигнал — это не тип ' Не пугать со временем выполнения программы моделирования! Базовые конструкции моделей ня языке ИзР~ 75 переменной, это совсем другой, принципиально отличный класс программных объектов. И разница здесь значительно существенней, чем между переменной и константой. По ходу модельного времени сигнал может менять свое значение.
Последовательность значений сигнала в привязке к моментам модельного времени в течение некоторого промежутка времени формирует временную диаграмму сигнала Гчгачезогт). В модели устройства на языке ЧНОЕ воздействия, изменяющие состояние сигнала, принимают форму нрисвпивпния значения сигналу. Проявляется воздействие в изменении значения сигнала, как правило, не в тот момент модельного времени, когда происходит это воздействие, а в другой, отстоящий от текущего на некоторый промежуток времени (задержку) по оси модельного времени. Как и в физическом устройстве, в его модели на языке ЧН1Э). параллельно идет множество процессов, определяющих значения сигналов в каждый момент модельного времени. Однако из прагматических соображений, чтобы сократить время прогона модели, система моделирует работу компонентов схемы не во всех моментах модельного времени, а только в тех, на которые запланированы действительные изменения каких-либо сигналов.
Между такими моментами модельного времени сигналы не меняют своих значений, что мы и можем наблюдать при визуализации результатов моделирования на временных диаграммах. События изменения сигналп. Изменение сигнала, реализуемое в какойто момент модельного времени, называют событием (ечепг). Принцип продвижения модельного времени системой моделирования формулируется так: от момента события — до следующего момента модельного времени, в который происходит хотя бы одно событие, пропуская промежуточные моменты, в которые не происходит никаких событий.