Литералы

Cодержание Следующая

Изучение VHDL

Литералы

Где-то треть жителей планеты говорит на английском языке. Из них около половины не знают английского языка. Например, чтоб разговаривать на пиджин-инглиш, достаточно иметь словарный запас 200-300 слов. Естественно, на таком диалекте произведений не пишут. Приблизительно то же самое можно сказать и о пишущих на VHDL. Но для конструирования произведений с помощью VHDL нужно хотя бы знать синтаксис языка. Данная страничка и несколько других этому посвящаются.

В языке литералом задается такой лексический элемент, который при компиляции кодируется некоторым числовым кодом, который остается постоянным в программе при ее исполнении. Константы, операнды в выражениях, идентификаторы представляются литералами. То, что синтаксис литерала отображает признак типа соответствующего ему объекта, является одной из особенностей VHDL.

Числовой литерал представляет собой целое или вещественное число.

Десятичный литерал — это числовой литерал в системе счисления по основанию (базису) 10, например, 120.

Вещественный литерал отличает обязательное наличие точки, отделяющей целую часть от дробной, например, 120.0, 1.20е2.

Базисный литерал — это число в системе счисления с заданным базисом от 0 до 16. Его условный синтаксис:

\базисный литерал\::=\базис\#\число в базисе\#[\экспонента\]

Напоминание: при описаниие синтаксиса текст в квадратных скобках означает необязательный элемент. Например, 10#112# = 16#70# = 2#1110000# = 2#111#e4. Можно также применять базис и 3, и 4, и 5…

Какой ещё язык предоставляет такую возможность?!

Символьный литерал используется как значение для операторов или как элемент перечисляемого типа, например, бит. Он записывается как символ в одиночных кавычках, например, ‘1’, ‘F’ , ‘@’.

Идентификатор используется как имя константы, переменной, функции, сигнала, порта, подпрограммы, объекта проекта, а также как метка. Он содержит латинские буквы, с которых он начинается, цифры и некоторые символы, например, однократный символ подчеркивания.

Идентификаторы с одинаковым названием но с различными заглавными и строчными буквами считаются одним идентификатором, т.е. они «нечувствительны» к высоте букв. Ключевое слово языка не может быть идентификатором.

Идентификатор может состоять из произвольной цепочки символов, но эта цепочка должна быть заключена между обратными косыми. Это так называемый, расширенный идентификатор. Например:

C,    A_and_B,    \наш сигнал\,    \а+в\,    \process\

являются корректными идентификаторами.

Перечисляемый литерал. К перечисляемым литералам относятся символьный литерал и идентификатор. Из этих литералов формируется множество перечисляемого типа.

Строчный литерал. Строчным литералом является цепочка символов, заключенная в двойные кавычки, например, «АБВГ». Литерал битовой строки может иметь различный вид в зависимости от базиса системы счисления. Например, литералы «01111010», В»01111010″, Х»7А» представляют собой одно и то же значение, причем В и Х означают двоичный и шестнадцатиричный базисы, соответственно.

В числовых литералах и битовых строках допускается вставлять символы подчеркивания для удобства чтения, которые удаляются при компиляции.

Например, Х»АВ_CD», «1101_0111», 1_024, 0FF_ABBA .

Анатолий Сергиенко
E-mail: aser@comsys.kpi.ua