Literals:
You probably already know different numbering systems like binary, hexadecimal, octal etc. In this section, we will discuss how to express them in VHDL.
It is possible to declare binary or hexadecimal numbers in VHDL in the following way,
Binary: B"11000100"; Hexadecimal: X"FF";
Or in the following way,
Binary: 2#11000100#;
Hexadecimal: 16#FF#;
For readability its possible to use _ in betweeen. It will have no effect, for example,
Binary: B"1100_0100";
You can also declare integer data types, like,
constant FREEZE : integer := 32;
However, the integers are tricky to use as you need to be careful about how they will be translated into a hardware.
It is very important to know about different number systems and fixed point data types. Please go through the lectures provided in the link,
https://sites.google.com/site/shahriarshahabuddin/teaching#TOC-Lecture:
The lecture 2 about fixed point implementation will give you an idea about different data formats and how they can be applied for digital designs.
Operator:
Operators are means for constructing expressions, a list of basic operators are given here:
Relational Operators:
= (Equality)
/= (Inequality)
Logical Operators:
and (Logical AND)
or (Logical OR)
nand (Logical NAND)
nor (Logical NOR)
not (Logical NOT)
xor (Logical XOR)
xnor (Logical XNOR)
Shift Operators:
sll (Shift Left Logical)
srl (Shift Right Logical)
sla (Shift Left Arithmetic)
sra (Shift Right Arithmetic)
rol (Rotate Left)
ror (Rotate Right)
Concatenation Operators:
& (Concatenate)