Язык AHDL


Оператор If Then


Оператор If Then содержит список операторов, выполняемых в том случае, если булевское выражение, расположенное между ключевыми словами IF и THEN, принимает истинное значение .

Следующий пример демонстрирует использование оператора If Then:

IF a[] == b[] THEN

            c[8..1] = H "77";

            addr[3..1] = f[3..1].q;

            f[].d = addr[] + 1;

ELSIF g3 $ g4 THEN

            f[].d = addr[];

ELSE

            d = VCC;

END IF;

Оператор If Then имеет следующие характеристики:

¨    Между ключевыми словами IF и THEN располагается булевское выражение, в зависимости от значения которого выполняется или не выполняется список операторов, располагающийся за ключевым словом THEN. Каждый оператор в этом списке оканчивается символом (;).

¨    Между ключевыми словами ELSEIF и THEN располагается дополнительное булевское выражение а за ключевым словом THEN также располагается список операторов, выполняемых в зависимости от значения булевского выражения. Эти необязательные ключевые слова и операторы могут повторяться многократно.

¨    Оператор(ы), следующий за ключевым словом THEN, активизируется в том случае, если соответствующее ему булевское выражение принимает истинное значение. При этом последующие конструкции ELSEIF THEN игнорируются.

¨    Ключевое слово ELSE, за которым следует один или более операторов, схоже по своему значению с ключевыми словами WHEN OTHERS  в операторе Case. Если ни одно из булевских выражений не приняло истинное значение, то выполняются операторы, следующие за ключевым словом ELSE. В примере, показанном выше, если ни одно из булевских выражений не приняло истинного значения, то выполняется оператор d = VCC. Использование ключевого слова ELSE не является обязательным.

¨    Значения булевских выражений, следующих за ключевыми словами IF и ELSEIF оцениваются последовательно.

¨    Оператор If Then заканчивается ключевыми словами END IF за которыми следует символ (;).



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