The ADSP-21020 is the first member of Analog Devices’ family
of single-chip IEEE floating-point processors optimized for
digital signal processing applications. Its architecture is similar
to that of Analog Devices’ ADSP-2100 family of fixed-point
DSP processors.
Fabricated in a high-speed, low-power CMOS process, the
ADSP-21020 has a 30 ns instruction cycle time. With a highperformance on-chip instruction cache, the ADSP-21020 can
execute every instruction in a single cycle.
The ADSP-21020 features:
•
REV. C
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
which may result from its use. No license is granted by implication or
otherwise under any patent or patent rights of Analog Devices.
Independent Parallel Computation Units
The arithmetic/logic unit (ALU), multiplier and shifter
perform single-cycle instructions. The units are architecturally
arranged in parallel, maximizing computational throughput. A
single multifunction instruction executes parallel ALU and
x): 270 ns
DSP Microprocessor
ADSP-21020
FUNCTIONAL BLOCK DIAGRAM
multiplier operations. These computation units support IEEE
32-bit single-precision floating-point, extended precision
40-bit floating-point, and 32-bit fixed-point data formats.
Data Register File
•
A general-purpose data register file is used for transferring
data between the computation units and the data buses, and
for storing intermediate results. This 10-port (16-register)
register file, combined with the ADSP-21020’s Harvard
architecture, allows unconstrained data flow between
computation units and off-chip memory.
Single-Cycle Fetch of Instruction and Two Operands
•
The ADSP-21020 uses a modified Harvard architecture in
which data memory stores data and program memory stores
both instructions and data. Because of its separate program
and data memory buses and on-chip instruction cache, the
processor can simultaneously fetch an operand from data
memory, an operand from program memory, and an
instruction from the cache, all in a single cycle.
Memory Interface
•
Addressing of external memory devices by the ADSP-21020 is
facilitated by on-chip decoding of high-order address lines to
generate memory bank select signals. Separate control lines
are also generated for simplified addressing of page-mode
DRAM.
The ADSP-21020 provides programmable memory wait
states, and external memory acknowledge controls allow
interfacing to peripheral devices with variable access times.
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 617/329-4700Fax: 617/326-8703
ADSP-21020
Instruction Cache
•
The ADSP-21020 includes a high performance instruction
cache that enables three-bus operation for fetching an
instruction and two data values. The cache is selective—only
the instructions whose fetches conflict with program memory
data accesses are cached. This allows full-speed execution
of core, looped operations such as digital filter multiplyaccumulates and FFT butterfly processing.
Hardware Circular Buffers
•
The ADSP-21020 provides hardware to implement circular
buffers in memory, which are common in digital filters and
Fourier transform implementations. It handles address
pointer wraparound, reducing overhead (thereby increasing
performance) and simplifying implementation. Circular
buffers can start and end at any location.
Flexible Instruction Set
•
The ADSP-21020’s 48-bit instruction word accommodates a
variety of parallel operations, for concise programming. For
example, the ADSP-21020 can conditionally execute a
multiply, an add, a subtract and a branch in a single
instruction.
DEVELOPMENT SYSTEM
The ADSP-21020 is supported with a complete set of software
and hardware development tools. The ADSP-21000 Family
Development System includes development software, an
evaluation board and an in-circuit emulator.
Assembler
•
Creates relocatable, COFF (Common Object File Format)
object files from ADSP-21xxx assembly source code. It
accepts standard C preprocessor directives for conditional
assembly and macro processing. The algebraic syntax of the
ADSP-21xxx assembly language facilitates coding and
debugging of DSP algorithms.
Linker/Librarian
•
The Linker processes separately assembled object files and
library files to create a single executable program. It assigns
memory locations to code and to data in accordance with a
user-defined architecture file that describes the memory and
I/O configuration of the target system. The Librarian allows
you to group frequently used object files into a single library
file that can be linked with your main program.
Simulator
•
The Simulator performs interactive, instruction-level
simulation of ADSP-21xxx code within the hardware
configuration described by a system architecture file. It flags
illegal operations and supports full symbolic disassembly. It
provides an easy-to-use, window oriented, graphical user
interface that is identical to the one used by the ADSP-21020
EZ-ICE Emulator. Commands are accessed from pull-down
menus with a mouse.
PROM Splitter
•
Formats an executable file into files that can be used with an
industry-standard PROM programmer.
C Compiler and Runtime Library
•
The C Compiler complies with ANSI specifications. It takes
advantage of the ADSP-21020’s high-level language architectural features and incorporates optimizing algorithms to speed
up the execution of code. It includes an extensive runtime
library with over 100 standard and DSP-specific functions.
C Source Level Debugger
•
A full-featured C source level debugger that works with the
simulator or EZ-ICE emulator to allow debugging of
assembler source, C source, or mixed assembler and C.
Numerical C Compiler
•
Supports ANSI Standard (X3J11.1) Numerical C as defined
by the Numeric C Extensions Group. The compiler accepts C
source input containing Numerical C extensions for array
selection, vector math operations, complex data types,
circular pointers, and variably dimensioned arrays, and
outputs ADSP-21xxx assembly language source code.
ADSP-21020 EZ-LAB® Evaluation Board
•
The EZ-LAB Evaluation Board is a general-purpose, standalone ADSP-21020 system that includes 32K words of
program memory and 32K words of data memory as well as
analog I/O. A PC RS-232 download path enables the user to
download and run programs directly on the EZ-LAB. In
addition, it may be used in conjunction with the EZ-ICE
Emulator to provide a powerful software debug environment.
ADSP-21020 EZ-ICE® Emulator
•
This in-circuit emulator provides the system designer with a
PC-based development environment that allows nonintrusive
access to the ADSP-21020’s internal registers through the
processor’s 5-pin JTAG Test Access Port. This use of on-chip
emulation circuitry enables reliable, full-speed performance in
any target. The emulator uses the same graphical user interface as the ADSP-21020 Simulator, allowing an easy transition from software to hardware debug. (See “Target System
Requirements for Use of EZ-ICE Emulator” on page 27.)
ADDITIONAL INFORMATION
This data sheet provides a general overview of ADSP-21020
functionality. For additional information on the architecture and
instruction set of the processor, refer to the ADSP-21020 User’sManual. For development system and programming reference
information, refer to the ADSP-21000 Family Development
Software Manuals and the ADSP-21020 Programmer’s Quick
Reference. Applications code listings and benchmarks for key
DSP algorithms are available on the DSP Applications BBS; call
(617) 461-4258, 8 data bits, no parity, 1 stop bit, 300/1200/
2400/9600 baud.
ARCHITECTURE OVERVIEW
Figure 1 shows a block diagram of the ADSP-21020. The
processor features:
Three Computation Units (ALU, Multiplier, and Shifter)
•
with a Shared Data Register File
Two Data Address Generators (DAG 1, DAG 2)
•
Program Sequencer with Instruction Cache
•
32-Bit Timer
•
Memory Buses and Interface
•
JTAG Test Access Port and On-Chip Emulation Support
•
Computation Units
The ADSP-21020 contains three independent computation
units: an ALU, a multiplier with fixed-point accumulator, and a
shifter. In order to meet a wide variety of processing needs, the
computation units process data in three formats: 32-bit
fixed-point, 32-bit floating-point and 40-bit floating-point. The
floating-point operations are single-precision IEEE-compatible
(IEEE Standard 754/854). The 32-bit floating-point format is
EZ-LAB and EZ-ICE are registered trademarks of Analog Devices, Inc.
–2–
REV. C
ADSP-21020
DAG 1
8 x 4 x 32
BUS CONNECT
FLOATING & FIXED-POINT
MULTIPLIER, FIXED-POINT
ACCUMULATOR
DAG 2
8 x 4 x 24
PMD BUS
DMD BUS
48
40
PMA BUS
REGISTER
16 x 40
CACHE
MEMORY
32 x 48
24
32DMA BUS
FILE
PROGRAM
SEQUENCER
32-BIT
BARREL
SHIFTER
JTAG TEST &
EMULATION
FLAGS
TIMER
FLOATING-POINT
& FIXED-POINT
PMA
DMA
PMD
DMD
ALU
Figure 1. ADSP-21020 Block Diagram
the standard IEEE format, whereas the 40-bit IEEE extendedprecision format has eight additional LSBs of mantissa for
greater accuracy.
The multiplier performs floating-point and fixed-point
multiplication as well as fixed-point multiply/add and multiply/
subtract operations. Integer products are 64 bits wide, and the
accumulator is 80 bits wide. The ALU performs 45 standard
arithmetic and logic operations, supporting both fixed-point and
floating-point formats. The shifter performs 19 different
operations on 32-bit operands. These operations include logical
and arithmetic shifts, bit manipulation, field deposit, and extract
and derive exponent operations.
The computation units perform single-cycle operations; there is
no computation pipeline. The three units are connected in
parallel rather than serially, via multiple-bus connections with
the 10-port data register file. The output of any computation
unit may be used as the input of any unit on the next cycle. In a
multifunction computation, the ALU and multiplier perform
independent, simultaneous operations.
Data Register File
The ADSP-21020’s general-purpose data register file is used for
transferring data between the computation units and the data
buses, and for storing intermediate results. The register file has
two sets (primary and alternate) of sixteen 40-bit registers each,
for fast context switching.
With a large number of buses connecting the registers to the
computation units, data flow between computation units and
from/to off-chip memory is unconstrained and free from
bottlenecks. The 10-port register file and Harvard architecture
of the ADSP-21020 allow the following nine data transfers to be
performed every cycle:
Off-chip read/write of two operands to or from the register file
•
Two operands supplied to the ALU
•
Two operands supplied to the multiplier
•
Two results received from the ALU and multiplier (three, if
•
the ALU operation is a combined addition/subtraction)
The processor’s 48-bit orthogonal instruction word supports
fully parallel data transfer and arithmetic operations in the same
instruction.
Address Generators and Program Sequencer
Two dedicated address generators and a program sequencer
supply addresses for memory accesses. Because of this, the
computation units need never be used to calculate addresses.
Because of its instruction cache, the ADSP-21020 can
simultaneously fetch an instruction and data values from both
off-chip program memory and off-chip data memory in a single
cycle.
The data address generators (DAGs) provide memory addresses
when external memory data is transferred over the parallel
memory ports to or from internal registers. Dual data address
generators enable the processor to output two simultaneous
addresses for dual operand reads and writes. DAG 1 supplies
32-bit addresses to data memory. DAG 2 supplies 24-bit
addresses to program memory for program memory data
accesses.
Each DAG keeps track of up to eight address pointers, eight
modifiers, eight buffer length values and eight base values. A
pointer used for indirect addressing can be modified by a value
REV. C
–3–
ADSP-21020
in a specified register, either before (premodify) or after
(postmodify) the access. To implement automatic modulo
addressing for circular buffers, the ADSP-21020 provides buffer
length registers that can be associated with each pointer. Base
values for pointers allow circular buffers to be placed at arbitrary
locations. Each DAG register has an alternate register that can
be activated for fast context switching.
The program sequencer supplies instruction addresses to
program memory. It controls loop iterations and evaluates
conditional instructions. To execute looped code with zero
overhead, the ADSP-21020 maintains an internal loop counter
and loop stack. No explicit jump or decrement instructions are
required to maintain the loop.
The ADSP-21020 derives its high clock rate from pipelined
fetch, decode and execute cycles. Approximately 70% of the
machine cycle is available for memory accesses; consequently,
ADSP-21020 systems can be built using slower and therefore
less expensive memory chips.
Instruction Cache
The program sequencer includes a high performance, selective
instruction cache that enables three-bus operation for fetching
an instruction and two data values. This two-way, set-associative
cache holds 32 instructions. The cache is selective—only the
instructions whose fetches conflict with program memory data
accesses are cached, so the ADSP-21020 can perform a program
memory data access and can execute the corresponding instruction
in the same cycle. The program sequencer fetches the instruction
from the cache instead of from program memory, enabling the
ADSP-21020 to simultaneously access data in both program
memory and data memory.
Context Switching
Many of the ADSP-21020’s registers have alternate register sets
that can be activated during interrupt servicing to facilitate a fast
context switch. The data registers in the register file, DAG
registers and the multiplier result register all have alternate sets.
Registers active at reset are called primary registers; the others
are called alternate registers. Bits in the MODE1 control register
determine which registers are active at any particular time.
The primary/alternate select bits for each half of the register file
(top eight or bottom eight registers) are independent. Likewise,
the top four and bottom four register sets in each DAG have
independent primary/ alternate select bits. This scheme allows
passing of data between contexts.
Interrupts
The ADSP-21020 has four external hardware interrupts, nine
internally generated interrupts, and eight software interrupts.
For the external interrupts and the internal timer interrupt, the
ADSP-21020 automatically stacks the arithmetic status and
mode (MODE1) registers when servicing the interrupt, allowing
five nesting levels of fast service for these interrupts.
An interrupt can occur at any time while the ADSP-21020 is
executing a program. Internal events that generate interrupts
include arithmetic exceptions, which allow for fast trap handling
and recovery.
Timer
The programmable interval timer provides periodic interrupt
generation. When enabled, the timer decrements a 32-bit count
register every cycle. When this count register reaches zero, the
ADSP-21020 generates an interrupt and asserts its TIMEXP
output. The count register is automatically reloaded from a
32-bit period register and the count resumes immediately.
System Interface
Figure 2 shows an ADSP-21020 basic system configuration.
The external memory interface supports memory-mapped
peripherals and slower memory with a user-defined combination
of programmable wait states and hardware acknowledge signals.
Both the program memory and data memory interfaces support
addressing of page-mode DRAMs.
The ADSP-21020’s internal functions are supported by four
internal buses: the program memory address (PMA) and data
memory address (DMA) buses are used for addresses associated
with program and data memory. The program memory data
(PMD) and data memory data (DMD) buses are used for data
associated with the two memory spaces. These buses are
extended off chip. Four data memory select (DMS) signals
select one of four user-configurable banks of data memory.
Similarly, two program memory select (PMS) signals select
between two user-configurable banks of program memory. All
banks are independently programmable for 0-7 wait states.
The PX registers permit passing data between program memory
and data memory spaces. They provide a bridge between the
48-bit PMD bus and the 40-bit DMD bus or between the 40-bit
register file and the PMD bus.
The PMA bus is 24 bits wide allowing direct access of up to
16M words of mixed instruction code and data. The PMD is 48
bits wide to accommodate the 48-bit instruction width. For
access of 40-bit data the lower 8 bits are unused. For access of
32-bit data the lower 16 bits are ignored.
The DMA bus is 32 bits wide allowing direct access of up to 4
Gigawords of data. The DMD bus is 40 bits wide. For 32-bit
data, the lower 8 bits are unused. The DMD bus provides a
path for the contents of any register in the processor to be
transferred to any other register or to any external data memory
location in a single cycle. The data memory address comes from
one of two sources: an absolute value specified in the instruction
code (direct addressing) or the output of a data address
generator (indirect addressing).
External devices can gain control of the processor’s memory
buses from the ADSP-21020 by means of the bus request/grant
signals (
request, the ADSP-21020 halts internal operations and places
its program and data memory interfaces in a high impedance
state. In addition, three-state controls (
allow an external device to place either the program or data
memory interface in a high impedance state without affecting
the other interface and without halting the ADSP-21020 unless
it requires a memory access from the affected interface. The
three-state controls make it easy for an external cache controller
to hold the ADSP-21020 off the bus while it updates an external
cache memory.
JTAG Test and Emulation Support
The ADSP-21020 implements the boundary scan testing
provisions specified by IEEE Standard 1149.1 of the Joint
Testing Action Group (JTAG). The ADSP-21020’s test
access port and on-chip JTAG circuitry is fully compliant with
the IEEE 1149.1 specification. The test access port enables
boundary scan testing of circuitry connected to the
ADSP-21020’s I/O pins.
BR and BG). To grant its buses in response to a bus
DMTS and PMTS)
–4–
REV. C
1×
CLOCK
CLKIN
PROGRAM
MEMORY
SELECTS
WE
ADDR
DATA
2
OE
24
48
PMS1-0
PMRD
PMWR
PMA
PMD
ADSP-21010
PMTS
PMACK
BR
BG
RESET
TIMEXP
RCOMP
4
Figure 2. Basic System Configuration
The ADSP-21020 also implements on-chip emulation through
the JTAG test access port. The processor’s eight sets of breakpoint range registers enable program execution at full speed
until reaching a desired break-point address range. The
processor can then halt and allow reading/writing of all the
processor’s internal registers and external memories through the
JTAG port.
PIN DESCRIPTIONS
This section describes the pins of the ADSP-21020. When
groups of pins are identified with subscripts, e.g. PMD
highest numbered pin is the MSB (in this case, PMD
, the
47–0
). Inputs
47
identified as synchronous (S) must meet timing requirements
with respect to CLKIN (or with respect to TCK for TMS, TDI,
and
TRST). Those that are asynchronous (A) can be asserted
asynchronously to CLKIN.
O = Output; I = Input; S = Synchronous; A = Asynchronous;
P = Power Supply; G = Ground.
Pin
NameTypeFunction
PMA
OProgram Memory Address. The ADSP-21020
23–0
outputs an address in program memory on
these pins.
PMD
I/OProgram Memory Data. The ADSP-21020
47–0
inputs and outputs data and instructions on
these pins. 32-bit fixed-point data and 32-bit
single-precision floating-point data is transferred over bits 47-16 of the PMD bus.
PMS
OProgram Memory Select lines. These pins are
1–0
asserted as chip selects for the corresponding
banks of program memory. Memory banks
must be defined in the memory control
registers. These pins are decoded program
memory address lines and provide an early
indication of a possible bus cycle.
PMRDOProgram Memory Read strobe. This pin is
asserted when the ADSP-21020 reads from
program memory.
PMWROProgram Memory Write strobe. This pin is
asserted when the ADSP-21020 writes to
program memory.
PMACK I/SProgram Memory Acknowledge. An external
device deasserts this input to add wait states
to a memory access.
ADSP-21020
4
IRQ3-0
4
DMS3-0
DMRD
DMWR
DMTS
DMPAGEPMPAGE
DMACK
FLAG3-0
DMA
DMD
JTAG
5
32
32
Pin
NameType Function
PMPAGE OProgram Memory Page Boundary. The
PMTSI/SProgram Memory Three-State Control.
DMA
DMD
DMS
OData Memory Address. The ADSP-21020
31–0
I/OData Memory Data. The ADSP-21020
39–0
OData Memory Select lines. These pins are
3–0
DMRDOData Memory Read strobe. This pin is
DMWROData Memory Write strobe. This pin is
DMACKI/SData Memory Acknowledge. An external
SELECTS
OE
WE
ADDR
DATA
SELECTS
OE
WE
ACK
ADDR
DATA
DATA
MEMORY
PERIPHERALS
ADSP-21020 asserts this pin to signal that a
program memory page boundary has been
crossed. Memory pages must be defined in
the memory control registers.
PMTS places the program memory address,
data, selects, and strobes in a highimpedance state. If
PMTS is asserted while
a PM access is occurring, the processor will
halt and the memory access will not be
completed. PMACK must be asserted for at
least one cycle when
PMTS is deasserted to
allow any pending memory access to complete properly.
PMTS should only be
asserted (low) during an active memory
access cycle.
outputs an address in data memory on these
pins.
inputs and outputs data on these pins.
32-bit fixed point data and 32-bit
single-precision floating point data is
transferred over bits 39-8 of the DMD bus.
asserted as chip selects for the corresponding banks of data memory. Memory banks
must be defined in the memory control
registers. These pins are decoded data
memory address lines and provide an early
indication of a possible bus cycle.
asserted when the ADSP-21020 reads from
data memory.
asserted when the ADSP-21020 writes to
data memory.
device deasserts this input to add wait states
to a memory access.
REV. C
–5–
ADSP-21020
Pin
NameType Function
DMPAGE OData Memory Page Boundary. The ADSP-
21020 asserts this pin to signal that a data
memory page boundary has been crossed.
Memory pages must be defined in the
memory control registers.
DMTSI/SData Memory Three-State Control. DMTS
places the data memory address, data,
selects, and strobes in a high-impedance
state. If
access is occurring, the processor will halt
and the memory access will not be
completed. DMACK must be asserted for
at least one cycle when
deasserted to allow any pending memory
access to complete properly.
only be asserted (low) during an active
memory access cycle.
CLKIINIExternal clock input to the ADSP-21020.
The instruction cycle rate is equal to
CLKIN. CLKIN may not be halted,
changed, or operated below the specified
frequency.
RESETI/ASets the ADSP-21020 to a known state and
begins execution at the program memory
location specified by the hardware reset
vector (address). This input must be
asserted (low) at power-up.
IRQ
3–0
FLAG
BRI/ABus Request. Used by an external device to
BGOBus Grant. Acknowledges a bus request
TIMEXPOTimer Expired. Asserted for four cycles
RCOMPCompensation Resistor input. Controls
EVDDPPower supply (for output drivers),
EGNDGPower supply return (for output drivers);
I/AInterrupt request lines; may be either edge
triggered or level-sensitive.
I/O/A External Flags. Each is configured via
3–0
control bits as either an input or output. As
an input, it can be tested as a condition. As
an output, it can be used to signal external
peripherals.
request control of the memory interface.
When
execution after completion of the current
cycle, places all memory data, addresses,
selects, and strobes in a high-impedance
state, and asserts
continues normal operation when
released.
(
may take control of the memory interface.
BG is asserted (held low) until BR is
released.
when the value of TCOUNT is
decremented to zero.
compensated output buffers. Connect
RCOMP through a 1.8 kΩ± 15% resistor
to EVDD. Use of a capacitor (approximately 100 pF), placed in parallel with the
state machine. TMS has a 20 kΩ internal
pullup resistor.
TDIVSTest Data Input. Provides serial data for the
boundary scan logic. TDI has a 20 kΩ internal
pullup resistor.
TDOOTest Data Output. Serial scan output of the
boundary scan path.
TRSTI/ATest Reset. Resets the test state machine.
TRST must be asserted (pulsed low) after
power-up or held low for proper operation of
the ADSP-21020.
pullup resistor.
NCNo Connect. No Connects are reserved pins
that must be left open and unconnected.
INSTRUCTION SET SUMMARY
The ADSP-21020 instruction set provides a wide variety of
programming capabilities. Every instruction assembles into a
single word and can execute in a single processor cycle.
Multifunction instructions enable simultaneous multiplier and
ALU operations, as well as computations executed in parallel
with data transfers. The addressing power of the ADSP-21020
gives you flexibility in moving data both internally and
externally. The ADSP-21020 assembly language uses an
algebraic syntax for ease of coding and readability.
The instruction types are grouped into four categories:
Compute and Move or Modify
Program Flow Control
Immediate Move
Miscellaneous
The instruction types are numbered; there are 22 types. Some
instructions have more than one syntactical form; for example,
Instruction 4 has four distinct forms. The instruction number
itself has no bearing on programming, but corresponds to the
opcode recognized by the ADSP-21020 device.
Because of the width and orthogonality of the instruction word,
there are many possible instructions. For example, the ALU
supports 21 fixed-point operations and 24 floating-point
operations; each of these operations can be the compute portion
of an instruction.
The following pages provide an overview and summary of the
ADSP-21020 instruction set. For complete information, see the
ADSP-21020 User’s Manual. For additional reference information, see the ADSP-21020 Programmer’s Quick Reference.
This section also contains several reference tables for using the
instruction set.
Table I describes the notation and abbreviations used.
•
Table II lists all condition and termination code mnemonics.
•
Table III lists all register mnemonics.
•
Tables IV through VII list the syntax for all compute
•
(ALU, multiplier, shifter or multifunction) operations.
Table VIII lists interrupts and their vector addresses.
(DB) Delayed branch
(LA) Loop abort (pop loop PC stacks on branch)
REV. C
JUMP
|
|
CALL
|
|
|
|
|
|
|
|
|
|
|
||
CALL
JUMP
CALL
||
CALL
RTS
|
RTI
|
RTI |(
<data16>| ,DO|<addr24>
ureg
<data16>| , DO|<addr24>
ureg
<addr24>
||
||
(PC, <reladdr6>)
(PC, <reladdr6>)
(Md, Ic)
||
||
(PC, <reladdr6>)
(PC, <reladdr6>)
(|DB,
(|LA,
|
DB, LA
|
,DO
|
,DO
),compute ;
|
|
|
|
(
<PC, <reladdr24>)
|(|
(PC, <reladdr24>)
|
|
|
|
|
|
(|DB
LA
|
(
|
DB, LA
(
(|DB
|
LA
(
|
DB, LA
(
|
(|UNTIL LCE ;
|
) ;
|
|
,
|
),compute ;
|
|
,
|
UNTIL LCE ;
UNTIL termination ;
|
–7–
ADSP-21020
IMMEDIATE MOVE INSTRUCTIONS
14a. DM(<addr32>) = ureg ;
PM(<addr24>)
14b. ureg =DM(<addr32>) ;
PM(<addr24>)
15a. DM(<data32>, Ia) = ureg;
PM(< data24>, Ic)
15b. ureg =DM(<data32>, Ia) ;
PM(<data24>, Ic)
16. DM(Ia, Mb) = <data32>;
PM(Ic, Md)
17. ureg = <data32>;
MISCELLANEOUS INSTRUCTIONS
18. BITSETsreg <data32>;
CLR
TGL
TST
XOR
19a. MODIFY(Ia, <data32>)|;
(Ic, <data32>)|
19b. BITREV(Ia, <data32>) ;
20. |PUSHLOOP ,PUSHSTS ;
|POPPOP
21. NOP ;
22. IDLE ;
Table I. Syntax Notation Conventions
NotationMeaning
UPPERCASEExplicit syntax—assembler keyword (nota-
tion only; assembler is not case-sensitive
and lowercase is the preferred programming
convention)
;Instruction terminator
,Separates parallel operations in an
instruction
italicsOptional part of instruction
| between lines |List of options (choose one)
<datan>n-bit immediate data value
<addrn>n-bit immediate address value
<reladdrn>n-bit immediate PC-relative address value
computeALU, multiplier, shifter or multifunction
eqALU equal to zero
neALU not equal to zero
geALU greater than or equal to zero
ltALU less than zero
leALU less than or equal to zero
gtALU greater than zero
acALU carry
not acNot ALU carry
avALU overflow
not avNot ALU overflow
mvMultiplier overflow
not mvNot multiplier overflow
msMultiplier sign
not msNot multiplier sign
svShifter overflow
not svNot shifter overflow
szShifter zero
not szNot shifter zero
flag0_inFlag 0
not flag0_inNot Flag 0
flag1_inFlag 1
not flag1_inNot Flag l
flag2_inFlag 2
not flag2_inNot Flag 2
flag3_inFlag 3
not flag3_inNot Flag 3
tfBit test flag
not tfNot bit test flag
lceLoop counter expired (DO UNTIL)
not lceLoop counter not expired (IF)
foreverAlways False (DO UNTIL)
trueAlways True (IF)
In a conditional instruction, the execution of the entire instruction is based on
the specified condition.
–8–
REV. C
ADSP-21020
Table III. Universal Registers
NameFunction
Register File
R15–R0Register file locations
Program Sequencer
PC*Program counter; address of instruction cur-
rently executing
PCSTKTop of PC stack
PCSTKPPC stack pointer
FADDR*Fetch address
DADDR*Decode address
LADDRLoop termination address, code; top of loop
address stack
CURLCNTRCurrent loop counter; top of loop count stack
LCNTRLoop count for next nested counter-controlled
loop
Data Address Generators
I7–I0DAG1 index registers
M7–M0DAG1 modify registers
L7–L0DAG1 length registers
B7–B0DAG1 base registers
I15–I8DAG2 index registers
M15–M8DAG2 modify registers
L15–L8DAG2 length registers
B15–B8DAG2 base registers
Bus Exchange
PX1PMD-DMD bus exchange 1 (16 bits)
PX2PMD-DMD bus exchange 2 (32 bits)
PX48-bit PX1 and PX2 combination
Timer
TPERIODTimer period
TCOUNTTimer counter
Memory Interface
DMWAITWait state and page size control for data
memory
DMBANK1Data memory bank 1 upper boundary
DMBANK2Data memory bank 2 upper boundary
DMBANK3Data memory bank 3 upper boundary
DMADR*Copy of last data memory address
PMWAITWait state and page size control for program
memory
PMBANK1Program memory bank 1 upper boundary
PMADR*Copy of last program memory address
System Registers
MODE1Mode control bits for bit-reverse, alternate reg-
isters, interrupt nesting and enable, ALU satu-
ration, floating-point rounding mode and
boundary
MODE2Mode control bits for interrupt sensitivity,
cache disable and freeze, timer enable, and I/O
flag configuration
IRPTLInterrupt latch
IMASKInterrupt mask
IMASKPInterrupt mask pointer (for nesting)
ASTATArithmetic status flags, bit test, I/O flag values,
and compare accumulator
STKYSticky arithmetic status flags, circular buffer
overflow flags, stack status flags (not sticky)
USTAT1User status register l
USTAT2User status register 2
*read-only
Refer to User’s Manual for bit-level definitions of each register.
Table IV. ALU Compute Operations
Fixed-PointFloating-Point
Rn = Rx + RyFn = Fx + Fy
Rn = Rx – RyFn = Fx – Fy
Rn = Rx + Ry, Rm = Rx – RyFn = Fx + Fy, Fm = Fx – Fy
Rn = Rx + Ry + CIFn = ABS (Fx + Fy)
Rn = Rx – Ry + CI – lFn = ABS (Fx – Fy)
Rn = (Rx + Ry)/2Fn = (Fx + Fy)/2
COMP(Rx, Ry)COMP(Fx, Fy)
Rn = –RxFn = –Fx
Rn = ABS RxFn = ABS Fx
Rn = PASS RxFn = PASS Fx
Rn = MIN(Rx, Ry)Fn = MIN(Fx, Fy)
Rn = MAX(Rx, Ry)Fn = MAX(Fx, Fy)
Rn = CLIP Rx BY RyFn = CLIP Fx BY Fy
Rn = Rx + CIFn = RND Fx
Rn = Rx + CI – 1Fn = SCALB Fx BY Ry
Rn = Rx + lRn = MANT Fx
Rn = Rx – lRn = LOGB Fx
Rn = Rx AND RyRn = FIX Fx BY Ry
Rn = Rx OR RyRn = FIX Fx
Rn = Rx XOR RyFn = FLOAT Rx BY Ry
Rn = NOT RxFn = FLOAT Rx
Fn = RECIPS Fx
Fn = RSQRTS Fx
Fn = Fx COPYSIGN Fy
Rn, Rx, Ry R15–R0; register file location, fixed-point
Fn, Fx, Fy F15–F0; register file location, floating point
REV. C
–9–
ADSP-21020
Table V. Multiplier Compute Operations
Rn= Rx * Ry ( SSF )Fn= Fx * Fy
MRF= Rx * Ry( UUI
MRB= Rx * Ry(U U FR
Rn= MRF + Rx * Ry ( SSF )Rn= MRF – Rx * Ry ( SSF )
Rn= MRB + Rx * Ry ( UUIRn= MRB= Rx * Ry( UUI
MRF= MRF + Rx * Ry ( U U FRMRF = MRF= Rx * Ry( UUI FR
MRB= MRBMRB = MRB
Rn= SAT MRF (SI)Rn= RND MRF(SF)
Rn= SAT MRB (UI)Rn= RND MRB(UF)
MRF= SAT MRF (SF)MRF = RND MRF
MRB= SAT MRB (UF)MRB = RND MRB
Applies to IVDD pins. Idle refers to ADSP-21020 state of operation during execution of the IDLE instruction.
9
Guaranteed but not tested.
10
Applies to all signal pins.
11
Although specified for TTL outputs, all ADSP-21020 outputs are CMOS-compatible and will drive to VDD and GND assuming no dc loads.
12
Applies to RESET, TRST.
Hi-Level Input Voltage
Hi-Level Input Voltage
Lo-Level Input Voltage
Lo-Level Input Voltage
Hi-Level Output Voltage
Lo-Level Output Voltage
Hi-Level Input Current
Lo-Level Input Current
Lo-Level Input Current
Tristate Leakage Current
Tristate Leakage Current
Supply Current (Internal)
Supply Current (Idle)
Input Capacitance
(max) = 370 mA and I
(typical) = 115 mA. See “Power Dissipation” for calculation of external (EVDD) supply current for total supply current.
DDIN
ABSOLUTE MAXIMUM RATINGS*
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 V to +7 V
Input Voltage . . . . . . . . . . . . . . . . . . . . –0.3 V to V
Output Voltage Swing . . . . . . . . . . . . . –0.3 V to V
*Stresses above those listed under “Absolute Maximum Ratings” may cause
permanent damage to the device. These are stress ratings only and functional
operation of the device at these or any other conditions above those indicated in the
operational sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device reliability.
Operating Temperature Range (Ambient) . . –55°C to +125°C
Storage Temperature Range . . . . . . . . . . . . –65°C to +150°C
Lead Temperature (10 seconds) CPGA . . . . . . . . . . . +300°C
ESD SENSITIVITY
The ADSP-21020 features proprietary input protection circuitry to dissipate high energy discharges
(Human Body Model). Per method 3015 of MIL-STD-883, the ADSP-21020 has been classified
as a Class 3 device, with the ability to withstand up to 4000 V ESD.
Proper ESD precautions are strongly recommended to avoid functional damage or performance
degradation. Charges readily accumulate on the human body and test equipment and discharge
without detection. Unused devices must be stored in conductive foam or shunts, and the foam
should be discharged to the destination socket before devices are removed. For further information
on ESD precautions, refer to Analog Devices’ ESD Prevention Manual.
–12–
REV. C
ADSP-21020
TIMING PARAMETERS
General Notes
See Figure 15 on page 24 for voltage reference levels. Use the exact timing information given. Do not attempt to derive parameters
from the addition or subtraction of others. While addition or subtraction would yield meaningful results for an individual device, the
values given in this data sheet reflect statistical variations and worst cases. Consequently, you cannot meaningfully add parameters to
derive other specifications.
RESET Setup before CLKIN High 295024402133193029 + DT/230ns
SRST
NOTES
DT = tCK –50 ns
1
Applies after the power-up sequence is complete. At power up, the Internal Phase Locked Loop requires no more than 1000 CLKIN cycles while RESET is low,
assuming stable VDD and CLKIN (not including clock oscillator start-up time).
2
Specification only applies in cases where multiple ADSP-21020 processors are required to execute in program counter lock-step (all processors start execution at
location 8 in the same cycle). See the Hardware Configuration chapter of the ADSP-21020 User’s Manual for reset sequence information.
CLKIN
RESET
t
WRST
t
SRST
CK
ns
Figure 4. Reset
REV. C
–13–
ADSP-21020
Interrupts
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMax MinMax Min Max MinMaxUnit
Timing Requirement:
t
IRQ3-0 Setup before CLKIN High 3831252338 + 3DT/4ns
SIR
t
IRQ3-0 Hold after CLKIN High0000ns
HIR
t
IRQ3-0 Pulse Width55453835tCK + 5ns
IPW
NOTE
*DT = tCK – 50 ns
Meeting setup and hold guarantees interrupts will be latched in that cycle. Meeting the pulse width is not necessary if the setup and hold is met. Likewise, meeting the
setup and hold is not necessary if the pulse width is met. See the Hardware Configuration chapter of the ADSP-21020 User’s Manual for interrupt servicing information.
CLKIN
t
HIR
IRQ3-0
t
SIR
t
IPW
Figure 5. Interrupts
Timer
K/B/T Grade K/B/T GradeB/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMaxMinMax MinMaxMinMaxUnit
Switching Characteristic:
t
CLKIN High to TIMEXP24242424ns
DTEX
NOTE
*DT = tCK – 50 ns
CLKIN
TIMEXP
t
DTEX
t
DTEX
Figure 6. TIMEXP
–14–
REV. C
ADSP-21020
Flags
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMax Min Max Min MaxMinMaxUnit
Timing Requirement:
t
FLAG3-0IN Setup before CLKIN High1916141319 + 5DT/16ns
SFI
FLAG3-0IN Hold after CLKIN High0000ns
t
HFI
FLAG3-0IN Delay from xRD, xWR Low1285312 + 7DT/16 ns
t
DWRFI
t
FLAG3-0IN Hold after xRD, xWR0000ns
HFIWR
Deasserted
Switching Characteristic:
t
FLAG3-0
DFO
FLAG3-0
t
HFO
CLKIN High to FLAG3-0
t
DFOE
t
CLKIN High to FLAG3-0
DFOD
NOTES
*DT = tCK – 50 ns
1
Flag inputs meeting these setup and hold times will affect conditional operations in the next instruction cycle. See the Hardware Configuration chapter of the
ADSP-21020 User’s Manual for additional flag servicing information.
x = PM or DM.
1
Delay from CLKIN High24242424ns
OUT
Hold after CLKIN High5555ns
OUT
Enable1111ns
OUT
Disable24242424ns
OUT
FLAG3-0
FLAG3-0
xRD, xWR
CLKIN
OUT
CLKIN
t
t
t
DFOE
t
SFI
IN
t
DWRFI
FLAG INPUT
DFO
FLAG OUTPUT
t
HFI
t
HFIWR
t
DFO
HFO
t
DFOD
Figure 7. Flags
REV. C
–15–
ADSP-21020
Bus Request/Bus Grant
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHzFrequency Dependency*
ParameterMinMaxMinMax Min Max Min MaxMinMaxUnit
Timing Requirement:
t
HBR
t
SBR
Switching Characteristic:
t
DMDBGL
t
DME
t
DBGL
t
DBGH
NOTES
*DT = tCK – 50 ns.
Memory Interface = PMA23-0, PMD47-0, PMS1-0, PMRD, PMWR, PMPAGE, DMA31-0, DMD39-0, DMS3-0, DMRD, DMWR, DMPAGE.
Buses are not granted until completion of current memory access.
See the Memory Interface chapter of the ADSP-21020 User’s Manual for BG, BR cycle relationships.
BR Hold after CLKIN High0000ns
BR Setup before CLKIN High1815131218 + 5DT/16ns
Memory Interface Disable to BG Low –2–2–2–2ns
CLKIN High to Memory Interface
Enable2520161525 + DT/2ns
CLKIN High to BG Low22222222ns
CLKIN High to BG High22222222ns
CLKIN
BR
MEMORY
INTERFACE
BG
t
HBR
t
SBR
t
DBGL
t
DMDBGL
t
HBR
t
SBR
t
DME
t
DBGH
Figure 8. Bus Request/Bus Grant
–16–
REV. C
ADSP-21020
External Memory Three-State Control
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMaxMin Max Min Max MinMaxUnit
Timing Requirement:
t
xTS, Setup before CLKIN High14501240103393014 + DT/4 t
STS
t
DADTS
t
DSTS
xTS Delay after Address, Select2819131028 + 7DT/8ns
xTS Delay after XRD, XWR Low16117616 + DT/2ns
CK
Switching Characteristic:
Memory Interface Disable before
t
DTSD
CLKIN High0–2–4–5DT/4ns
t
xTS High to Address, Select Enable0000ns
DTSAE
NOTES
*DT = tCK – 50 ns.
xTS should only be asserted (low) during an active memory access cycle.
Memory Interface = PMA23-0, PMD47-0, PMS1-0, PMRD, PMWR, PMPAGE, DMA31-0, DMD39-0, DMS3-0, DMRD, DMWR, DMPAGE.
Address = PMA23-0, DMA31-0. Select = PMS1-0, DMS3-0.
x = PM or DM.
CLKIN
ns
PMTS, DMTS
xRD, xWR
ADDRESS,
SELECTS
DATA
t
STS
t
DADTS
t
DSTS
t
DTSD
t
DTSAE
Figure 9. External Memory Three-State Control
t
STS
REV. C
–17–
ADSP-21020
Memory Read
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependence*
ParameterMinMaxMinMaxMin Max Min Max MinMaxUnit
Timing Requirement:
t
Address, Select to Data Valid3727201737 + DTns
DAD
xRD Low to Data Valid2418131124 + 5DT/8ns
t
DRLD
Data Hold from Address, Select0000ns
t
HDA
t
Data Hold from xRD High–1–1–1–1ns
HDRH
xACK Delay from Address271812927 + 7DT/8ns
t
DAAK
xACK Delay from xRD Low15106515 + DT/2ns
t
DRAK
t
xACK Setup before CLKIN High141210914 + DT/4ns
SAK
xACK Hold after CLKIN High0000ns
t
HAK
Switching Characteristic:
t
Address, Select to xRD Low84208 + 3DT/8ns
DARL
xPAGE Delay from Address, Select1111ns
t
DAP
CLKIN High to xRD Low162613241222112116 + DT/4 26 + DT/4ns
t
DCKRL
t
xRD Pulse Width2620151326 + 5DT/8ns
RW
t
xRD High to xRD, xWD Low171311917 + 3DT/8
RWR
NOTES
*DT = tCK – 50 ns
x = PM or DM; Address = PMA23-0, DMA31-0; Data = PMD47-0, DMD39-0; Select = PMS1-0, DMS3-0.
ns
–18–
REV. C
CLKIN
ADDRESS,
SELECT
DMPAGE,
PMPAGE
DMRD,
PMRD
DATA
DMACK,
PMACK
DMWR,
PMWR
t
DAP
t
DCKRL
t
DARL
t
DAAK
t
DRAK
t
DAD
t
DRLD
ADSP-21020
t
RW
t
HDA
t
HDRH
t
t
SAK
t
HAK
RWR
Figure 10. Memory Read
REV. C
–19–
ADSP-21020
Memory Write
K/B/T Grade K/B/T GradeB/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMaxMin MaxMin Max MinMaxUnit
Timing Requirement:12
t
xACK Delay from Address, Select27186927 + 7DT/8 ns
DAAK
xACK Delay from xWR Low151010515 + DT/2ns
t
DWAK
xACK Setup before CLKIN High14120914 + DT/4ns
t
SAK
t
xACK Hold after CLKIN High000ns
HAK
Switching Characteristic:
t
Address, Select to xWR Deasserted3728211837+ 15DT/16ns
DAWH
t
Address, Select to xWR Low1175311 + 3DT/8ns
DAWL
xWR Pulse Width2620161526 + 9DT/16ns
t
WW
Data Setup before xWR High2318141323 + DT/2ns
t
DDWH
t
Address, Select Hold after xWR
DWHA
Deasserted10001 + DT/16ns
Data Hold after xWR Deasserted10–1–1–1DT/16ns
t
HDWH
t
xPAGE Delay from Address, Select1111ns
DAP
CLKIN High to xWR Low162613241222112116 + DT/4 26 + DT/4ns
t
DCKWL
xWR High to xWR or xRD Low171310817 + 7DT/16ns
t
WWR
t
Data Disable before xWR or xRD
DDWR
Low1397513 + 3DT/8ns
t
xWR Low to Data Enabled0–1–1–1DT/16ns
WDE
NOTES
*DT = tC – 50 ns
See “System Hold Time Calculation” in “Test Conditions” section for calculating hold times given capacitive and DC loads.
x = PM or DM; Address = PMA23-0, DMA31-0; Data = PMD47-0, DMD39-0; Select = PMS1-0, DMS3-0.
–20–
REV. C
CLKIN
ADDRESS,
SELECT
DMPAGE,
PMPAGE
DMWR,
PMWR
t
DAP
t
DCKWL
t
DAWL
t
WDE
t
DAWH
t
WW
t
DDWH
t
DWHA
ADSP-21020
t
WWR
t
HDWH
DATA
DMACK,
PMACK
DMRD,
PMRD
t
DAAK
t
DWAK
t
SAK
Figure 11. Memory Write
t
HAK
t
DDWR
REV. C
–21–
ADSP-21020
IEEE 1149.1 Test Access Port
K/B/T Grade K/B/T Grade B/T GradeK Grade
20 MHz25 MHz30 MHz33.3 MHz Frequency Dependency*
ParameterMinMaxMinMaxMin Max Min Max MinMaxUnit
Timing Requirement:
t
TCK Period50403330t
TCK
TDI, TMS Setup before TCK High5555ns
t
STAP
t
TDI, TMS Hold after TCK High6666ns
HTAP
System Inputs Setup before TCK High 7777ns
t
SSYS
System Inputs Hold after TCK High9999ns
t
HSYS
t
TRST Pulse Width200160132120ns
TRSTW
CK
Switching Characteristic:
t
TDO Delay from TCK Low15151515ns
DTDO
t
System Outputs Delay from TCK Low26262626ns
DSYS
NOTES
*DT = tC – 50 ns
System Inputs = PMD47-0, PMACK, PMTS, DMD39-0, DMACK, DMTS, CLKIN, IRQ3 0, RESET, FLAG3-0, BR.
System Outputs = PMA23-0, PMS1-0, PMRD, PMWR, PMD47-0, PMPAGE, DMA31-0, DMS1-0, DMRD, DMWR, DMD39-0, DMPAGE, FLAG3-0, BG,
TIMEXP.
See the IEEE 1149.1 Test Access Port chapter of the ADSP-21020 User’s Manual for further detail.
ns
–22–
REV. C
TCK
t
ADSP-21020
TCK
TMS,TDI
TDO
SYSTEM
INPUTS
SYSTEM
OUTPUTS
t
SSYS
t
STAP
t
HTAP
t
DTDO
t
HSYS
t
DSYS
Figure 12. IEEE 1149.1 Test Access Port
REV. C
–23–
ADSP-21020
TO
OUTPUT
PIN
50pF
*
+1.5V
*
AC TIMING SPECIFICATIONS ARE CALCULATED FOR 100pF
DERATING ON THE FOLLOWING PINS: PMA23–0, PMS1–0, PMRD,
PMWR, PMPAGE, DMA31–0, DMS3–0, DMRD, DMWR, DMPAGE
I
OH
I
OL
TEST CONDITIONS
Output Disable Time
Output pins are considered to be disabled when they stop
driving, go into a high-impedance state, and start to decay from
their output high or low voltage. The time for the voltage on the
bus to decay by ∆V is dependent on the capacitive load, C
the load current, I
. It can be approximated by the following
L
equation:
∆V
C
t
DECAY
The output disable time (t
t
MEASURED
t
MEASURED
and t
as shown in Figure 13. The time
DECAY
) is the interval from when the reference signal
DIS
L
=
I
L
) is the difference between
switches to when the output voltage decays ∆V from the
measured output high or output low voltage. t
calculated with ∆V equal to 0.5 V, and test loads C
DECAY
L
Output Enable Time
Output pins are considered to be enabled when they have made
a transition from a high-impedance state to when they start
driving. The output enable time (t
) is the interval from when
ENA
a reference signal reaches a high or low voltage level to when the
output has reached a specified high or low trip point, as shown
in the Output Enable/Disable diagram. If multiple pins (such as
the data bus) are enabled, the measurement value is that of the
first pin to start driving.
Example System Hold Time Calculation
To determine the data output hold time in a particular system,
first calculate t
using the above equation. Choose ∆V to be
DECAY
the difference between the ADSP-21020’s output voltage and
the input threshold for the device requiring the hold time. A
typical ∆V will be 0.4 V. C
data line), and I
is the total leakage or three-state current (per
L
data line). The hold time will be t
disable time (i.e. t
HDWD
is the total bus capacitance (per
L
plus the minimum
DECAY
for the write cycle).
is
and IL.
, and
L
Figure 14. Equivalent Device Loading For AC
Measurements (Includes All Fixtures)
INPUT OR
OUTPUT
1.5V
1.5V
Figure 15. Voltage Reference Levels For AC
Measurements (Except Output Enable/Disable)
REFERENCE
SIGNAL
t
DIS
V
OH (MEASURED)
OUTPUT
V
OL (MEASURED)
OUTPUT STOPS DRIVING
t
DECAY
t
MEASURED
V
OH (MEASURED)
V
OL (MEASURED)
HIGH-IMPEDANCE STATE. TEST CONDITIONS
CAUSE THIS VOLTAGE LEVEL TO BE
APPROXIMATELY 1.5 V.
Output delays are based on standard capacitive loads: 100 pF
on address, select, page and strobe pins, and 50 pF on all others
(see Figure 14). For different loads, these timing parameters
should be derated. See the Hardware Configuration chapter of
the ADSP-21020 User’s Manual for further information on
derating of timing specifications.
Figures 16 and 17 show how the output rise time varies with
capacitance. Figures 18 and 19 show how output delays vary
with capacitance. Note that the graphs may not be linear outside
the ranges shown.
Figure 19. Typical Output Delay or Hold vs. Load
Capacitance (at Maximum Case Temperature)
175
200
π
REV. C
–25–
ADSP-21020
ENVIRONMENTAL CONDITIONS
The ADSP-21020 is available in a Ceramic Pin Grid Array
(CPGA). The package uses a cavity-down configuration which
gives it favorable thermal characteristics. The top surface of the
package contains a raised copper slug from which much of the
die heat is dissipated. The slug provides a surface for mounting
a heat sink (if required).
The commercial grade (K grade) ADSP-21020 is specified for
operation at T
of 0°C to +70°C. Maximum T
AMB
CASE
(case
temperature) can be calculated from the following equation:
T
CASE=TAMB
where PD is power dissipation and θ
+ PD ×θ
()
CA
is the case-to-ambient
CA
thermal resistance. The value of PD depends on your
application; the method for calculating PD is shown under
“Power Dissipation” below. θ
varies with airflow and with the
CA
presence or absence of a heat sink. Table IX shows a range of
θ
values.
CA
Table IX. Maximum θCA for Various Airflow Values
Airflow (Linear ft./min.) 0100200300
CPGA with No Heat Sink 12.8°C/W 9.2°C/W 6.6°C/W 5.5°C/W
NOTES
θJC is approximately 1°C/W.
Maximum recommended TJ is 130°C.
As per method 1012 MIL-STD-883. Ambient temperature: 25°C. Power:
3.5 W.
Power Dissipation
Total power dissipation has two components: one due to
internal circuitry and one due to the switching of external
output drivers. Internal power dissipation is dependent on the
instruction execution sequence and the data values involved.
Internal power dissipation is calculated in the following way:
P
INT
= I
DDIN
3 V
DD
The external component of total power dissipation is caused by
the switching of output pins. Its magnitude depends on:
1) the number of output pins that switch during each cycle (O),
2) the maximum frequency at which they can switch (f),
3) their load capacitance (C), and
4) their voltage swing (V
DD
).
It is calculated by:
P
= O 3 C 3 V
EXT
DD
2
3 f
The load capacitance should include the processor’s package
capacitance (C
). The switching frequency includes driving the
IN
load high and then back low. Address and data pins can drive
high and low at a maximum rate of 1/(2t
can switch every cycle at a frequency of 1/t
at 1/(2t
), but 2 DM and 2 PM selects can switch on each
CK
). The write strobes
CK
. Select pins switch
CK
cycle. If only one bank is accessed, no select line will switch.
Example:
Estimate P
A system with one RAM bank each of PM (48 bits) and DM
•
with the following assumptions:
EXT
(32 bits).
32K 3 8 RAM chips are used, each with a load of 10 pF.
•
Single-precision mode is enabled so that only 32 data pins can
•
switch at once.
PM and DM writes occur every other cycle, with 50% of the
•
pins switching.
The instruction cycle rate is 20 MHz (tCK = 50 ns) and
•
V
= 5.0 V.
DD
The P
equation is calculated for each class of pins that can
EXT
drive:
Pin#%
TypePins Switch 3 C3 f3 V
DD
2
P
EXT
PMA155068 pF 5 MHz25 V0.064 W
PMS2068 pF 5 MHz25 V0.000 W
PMWR1—68 pF 10 MHz 25 V0.017 W
PMD325018 pF5 MHz25 V0.036 W
DMA155048 pF5 MHz25 V0.045 W
DMS2048 pF 5 MHz25 V0.000 W
DMWR1—48 pF 10 MHz 25 V0.012 W
DMD325018 pF 5 MHz25 V0.036 W
P
=0.210 W
EXT
A typical power consumption can now be calculated for this
situation by adding a typical internal power dissipation:
P
TOTAL
= P
+ (5 V 3 I
EXT
(typ)) = 0.210 + 1.15
DDIN
= 1.36 W
Note that the conditions causing a worst case P
from those causing a worst case P
. Maximum P
INT
are different
EXT
cannot
INT
occur while 100% of the output pins are switching from all ones
to all zeros. Also note that it is not common for a program to
have 100% or even 50% of the outputs switching simultaneously.
Power and Ground Guidelines
To achieve its fast cycle time, including instruction fetch, data
access, and execution, the ADSP-21020 is designed with high
speed drivers on all output pins. Large peak currents may pass
through a circuit board’s ground and power lines, especially
when many output drivers are simultaneously charging or
discharging their load capacitances. These transient currents can
cause disturbances on the power and ground lines. To minimize
these effects, the ADSP-21020 provides separate supply pins for
its internal logic (IGND and IVDD) and for its external drivers
(EGND and EVDD).
To reduce system noise at low temperatures when transistors
switch fastest, the ADSP-21020 employs compensated output
drivers. These drivers equalize slew rate over temperature
extremes and process variations. A 1.8 kΩ resistor placed
between the RCOMP pin and EVDD (+5 V) provides a
reference for the compensated drivers. Use of a capacitor
(approximately 100 pF), placed in parallel with the 1.8 kΩ
resistor, is recommended.
–26–
REV. C
All GND pins should have a low impedance path to ground. A
BOTTOM
VIEW
2.435
(61.9)
0.6
(15.2)
0.92
(23.4)
RIBBON
CABLE
ALL DIMENSIONS IN INCHES AND (mm)
0.590
(15.0)
2.435 (61.9)
0.2 (5.1)
0.128 (3.25)
0.408 (10.4)
RIBBON CABLE LENGTH = 60.0 INCHES
ground plane is required in ADSP-21020 systems to reduce this
impedance, minimizing noise.
The EVDD and IVDD pins should be bypassed to the ground
plane using approximately 14 high-frequency capacitors (0.1 µF
ceramic). Keep each capacitor’s lead and trace length to the
pins as short as possible. This low inductive path provides the
ADSP-21020 with the peak currents required when its output
drivers switch. The capacitors’ ground leads should also be
short and connect directly to the ground plane. This provides a
low impedance return path for the load capacitance of the
ADSP-21020’s output drivers.
If a V
plane is not used, the following recommendations
DD
apply. Traces from the +5 V supply to the 10 EVDD pins
should be designed to satisfy the minimum V
while carrying average dc currents of [I
EVDD pins per trace)]. I
is the calculated external supply
DDEX
DDEX
specification
DD
/10 3 (number of
current. A similar calculation should be made for the four
IVDD pins using the I
specification. The traces connecting
DDIN
+5 V to the IVDD pins should be separate from those connecting to the EVDD pins.
A low frequency bypass capacitor (20 µF tantalum) located near
the junction of the IVDD and EVDD traces is also recommended.
Target System Requirements For Use Of EZ-ICE Emulator
The ADSP-21020 EZ-ICE uses the IEEE 1149.1 JTAG test
access port of the ADSP-21020 to monitor and control the
target board processor during emulation. The EZ-ICE probe
requires that CLKIN, TMS, TCK,
TRST, TDI, TDO, and
GND be made accessible on the target system via a 12-pin
connector (pin strip header) such as that shown in Figure 20.
The EZ-ICE probe plugs directly onto this connector for
chip-on-board emulation; you must add this connector to your
target board design if you intend to use the ADSP-21020
EZ-ICE. Figure 21 shows the dimensions of the EZ-ICE probe;
be sure to allow enough space in your system to fit the probe
onto the 12-pin connector.
KEY (NO PIN 1)
BTMS
X
CLKIN
TMS
ADSP-21020
Figure 21. EZ-ICE Probe
The 12-pin, 2-row pin strip header is keyed at the Pin 1 location
–you must clip Pin 1 off of the header. The pins must be 0.025
inch square and at least 0.20 inch in length. Pin spacing is
0.1 3 0.1 inches.
The tip of the pins must be at least 0.10 inch higher than the
tallest component under the probe to allow clearance for the
bottom of the probe. Pin strip headers are available from
vendors such as 3M, McKenzie, and Samtec.
The length of the traces between the EZ-ICE probe connector
and the ADSP-21020 test access port pins should be less than 1
inch. Note that the EZ-ICE probe adds two TTL loads to the
CKIN pin of the ADSP-21020.
The BMTS, BTCK,
that the test access port can also be used for board-level testing.
When the connector is not being used for emulation, place
jumpers between the BXXX pins and the XXX pins as shown in
Figure 20. If you are not going to use the test access port for
board test, tie
VDD. The
up (through
TRST pin must be asserted (pulsed low) after power
BTRST on the connector) or held low for proper
operation of the ADSP-21020.
BTRST, and BTDI signals are provided so
BTRST to GND and tie or pull up BTCK to
Figure 20. Target Board Connector for EZ-ICE Emulator
(Jumpers In Place)