Синтаксис основных конструкций и операторов языка VHDL. Параллельный оператор генерации generate

Параллельный оператор генерации generate

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

Есть три способа употребления оператора генерации:

- способ for;

- способ if;

- комбинированный способ.

Способ for. Кроме ключевого слова generate, в начале описания оператора генерации используется только конструкция с ключевым словом for. По сути представляет собой цикл с параметром генерации, который выглядит следующим образом:

Метка: for параметр генерации generate

Параллельные операторы

end generate метка;

Параметр генерации – некоторая константа дискретного типа в определённом диапазоне. Параметром генерации не может быть декларированная переменная или сигнал! Для описания параметра генерации используется конструкция следующего вида:

Имя параметра генерации in K to (downto) L.

K и L – целочисленные константы, которые определяют границы диапазона изменения параметра генерации. Если используется ключевое слово to, то K – нижняя граница, а L – верхняя. Шаг цикла равен +1. Если используется ключевое слово downto, то всё наоборот, и шаг цикла равен -1.

Таким образом, полностью структура оператора генерации по способу for выглядит следующим образом:

Метка: for имя параметра генерации in K to (downto) L generate

Параллельные операторы

end generate метка;

Способ if. Кроме ключевого слова generate, в начале описания оператора генерации используется только конструкция с ключевым словом if. Условием является логическое выражение. Полностью структура оператора генерации по способу if выглядит следующим образом:

Метка: if условие generate

Параллельные операторы

end generate метка;

Параллельные операторы после ключевого слова generate будут выполняться только в том случае, если условие истинно!

Комбинированный способ сочетает в себе два предыдущих. Его структура выглядит следующим образом:

метка: for имя параметра генерации in K to (downto) L generate

метка1: if условие generate

параллельные операторы

end generate метка1;

end generate метка;

Операторов генерации по способу if внутри оператора по способу for может быть несколько.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: