FN[5:0] | Operation | Output value Y[31:0] |
---|---|---|
00-011 | CMPEQ | Y=(A==B) |
00-101 | CMPLT | Y=(A<B) |
00-111 | CMPLE | Y=(A≤B) |
01---0 | 32-bit ADD | Y=A+B |
01---1 | 32-bit SUBTRACT | Y=A−B |
10abcd | Bit-wise Boolean | Y[i]=Fabcd(A[i],B[i]) |
11--00 | Logical Shift left (SHL) | Y=A<<B |
11--01 | Logical Shift right (SHR) | Y=A>>B |
11--11 | Arithmetic Shift right (SRA) | Y=A>>B (sign extended) |
Bi | Ai | Yi |
0 | 0 | d |
0 | 1 | c |
1 | 0 | b |
1 | 1 | a |
Operation | BFN[3:0] |
---|---|
AND | 1000 |
OR | 1110 |
XOR | 0110 |
"A" | 1010 |
Comparison | Equation for LSB | CFN[1:0] |
---|---|---|
A=B | LSB = Z | 01 |
A<B | LSB = N⊕V | 10 |
A≤B | LSB = Z+(N⊕V) | 11 |
Operation | SFN[1:0] |
---|---|
SHL (shift left) | 00 |
SHR (shift right) | 01 |
SRA (shift right with sign extension ) | 11 |