Применение языка VHDL при проектировании специализированных СБИС. Ивченко В.Г. - 7 стр.

UptoLike

Составители: 

8
Базированные литералы
Базированный литерал (based literal) - это абстрактный литерал, выраженный в форме, которая явно
содержит базу счисления. База счисления может находиться в пределах от 2 до 16.
Символ подчеркивания, стоящий между двумя соседними цифрами в базированном литерале, не влияет на
значение этого абстрактного литерала. База счисления (base) и экспонента должны быть выражены десятичным
числом. Буквой, используемой в качестве расширенной цифры (extended digit), могут быть буквы от А до F,
соответственно представляющие цифры от 10 до 15. Буква в базированном литерале (будь то буква Е в
экспоненте или расширенная цифра) может писаться как в заглавной, так и в строчной форме - значение
литерала от этого не меняется.
Предполагается обычный смысл базированного написания; в частности, значение каждой расширенной
цифры не должно превышать значения базы. Экспонента обозначает степень базы, на которую умножается
значение базированного литерала, взятого без выражения экспоненты, для получения значения этого литерала с
экспонентой. Выражение экспоненты в целом литерале не должно содержать знак минус.
Пример:
-- целые литералы значения 255
2#1111_1111# 16#FF# 016#0FF#
-- действительные литералы значения 4095.0
16#F.FF#E+2 2#1.1111_1111_111#E11
| | |__
ЭКСПОНЕНТА
| |__
ЧИСЛО
|__
БАЗА
1.2.5.2. Символьные литералы
Символьный литерал формируется включением одного из 95 графических символов (включая символ
пробела) между двумя символами апострофа. Символьный литерал содержит значение символьного типа.
Пример:
'А' '*' ''' ' '
1.2.5.3. Строковые литералы
Строковые литералы формируются из последовательности графических символов (возможно и пустой),
заключенной между двумя символами кавычки, используемых как строковые скобки.
Строковый литерал имеет значение, представляющее собой последовательность символьных значений,
соответствующих графическим символам этого строкового литерала, исключая сами кавычки. Если необходимо
включить символ кавычки в состав строкового литерала, то этот символ надо повторить подряд два раза на
соответствующем месте. Длина строкового литерала равна количеству символьных значений в представленной
последовательности. (Каждый удвоенный символ кавычки учитывается как один символ). Строковый литерал
должен писаться на одной строчке, т.к. он является лексическим элементом.
Пример:
"Setup time is too short" -- сообщение об ошибке
"" -- пустой строковый литерал
" " "A" """" -- три строковых литерала длиной 1.
1.2.5.4. Битово-строковые литералы
Битово-строковые литералы (bit-string literal) формируются из последовательности расширенных цифр,
заключаемой между двумя символами кавычки, используемых как скобки строки битов, и которой
предшествует спецификатор базы (base specifier).
Спецификатор базы может принимать значения В, О, Х. Если спецификатором базы счисления является В,
то в качестве расширенных цифр могут выступать только цифры 0 и 1; если O, то цифры от 0 до 7; и если Х, то
цифры от 0 до 9 и от А до F.
Символ подчеркивания, стоящий между двумя соседними цифрами в битово-строковом литерале, не влияет
на значение этого литерала. Буквой, используемой в качестве расширенной цифры, могут быть буквы от А до F,
представляющие, соответственно, цифры от 10 до 15. Буква в битово-строковом литерале (расширенная цифра
или спецификатор базы) может писаться как в заглавной, так и в строчной форме - значение литерала от этого
не меняется.
Битово-строковый литерал имеет значение, представляющее собой последовательность значений
предопределенного типа BIT (т.е. последовательность из '0' и '1'). Если указатель базы счисления есть В, то
значение битово-строкового литерала есть сам литерал. Если указатель базы есть O (или Х), то значением
литерала является последовательность, полученная замещением каждой расширенной цифры
последовательностью из трех (или соответственно четырех) значений предопределенного типа BIT.
Длина битово-строкового литерала равна числу значений типа BIT в представленной последовательности.