MSC8144E Reference Manual, Rev. 3
26-136
Freescale
Semiconductor
Security Engine (SEC)
26.5.8.11 AESU FIFOs
AESU uses an input FIFO/output FIFO pair to hold data before and after the encryption process.
Normally, the channels control all access to these FIFOs. For core processor-controlled
operation, a write to anywhere in the AESU FIFO address space enqueues data to the AESU
input FIFO, and a read from anywhere in the AESU FIFO address space dequeues data from the
AESU output FIFO.
Writes to the input FIFO go first to a staging register which can be written by byte, 4 bytes, or 8
bytes. When all 8 bytes of the staging register have been written, the entire set is automatically
enqueued into the FIFO. If any byte is written twice between enqueues, it causes an error
interrupt of type AE from the EU. When writing the last portion of data, it is not necessary to
write all 8 bytes. Any last bytes remaining in the staging register are automatically padded with
zeros and forced into the input FIFO when the AESU End_of_Message Register is written.
The output FIFO is readable by byte, 4-byte, or 8-byte accesses. When all 8 bytes of the header
have been read, that 8-bytes is automatically dequeued from the FIFO so that the next 8 bytes (if
any) becomes available for reading. If any byte is read twice between dequeues, it causes an error
interrupt of type AE from the EU.
Overflows and underflows caused by reading or writing the AESU FIFOs are reflected in the
AESU Interrupt Status Register.
The AESU fetches data 128 bits at a time from the input FIFO. During processing, the input data
is encrypted or decrypted with the key and initialization vector (CBC mode only) and the results
are placed in the output FIFO. The output size is the same as the input size.
The input FIFO may be written any time the number of 8-byte sets currently in the input FIFO (as
indicated by the IFL field of the AESU Status Register) is less than 32. There is no limit on the
total number of bytes in a message. The number of bits in the final message block must be set in
the Data Size Register.
The output FIFO may be read any time the OFR signal is asserted (as indicated in the AESU
Status Register). This will indicate that the number of bytes in the output FIFO is at or above the
threshold specified in the Mode Register.
For AES-CCM mode, the input data stream to the input FIFO consists of the CCM Header,
followed by the Additional Authenticated Data (AAD), followed by Plaintext if encrypting, or
Ciphertext if decrypting. Note that AESU only supports 2 byte CCM headers and does not
support extended CCM headers.
Note:
The AESU FIFOs occupy a memory space in the range defined by offsets
0xC4800–0xC4FFF
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...