Rev. C
|
Page 5 of 60
|
January 2013
Instruction Cache
The ADSP-21161N includes an on-chip instruction cache that
enables three-bus operation for fetching an instruction and four
data values. The cache is selective—only the instructions whose
fetches conflict with PM bus data accesses are cached. This
cache enables full-speed execution of core, looped operations
such as digital filter multiply-accumulates, and FFT butterfly
processing.
Data Address Generators With Hardware Circular Buffers
The ADSP-21161N’s two data address generators (DAGs) are
used for indirect addressing and implementing circular data
buffers in hardware. Circular buffers allow efficient program-
ming of delay lines and other data structures required in digital
signal processing, and are commonly used in digital filters and
Fourier transforms. The two DAGs of the ADSP-21161N con-
tain sufficient registers to allow the creation of up to 32 circular
buffers (16 primary register sets, 16 secondary). The DAGs
automatically handle address pointer wrap-around, reduce
overhead, increase performance, and simplify implementation.
Circular buffers can start and end at any memory location.
Flexible Instruction Set
The 48-bit instruction word accommodates a variety of parallel
operations, for concise programming. For example, the
ADSP-21161N can conditionally execute a multiply, an add,
and a subtract in both processing elements, while branching, all
in a single instruction.
ADSP-21161N MEMORY AND I/O INTERFACE
FEATURES
The ADSP-21161N adds the following architectural features to
the ADSP-2116x family core.
Dual-Ported On-Chip Memory
The ADSP-21161N contains one megabit of on-chip SRAM,
organized as two blocks of 0.5M bits
(Figure 3). Each block can
be configured for different combinations of code and data stor-
age. Each memory block is dual-ported for single-cycle,
independent accesses by the core processor and I/O processor.
The dual-ported memory in combination with three separate
on-chip buses allow two data transfers from the core and one
from the I/O processor, in a single cycle. On the ADSP-21161N,
the memory can be configured as a maximum of 32K words of
32-bit data, 64K words of 16-bit data, 21K words of 48-bit
instructions (or 40-bit data), or combinations of different word
sizes up to one megabit. All of the memory can be accessed as
16-bit, 32-bit, 48-bit, or 64-bit words. A 16-bit floating-point
storage format is supported that effectively doubles the amount
of data that may be stored on-chip. Conversion between the
32-bit floating-point and 16-bit floating-point formats is done
in a single instruction. While each memory block can store
combinations of code and data, accesses are most efficient when
one block stores data using the DM bus for transfers, and the
other block stores instructions and data using the PM bus for
transfers. Using the DM bus and PM bus, with one dedicated to
each memory block, assures single-cycle execution with two
data transfers. In this case, the instruction must be available in
the cache.
Off-Chip Memory and Peripherals Interface
The ADSP-21161N’s external port provides the processor’s
interface to off-chip memory and peripherals. The 62.7-M word
off-chip address space (254.7-M word if all SDRAM) is included
in the ADSP-21161N’s unified address space. The separate on-
chip buses—for PM addresses, PM data, DM addresses, DM
data, I/O addresses, and I/O data—are multiplexed at the exter-
nal port to create an external system bus with a single 24-bit
address bus and a single 32-bit data bus. Every access to external
memory is based on an address that fetches a 32-bit word.
When fetching an instruction from external memory, two 32-bit
data locations are being accessed for packed instructions.
Unused link port lines can also be used as additional data lines
DATA15–DATA0, allowing single-cycle execution of instruc-
tions from external memory, at up to 110 MHz.
Figure 4 shows
the alignment of various accesses to external memory.
The external port supports asynchronous, synchronous, and
synchronous burst accesses. Synchronous burst SRAM can be
interfaced gluelessly. The ADSP-21161N also can interface glue-
lessly to SDRAM. Addressing of external memory devices is
facilitated by on-chip decoding of high-order address lines to
generate memory bank select signals. The ADSP-21161N pro-
vides programmable memory wait states and external memory
acknowledge controls to allow interfacing to memory and
peripherals with variable access, hold, and disable time
requirements.
SDRAM Interface
The SDRAM interface enables the ADSP-21161N to transfer
data to and from synchronous DRAM (SDRAM) at the core
clock frequency or at one-half the core clock frequency. The
synchronous approach, coupled with the core clock frequency,
supports data transfer at a high throughput—up to 440M
bytes/s for 32-bit transfers and up to 660M bytes/s for 48-bit
transfers.
The SDRAM interface provides a glueless interface with stan-
dard SDRAMs—16Mb, 64Mb, 128Mb, and 256Mb— and
includes options to support additional buffers between the
ADSP-21161N and SDRAM. The SDRAM interface is
extremely flexible and provides capability for connecting
SDRAMs to any one of the ADSP-21161N’s four external mem-
ory banks, with up to all four banks mapped to SDRAM.
Systems with several SDRAM devices connected in parallel may
require buffering to meet overall system timing requirements.
The ADSP-21161N supports pipelining of the address and con-
trol signals to enable such buffering between itself and multiple
SDRAM devices.
Target Board JTAG Emulator Connector
Analog Devices DSP Tools product line of JTAG emulators uses
the IEEE 1149.1 JTAG test access port of the ADSP-21161N
processor to monitor and control the target board processor
during emulation. Analog Devices DSP Tools product line of