|HOME |ABOUT |ARTICLES |ACK |FEEDBACK |TOC |LINKS |BLOG |JOBS |


Tutorials



OPERATORS PART 3

Shift :



# << left shift
# >> right shift


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);
}

RESULTS

I is 101010

Index
Introduction
Data Types
Linked List
Operators Part 1
Operators Part 2
Operators Part 3
Operator Precedence
Control Statements
Procedures And Methods
Interprocess
Fork Join
Shadow Variables
Fork Join Control
Wait Var
Event Sync
Event Trigger
Semaphore
Regions
Mailbox
Timeouts
Oop
Casting
Randomization
Randomization Methods
Constraint Block
Constraint Expression
Variable Ordaring
Aop
Predefined Methods
String Methods
Queue Methods
Dut Communication
Functional Coverage

Report a Bug or Comment on This section - Your input is what keeps Testbench.in improving with time!





<< PREVIOUS PAGE

TOP

NEXT PAGE >>

copyright © 2007-2017 :: all rights reserved www.testbench.in::Disclaimer