Язык AHDL

Оператор If Then


Файл priority.tdf,  приведенный ниже, демонстрирует приоритетный шифратор, который преобразует уровень активного входа с наивысшим приоритетом в значение.

SUBDESIGN priority

(

   low, middle, high   : INPUT;

   highest_level[1..0] : OUTPUT;

)

BEGIN

   IF high THEN

      highest_level[] = 3;

   ELSIF middle THEN

      highest_level[] = 2;

   ELSIF low THEN

      highest_level[] = 1;

   ELSE

      highest_level[] = 0;

   END IF;

END;

В этом примере входы high, middle, и low оцениваются для определения того, является ли их уровни равными VCC. Оператор If Then активизирует уравнения, которые следуют за активной IF или ELSE областями и, если  вход high высокий, то highest_level[] равен 3.

Если активизируется более одного входа, то оператор If Then оценивает приоритет входов в порядке следования областей IF и ELSIF ( первая область имеет наивысший приоритет).

Если ни один из входов не активизирован, по срабатывает уравнение, следующие за ключевым словом ELSE.



Содержание раздела