MSC8144E Reference Manual, Rev. 3
26-2
Freescale
Semiconductor
Security Engine (SEC)
26.1.1 Functional Diagram
A functional diagram of the SEC internal architecture is shown in Figure 26-1. The controller
block is designed to transfer 64-bit sets between the bus and any register inside the SEC.
An SEC operation begins when the core processor writes a descriptor pointer to the Fetch FIFO
in one of the four SEC channels. This write operation uses the slave interface (in which the core
processor is master and SEC is the slave). From this point, the channel directs the sequence of
operations, using the master interface (for which the SEC is master). The channel uses the
descriptor pointer to read the descriptor, then decodes the first 4 bytes of the descriptor to
determine the operation to perform and the crypto-execution units needed to perform it.
The channel requests the controller to assign the needed crypto-execution units. Next the channel
requests that the controller fetch the keys, context, and data from locations specified in the rest of
the descriptor. The controller satisfies the requests by making requests to the master interface per
the programmable priority scheme. Data is fed into the execution units through their registers and
input FIFOs. The execution units read from their input FIFOs and write processed data to their
output FIFOs. The channel requests that the controller write data from the output FIFOs and
registers back to system memory.
The channel indicates completion by sending a descriptor via an interrupt to the core processor or
by a writeback of the descriptor header into core processor memory. For details about this
signaling, see Section 26.1.3, Channels. When a descriptor indicates completion, the channel
checks the next entry in its Fetch FIFO, and, if non-zero, requests a burst read of the next
descriptor. For most packets, the entire payload is too long to fit in an execution unit input or
output FIFO. The SEC then uses a flow control scheme for reading and writing data. The channel
directs the controller to read bursts of input as necessary to keep refilling the input FIFO, until the
entire payload has been fetched. Similarly, the channel directs the controller to write bursts of
output whenever enough accumulates in the execution unit output FIFO.
Figure 26-1. SEC Functional Diagram
FIFO
System Bus
Controller
PKEU
DEU
FIFO
FIFO
FIFO
FIFO
AFEU
AESU
FIFO
FIFO
FIFO
RNG
MDEU
Execution Units (EUs)
C
han
nel
Internal
Bus
FIFO
FIFO
KEU
C
han
nel
C
h
a
nne
l
C
han
nel
Slave
Interface
Master
Interface
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 ...