AS_Cryptographic co-processor (C3)
RM0082
386/844
Doc ID 018672 Rev 1
instruction word, the second word represents the Source Address and the third word
represents the Destination Address.
Bits ‘a’ and ‘b’ in the above table are used to set the algorithm and the operation to perform
and have the same encoding as in the ECB instruction (
and
). Bits 15
to 0 in the first instruction word (cccc in
) represent the length in Bytes of the key.
21.8.10 Register
set
21.8.11
DES register description
Note:
Changing the register values while the DES Channel is executing an instruction may
produce wrong results and unexpected behaviors.
21.8.12
Data input/output registers (DES_DATAINOUT)
The same address refers to 2 different blocks of registers, depending on the operation (read
or write). The Data Input Registers contain the current data input to the DES Channel
(accessed using the write operation). The Data Output Registers contain the current data
output of the DES Channel (accessed using the read operation).
Note:
A read operation on these registers just after a write operation will not return the same value
previously written.
Table 322.
DES CBC Append Instruction Bit Encoding
W#
Bit Encoding
1
xxxx 10ab 101x xxxx cccc cccc cccc cccc
2
32 bit Source Address for the data
3
32 bit Destination Address for the data
Table 323.
DES registers map
Symbol
Name
Type
Initial value
Address
DES_DATA_INOUT_HI
Data input/output register #0
R/W
32’h0
0x000
DES_DATA_INOUT_LO
Data input/output register #1
R/W
32’h0
0x004
DES_FEEDBACK_HI
Feedback register #0
R/W
32’h0
0x008
DES_FEEDBACK_LO
Feedback register #1
R/W
32’h0
0x00C
DES_CONTROL_STATUS
Control and status register
R/(W) 32’h0
0x010
DES_KEY1_HI
Key register #0
R/W
32’h0
0x020
DES_KEY1_LO
Key register #1
R/W
32’h0
0x024
DES_KEY2_HI
Key register #2
R/W
32’h0
0x028
DES_KEY2_LO
Key register #3
R/W
32’h0
0x02C
DES_KEY3_HI
Key register #4
R/W
32’h0
0x030
DES_KEY3_LO
Key register #5
R/W
32’h0
0x034
DES_IR
Channel ID register
RO
32’h0
0x3FC