ЦИКЛЫ С УСЛОВИЕМ. ОПЕРАТОР ЦИКЛА 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!