СПРАВОЧНИК ПО ЯЗЫКУ VHDL
4cab9ef0

ПЕРЕЧИСЛИТЕЛЬНЫЕ ТИПЫ


Тип состоит из множества возможных значений, которые могут принимать обьекты типа, вместе с множеством операций над типом. В обьявлении перечислительного типа явно перечисляются идентификаторы и графические символы, которые означают значения типа. Идентификаторы и символы являются литералами для типа, точно также, как 3 и 245 являются литералами целого типа. Значения упорядочены и отношение упорядочения определяется последовательностью их появления в списке. Рассмотрим несколько примеров: type severity is(OKAY,NOTE,WARNING,ERROR,FAILURE); type color is(red,orange,yellow,green,blue,indigo,violet); type bit6 is('U','0','1','F','R','X'); type fuzzy_logic is('0', may be,'1'); Нет необходимости писать обьявления для следующих перечислительных типов, поскольку они являются предопределенными: type character is (NUL,...,'A','B','C',...DEL); type boolean is (False,True); type bit is ('0','1'); Тип character включает символы для всех непечатаемых элементов кода ASCII, а также для их графических представлений. Логические операторы and,or,nand,nor и xor определяются для операндов типа bit или типа boolean и дают результат того же самого типа, что и операнды ( но нельзя задать один операнд типа boolean, а другой типа bit). Операторы отношения "=", ">", ">=" и другие дают результат типа boolean независимо от того, какие типы операндов. Рассмотрим несколько примеров: signal chip_select,data_rdy,inhibit: bit; variable level:severity; variable test_result:probability; signal proceed:boolean; . chip_select<=data_rdy and not inhibit; --Логические операции над битами при назначении сигналов if level <= red then ... -- Выражение с отношением, исполь- -- зующее перечислительный тип proceed <= test_result > Alpha_level; -- Результат операции -- отношения над -- значениями с плавающей -- точкой булевого типа Не нужно путать два значения символа "<=". Этот символ используется как при назначении сигналу значения некоторого выражения, так и представляет отношение "меньше или равно".



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