{} concatenation right of assignment.
´{} concatenation left of assignment.
EXAMPLE :Concatenation program main { bit [4:0] a; bit b,c,d;
b = 0;
c = 1;
d = 1;
a = {b,c,0,0,d};
`{b,c,d} = 3'b111; printf(" a %b b %b c %b d %b ",a,b,c,d);
}
EXAMPLE :Arithmetic program main { integer a,b;
b = 10;
a = 22;
printf(" -(nagetion) is %0d \n",-(a) ); printf(" a + b is %0d \n",a+b); printf(" a - b is %0d \n",a-b); printf(" a * b is %0d \n",a*b); printf(" a / b is %0d \n",a/b); printf(" a modulus b is %0d \n",a%b);
}
RESULTS
-(nagetion) is -22
a + b is 32
a - b is 12
a * b is 220
a / b is 2
a modules b is 2
Relational:
# > >= < <= relational
EXAMPLE :Relational program main { integer a,b;
b = 10;
a = 22;
printf(" a < b is %0d \n",a < b); printf(" a > b is %0d \n",a >b); printf(" a <= b is %0d \n",a <= b); printf(" a >= b is %0d \n",a >= b);
} RESULTS
a < b is 0
a > b is 1
a <= b is 0
a >= b is 1
Equality:
== logical equality != logical inequality === case equality !== case inequality =?= wildcard equality !?= wildcard inequality
EXAMPLE :logical Equality reg[3:0] a; reg[7:0] x, y, z;
a = 4'b0101;
x = 8'b1000_0101;
y = 8'b0000_0101;
z = 8'b0xx0_0101; if (x == a) printf("x equals a is TRUE.\n"); if (y == a) printf("y equals a is TRUE.\n"); if (z == a) printf("z equals a is TRUE.\n"); RESULTS
--------------------------
== 0 1 x z
--------------------------
0 1 0 x x
1 0 1 x x
x x x x x
z x x x x
--------------------------
--------------------------
=== 0 1 x z
--------------------------
0 1 0 0 0
1 0 1 0 0
x 0 0 1 0
z 0 0 0 1
--------------------------
--------------------------
=?= 0 1 x z
--------------------------
0 1 0 1 1
1 0 1 1 1
x 1 1 1 1
z 1 1 1 1
--------------------------
--------------------------
!= 0 1 x z
--------------------------
0 0 1 x x
1 1 0 x x
x x x x x
z x x x x
--------------------------
--------------------------
!== 0 1 x z
--------------------------
0 0 1 1 1
1 1 0 1 1
x 1 1 0 1
z 1 1 1 0
--------------------------
--------------------------
!?= 0 1 x z
--------------------------
0 0 1 0 0
1 1 0 0 0
x 0 0 0 0
z 0 0 0 0
--------------------------