Analog Devices, Inc. reserves the right to change this product without
prior notice. Information furnished by Analog Devices is believed to be
accurate and reliable. However, no responsibility is assumed by Analog
Devices for its use; nor for any infringement of patents or other rights of
third parties which may result from its use. No license is granted by implication or otherwise under the patent rights of Analog Devices, Inc.
Trademark and Service Mark Notice
The Analog Devices logo and VisualDSP++ are registered trademarks of
Analog Devices, Inc.
EZ-KIT Lite is a trademark of Analog Devices, Inc.
All other brand and product names are trademarks or service marks of
their respective owners.
The ADSP-219x/2192 DSP Hardware Reference provides architectural
information on the ADSP-219x modified Harvard architecture Digital
Signal Processor (DSP) core and ADSP-2192 DSP product. The architectural descriptions cover functional blocks, buses, and ports, including all
features and processes they support. For programming information, see
the ADSP-219x DSP Instruction Set Reference.
Audience
DSP system designers and programmers who are familiar with signal processing concepts are the primary audience for this manual. This manual
assumes that the audience has a working knowledge of microcomputer
technology and DSP-related mathematics.
DSP system designers and programmers who are unfamiliar with signal
processing can use this manual, but they should supplement this manual
with other texts that describe DSP techniques.
All readers, particularly system designers, should refer to the DSP’s data
sheet for timing, electrical, and package specifications. For additional suggested reading, see “For More Information About Analog Products” on
page 1-24.
ADSP-219x/2192 DSP Hardware Reference 1-1
Overview—Why Fixed-Point DSP?
Overview—Why Fixed-Point DSP?
A digital signal processor’s data format determines its ability to handle signals of differing precision, dynamic range, and signal-to-noise ratios.
Because 16-bit, fixed-point DSP math is required for certain DSP coding
algorithms, using a 16-bit, fixed-point DSP can provide all the features
needed for certain algorithm and software development efforts. Also, a
narrower bus width (16-bit as opposed to 32- or 64-bit wide) leads to
reduced power consumption and other design savings. The extent to
which this is true depends on the fixed-point processor’s architecture.
High-level language programmability, large address spaces, and wide
dynamic range allow system development time to be spent on algorithms
and signal processing concerns, rather than assembly language coding,
code paging, and error handling. The ADSP-2192 DSP is a highly integrated, 16-bit fixed-point DSP that provides many of these design
advantages.
ADSP-219x Design Advantages
The ADSP-219x family DSPs are high-performance 16-bit DSPs for communications, instrumentation, industrial/control, voice/speech, medical,
military, and other applications. These DSPs provide a DSP core that is
compatible with previous ADSP-2100 family DSPs, but they also provide
many additional features. The ADSP-219x core combines with on-chip
peripherals to form a complete system-on-a-chip. The off-core peripherals
add on-chip SRAM, integrated I/O peripherals, timer, and interrupt
controller.
The ADSP-219x architecture balances a high performance processor core
with high performance buses (PM, DM, DMA). In the core, every computational instruction can execute in a single cycle. The buses and
instruction cache provide rapid, unimpeded data flow to the core to maintain the execution rate.
1-2 ADSP-219x/2192 DSP Hardware Reference
Introduction
Figure 1-1 shows a detailed block diagram of the ADSP-2192 processor.
P1
MEMORY
ⴛ24 PM
16K
ⴛ16 DM
32K
BOOT ROM
ADDR DATAADDR DATA
P1 DMA
CONTROLLER
FIFOS
ADSP-21 9X
DSP CORE
DAG2
DAG1
4X4X 16
4X4X16
BUS
CONNEC
T
(PX)
DATA
REGISTER
FILE
MULT
PM ADDRESS BUS
DM ADDRESS BUS
INPUT
REGISTERS
RESULT
REGISTERS
16 X 16-BIT
INTERRUPT CONTROLLER/
TIMER/FLA GS
CACHE
64 X 24-
BIT
PROGRAM
SEQUENCER
2
4
2
4
PM DATA BUS
DM DATA BUS
BARREL
SHIFTER
2
4
1
6
ALU
P0
MEMORY
16K
ⴛ24 PM
64K
ⴛ16 DM
BOOT ROM
ADDR DATAADDR DATA
CORE
INTERFACE
P0 DMA
CONTROLLER
FIFOS
SHARED
MEMORY
4K
ⴛ16 DM
ADDRDATA
ADDR DATA
SHARED DSP
I/O MA P P E D
REGISTERS
PROCESSOR P 0PROCESSOR P1
GP I/O PINS
(& OPTIONAL
SERIAL
EEPROM)
SERIAL PORT
AC'97
COMPLIANT
HOST PORT
PCI 2.2
OR
USB 1.1
JTAG
EMULATION
PORT
Figure 1-1. ADSP-2192 Block Diagram
This diagram illustrates the following ADSP-2192 architectural features:
•Computation units for the ADSP-219x family—multiplier, ALU,
shifter, and data register file
•Program sequencer for the ADSP-219x family, with related instruction cache, interval timer, and Data Address Generators (DAG1 and
DAG2)
•PCI/USB Host port
ADSP-219x/2192 DSP Hardware Reference 1-3
ADSP-219x Design Advantages
•AC’97 codec port
•SRAM for the ADSP-2192
•Input/Output (I/O) processor with integrated DMA controllers
•JTAG Test Access Port for board test and emulation on the
ADSP-2192
Figure 1-1 also shows the two cores of the ADSP-2192 (processors P0 and
P1). Additionally, it shows the four on-chip buses of the ADSP-2192: the
Program Memory Address (PMA) bus, Program Memory Data (PMD)
bus, Data Memory Address (DMA) bus, and the Data Memory Data
(DMD) bus. During a single cycle, these buses let the processor access two
data operands (one from PMD and one from DMD), and access an
instruction (from the cache).
Further, the ADSP-219x addresses the five central requirements for DSPs:
•Fast, flexible arithmetic computation units
•Unconstrained data flow to and from the computation units
•Extended precision and dynamic range in the computation units
•Dual address generators with circular buffering support
•Efficient program sequencing
Unconstrained Data Flow. The ADSP-219x has a modified Harvard
architecture combined with a data register file. In every cycle, the DSP
can:
•Read two values from memory or write one value to memory
•Complete one computation
•Write up to three values back to the register file
1-4 ADSP-219x/2192 DSP Hardware Reference
Introduction
Fast, Flexible Arithmetic. The ADSP-219x family DSPs execute all computational instructions in a single cycle. They provide both fast cycle
times and a complete set of arithmetic operations.
40-Bit Extended Precision. The DSP handles 16-bit integer and fractional
formats (twos-complement and unsigned). The processors carry extended
precision through result registers in their computation units, limiting
intermediate data truncation errors.
Dual Address Generators. The DSP has two data address generators
(DAGs) that provide immediate or indirect (pre- and post-modify)
addressing. Modulus and bit-reverse operations are supported with only
memory page constraints on data buffer placement.
Efficient Program Sequencing. In addition to zero-overhead loops, the
DSP supports quick setup and exit for loops. Loops are both nestable
(eight levels in hardware) and interruptable. The processors support both
delayed and non-delayed branches.
ADSP-219x Architecture Overview
An ADSP-219x is a single-chip microcomputer optimized for digital signal processing (DSP) and other high speed numeric processing
applications. These DSPs provide a complete system-on-a-chip, integrating a large, high-speed SRAM and I/O peripherals supported by a
dedicated I/O bus. The following sections summarize the features of each
functional block in the ADSP-219x architecture, which appears in
Figure 1-1 on page 1-3.
The ADSP-2192 combines the ADSP-219x family base architecture (three
computational units, two data address generators, and a program
sequencer) with PCI/USB interface, AC’97 serial port, a programmable
timer, a DMA controller, general-purpose Programmable Flag pins, extensive interrupt capabilities, and on-chip program and data memory blocks.
ADSP-219x/2192 DSP Hardware Reference 1-5
ADSP-219x Architecture Overview
The ADSP-2192 architecture is code compatible with ADSP-218x family
DSPs. Though the architectures are compatible, the ADSP-2192 architecture has a number of enhancements over the ADSP-218x architecture.
The enhancements to computational units, data address generators, and
program sequencer make the ADSP-2192 more flexible and even easier to
program than the ADSP-218x DSPs.
Indirect addressing options provide addressing flexibility—pre-modify
with no update, pre- and post-modify by an immediate 8-bit, two’s-complement value and base address registers for easier implementation of
circular buffering.
The ADSP-2192 integrates 128K words of on-chip memory configured as
32K words (24-bit) of program RAM (16K words each on DSP P0 and
DSP P1) and 96K words (16-bit) of data RAM (64K words on DSP P0
and 32K words on DSP P1). Power-down circuitry is also provided to
meet the low power needs of battery operated portable equipment.
The ADSP-2192’s flexible architecture and comprehensive instruction set
support multiple operations in parallel. For example, in one processor
cycle, each core of the ADSP-2192 can:
•Generate an address for the next instruction fetch
•Fetch the next instruction
•Perform one or two data moves
•Update one or two data address pointers
•Perform a computational operation
1-6 ADSP-219x/2192 DSP Hardware Reference
Introduction
DSP Core Architecture
The ADSP-219x instruction set provides flexible data moves and multifunction (one or two data moves with a computation) instructions. Every
single-word instruction can be executed in a single processor cycle. The
ADSP-219x assembly language uses an algebraic syntax for ease of coding
and readability. A comprehensive set of development tools supports program development.
Figure 1-1 on page 1-3 shows the architecture of the ADSP-219x core. It
contains three independent computational units: the ALU, the multiplier/accumulator, and the shifter.
The computational units process 16-bit data from the register file and
have provisions to support multiprecision computations. The ALU performs a standard set of arithmetic and logic operations; division primitives
also are supported. The multiplier performs single-cycle multiply, multiply/add, and multiply/subtract operations. The multiplier now has two
40-bit accumulator results. The shifter performs logical and arithmetic
shifts, normalization, denormalization, and derive exponent operations.
The shifter can efficiently implement numeric format control, including
multiword and block floating-point representations.
Register-usage rules influence placement of input and results within the
computational units. For all unconditional, non-multi-function instructions, the computational units’ data registers act as a data register file,
permitting any input or result register to provide input to any unit for a
computation. For feedback operations, the computational units let the
output (result) of any unit be input to any unit on the next cycle. For conditional or multifunction instructions, there are restrictions limiting
which data registers may provide inputs or receive results from each computational unit. For more information, see “Multifunction
Computations” on page 2-60.
ADSP-219x/2192 DSP Hardware Reference 1-7
ADSP-219x Architecture Overview
A powerful program sequencer controls the flow of instruction execution.
The sequencer supports conditional jumps, subroutine calls, and low
interrupt overhead. With internal loop counters and loop stacks, the
ADSP-2192 executes looped code with zero overhead; no explicit jump
instructions are required to maintain loops.
Two data address generators (DAGs) provide addresses for simultaneous
dual operand fetches (from data memory and program memory). Each
DAG maintains and updates four 16-bit address pointers. Whenever the
pointer is used to access data (indirect addressing), it is pre- or post-modified by the value of one of four possible modify registers. A length value
and base address may be associated with each pointer to implement automatic modulo addressing for circular buffers.
Page registers in the DAGs allow circular addressing within 64K word
boundaries of each of the 256 memory pages, but these buffers may not
cross page boundaries. Secondary registers duplicate all the primary registers in the DAGs; switching between primary and secondary registers
provides a fast context switch.
Efficient data transfer in the core is achieved by using internal buses:
•Program Memory Address (PMA) Bus
•Program Memory Data (PMD) Bus
•Data Memory Address (DMA) Bus
•Data Memory Data (DMD) Bus
•IO or DMA Address Bus
•IO or DMA Data Bus
1-8 ADSP-219x/2192 DSP Hardware Reference
Loading...
+ 598 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.