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



ЗНАЕТЕ ЛИ ВЫ?

Описание комбинационной схемы в потоковом стиле

Поиск

В потоковых проектах используют параллельное присваивание.

Параллельное присваивание определено в трех различных формах: безусловное параллельное присваивание,

условное параллельное присваивание, параллельное присваивание по выбору.

 

Безусловное параллельное присваивание

В качестве исходной формы описания проектируемой комбина- ционной схемы могут выступать булевские уравнения или таблица истинности, от которой легко перейти к выражениям на языке VHDL, используя логические операторы и параллельный сигналь- ный оператор присваивания (concurrent signal-assignment statement):

signal-name <= expression;


Его можно прочесть так: «Сигнал с именем signal-name прини- мает значение выражения expression». Присвоение значения сигна- лу задают составным оператором “<=”.

В листинге 2.1 представлено описание комбинационной схемы по уравнениям (2.7) с использованием параллельных присваива- ний.

 

 
 

Листинг 2.1. Описание комбинационной схемы с использованием параллельного сигнального оператора присваивания

 
 

Логические операторы and, or, nand, nor, xor, хпоr имеют одинаковое старшинство и выполняются слева направо в выражениях. В сложных логических выражениях порядок выпол- нения операторов регулируется скобками. Заметьте, что у операто- ра not самый высокий приоритет, так что для получения нужного результата можно не заключать в скобки подвыражение типа not А.

 

Условное параллельное присваивание

Можно также воспользоваться условной формой параллельного сигнального оператора присваивания (conditional signal-assignment statement) с ключевыми словами when и else:


signal-name <= expression when boolean-expression else

expression when boolean-expression else

...

expression when boolean-expression else

expression;

В этом случае в выражении boolean-expression отдельные буле- вы термы объединяют посредством встроенных булевых операто- ров языка VHDL, таких как and, or и not. Под булевыми тер- мами обычно понимают булевы переменные или результаты срав- нения, выполняемого с помощью операторов отношений (rela- tional operators) =, /= (не равно), >, >=, < и <=.

Листинг 2.2 содержит пример использования условного парал- лельного оператора присваивания. Внешние входы схемы ради удобства записи условий представлены в виде вектора А(3 downto 0). Результаты сравнения объединяются в булево выраже- ние, помещенное в каждом операторе между ключевыми словами when и else. Каждое значение входного вектора – это двоичный набор, на котором функция равна 1. Совокупный набор условий в каждом из операторов должен покрывать все возможные комбина- ции входных сигналов. Приведенное описание представляет собой по сути СДНФ заданных функций.

 

 
 

Листинг 2.2. Описание комбинационной схемы с использованием условного присваивания


Параллельное присваивание по выбору

Параллельный оператор присваивания другого рода — это изби- рательное (по выбору) присваивание сигналу его значения (selected signal-assignment statement), синтаксис которого следующий:

 

with expression select

signal-name <= signal-value when choices,

signal-value when choices,

...

signal-value when choices;

Этот оператор вычисляет заданное выражение expression и при- сваивает сигналу с именем signal-name значение сигнала (signal- value), соответствующее той из альтернатив (choices), значение ко- торой равно expression. Альтернативой в каждом предложении when может быть одиночное значение expression или список значе- ний, разделенных вертикальной чертой (|). Альтернативы choices в данном операторе должны быть взаимно исключающими и в сово- купности включать все возможные случаи. В последнем предложе- нии when можно воспользоваться ключевым словом others в каче- стве указания на все значения expression, которые еще не были упомянуты.

В листинге 2.3 продемонстрирован один из подходов к написа- нию программы комбинационной схемы в стиле потокового проек- тирования с использованием избирательного сигнального операто- ра присваивания. Внешние входы схемы здесь также ради удобства


представлены в виде вектора. В последнем предложении when ис- пользуется ключевое слово others для указания на все другие зна- чения переменных, которые еще не были упомянуты.

Данное описание предполагает задание функций в табличной фор- ме или в СДНФ.

 

 
 

Листинг 2.3. Описание комбинационной схемы с использованием параллельного присваивания по выбору

 
 

Ту же самую архитектуру можно слегка видоизменить, чтобы воспользоваться более удобной числовой интерпретацией А в оп- ределении функции. Применяя для сигналов на входе А тип IN- TEGER, можно записать наборы в терминах целых чисел (лис- тинг 2.4). Внутри среды Foundation Express целые числа представ- ляются в двоичном формате. Для работы с ними используется тип bit_vector. Преобразование целых чисел осуществляется авто- матически, без участия пользователя. Размер битового вектора оп- ределяется как минимально допустимый для заданного диапазона значений исходного целого типа.


 
 

Листинг 2.4. Описание комбинационной схемы



Поделиться:


Последнее изменение этой страницы: 2016-12-27; просмотров: 261; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.20.252 (0.006 с.)