The following is a list of major features of the CLA:
- C compilers are available for CLA software development.
- Clocked at the same rate as the main CPU (SYSCLKOUT).
- An independent architecture allowing CLA algorithm execution independent of the main C28x CPU.
- Complete bus architecture:
- Program Address Bus (PAB) and Program Data Bus (PDB)
- Data Read Address Bus (DRAB), Data Read Data Bus (DRDB), Data Write Address Bus (DWAB), and Data Write Data Bus (DWDB)
- Independent eight stage pipeline.
- 16-bit program counter (MPC)
- Four 32-bit result registers (MR0-MR3)
- Two 16-bit auxiliary registers (MAR0, MAR1)
- Status register (MSTF)
- Instruction set includes:
- IEEE single-precision (32-bit) floating-point
math operations
- Floating-point math with parallel load or store
- Floating-point multiply with parallel add or subtract
- 1/X and 1/sqrt(X) estimations
- Data type conversions.
- Conditional branch and call
- Data load/store operations
- The CLA program code can consist of up to eight
tasks or interrupt service routines
- The start address of each
task is specified by the MVECT registers.
- No limit on task size as
long as the tasks fit within the configurable CLA program memory
space.
- One task is serviced at a
time until completion. There is no nesting of tasks.
- Upon task completion a
task-specific interrupt is flagged within the PIE.
- When a task finishes the
next highest-priority pending task is automatically started.
- Task trigger mechanisms:
- C28x CPU using the IACK
instruction
- Task1 to Task8: up to 256 possible trigger sources from peripherals connected
to the shared bus on which the CLA assumes secondary ownership.
- Memory and Shared Peripherals:
- Two dedicated message RAMs for communication between the CLA and the main CPU.
- The C28x CPU can map CLA program and data memory to the main CPU space or CLA space.
- The CLA, on reset,
is the secondary master for all peripherals that can have either the CLA
or DMA as their secondary master.