40-bit extended precision floating point computational
units, each with a multiplier, ALU, shifter, and register file
High bandwidth I/O —a parallel port, an SPI port, four serial
ports, a digital audio interface (DAI) and JTAG test port
Figure 1. FUNCTIONAL BLOCK DIAGRAM
CORE PROCE SSO R
INSTRUCTION
TIMER
CACHE
32 X 48-BIT
ADSP-21267
DAI incorporates two precision clock generators (PCG), and
an input data port (IDP) that includes a parallel data acquisition port (PDAP), and three programmable timers, all
under software control by the signal routing unit (SRU)
On-chip memory—1M Bit of on-chip SRAM and a dedicated
3M Bits of on-chip mask-programmable ROM
The ADSP-21267 is available with a 150 MHz core instruction
rate. For complete ordering information, see Ordering
Guide on page 43
DUAL PORTED MEMORY
BLOCK 0
SRAM
0.5 MBIT
ROM
1.5 MBIT
DUA L P O RT ED MEMORY
BLOCK 1
SRAM
0.5 MBIT
ROM
1.5 MBIT
DAG 1
8X4X32
PROCESSING
ELEMENT
(PEX)
DAG2
8X4X32
PM ADDRESS BUS
DM ADDRESS BUS
PRO CESSING
ELEMENT
(PEY )
JTAG TES T & EMULATION
S
PROG RAM
SEQUENCER
PX REGIS TER
6
32
32
64
64
4
SIGNAL
20
ROUTING
UNIT
3
DIGITAL AUDIO INTERFACE
SHARC and the SHARC logo are registered trademarks of Analog Devices, Inc.
Rev. PrA
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
infringements of patents or other rights of third parties that may result from its use.
Specifications subject to change without notice. No license is granted by implication
or otherwise under any patent or patent rights of Analog Devices. Trademarks and
registered trademarks are the property of their respective owners.
ADDRDATA
PM DATA BUS
DM DATA BUS
DMA CONTROLLER
22 CHANNELS
SPIPORT(1)
SERIAL PORTS (6)
INPUT
DATA P ORTS (8)
PARALLEL DATA
ACQUIS ITION PORT
PRE CISION CLOCK
GENERATORS (2)
TIME R S ( 3)
I/O PROCESSOR
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106 U.S.A.
Tel:781/329-4700www.analog.com
IOD
IOA
(32)
(18)
IOP
REGISTERS
(MEMORY MAPPED)
CONTROL,
STATUS, &
DATA BUFFERS
ADDRDATA
GPIO FLAGS/
IRQ /TIMEXP
ADDRESS/
DATA BUS/GPIO
CON T R OL /G PIO
PARALLEL
PORT
4
16
3
ADSP-21267
PRELIMINARY TECHNICAL DATA
KEY FEATURES
At 150 MHz (6.65 ns) core instruction rate, the ADSP-21267
operates at 900 MFLOPS performance whether operating
on fixed or floating point data
300 MMACS sustained performance at 150 MHz
Code compatibility—At assembly level, uses the same
instruction set as other SHARC DSPs
Super Harvard Architecture—three independent buses for
dual data fetch, instruction fetch, and nonintrusive, zerooverhead I/O
1M Bit on-chip dual-ported SRAM (0.5M Bit in block 0 and
0.5M Bit in block 1) for simultaneous access by core processor and DMA
3M Bits on-chip dual-ported mask-programmable ROM (1.5M
Bits in block 0 and 1.5M Bits in block 1)
Dual Data Address Generators (DAGs) with modulo and bit-
reverse addressing
Zero-overhead looping with single-cycle loop setup, provid-
ing efficient program sequencing
Single Instruction Multiple Data (SIMD) architecture
provides:
Two computational processing elements
Concurrent execution— Each processing element executes
the same instruction, but operates on different data
DMA Controller supports:
18 zero-overhead DMA channels for transfers between
ADSP-21267 internal memory and the four serial ports,
the input data port (IDP) , SPI-compatible port, and the
parallel port
32-bit background DMA transfers at core clock speed, in
parallel with full-speed processor execution
Asynchronous parallel/external port provides:
Access to asynchronous external memory
16 multiplexed address/data lines that can support 24-bit
address external address range with 8-bit data or 16-bit
address external address range with 16-bit data
50 Mbyte per sec transfer rate
256 word page boundaries
External memory access in a dedicated DMA channel
8- to 32- bit and 16- to 32-bit word packing options
Programmable wait state options: 2 to 31 CCLK
Digital Audio Interface (DAI) includes four serial ports, two
precision clock generators, an input data port/parallel data
acquisition port, three timers and a signal routing unit
Serial Ports provide:
Four dual data line serial ports that operate at 37.5M Bits/s
on each data line —each has a clock, frame sync and two
data lines that can be configured as either a receiver or
transmitter pair
Left-justified Sample Pair and I
direction for up to 16 simultaneous receive or transmit
channels using two I
serial port
TDM support for telecommunications interfaces including
128 TDM channel support for newer telephony interfaces such as H.100/H.110
Up to 4 full-duplex TDM streams, each with 128 channels
per frame
Companding selection on a per channel basis in TDM mode
Input Data Port provides an additional input path to the DSP
core configurable as either eight channels of I
data or as seven channels plus a single 20-bit wide synchronous parallel data acquisition port
Supports receive audio channel data in I2S, Left-justified
sample pair, or right-justified mode
Signal Routing Unit (SRU) provides configurable and flexible
connections between all DAI components, four serial
ports, three timers, 10 interrupts, six flag inputs, six flag
outputs, two precision clock generators, an input data
port/parallel data acquisition port, and 20 SRU I/O pins
(DAI_Px)
Serial Peripheral Interface (SPI)
Master or slave serial boot through SPI
Full-duplex operation
Master-Slave mode multi-master support
Open drain outputs
Programmable baud rates, clock polarities and phases
3 Muxed Flag/IRQ lines
1 Muxed Flag/Timer expired line
ROM Based Security features:
JTAG access to memory permitted with a 64-bit key
Protected memory regions that can be assigned to limit
access under program control to sensitive code
PLL has a wide variety of software and hardware multi-
plier/divider ratios
JTAG background telemetry for enhanced emulation
features
IEEE 1149.1 JTAG standard test access port and on-chip
emulation
Dual voltage: 3.3 V I/O, 1.2 V core
Available in 136-ball BGA and 144-lead LQFP packages
Also available in lead-free packages
2
2
S Support, programmable
S compatible stereo devices per
2
S or serial
Rev. PrA | Page 2 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
GENERAL DESCRIPTION
ADSP-21267
The ADSP-21267 SHARC DSP is a member of the SIMD
SHARC family of DSPs featuring Analog Devices' Super Harvard Architecture. The ADSP-21267 is source code compatible
with the ADSP-2136x, and ADSP-2116x DSPs as well as with
first generation ADSP-2106x SHARC processors in SISD (Single-Instruction, Single-Data) mode. Like other SHARC DSPs,
the ADSP-21267 is a 32-bit/40-bit floating-point processor optimized for high performance audio applications with its dualported on-chip SRAM, mask-programmable ROM, multiple
internal buses to eliminate I/O bottlenecks, and an innovative
Digital Audio Interface (DAI).
As shown in the Functional Block Diagram on page 1, the
ADSP-21267 uses two computational units to deliver a significant performance increase over previous SHARC processors on
a range of DSP algorithms. Fabricated in a state-of-the-art, high
speed, CMOS process, the ADSP-21267 DSP achieves an
instruction cycle time of 6.6 ns at 150 MHz. With its SIMD
computational hardware, the ADSP-21267 can perform 900
MFLOPS running at 150 MHz.
Table 1 shows performance benchmarks for the ADSP-21267.
The ADSP-21267 continues SHARC’s industry leading standards of integration for DSPs, combining a high performance
32-bit DSP core with integrated, on-chip system features. These
features include 1M bit dual-ported SRAM memory, 3M bits
dual-ported ROM, an I/O processor that supports 18 DMA
channels, four serial ports, an SPI interface, an external parallel
bus, and Digital Audio Interface (DAI).
The block diagram of the ADSP-21267 on page 1, illustrates the
following architectural features:
• Two processing elements, each containing an ALU, Multiplier, Shifter and Data Register File
• Data Address Generators (DAG1, DAG2)
• Program sequencer with instruction cache
• PM and DM buses capable of supporting four 32-bit data
transfers between memory and the core at every core processor cycle
• Three Programmable Interval Timers with PWM Generation, PWM Capture/Pulse width Measurement, and
External Event Counter Capabilities
• On-Chip dual-ported SRAM (1 Mbit)
• On-Chip dual-ported, mask-programmable ROM
(3 Mbits)
• JTAG test access port
• 8- or 16-bit Parallel port that supports interfaces to off-chip
memory peripherals
• DMA controller
• Four full-duplex serial ports
• SPI-compatible interface
• Digital Audio Interface that includes two precision clock
generators (PCG), an input data port (IDP), four serial
ports, eight serial interfaces, a 20-bit synchronous parallel
input port, 10 interrupts, six flag outputs, six flag inputs,
three timers, and a flexible signal routing unit (SRU)
Figure 2 on page 4 shows one sample configuration of a SPORT
using the precision clock generator to interface with an I
and an I
2
S DAC with a much lower jitter clock than the serial
2
S ADC
port would generate itself. Many other SRU configurations are
possible.
ADSP-21267 FAMILY CORE ARCHITECTURE
The ADSP-21267 is code compatible at the assembly level with
the ADSP-2136x, ADSP-2116x, and with the first generation
ADSP-2106x SHARC DSPs. The ADSP-21267 shares architectural features with the ADSP-2136x and ADSP-2116x SIMD
SHARC family of DSPs, as detailed in the following sections.
SIMD Computational Engine
The ADSP-21267 contains two computational processing elements that operate as a Single-Instruction Multiple-Data
(SIMD) engine. The processing elements are referred to as PEX
and PEY and each contains an ALU, multiplier, shifter and register file. PEX is always active, and PEY may be enabled by
setting the PEYEN mode bit in the MODE1 register. When this
mode is enabled, the same instruction is executed in both processing elements, but each processing element operates on
different data. This architecture is efficient at executing math
intensive audio algorithms.
Entering SIMD mode also has an effect on the way data is transferred between memory and the processing elements. When in
SIMD mode, twice the data bandwidth is required to sustain
computational operation in the processing elements. Because of
this requirement, entering SIMD mode also doubles the bandwidth between memory and the processing elements. When
using the DAGs to transfer data in SIMD mode, two data values
are transferred with each access of memory or the register file.
Rev. PrA | Page 3 of 44 | January 2004
ADSP-21267
PRELIMINARY TECHNICAL DATA
CLOCK
ADC
(OPTIONA L)
CLK
SDAT
DAC
(OPTIONAL)
CLK
SDAT
FS
FS
2
2
3
CLKIN
XTAL
CLK_CFG1-0
BOOTC FG1-0
FLG3-1
DAI_P1
DAI_ P2
DAI_ P3
DAI_P 18
DAI _P19
DAI_ P20
ADSP-21267
SCLK0
CLK
FS
PCGA
PCGB
SFS0
SD0A
SD0B
SPORT0
SPORT1
SPORT2
SPORT3
SRU
DAI
RESETJTAG
CLKOUT
AD15-0
6
ALE
FLG0
RD
WR
CONTROL
LATCH
ADDR
PARALLEL
DATA
OE
WE
CS
DATA
ADDRESS
PORT
RAM , ROM
BOO T ROM
I/O DEVICE
Figure 2. ADSP-21267 System Sample Configuration
Independent, Parallel Computation Units
Within each processing element is a set of computational units.
The computational units consist of an arithmetic/logic unit
(ALU), multiplier and shifter. These units perform all operations in a single cycle. The three units within each processing
element are arranged in parallel, maximizing computational
throughput. Single multi-function instructions execute parallel
ALU and multiplier operations. In SIMD mode, the parallel
ALU and multiplier operations occur in both processing elements. These computation units support IEEE 32-bit singleprecision floating-point, 40-bit extended precision floatingpoint, and 32-bit fixed-point data formats.
Data Register File
A general purpose data register file is contained in each processing element. The register files transfer data between the
computation units and the data buses, and store intermediate
results. These 10-port, 32-register (16 primary, 16 secondary)
register files, combined with the ADSP-2126x enhanced Harvard architecture, allow unconstrained data flow between
computation units and internal memory. The registers in PEX
are referred to as R0-R15 and in PEY as S0-S15.
Single-Cycle Fetch of Instruction and Four Operands
The ADSP-21267 features an enhanced Harvard architecture in
which the data memory (DM) bus transfers data and the program memory (PM) bus transfers both instructions and data
(see the Figure 1 on page 1). With the ADSP-21267’s separate
program and data memory buses and on-chip instruction cache,
the processor can simultaneously fetch four operands (two over
each data bus) and one instruction (from the cache), all in a single cycle.
Instruction Cache
TheADSP-21267 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 allows full-speed execution of core, looped operations
such as digital filter multiply-accumulates and FFT butterfly
processing.
Data Address Generators With Zero-Overhead Hardware
Circular Buffer Support
The ADSP-21267’s two data address generators (DAGs) are
used for indirect addressing and implementing circular data
buffers in hardware. Circular buffers allow efficient programming of delay lines and other data structures required in digital
Rev. PrA | Page 4 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
ADSP-21267
signal processing, and are commonly used in digital filters and
Fourier transforms. The two DAGs of the ADSP-21267 contain
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 ADSP21267 can conditionally execute a multiply, an add, and a subtract in both processing elements while branching and fetching
up to four 32-bit values from memory; all in a single instruction.
ADSP-21267 MEMORY AND I/O INTERFACE
FEATURES
The ADSP-21267 adds the following architectural features to
the SIMD SHARC family core:
Dual-Ported On-Chip Memory
The ADSP-21267 contains one megabit of internal SRAM and
three megabits of internal mask-programmable ROM. Each
block can be configured for different combinations of code and
data storage (see ADSP-21267 Memory Map on page 6). Each
memory block is dual-ported for single-cycle, independent
accesses by the core processor and I/O processor. The dualported 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-21267, the SRAM 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 performed 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 buses, 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.
DMA Controller
The ADSP-21267’s on-chip DMA controller allows zero-overhead data transfers without processor intervention. The DMA
controller operates independently and invisibly to the processor
core, allowing DMA operations to occur while the core is simultaneously executing its program instructions. DMA transfers
can occur between the ADSP-21267’s internal memory and its
serial ports, the SPI-compatible (serial peripheral interface)
port, the IDP (input data port/parallel data acquisition port) or
the parallel port. Eighteen channels of DMA are available on the
ADSP-21267 — one for the SPI interface, eight via the serial
ports, eight via the Input Data Port and one via the processor’s
parallel port. Programs can be downloaded to the ADSP-21267
using DMA transfers. Other DMA features include interrupt
generation upon completion of DMA transfers, and DMA
chaining for automatic linked DMA transfers.
Digital Audio Interface (DAI)
The Digital Audio Interface (DAI) provides the ability to connect various peripherals to any of the DSPs DAI pins
(DAI_P[20:1]).
Programs make these connections using the Signal Routing
Unit (SRU, shown in the block diagram on page 1).
The SRU is a matrix routing unit (or group of multiplexers) that
enables the peripherals provided by the DAI to be interconnected under software control. This allows easy use of the DAI
associated peripherals for a much wider variety of applications
by using a larger set of algorithms than is possible with nonconfigurable signal paths.
The DAI also includes 4 serial ports, 2 precision clock generators (PCG), an input data port (IDP), 6 flag outputs and 6 flag
inputs, and 3 timers. The IDP provides an additional input path
to the ADSP-21267 core, configurable as either eight channels
2
S or serial data or as seven channels plus a single 20-bit wide
of I
synchronous parallel data acquisition port Each data channel
has its own DMA channel that is independent from the ADSP21267's serial ports.
For complete information on using the DAI, see the ADSP-2126x SHARC DSP Peripherals Manual.
Serial Ports
The ADSP-21267 features four full duplex synchronous serial
ports that provide an inexpensive interface to a wide variety of
digital and mixed-signal peripheral devices such as the AD183x
family of audio codecs, ADCs, and DACs. The serial ports are
made up of two data lines, a clock and frame sync. The data
lines can be programmed to either transmit or receive and each
data line has its own dedicated DMA channel.
Serial ports are enabled via 8 programmable and simultaneous
receive or transmit pins that support up to 16 transmit or 16
receive channels of audio data when all four SPORTS are
enabled, or four full duplex TDM streams of 128 channels per
frame.
The serial ports operate at up to one-quarter of the DSP core
clock rate, providing each with a maximum data rate of 37.5
Mbits/s for a 150 MHz core. Serial port data can be automatically transferred to and from on-chip memory via a dedicated
DMA. Each of the serial ports can work in conjunction with
another serial port to provide TDM support. One SPORT provides two transmit signals while the other SPORT provides the
two receive signals. The frame sync and clock are shared.
Serial ports operate in four modes:
• Standard DSP serial mode
•Multichannel (TDM) mode
Rev. PrA | Page 5 of 44 | January 2004
ADSP-21267
PRELIMINARY TECHNICAL DATA
INTERNAL MEMORY
SPACE
LONG WORD
ADDRESSING
IOP REGISTERS
0x0000 0000- 0x0003 FFFF
BLOCK 0SRAM (0.5 Mbit)
0x0004 0000- 0x0004 1FFF
RESERVED
0x0004 2000- 0x0005 7FFF
BLOCK 0 ROM(1.5 mbit)
0x0005 8000- 0x0002 FFFF
RESERVED
0x0005 3000- 0x0005 FFFF
BLOCK 1SRAM (0.5 Mbit)
0x0006 0000- 0x0006 1FFF
RESERVED
0x0006 2000- 0x0007 7FFF
BLOCK1 ROM (1.5 mbit)
0x0007 8000- 0x0007 DFFF
RESERVED
0x0007 E000- 0x0007 FFFF
NORMAL WORD
ADDRESSING
IOP REGISTERS
0x0000 0000- 0x0003 FFFF
BLOCK 0 SRAM(0.5 Mbit)
0x0008 0000- 0x0008 3FFF
RESERVED
0x0008 4000- 0x000A FFFF
BLOCK 0 ROM (1.5 mbit)
0x000B 0000 - 0x000B BFFF
RESERVED
0x000B C000- 0x000B FFFF
BLOCK 1 SRAM (0.5 Mbit)
0x000C 0000- 0x000C 3FFF
RESERVED
0x000C 4000- 0x000E FFFF
BLOCK 1 ROM (1.5 mbit)
0x000F 0000 - 0x000F BFFF
RESERVED
0x000F C000- 0x000F FFFF
EXTERNAL MEMORY
SPACE
RESERVED
0x0020 0000- 0x00FF FFFF
EXTERNAL DMA
ADDRESS SPACE
0x0100 0000- 0x02FF FFFF
1
SHORT WORD
ADDRESSING
IOP REGISTERS
0x0000 0000- 0x0003 FFFF
BLOCK 0 SRAM (0.5 Mbit)
0x0010 0000- 0x0010 7FFF
RESERVED
0x0010 8000- 0x0015 FFFF
BLOCK 0 ROM(1.5 mbit)
0x0016 0000- 0x0017 7FFF
RESERVED
0x0017 8FFF- 0x0017 FFFF
BLOCK 1 SRAM(0.5 Mbit)
0x0018 0000- 0x0018 7FFF
RESERVED
0x0018 8000- 0x001D FFFF
BLOCK 1 ROM(1.5 mbit)
0x001E 0000- 0x001F 7FFF
RESERVED
0x000
1
EXTERNAL MEMORY ISNOT DIRECTLY ACCESSIBLE
BY THE CORE. DMA MUST BE USED TO READOR WRITE
TO THIS MEMORY USING THE SPI OR PARALLEL PORT.
2
BLOCK 0 ROMHAS A 48-BIT ADDRESS RANGE
(0x000A 0000- 0x000A AAAA).
3
BLOCK 1 ROMHAS A 48-BIT ADDRESS RANGE
(0x000E 0000- 0x000E AAA).
RESERVED
0x0300 0000- 0x3FFF FFFF
Figure 3. ADSP-21267 Memory Map
•I2S mode
• Left-justified sample pair mode
Left-justified Sample Pair Mode is a mode where in each Frame
Sync cycle two samples of data are transmitted/received — one
sample on the high segment of the frame sync, the other on the
low segment of the frame sync. Programs have control over various attributes of this mode.
Each of the serial ports supports the Left-justified Sample Pair
2
S protocols (I2S is an industry standard interface com-
and I
monly used by audio codecs, ADCs and DACs such as the
Analog Devices AD183x family), with two data pins, allowing
four Left-justified Sample Pair or I
2
S channels (using two stereo
devices) per serial port, with a maximum of up to 16 audio
channels. The serial ports permit little-endian or big-endian
transmission formats and word lengths selectable from 3 bits to
Rev. PrA | Page 6 of 44 | January 2004
32 bits. For the Left-justified Sample Pair and I
2
S modes, dataword lengths are selectable between 8 bits and 32 bits. Serial
ports offer selectable synchronization and transmit modes as
well as optional µ-law or A-law companding selection on a per
channel basis. Serial port clocks and frame syncs can be internally or externally generated.
Serial Peripheral (Compatible) Interface
Serial Peripheral Interface (SPI) is an industry standard synchronous serial link, enabling the ADSP-21267 SPI-compatible
port to communicate with other SPI-compatible devices. SPI is
an interface consisting of two data pins, one device select pin,
and one clock pin. It is a full-duplex synchronous serial interface, supporting both master and slave modes. The SPI port can
operate in a multi-master environment by interfacing with up to
four other SPI-compatible devices, either acting as a master or
PRELIMINARY TECHNICAL DATA
ADSP-21267
slave device. The ADSP-21267 SPI-compatible peripheral
implementation also features programmable baud rates up to
37.5 MHz, clock phases, and polarities. The ADSP-21267 SPIcompatible port uses open drain drivers to support a multi-master configuration and to avoid data contention.
Parallel Port
The Parallel Port provides interfaces to SRAM and peripheral
devices. The multiplexed address and data pins (AD15-0) can
access 8-bit devices with up to 24 bits of address, or 16-bit
devices with up to 16 bits of address. In either mode, 8- or 16bit, the maximum data transfer rate is one-third the core clock
speed. As an example, for a clock rate of 150 MHz, this is equivalent to 50 Mbytes/sec.
DMA transfers are used to move data to and from internal
memory. Access to the core is also facilitated through the parallel port register read/write functions. The RD
, WR, and ALE
(Address Latch Enable) pins are the control pins for the parallel
port.
Timers
The ADSP-21267 has a total of four timers: a core timer able to
generate periodic software interrupts and three general purpose
timers that can that can generate periodic interrupts and be
independently set to operate in one of three modes:
• Pulse Waveform Generation mode
• Pulse Width Count/Capture mode
• External Event Watchdog mode
The core timer can be configured to use FLAG3 as a Timer
Expired output signal, and each general purpose timer has one
bidirectional pin and four registers that implement its mode of
operation: a 6-bit configuration register, a 32-bit count register,
a 32-bit period register, and a 32-bit pulse width register. A single control and status register enables or disables all three
general purpose timers independently.
ROM Based Security
The ADSP-21267 has a ROM security feature that provides
hardware support for securing user software code by preventing
unauthorized reading from the internal code when enabled.
When using this feature, the DSP does not boot-load any external code, executing exclusively from internal SRAM/ROM.
Additionally, the DSP is not freely accessible via the JTAG port.
Instead, a unique 64-bit key, which must be scanned in through
the JTAG or Test Access Port, will be assigned to each customer.
The device will ignore a wrong key. Emulation features and
external boot modes are only available after the correct key is
scanned.
Phased Locked Loop
The ADSP-21267 uses an on-chip Phase Locked Loop (PLL) to
generate the internal clock for the core. On power up, the
CLKCFG1-0 pins are used to select ratios of 16:1, 8:1, and 3:1.
After booting, numerous other ratios can be selected via software control. The ratios are made up of software configurable
numerator values from 1 to 32 and software configurable divisor values of 1, 2, 4, 8, and 16.
Power Supplies
The ADSP-21267 has separate power supply connections for the
internal (V
), external (V
DDINT
), and analog (A
DDEXT
VDD/AVSS
)
power supplies. The internal and analog supplies must meet the
1.2 V requirement. The external supply must meet the 3.3 V
requirement. All external supply pins must be connected to the
same power supply.
Note that the analog supply (A
) powers the ADSP-21267’s
VDD
clock generator PLL. To produce a stable clock, you should provide an external circuit to filter the power input to the A
VDD
pin.
Place the filter as close as possible to the pin. For an example circuit, see Figure 4. To prevent noise coupling, use a wide trace
for the analog ground (A
capacitor as close as possible to the pin. Note that the A
A
pins specified in Figure 4 are inputs to the SHARC and not
VDD
) signal and install a decoupling
VSS
VSS
and
the analog ground plane on the board.
10⍀
V
DDINT
Figure 4. Analog Power (A
A
VSS
) Filter Circuit
VDD
0.01F0.1F
A
VDD
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-21267 processor to monitor and control the target board processor during
emulation. Analog Devices DSP Tools product line of JTAG
emulators provides emulation at full processor speed, allowing
inspection and modification of memory, registers, and processor stacks. The processor's JTAG interface ensures that the
emulator will not affect target system loading or timing.
For complete information on Analog Devices’ SHARC DSP
Tools product line of JTAG emulator operation, see the appropriate emulator hardware user's guide.
Program Booting
The internal memory of the ADSP-21267 boots at system
power-up from an 8-bit EPROM via the parallel port, an SPI
master, an SPI slave or an internal boot. Booting is determined
by the Boot Configuration (BOOTCFG1-0) pins. Selection of
the boot source is controlled via the SPI as either a master or
slave device, or it can immediately begin executing from ROM.
Rev. PrA | Page 7 of 44 | January 2004
DEVELOPMENT TOOLS
The ADSP-21267 is supported by a complete automotive reference design and development board as well as by a complete
home audio reference design board available from Analog
Devices. These boards implement complete audio decoding and
post processing algorithms that are factory programmed into
ADSP-21267
PRELIMINARY TECHNICAL DATA
the ROM of the ADSP-21267. SIMD optimized libraries consume less processing resources, which results in more available
processing power for custom proprietary features.
The non-volatile memory of the ADSP-21267 can be configured
to contain a combination of PCM 96 KHz, Dolby Digital, Dolby
Digital EX2, Dolby Pro Logic IIx, DTS 5.1, DTS Matrix 6.1, DTS
Discrete 6.1, DTS Neo:6, and MPEG2 2 channel.
Multiple S/PDIF and analog I/Os are provided to maximize end
system flexibility.
The ADSP-21267 is supported with a complete set of
CROSSCORE™ software and hardware development tools,
including Analog Devices emulators and VisualDSP++™ development environment. The same emulator hardware that
supports other SHARC processors also fully emulates the
ADSP-21267.
The VisualDSP++ project management environment lets programmers develop and debug an application. This environment
includes an easy to use assembler (which is based on an algebraic syntax), an archiver (librarian/library builder), a linker, a
loader, a cycle-accurate instruction-level simulator, a C/C++
compiler, and a C/C++ runtime library that includes DSP and
mathematical functions. A key point for these tools is C/C++
code efficiency. The compiler has been developed for efficient
translation of C/C++ code to DSP assembly. The SHARC has
architectural features that improve the efficiency of compiled
C/C++ code.
The VisualDSP++ debugger has a number of important features. Data visualization is enhanced by a plotting package that
offers a significant level of flexibility. This graphical representation of user data enables the programmer to quickly determine
the performance of an algorithm. As algorithms grow in complexity, this capability can have increasing significance on the
designer’s development schedule, increasing productivity. Statistical profiling enables the programmer to non intrusively poll
the processor as it is running the program. This feature, unique
to VisualDSP++, enables the software developer to passively
gather important code execution metrics without interrupting
the real-time characteristics of the program. Essentially, the
developer can identify bottlenecks in software quickly and efficiently. By using the profiler, the programmer can focus on
those areas in the program that impact performance and take
corrective action.
Debugging both C/C++ and assembly programs with the
VisualDSP++ debugger, programmers can:
• View mixed C/C++ and assembly code (interleaved source
and object information)
• Insert breakpoints
• Set conditional breakpoints on registers, memory,
and stacks
• Trace instruction execution
• Perform linear or statistical profiling of program execution
• Fill, dump, and graphically plot the contents of memory
• Perform source level debugging
• Create custom debugger windows
The VisualDSP++ IDDE lets programmers define and manage
DSP software development. Its dialog boxes and property pages
let programmers configure and manage all of the SHARC development tools, including the color syntax highlighting in the
VisualDSP++ editor. This capability permits programmers to:
• Control how the development tools process inputs and
generate outputs
• Maintain a one-to-one correspondence with the tool’s
command line switches
The VisualDSP++ Kernel (VDK) incorporates scheduling and
resource management tailored specifically to address the memory and timing constraints of DSP programming. These
capabilities enable engineers to develop code more effectively,
eliminating the need to start from the very beginning, when
developing new application code. The VDK features include
Threads, Critical and Unscheduled regions, Semaphores,
Events, and Device flags. The VDK also supports Priority-based,
Preemptive, Cooperative, and Time-Sliced scheduling
approaches. In addition, the VDK was designed to be scalable. If
the application does not use a specific feature, the support code
for that feature is excluded from the target system.
Because the VDK is a library, a developer can decide whether to
use it or not. The VDK is integrated into the VisualDSP++
development environment, but can also be used via standard
command line tools. When the VDK is used, the development
environment assists the developer with many error-prone tasks
and assists in managing system resources, automating the generation of various VDK based objects, and visualizing the
system state, when debugging an application that uses the VDK.
VisualDSP++ Component Software Engineering (VCSE) is
Analog Devices technology for creating, using, and reusing software components (independent modules of substantial
functionality) to quickly and reliably assemble software applications. Download components from the Web and drop them into
the application. Publish component archives from within VisualDSP++. VCSE supports component implementation in
C/C++ or assembly language.
Use the Expert Linker to visually manipulate the placement of
code and data on the embedded system. View memory utilization in a color-coded graphical form, easily move code and data
to different areas of the DSP or external memory with the drag
of the mouse, examine run time stack and heap usage. The
Expert Linker is fully compatible with existing Linker Definition
File (LDF), allowing the developer to move between the graphical and textual environments.
In addition to the software and hardware development tools
available from Analog Devices, third parties provide a wide
range of tools supporting the SHARC processor family. Hardware tools include SHARC processor PC plug-in cards. Third
party software tools include DSP libraries, real-time operating
systems, and block diagram design tools.
Rev. PrA | Page 8 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
DESIGNING AN EMULATOR-COMPATIBLE DSP
BOARD (TARGET)
The Analog Devices family of emulators are tools that every
DSP developer needs to test and debug hardware and software
systems. Analog Devices has supplied an IEEE 1149.1 JTAG
Test Access Port (TAP) on each JTAG DSP. Nonintrusive incircuit emulation is assured by the use of the processor’s JTAG
interface—the emulator does not affect target system loading or
timing. The emulator uses the TAP to access the internal features of the DSP, allowing the developer to load code, set
breakpoints, observe variables, observe memory, and examine
registers. The DSP must be halted to send data and commands,
but once an operation has been completed by the emulator, the
DSP system is set running at full speed with no impact on system timing.
To use these emulators, the target board must include a header
that connects the DSP’s JTAG port to the emulator.
For details on target board design issues including mechanical
layout, single processor connections, multiprocessor scan
chains, signal buffering, signal termination, and emulator pod
logic, see the EE-68: Analog Devices TAG Emulation Technical Reference on the Analog Devices website (www.analog.com).
Use site search on “EE-68.” This document is updated regularly
to keep pace with improvements to emulator support.
ADSP-21267
ADDITIONAL INFORMATION
This data sheet provides a general overview of the ADSP-21267
architecture and functionality. For detailed information on the
ADSP-2126x Family core architecture and instruction set, refer
to the ADSP-2126x DSP Core Manual and the ADSP-21160 SHARC DSP Instruction Set Reference.
Rev. PrA | Page 9 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
ADSP-21267
PIN FUNCTION DESCRIPTIONS
ADSP-21267 pin definitions are listed below. Inputs identified
as synchronous (S) must meet timing requirements with respect
to CLKIN (or with respect to TCK for TMS, TDI). Inputs identified as asynchronous (A) can be asserted asynchronously to
CLKIN (or to TCK for TRST
). Tie or pull unused inputs to
V
or GND, except for the following:
DDEXT
• DAI_Px, SPICLK, MISO, MOSI, EMU
, TMS,TRST, TDI
and AD15-0 (NOTE: These pins have internal pull-up
resistors.)
The following symbols appear in the Type column of Table 2:
A = Asynchronous, G = Ground, I = Input, O = Output,
P = Power Supply, S = Synchronous, (A/D) = Active Drive,
(O/D) = Open Drain, and T = Three-State.
Table 2. Pin Descriptions
Pin TypeState During &
After Reset
AD15-0I/O/TThree-state with
pull-up enabled
RD
WR
ALEOOutput only, driven
FLAG3-0I/O/AThree-stateFlag Pins. Each FLAG pin is configured via control bits as either an input or output.
OOutput only, driven
OOutput only, driven
high
high
low
1
1
1
Function
Parallel Port Address/Data. The ADSP-21267 parallel port and its corresponding
DMA unit output addresses and data for peripherals on these multiplexed pins. The
multiplex state is determined by the ALE pin. The parallel port can operate in either
8-bit or 16-bit mode. Each AD pin has a 22.5 KΩ internal pull-up resistor. See Address
Data Modes on page 13 for details of the AD pin operation:
For 8-bit mode: ALE is automatically asserted whenever a change occurs in the
upper 16 external address bits, A23-8; ALE is used in conjunction with an external
latch to retain the values of the A23-8.
For 16-bit mode: ALE is automatically asserted whenever a change occurs in the
address bits, A15-0; ALE is used in conjunction with an external latch to retain the
values of the A15-0.
To use these pins as flags (FLAG15-0) set (=1) bit 20 of the SYSCTL register and
disable the parallel port. See Table 3 on page 13 for a list of how the AD15-0 pins
map to the flag pins. When used as an input, the IDP Channel0 can use these pins
for parallel input data.
Parallel Port Read Enable. RD is asserted low whenever the DSP reads 8-bit or 16bit data from an external memory device. When AD15-0 are flags, this pin remains
deasserted.
Parallel Port Write Enable. WR is asserted low whenever the DSP writes 8-bit or
16- bit da ta to a n external memory device. When AD15-0 a re flags, this pi n remains
deasserted.
Parallel Port Address Latch enable. ALE is asserted whenever the DSP drives a
new address on the parallel port address pins. On reset, ALE is active high. However,
it can be reconfigured using software to be active low. When AD15-0 are flags, this
pin remains deasserted.
As an input, it can be tested as a condition. As an output, it can be used to signal
external peripherals. These pins can be used as an SPI interface slave select output
during SPI mastering. These pins are also multiplexed with the IRQx
signals.
In SPI master boot mode, FLAG0 is the slave select pin that must be connected to
an SPI EPROM. FLAG0 is configured as a slave select during SPI master boot. When
bit 16 is set (=1) in the SYSCTL register, FLAG0 is configured as IRQ0.
When bit 17 is set (=1) in the SYSCTL register, FLAG1 is configured as IRQ1
When bit 18 is set (=1) in the SYSCTL register, FLAG2 is configured as IRQ2
Wh en bit 19 is s et (=1 ) in th e SY SCT L regist er, FLA G3 is c onfig ured a s TIME XP whi ch
indicates that the system timer has expired.
and the TIMEXP
.
.
Rev. PrA | Page 10 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
Table 2. Pin Descriptions (Continued)
ADSP-21267
Pin TypeState During &
After Reset
DAI_P20-1I/O/TThree-state with
programmable pullup
SPICLKI/OThree-state with
pull-up enabled
SPIDS
MOSII/O (O/D)Three-state with
MISOI/O (O/D)Three-state with
BOOTCFG1-0IInput onlyBoot Configuration Select. Selects the boot mode for the DSP. The BOOTCFG pins
IInput onlySerial Peripheral Interface Slave Device Select. An active low signal used to select
pull-up enabled
pull-up enabled
Function
Digital Audio Interface Pins. These pins provide the physical interface to the SRU.
The SRU configuration registers define the combination of on-chip peripheral
inputs or outputs connected to the pin and to the pin’s output enable. The configuration registers of these peripherals then determines the exact behavior of the pin.
Any input or output signal present in the SRU may be routed to any of these pins.
The SRU provides the connection from the Serial ports, Input data port, precision
clock generators and timers to the DAI_P20-1 pins These pins have internal 22.5 KΩ
pull-up resistors which are enabled on reset. These pull-ups can be disabled in the
DAI_PIN_PULLUP register.
Serial Peripheral Interface Clock Signal. Driven by the master, this signal controls
the rate at which data is transferred. The master may transmit data at a variety of
baud rates. SPICLK cycles once for each bit transmitted. SPICLK is a gated clock that
is active during data transfers, only for the length of the transferred word. Slave
devices ignore the serial clock if the slave select input is driven inactive (HIGH).
SPICLK is used to shift out and shift in the data driven on the MISO and MOSI lines.
The data is always shifted out on one clock edge and sampled on the opposite edge
of the clock. Clock polarity and clock phase relative to data are programmable into
the SPICTL control register and define the transfer format. SPICLK has a 22.5 KΩ
internal pull-up resistor.
the DSP as an SPI slave device. This input signal behaves like a chip select, and is
provided by the master device for the slave devices. In multi-master mode the DSPs
si gna l ca n be d riv en b y a sl ave dev ice to signal to the DSP (as SPI master) that
SPIDS
an error has occurred, as some other device is also trying to be the master device.
If asserted low when the device is in master mode, it is considered a multi-master
error. For a single -master, multiple -slave configuration where flag pins are used, this
pin must be tied or pulled high to V
ADSP-21267 SPI interaction, any of the master ADSP-21267's flag pins can be used
to drive the SPIDS
SPI Master Out Slave In. If the ADSP-21267 is configured as a master, the MOSI pin
becomes a data transmit (output) pin, transmitting output data. If the ADSP-21267
is configured as a slave, the MOSI pin becomes a data receive (input) pin, receiving
input data. In an ADSP-21267 SPI interconnection, the data is shifted out from the
MOSI output pin of the master and shifted into the MOSI input(s) of the slave(s).
MOSI has a 22.5 KΩ internal pull-up resistor.
SPI Master In Slave Out. If the ADSP-21267 is configured as a master, the MISO pin
becomes a data receive (input) pin, receiving input data. If the ADSP-21267 is
configured as a slave, the MISO pin becomes a data transmit (output) pin, transmitting output data. In an ADSP-21267 SPI interconnection, the data is shifted out
from the MISO output pin of the slave and shifted into the MISO input pin of the
master. MISO has a 22.5KΩ internal pull-up resistor. MISO can be configured as O/D
by setting the OPD bit in the SPICTL register.
Note:Only one slave is allowed to transmit data at any given time. To enable
broadcast transmission to multiple SPI-slaves, the DSP's MISO pin may be disabled
by setting (=1) bit 5 (DMISO) of the SPICTL register.
must be valid before reset is asserted. See Table 4 on page 13 for a description of
the boot modes.
signal on the ADSP-21267 SPI slave device.
on the master device. For ADSP-21267 to
DDEXT
Rev. PrA | Page 11 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
ADSP-21267
Table 2. Pin Descriptions (Continued)
Pin TypeState During &
Function
After Reset
CLKINIInput onlyLocal Clock In. Used in conjunction with XTAL. CLKIN is the ADSP-21267 clock input.
It configures the ADSP-21267 to use either its internal clock generator or an external
clock source. Connecting the necessary components to CLKIN and XTAL enables
the internal clock generator. Connecting the external clock to CLKIN while leaving
XTAL unconnected configures the ADSP-21267 to use the external clock source
such as an external clock oscillator. The core is clocked either by the PLL output or
this clock input depending on the CLKCFG1-0 pin settings. CLKIN may not be halted,
changed, or operated below the specified frequency.
XTALOOutput only
2
Crystal Oscillator Terminal. Used in conjunction with CLKIN to drive an external
crystal.
CLKCFG1-0IInput onlyCore /CLKIN Ratio Cont rol. These pins set the start up clock frequency. See Table 5
on page 13 for a description of the clock configuration modes.
Note that the operating frequency can be changed by programming the PLL multiplier and divider in the PMCTL register at any time after the core comes out of reset.
RSTOUT
/CLKOUTOOutput onlyReset Out/Local Clock Out. Drives out the core reset signal to an external device.
CLKOUT can also be configured as a reset out pin (RSTOUT). The functionality can
be switched between the PLL output clock and reset out by setting bit 12 of the
PMCTL register. The default is reset out.
RESETI/AInput onlyProcessor Reset. Resets the ADSP-21267 to a known state. Upon deassertion, there
is a 4096 CLKIN cycle latency for the PLL to lock. After this time, the core begins
program execution from the hardware reset vector address. The RESET
input must
be asserted (low) at power-up.
TCKIInput only
3
Test Clock (JTAG). Provides a clock for JTAG boundary scan. must be asserted
(pulsed low) after power-up or held low for proper operation of the ADSP-21267.
TMSI/SThree-state with
pull-up enabled
TDII/SThree-state with
pull-up enabled
TDOOThree-state
TRST
I/AThree-state with
4
pull-up enabled
Test Mode Select (JTAG). Used to control the test state machine. TMS has a
22.5 kΩ internal pull-up resistor.
Test Data Input (JTAG). Provides serial data for the boundary scan logic. TDI has a
22.5 kΩ internal pull-up resistor.
Test Data Output (JTAG). Serial scan output of the boundary scan path.
Test Reset (JTAG). Resets the test state machine. TRST must be asserted (pulsed
low) after power-up or held low for proper operation of the ADSP-21267. TRST
has
a 22.5 kΩ internal pull-up resistor.
EMU
O (O/D)Three-state with
pull-up enabled
Emulation Status. Must be connected to the ADSP-21267 Analog Devices DSP
Tools product line of JTAG emulators target board connector only. EMU
has a
22.5 kΩ internal pullup resistor.
V
DDINT
PCore Power Supply. Nominally +1.2 V dc and supplies the DSP’s core processor (13
pins on the BGA package, 32 pins on the LQFP package).
V
DDEXT
PI/O Power Supply. Nominally +3.3 V dc. (6 pins on the BGA package, 10 pins on the
LQFP package).
A
VDD
PAnalog Power Supply. Nominally +1.2 V dc and supplies the DSP’s internal PLL
(clock generator). This pin has the same specifications as V
, except that added
DDINT
filtering circuitry is required. For more information, see Power Supplies on page 7.
A
VSS
GAnalog Power Supply Return.
GNDGPower Supply Return. (54 pins on the BGA package, 39 pins on the LQFP package).
1
RD, WR, and ALE are continuously driven by the DSP and won’t be three-stated.
2
Output only is a three-state driver with its output path always enabled.
3
Input only is three-state driver with both output path.
4
Three-state is three-state driver.
Rev. PrA | Page 12 of 44 | January 2004
PRELIMINARY TECHNICAL DATA
ADSP-21267
ADDRESS DATA PINS AS FLAGS
To use these pins as flags (FLAG15-0) set (=1) bit 20 of the
SYSCTL register and disable the parallel port.
00SPI Slave Boot
01SPI Master Boot
10Parallel Port boot via EPROM
11Internal Boot Mode (ROM code only)
CORE INSTRUCTION RATE TO CLKIN RATIO MODES
Table 5. Core Instruction Rate/ CLKIN Ratio Selection
CLKCFG1-0Core to CLKIN Ratio
003:1
0116:1
108:1
11Reserved
ADDRESS DATA MODES
The following table shows the functionality of the AD pins for
8-bit and 16-bit transfers to the parallel port. For 8-bit data
transfers, ALE latches address bits A23-A8 when asserted, followed by address bits A7-A0 and data bits D7-D0 when