Курсовая работа: Основы языка VHDL
whenвариант выбора => последовательностные_выражения
whenвариант выбора => последовательностные_выражения
-- произвольное число вариантов выбора.
whenothers=> последовательностные_выражения]
endcase;
При вычислении выражения caseвыбирается одна из ветвей в соответствии со значением выражения. Выражение может иметь значения типа перечислимого или типа одномерного массива. Рассмотримпример:
type WEEK_DAY is (MON, TUE, WED, THU, FRI, SAT, SUN);
type DOLLARS is range 0 to 10;
variable DAY: WEEK_DAY;
variable POCKET_MONEY: DOLLARS;
case DAY is
when TUE => POCKET_MONEY := 6; -- ветвь 1
when MON I WED => POCKET_MONEY := 2; -- ветвь 2
when FRI to SUN => POCKET_MONEY := 7; -- ветвь 3
when others => POCKET_MONEY := 0; -- ветвь 4
endcase;
Переменная WEEK_DAYимеет значения перечислимого типа (дни недели). Переменная DOLLARSимеет целочисленные значения в диапазоне от 0 до 10. Ветвь 1 выбирается, когда день недели TUE. Ветвь 2 выбирается в случае когда дни недели MONили WED(вертикальная черта означает ИЛИ). Ветвь 3 покрывает значения от FRIдо SUN, т.е. FRI, SATи SUN. Ветвь 4 покрывает все оставшиеся значения, т.е. THU.
Оператор loop
Оператор loopиспользуется для задания итерации набора последовательных выражений.
[ярлык для loop: ] итерационная схема loop
последовательностные_выражения
endloop[ярлык для loop] ;
Существует три итерационных схемы. Первая имеет форму:
forидентификатор inдиапазон
Пример использования схемы:
FACTORIAL := 1;
for NUMBER in 2 to N loop
FACTORIAL := FACTORIAL * NUMBER;
end loop;
Тело loopисполняется N-1 раз, при этом идентификатор NUMBERв конце каждой итерации увеличивается на 1. Подразумевается, что идентификатор целочисленного типа и значения его лежат в диапазоне от 2 до N.