ЦИКЛЫ С УСЛОВИЕМ. ОПЕРАТОР ЦИКЛА WHILE ЯЗЫКА VHDL
Оператор с ключевым словом while обязательно содержит в теле цикла операторы, изменяющие описанное в итерационной схеме условие. Операторы цикла повторяются, пока при вычислении условия не получается значения false . Условие проверяется каждый раз перед исполнением тела цикла. Если перед началом очередной итерации условие истинно, то она выполняется, в противном случае цикл завершается. Такой цикл имеет следующий синтаксис:
[метка:] while условие loop
последовательные операторы
end loop [ метка];
При подобной организации цикла предполагается, что в процессе его выполнения объекты, входящие в условие заголовка цикла, могут изменить свое значение в теле цикла.
while data="0000" loop
data <=data_in;
end loop;
ОПЕРАТОРЫ УПРАВЛЕНИЯ СБОРОМ ИНФОРМАЦИИ О ХОДЕ МОДЕЛИРОВАНИЯ ЯЗЫКА VHDL
Оператор assert .
При отладке модели полезно контролировать значения, которые принимают объекты, и заносить информацию, получаемую в ходе работы модели, в отчет о проведенном моделировании. Для этого в программу на языке VHDL вводятся специальные операторы, управляющие сбором и сохранением информации о прогоняемой модели.Для этих целей используется оператор assert, который имеет следующий синтаксис:
assert логическое выражение [ report выражение1] [ severity выражение2]
Если логическое выражение, стоящее в операторе assert , принимает в ходе моделирования значение false , моделирующая программа немедленно выдает уведомление об этом. Выражение, стоящее в секции report (если она имеется), при этом заносится в отчет. Это выражение может содержать текстовые строки, в качестве которых могут быть использованы атрибуты объектов, приводящие их значения к текстовому типу. Выражение, стоящее в секции severity , позволяет определить уровень ошибки. Оно должно принимать одно из значений, принадлежащих типу severity_level, определение которого выглядит следующим образом:
|
|
type severity_level is (note, warning, error, failure);
Например:
assert free_mem<=low_limit report "memory is small" severity warning;
Значение note соответствует ситуации, когда необходимо просто поместить информативное сообщение в отчет. Значение warning соответствует ситуации, когда в ходе выполнения модели возникло нечто, не характерное для нее. Уровень error используется, когда возникшая ситуация свидетельствует об ошибке.Уровень failure свидетельствует о нарушении целостности.
Оператор report
Если информация должна заноситься в отчет при любых условиях, то используется оператор report безусловного занесения информации в отчет. Он имеет следующий синтаксис:
report выражение1 [severity выражение2];
ПРИНЦИП СОБЫТИЙНОГО МОДЕЛИРОВАНИЯ НА ЯЗЫКЕ VHDL
|
|
Событийное моделирование- моделирование последовательности событий, при котором обращения к модели любого компонента исследуемой системы происходят только тогда, когда на входах этого компонента происходит событие (изменение входных переменных).
В VHDL принцип событийного моделирования наиболее эффективный по быстродействию. Его суть состоит в следующем:
- время в моделях представляется дискретным и может задаваться в диапазоне натуральных единиц времени от фемтосекунды (10-15 с) до часа;
- приращение времени на каждом шаге моделирования - величина переменная, равная интервалу времени между двумя последующими событиями (событием называется любое изменение одного из сигналов в схеме).
ПОНЯТИЯ СИГНАЛА, ИСТОЧНИКА СИГНАЛА; ВРЕМЕННОЙ ДИАГРАММЫ; ПОРТА НА ЯЗЫКЕ VHDL
Сигналы являются абстрактным представлением модели состояния проводников цифровых устройств. Сигнал – это электрическое соединение, провод или шина. Сигнал имеет некоторое значение, которое ему присваивается. Но в отличие от переменной сигнал характеризуется моментом модельного времени, в котором сигнал имеет данное значение.
Сигнал – запись, состоящая из 2-х полей: момент времени и значение сигнала в этот момент.
|
|
Последовательные значения, привязанные к моменту модельного времени на некотором временном интервале формируют временную диаграмму – wave form.
Результат воздействия выражения с задержкой:
Y<=I0 and I1 after 1ps;
Изменение сигнала в некоторый момент моделирования называется событием.
Драйвер (driver) — источник сигнала.
Входы и выходы проектируемой схемы называют портами - специальные программные объекты, являющиеся сигналами, а не переменными.
Port(I0:in std_logic)
I0-сигнал
АТРИБУТЫ СИГНАЛОВ ЯЗЫКА VHDL
Атрибуты — скаляры, отражающие некоторые свойства объектов, используемых в программных модулях (типов, переменных, агрегатов). Атрибуты сигнала используются для представления временных свойств сигнала. Атрибуту присваивается имя и тип, имя используется как обычная переменная в выражениях того типа, который присвоен атрибуту.
Атрибуты сигналов используются для получения информации о событиях, которые происходят с сигналами. Обращение к атрибутам имеет следующий синтаксис:
Дата добавления: 2020-04-08; просмотров: 237; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!