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

1.10.2.4. Цикл моделирования vhdl

В соответствии со стандартом [20] выполнение модели в VHDL описывается следующим образом.

Выполнение модели состоит из фазы инициализации с последующим повторяющимся выполнением операторов process и параллельных операторов присвоения, описанных в модели. Каждое такое повторение называется циклом моделирования. В каждом цикле вычисляются значения сигналов, присутствующих в описании. Если в результате вычисления данный сигнал меняет свое значение, то оператор process чувствительный к этому сигналу будет выполнен как часть цикла моделирования.

В фазе инициализации, оговоренные начальные значения присваиваются сигналам, текущему модельному времени Tc присваивается значение 0 и однократно выполняется каждый оператор process.

Каждый цикл моделирования начинается с установки текущего времени в следующий момент времени, на который назначены изменения значений сигналов. Это время Tn было вычислено во время инициализации или последнего выполнения цикла моделирования. Моделирование прекращается, когда текущее время достигнет установленного максимума.

Каждый цикл моделирования содержит следующие шаги:

а) Tc присваивается Tn.

б) Каждый сигнал явно заданный в модели обновляется (в результате могут появиться события, если сигналы меняют свое значение).

В цикле, предшествовавшем текущему циклу, были вычислены новые будущие значения. Если Tc соответствует времени, в которое эти значения становятся действительными, то они и присваиваются сигналам. Новые значения никогда сразу не присваиваются в выполняемом цикле моделирования. Сигналы, которые изменяют свое значение, генерируют события, которые в свою очередь могут запустить выполнение операторов process, чувствительных к этим сигналам.

в) Для каждого process P, если P чувствителен к сигналу S и если событие имеет место для сигнала S в этом цикле моделирования, тогда P выполняется.

г) Каждый process, который получил разрешение на выполнение в текущем цикле выполняется до момента простановки.

д) Время следующего цикла Tn определяется установкой его в наиболее раннее из значений:

1) TIME’HIGH – время окончания моделирования.

2) Время, когда драйвер сигнала становится активным (задержка формирования значения сигнала).

3) Время, в которое разрешается выполняться оператору process (это время определяется операторами wait for.

Если Tn = Tc, то следующий цикл моделирования будет δ-циклом.

На рис.53 иллюстрирует итеративную природу цикла моделирования.

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

Рис.53. Цикл моделирования VHDL

Транзакция. В реализации сигналов, изменяемых в модельном времени, основным становится планирование в этом времени изменений сигналов. При выполнении операторов присваивания значения сигналу, системой моделирования формируется специальная структура данных, пара: значение сигнала/момент модельного времени, когда сигнал примет это значение. Такая пара в VHDL называется транзакцией. Транзакция – это внутренняя инструкция системы моделирования по изменению указанного сигнала в заданный момент модельного времени.

В реализации языка VHDL запланированная источником временная диаграмма сигнала представляется упорядоченным списком транзакций, формирующих моменты изменения сигнала на временной диаграмме. Часто в описании VHDL именно этот список, связанный с одним источником сигнала называют драйвером.