The strings are sequences of 8-bit ASCII characters enclosed within quotation marks.
"This is a string"
reg [8*number_of_characters:1] string_variable;
The string should be given in one line. Strings can contain special characters (Example 1).
Character |
Meaning |
\n |
New line character |
\t |
Tab character |
\\ |
\ character |
\ |
" character |
\ddd |
A character specified by octal digit |
Table 24: Summary of special characters
String variables should be declared as reg type vectors (Example 2). Each character needs 8 bits.
If a string variable is used in an expression, it should be treated as an unsigned value. If the size of a string assigned to a string variable is smaller than the declared size of the variable, then it will be left-padded with zeros.
The null string " should be treated same as "\0.
Concatenations of string variables preserve left-padded zeros of these variables (Example 3).
Example 1
"\n This is the first line\n
This is the second line"
"\t Line\t with\t tab\t characters"
Example 2
reg [8*12:1] message;
The message variable can contain 12 characters.
Example 3
reg [10*8:1] s1, s2;
s1 = "Verilog";
s2 = "-HDL";
{s1, s2} <> {"Verilog", "-HDL"}
These expressions are not equal because {s1, s2} has 0s between "Verilog and "-HDL and {"Verilog, "-HDL} does not have any 0s between words.
Concatenation of string variables preserves left-padded zeros of these variables.
Powered by IXwebhosting |