Data Sheet
Page 18
DATA FORMATS
INPUT/OUTPUT DATA FORMATS
The DSP24 supports (2) two input data streams:
one for real and one for imaginary data. For CMAG
and
FIR operations, the 48-bit output from each ALU accu-
mulation is rounded to 48 bits and output from the
DSP24, Most-Significant-Word first, in two clock
cycles, one on the real side and one on the imaginary
side. All other outputs are rounded up to 24 bits.
BLOCK FLOATING-POINT
For the radix butterfly transform operations, block
floating-point data dependent scaling is provided. This
preserves the signal-to-noise ratio by extending the
dynamic range of the fixed-point operations.
For each pass of an FFT, or on a separation pass,
a scale factor is provided on the DSFO [2:0] pins at the
completion of that pass. The scale factor is a binary
shift number calculated from the size of the largest
complex value output in that pass. Also, it is a worst
case prediction of how large the magnitude of the
largest
complex value could be on the next pass. The
magnitude is measured for each complex value output
in the pass. The maximum magnitude is compared to
many threshold values. If the magnitude is gr eater, the
corresponding shift value (from an internal lookup
table)
is output on DSFO [3:0]. It is used at the beginning of
the next pass on the XSFI [3:0] pins and causes a right
shift of the real and imaginary 24-bit inputs to prevent
overflow on the pass.
The BFPO [5:0] is the accumulated scale factor for
the entire transform and is valid upon the transform’s
completion. The BFPO and BFPI pins should be con-
nected together for single and parallel chip
applications,
or connected serially for cascaded operations.
ROUNDING/SHIFTING OPERATION
All data input to the DSP24 passes through a
shifter and rounder at both the input and output stages.
The amount of shifting and rounding is determined by
the current instruction. To correctly scale the incoming
data, the shifter is capable of shifting up to (16) sixteen
DSFI bit positions to the right. The rounder trims the
data to the necessary 24 bits needed by monitoring the
25th bit (1/2 of the LSB) and adding:
Fractional XXXXXXX
Rounding + 0000008
XXXXXXX
When bit 25 is set, the output is rounded up, other-wise
the data is not rounded.
THEORY OF OPERATION
FUNCTION SET OVERVIEW
The DSP24 is a high-performance array processor
designed to perform operations on large arrays of
data. Accordingly, the DSP24 has a powerful function
set in the sense that each function opcode
accomplishes a substantial task. The following are
some
key points about the DSP24 function set.
"Since the DSP24 is a pass-based processor,each
function is valid for one complete pass. Each
opcode defines a basic flow for the desired
operation. This basic data flow is then repeated for
multiple pairs of data to complete one pass.
"Each function is qualified by the START/STOP
signal to indicate the beginning of a pass and end
of a pass respectively.
"The Transform functions can also be qualified by
DZI and DZO signals which, when asserted, cause
the DSP24 to input a string of zeros and force
output data to zeros respectively. This feature
allows a user to zero fill and zero pad the data on
any given pass.
"The DSP24 function set consist of five functional
groupings. A 6-bit opcode is assigned to each
function, with a total of thirty-four functions
supported. The function code on the pins FC[ 5:0]
must be setup at least three machine cycles ahead
of data setup. This allows the automatic scaling
factor to be decoded for the next pass. For a
typical array processing application, such as FFTs,
first a function code is set up (e.g., BFLY32),and
then the whole data array is clocked into the
DSP24. The applied function will then be applied to
the whole array.
"There is a latency, given in machine cycles when
implementing the DSP24 functions (see Table 4.)
This latency is automatically compensated for
when the MMU-24 is used in a system.
DSP24 Digital Signal Processor
DSP
Architectures