Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по VHDL_2012 весна.doc
Скачиваний:
14
Добавлен:
11.09.2019
Размер:
8.84 Mб
Скачать

Работа №3. Описание и моделирование регулярных (систолических) схем. Задание

Провести описание логической схемы с регулярным соединением элементов двумя способами и сравнить результаты моделирования.

Способ №1. Составить трёхуровневое иерархическое описание ограниченного фрагмента регулярной схемы:

  • первый (нижний) уровень иерархии составляют функциональные описания логических элементов;

  • второй (средний) уровень иерархии должны составлять две подсхемы (выделены штриховой линией);

  • третий (верхний) уровень иерархии – описание схемы в целом;

Способ №2. Составить параметризованное описание регулярной схемы, то есть описать регулярную схему с использованием операторов generate и generic для произвольной разрядности N.

Синтаксис основных конструкций и операторов языка vhdl

Параллельный оператор генерации 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 может быть несколько.