beautypg.com

Texas Instruments TMS320C64X User Manual

Page 81

background image

DSP_fir_sym

4-53

C64x+ DSPLIB Reference

y0 += (short) (x[j + i] + x[j + 2 * nh − i]) * h[i];

y0 += x[j + nh] * h[nh];

r[j] = (int) (y0 >> s);

}

}

Special Requirements

-

nh must be a multiple of 8. The number of original symmetric coefficients
is 2*nh+1. Only half (nh+1) are required.

-

nr must be a multiple of 4.

-

x[ ] and h[ ] must be double-word aligned.

-

r[ ] must be word aligned.

Implementation Notes

-

Bank Conflicts: No bank conflicts occur.

-

Interruptibility: The code is interruptible.

-

The load double-word instruction is used to simultaneously load four
values in a single clock cycle.

-

The inner loop is unrolled eight times.

Benchmarks

Cycles

(10 * nh/8 + 15) * nr/4 + 26

Codesize

664 bytes