EXAMPLE :Shift program main {
reg [3:0] a_1,a_0;
a_1 = 4'b1100 ;
a_0 = 4'b0011 ;
printf(" << by 1 a_1 is %b a_0 is %b \n ",a_1 << 1,a_0 << 1);
printf(" >> by 2 a_1 is %b a_0 is %b \n ",a_1 >> 2,a_0 >> 2);
printf(" >> by 2 a_1 is %b a_0 is %b \n ",a_1 >> 2,a_0 >> 2);
printf(" << by 1 a_1 is %b a_0 is %b \n ",a_1 << 1,a_0 << 1);
}
RESULTS
<< by 1 a_1 is 1000 a_0 is 0110 >> by 2 a_1 is 0011 a_0 is 0000 >> by 2 a_1 is 0011 a_0 is 0000 << by 1 a_1 is 1000 a_0 is 0110
Bit-Reverse :
>< bit reverse
EXAMPLE : Bit-reverse program main {
reg [3:0] a_1,a_0;
a_1 = 4'b1100 ;
printf(" >< a_1 is %b \n ",><a_1 );
}
RESULTS
>< a_1 is 0011
Increment And Decrement :
++ increment
-- decrement
EXAMPLE : Increment and Decrement program main {
integer a_1,a_0;
a_1 = 20 ;
a_0 = 20 ;
a_1 ++ ;
a_0 -- ;
printf (" a_1 is %d a_0 is %d ",a_1,a_0);
}
RESULTS
a_1 is 21 a_0 is 19
Conditional :
?: conditional
EXAMPLE : Conditional program main {
integer i,j,sub;
for (i=0; i<3; i++)
for (j=3; j>0; j--){
sub = (i>j) ? i-j : j-i;
printf("i = %0d\t j = %0d\tsub = %0d\n", i,j,sub);
}
}
RESULTS
i = 0 j = 3 sub = 3 i = 0 j = 2 sub = 2 i = 0 j = 1 sub = 1 i = 1 j = 3 sub = 2 i = 1 j = 2 sub = 1 i = 1 j = 1 sub = 0 i = 2 j = 3 sub = 1 i = 2 j = 2 sub = 0 i = 2 j = 1 sub = 1
Set
in !in dist
EXAMPLE : Set program main {
integer i;
i = 20;
if( i in {10,20,30})
printf(" I is in 10 20 30 ");
}
RESULTS
I is in 10 20 30
Replication :
{ number {}}
EXAMPLE : Replication program main {
reg [5:0] i;
i = { 3{2'b10}};
printf(" I is %b ",i);
}