The VCU-II is the second-generation
Viterbi, Complex Math, and CRC extension to the C28x CPU. The VCU-II extends the
capabilities of the C28x CPU by adding registers and instructions to accelerate the
performance of FFTs and communications-based algorithms. The C28x+VCU-II supports
the following algorithm types:
- Viterbi Decoding: Viterbi
decoding is commonly used in baseband communications applications. The Viterbi
decode algorithm consists of three main parts: branch metric calculations,
compare-select (Viterbi butterfly), and a traceback operation. Table 2-2 shows a summary of the VCU performance for each of these operations.
Table 2-2 Viterbi Decode
Performance
Viterbi Operation |
VCU Cycles |
Branch Metric Calculation (code rate = 1/2) |
1 |
Branch Metric Calculation (code rate = 1/3) |
2p |
Viterbi Butterfly (add-compare-select) |
2(1) |
Traceback per Stage |
3(2) |
(1) C28x CPU takes 15 cycles per butterfly.
(2) C28x CPU takes 22 cycles per stage.
- Cyclic Redundancy Check:
Cyclic redundancy check (CRC) algorithms provide a straightforward method
for verifying data integrity over large data blocks, communication packets, or
code sections. The C28x+VCU can perform 8-bit, 16-bit, 24-bit, and 32-bit CRCs.
For example, the VCU can compute the CRC for a block length of 10 bytes in 10
cycles. A CRC result register contains the current CRC, which is updated
whenever a CRC instruction is executed.
- Complex Math: Complex math
is used in many applications, a few are:
- Fast Fourier Transform
(FFT): The complex FFT is used in spread spectrum communications, as
well as in many signal processing algorithms.
- Complex filters: Complex
filters improve data reliability, transmission distance, and power
efficiency. The C28x+VCU can perform a complex I and Q multiply with
coefficients (four multiplies) in a single cycle. In addition, the
C28x+VCU can read/write the real and imaginary parts of 16-bit complex
data to memory in a single cycle.
Table 2-3 shows a summary of a few complex math operations enabled
by the VCU-II.
Table 2-3 Complex Math
Performance
Complex Math Operation |
VCU Cycles |
Notes |
Add or Subtract |
1 |
32 +/- 32 = 32-bit (Useful for
filters) |
Add or Subtract |
1 |
16 +/- 32 = 15-bit (Useful for
FFT) |
Multiply |
2p |
16 x 16 = 32-bit |
Multiply and Accumulate (MAC) |
2p |
32 + 32 = 32-bit, 16 x 16 = 32-bit |
RPT MAC |
2p+N |
Repeat MAC. Single cycle after the first
operation. |
Note: Only the
CRC-related VCU instructions are supported in future devices. FFT algorithms
are available for the C28x+FPU.
For more information, see the TMS320C28x Extended Instruction Sets Technical Reference
Manual.