OPCODE

nRF5340 Product Specification

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