{} 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 --------------------------