Язык AHDL


Оператор Case


Файл decoder.tdf, приведенный ниже, описывает дешифратор 2 в 4 бита. Он преобразует 2-битный код в унарный код.

SUBDESIGN decoder

(

            code[1..0]         : INPUT;

            out[3..0]            : OUTPUT;

)

BEGIN

            CASE code[] IS

                        WHEN 0 => out[] = B"0001";

                        WHEN 1 => out[] = B"0010";

                        WHEN 2 => out[] = B"0100";

                        WHEN 3 => out[] = B"1000";

            END CASE;

END;

В этом примере входной код шины имеет значения 0, 1, 2 или 3. В операторе Case за символом => следует активизируемое уравнение. Например, если code[] равен 1, то выход out1 устанавливается в B"0010". Поскольку все значения выражения различны, в одно время можно активизировать только одну область WHEN



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