Formal Definition
The strings are sequences of 8-bit ASCII characters enclosed within quotation marks.
Simplified Syntax
"This is a string"
reg [8*number_of_characters:1] string_variable;
Description
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).
Examples
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.
Important Notes
- Concatenation of string variables preserves left-padded zeros of these variables.
No comments:
Post a Comment
Please provide valuable comments and suggestions for our motivation. Feel free to write down any query if you have regarding this post.