The CLA pipeline is very similar to the C28x pipeline with eight stages:
- Fetch 1 (F1): During the F1 stage the
program read address is placed on the CLA program
address bus.
- Fetch 2 (F2): During the F2 stage the
instruction is read using the CLA program data
bus.
- Decode 1 (D1): During D1 the instruction
is decoded.
- Decode 2 (D2): Generate the data read
address. Changes to MAR0 and MAR1 due to
post-increment using indirect addressing takes
place in the D2 phase. Conditional branch
decisions are also made at this stage based on the
MSTF register flags.
- Read 1 (R1): Place the data read address
on the CLA data-read address bus. If a memory conflict exists, the R1 stage is
stalled.
- Read 2 (R2): Read the data value using the
CLA data read data bus.
- Execute (EXE): Execute the operation.
Changes to MAR0 and MAR1 due to loading an
immediate value or value from memory take place in
this stage.
- Write (W): Place the write address and
write data on the CLA write data bus. If a memory conflict exists, the W stage
is stalled.