Operators:
Unary : Precede the operand; always comes left of the operand. Eg: a=~b;
Binary : Appear between two operands. Eg: a=b&&c;
Conditional : Have two separate operators that separate three operands. Eg: a=b?c:d;
Number Specificaton:
Sized :
syntax: ‘
Size --> no. of bits in the number; only decimal
Base format --> for decimal : ‘d or ‘D
Hex :’h or ‘H
Binary : ‘b or ‘B
Octal : ‘o or ‘O
Number -> 0 to 9(if deci)
0 to F(if hex)
0 to 8(if oct)
Eg:
4‘b1011 //4 bit binary no.
12’habf //12 bit hex no.
16’d255 //16 bit decimal no.
Unsized Numbers:
Numbers that are specified without are decimal numbers by default.
Eg:
23456 //32 bit decimal no. by default
‘hc3 //32 bit hex no. by default
‘o21 //32 bit oct no. by default
X or Z values:
X ---> denotes unknown value
Z ---> denotes a high impedance value
Eg:
12’h13X //12 bit hex no.;4 LSBs are unknown
6’hx //6 bit hex no.;all 6 bits are unknown
32’bz //32 bit high impedance number
Negative Numbers:
Eg :
-6’d3 //8 bit negative no. stored as 2’s complement of 3
-6sd3 //used for performing signed integer math
4’d-2 //illegal specification : ‘-’ is not allowed between and
Underscore Characters:
An underscore character “-” is allowed anywhere in a number except the first character. Underscore characters are allowed only to improve readability of numbers and are ignored by Verilog.
Strings:
Eg: "This is asic-soc blog” //is a string
Identifiers and Keywords:
Eg:
reg value; //’reg’ is keyword; ‘value’ is an identifier
input clk; //’input’ is a keyword; ‘clk’ is an identifier
Escaped Identifiers:
Eg:
\a+s+v+d
Unary : Precede the operand; always comes left of the operand. Eg: a=~b;
Binary : Appear between two operands. Eg: a=b&&c;
Conditional : Have two separate operators that separate three operands. Eg: a=b?c:d;
Number Specificaton:
Base format --> for decimal : ‘d or ‘D
Hex :’h or ‘H
Binary : ‘b or ‘B
Octal : ‘o or ‘O
Number -> 0 to 9(if deci)
0 to F(if hex)
0 to 8(if oct)
Eg:
4‘b1011 //4 bit binary no.
12’habf //12 bit hex no.
16’d255 //16 bit decimal no.
23456 //32 bit decimal no. by default
‘hc3 //32 bit hex no. by default
‘o21 //32 bit oct no. by default
Z ---> denotes a high impedance value
6’hx //6 bit hex no.;all 6 bits are unknown
32’bz //32 bit high impedance number
-6’d3 //8 bit negative no. stored as 2’s complement of 3
-6sd3 //used for performing signed integer math
4’d-2 //illegal specification : ‘-’ is not allowed between
Underscore Characters:
- Should be enclosed by double quotes
- Must be in a single line without carriage return
- Treated as a sequence of one byte ASCII values
- Special reserved identifiers
- Are in lowercase
Escaped Identifiers:
- Begin with a backslash(\) character
- End with whitespace(space, tab or newline)
- Neither the backslash nor the terminating whitespace is considered to be a part of the identifier
\a+s+v+d
\**asic-soc-vlsi-design-blog**
No comments:
Post a Comment
Your Comments... (comments are moderated)