Курсовая работа: Основы языка VHDL

[elsifбулевское_выражение then

последовательностные_выражения ]

[else

последовательностные_выражения]

endif;

Выражение ifвычисляется путем просмотра условий одного за другим, пока не будет найдено истинное. Затем вычисляется набор последовательностных выражений, связанных с этим условием. Предложений вида elsifв выражении ifможет быть от 0 и более. Может использоваться и предложение else. Выражения ifмогут вкладываться одно в другое без ограничений.

Рассмотрим простой пример.

ifCTRL= '1' then

MUX_OUT<= "10";

else

MUX_OUT<= "01";

endif;

Если управляющий сигнал CTRL1 равен ‘1’, то выходной сигнал MUX_OUTпринимает значение "10", иначе MUX_OUTпримет значение "01". На этом оператор ifзавершается.

Рассмотрим более сложный пример.

ifCTRLI= '1' then

if CTRL2 = '0' then

MUX_OUT<= "0010";

else

MUX_OUT<= "0001";

end if;

else

if CTRL2 = '0' then

MUX_OUT <= "1000";

else

MUX_OUT <= "0100";

end if;

endif;

Если управляющий сигнал CTRL1 равен ‘1’, тогда при условии (открывается вложенное if) CTRL2=’0’ выходной сигнал MUX_OUT<= "0010", иначе (т.е. при любых других значениях сигнала CTRL2) MUX_OUT<= "0001". Здесь завершается внутренний (вложенный) оператор if. Иначе (т.е. при любых других значениях сигнала CTRL1), если (открывается новый вложенный оператор if) CTRL2=’0’, тогда MUX_OUT<= "1000", иначе (т.е. при любых других значениях сигнала CTRL2) MUX_OUT<= "1000". Здесь завершается внутренний (вложенный) оператор if, а также завершается и наружный.

Оператор case

Операторcaseимеет следующий формат:

К-во Просмотров: 848
Бесплатно скачать Курсовая работа: Основы языка VHDL