Address offset: 0x80
Operation code to be executed by the PKA engine.
Writing to this register triggers the PKA operation.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | I | I | I | I | I | H | H | H | G | F | F | F | F | F | E | D | D | D | D | D | C | B | B | B | B | B | A | A | A | A | A | A | |||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
TAG |
Holds the operation tag or the operand C virtual register index. |
||||||||||||||||||||||||||||||||
| B |
RW |
REG_R |
Result register virtual register index. |
||||||||||||||||||||||||||||||||
| C |
RW |
DISCARD_R |
This field controls the interpretation of REG_R. |
||||||||||||||||||||||||||||||||
|
Register |
0x0 |
REG_R is intepreted as a register index. |
|||||||||||||||||||||||||||||||||
|
Discard |
0x1 |
Result is discarded. |
|||||||||||||||||||||||||||||||||
| D |
RW |
REG_B |
Operand B virtual register index. |
||||||||||||||||||||||||||||||||
| E |
RW |
CONST_B |
This field controls the interpretation of REG_B. |
||||||||||||||||||||||||||||||||
|
Register |
0x0 |
REG_B is intepreted as a register index. |
|||||||||||||||||||||||||||||||||
|
Constant |
0x1 |
REG_B is intepreted as a constant. |
|||||||||||||||||||||||||||||||||
| F |
RW |
REG_A |
Operand A virtual register index. |
||||||||||||||||||||||||||||||||
| G |
RW |
CONST_A |
This field controls the interpretation of REG_A. |
||||||||||||||||||||||||||||||||
|
Register |
0x0 |
REG_A is intepreted as a register index. |
|||||||||||||||||||||||||||||||||
|
Constant |
0x1 |
REG_A is intepreted as a constant. |
|||||||||||||||||||||||||||||||||
| H |
RW |
LEN |
The length of the operands. This value serves as an PKA length register index. E.g.: if LEN field value is set to 0, PKA_L[0] holds the size of the operands. |
||||||||||||||||||||||||||||||||
| I |
RW |
OPCODE |
Operation code to be executed by the PKA engine |
||||||||||||||||||||||||||||||||
|
Terminate |
0x0 |
Terminate operation |
|||||||||||||||||||||||||||||||||
|
AddInc |
0x4 |
Add or Increment |
|||||||||||||||||||||||||||||||||
|
SubDecNeg |
0x5 |
Subtract, Decrement, or Negate |
|||||||||||||||||||||||||||||||||
|
ModAddInc |
0x6 |
Modular Add or Modular Increment |
|||||||||||||||||||||||||||||||||
|
ModSubDecNeg |
0x7 |
Modular Subtract, Modular Decrement, or Modular Negate |
|||||||||||||||||||||||||||||||||
|
ANDTST0CLR0 |
0x8 |
Perform AND, test, or clear |
|||||||||||||||||||||||||||||||||
|
ORCOPYSET0 |
0x9 |
Perform OR, copy, or set bits |
|||||||||||||||||||||||||||||||||
|
XORFLP0INVCMP |
0xA |
Perform XOR, flip bits, invert, or compare |
|||||||||||||||||||||||||||||||||
|
SHR0 |
0xC |
Shift right 0 operation |
|||||||||||||||||||||||||||||||||
|
SHR1 |
0xD |
Shift right 1 operation |
|||||||||||||||||||||||||||||||||
|
SHL0 |
0xE |
Shift left 0 operation |
|||||||||||||||||||||||||||||||||
|
SHL1 |
0xF |
Shift left 1 operation |
|||||||||||||||||||||||||||||||||
|
MulLow |
0x10 |
Multiply low operation |
|||||||||||||||||||||||||||||||||
|
ModMul |
0x11 |
Modular multiply operation |
|||||||||||||||||||||||||||||||||
|
ModMulN |
0x12 |
Modular multiply N operation |
|||||||||||||||||||||||||||||||||
|
ModExp |
0x13 |
Modular exponentiation operation |
|||||||||||||||||||||||||||||||||
|
Division |
0x14 |
Division operation |
|||||||||||||||||||||||||||||||||
|
ModInv |
0x15 |
Modular inversion operation |
|||||||||||||||||||||||||||||||||
|
ModDiv |
0x16 |
Modular division operation |
|||||||||||||||||||||||||||||||||
|
MulHigh |
0x17 |
Multiply high operation |
|||||||||||||||||||||||||||||||||
|
ModMLAC |
0x18 |
Modular multiplication acceleration |
|||||||||||||||||||||||||||||||||
|
ModMLACNR |
0x19 |
Modular multiplication acceleration where final reduction is omitted |
|||||||||||||||||||||||||||||||||
|
Reduction |
0x1B |
Reduction operation |
|||||||||||||||||||||||||||||||||