AS_Cryptographic co-processor (C3)
RM0082
360/844
Doc ID 018672 Rev 1
Such applications can be found in the fields of security (data encryption, integrity check,
etc.) and networking.
There are many other fields of application for C3, such as signal processing, image
processing and in general applications that require complex mathematical computations
21.4.1
HIF (High speed bus interface)
This block implements an AMBA AHB 2.0 compliant Master interface. It receives internal
requests from all the C3 internal initiator blocks and it translates them into AHB bus
requests. The HIF is a master only and will not allow access to the C3 internal.
21.4.2
SIF (Slave bus interface)
This block implements an AMBA AHB 2.0 compliant Slave interface. This interface is used to
set-up the device and access all the memory mapped internal registers. Each channel is
allocated a 1K byte address space and the major blocks of the C3 are also allocated space
in the map.
21.4.3 IDS
(Instruction
dispatchers sub-system)
This block contains the instruction dispatchers (up to 4) that are in charge of fetching the
programs from memory and dispatch the instructions to the requested channels. Since the
instruction dispatchers operate in parallel up to 4 instruction flows can be executed
concurrently.
If programmed to do so the instruction dispatcher signal the end of processing to the host
processor by raising an interrupt signal.
Each Instruction Dispatchers (ID) can handle two types of instructions:
●
Flow Type Instructions
: these are C3 control instructions and are executed by the ID
itself
●
Application Specific Instructions
: these are processing instructions that are directly
dispatched by the ID to the right channel that will perform decoding and execution.
21.4.4 Channel
A Channel is a specific function or set of similar functions and a wrapper to provide data flow
management, instruction handling and interface to the various parts of C3. Channels
implement the data processing. Total number of channels available in this version of C3 is 3.
Channels operate in parallel and contend the access to the system bus through the HIF
arbitration mechanism. Channels are designed to efficiently support the data-flow model of
computation.