For additional information, contact your Microelectronics Group Account Manager or the following:
INTERNET:
E-MAIL:
N. AMERICA: Microelectronics Group, Lucent Technologies Inc., 555 Union Boulevard, Room 30L-15P-BA, Allentown, PA 18103
ASIA PACIFIC: Microelectronics Group, Lucent Technologies Singapore Pte. Ltd., 77 Science Park Dr ive, #03-18 Cintech III, Singapore 118256
CHINA:Microelectronics Group, Lucent Technologies (China) Co., Ltd., A-F2, 23/F, Zao Fong Universe Buildi ng, 1800 Zhong Shan Xi Road,
JAPAN:Microelectronics Group, Lucent Technologies Japan Ltd., 7-18, Higashi-Gotanda 2-chome, Shinagawa-ku, Tokyo 141, Japan
EUROPE:Data Requests: MICROELECTRONICS GROUP DATALINE:
Lucent Technologies Inc. reserves the rig ht to mak e changes to the product(s) or i nformat ion cont ained herein without notice. No liability is ass um ed as a res ult of th eir use or a ppli catio n. N o
rights under any patent accompany the sale of any such produc t(s) or information.
The following Lucent Technologies Inc. trademarks are used in this manual:
Tapdance®FlashDSP
The following trademarks, owned by entities other than Lucent Technologies Inc., are used in this manual:
IEEE
is a registered trademark of The Institute of Electrical and Electronics Engineers, Inc.
Intel
is a registered trademark of Intel Corporation.
Motorola
MS-DOS
TI
UNIX
X-Windows
is a registered trademark of Motorola, Inc.
and
Windows
is a registered trademark of Texas Instruments, Inc.
is a registered trademark licensed exclusively through X/Open Company Ltd.
is a trademark of Massachusetts Institute of Technology.
®
are registered trademarks of Microsoft Corporation.
iiDRAFT COPYLucent Technologies Inc.
Foreword
This manual contains detailed information on the design and application of the DSP1611/17/18/27/28/29 Digital
Signal Processor family, which includes the
FlashDSP
DSP1628-ST, and DSP1629-ST support software libraries, the
numerous DSP1611/17/18/27/28/29-specific hardware support tools are also available to aid in developing software and integrating the devices into systems.
Additional information on the digital signal processor product line is available in the form of manuals, data sheets,
and application notes.
1629 development devices. The DSP1611-ST, DSP1618-ST, DSP1617-ST, DSP1627-ST,
FlashDSP
®
1618,
FlashDSP
FlashDSP
1627,
FlashDSP
1600-HDS Development System, and
1628, and
Conventions Used in this Manual
In general, all registers writable or readabl e by DSP instructions are low er case. D e vice flags , I/O pins, and nonprogram-accessible registers are generally upper case. For clarity, register names and DSP instructions are printed in
boldface
cized, such as
when used in written descriptions. Variable names that are to be replaced by specific names are itali-
filename
. Instruction set notation conventions are defined in Chapter 4.
➤ 11 The JTAG Test Access Port....................................................................................................................... 11-1
➤11.1 Overview of the JTAG Architecture ................................................................................................. 11-1
➤11.2 Overview of the JTAG Instructions.................................................................................................. 11-3
➤11.3 Elements of the JTAG Test Logic .................................................................................................... 11-4
➤11.3.1 The Test Access Port (TAP) ............................................................................................. 11-4
➤11.3.2 The TAP Controller ........................................................................................................... 11-5
➤11.3.3 The Instruction Register—JIR .......................................................................................... 11-7
➤11.3.4 The Boundar y-Scan Register—JBSR .............................................................................. 11-8
➤11.3.5 The Bypass R egister— JBPR ......................................................................................... 11-16
➤11.3.6 The Device Identification Register—JIDR ...................................................................... 11-16
➤11.3.7 The JTAG Data Register—jtag ...................................................................................... 11-19
viiLucent Technologies Inc.
➤11.3.8 The JTAG Control R egister— JCON ............................................................................... 11-19
➤11.3.9 The JTAG Output S tage—JOUT .................................................................................... 11-19
➤11.4 The JTAG Instruction Set.............................................................................................................. 11-19
➤11.4.1 The EXTEST Instruction ................................................................................................ 11-19
➤11.4.2 The INTEST Instruction ................................................................................................. 11-19
➤11.4.3 The SAMPLE Instruction ................................................................................................ 11-20
➤11.4.4 The BYPASS Instruction ................................................................................................ 11-20
➤11.4.5 The IDCOD E Ins truction ................................................................................................ 11-20
➤ 13 Bit Manipulation Unit (BMU ) ...................................................................................................................... 13-1
➤15.2 Signal Descriptions......................................................................................................................... 15-5
➤15.2.1 System Interface .............................................................................................................. 15-5
➤15.4.2 ROM Secur ity Options (DSP1617/18/27/28/29 Only) .................................................... 15-14
➤15.5 Additional Electrical Characteristics and Requirements for Crystal.............................................. 15-15
➤ A Instruction Encoding....................................................................................................................................A-1
➤ B Instruction Set Summary.............................................................................................................................B-1
➤if CON goto/call/return................................................................................................................................ B-3
➤do K {.......................................................................................................................................................... B-6
➤R = Y ........................................................................................................................................................ B-13
➤Y = R ........................................................................................................................................................ B-14
➤*(OFFSET) = DR ...................................................................................................................................... B-17
➤if CON F2 ................................................................................................................................................. B-18
➤ifc CON F2................................................................................................................................................ B-19
➤F1 Y ....................................................................................................................................................... B-20
➤F1 Y = a0[l] ............................................................................................................................................ B-22
➤F1 Y = a1[l] ............................................................................................................................................ B-22
➤F1 x = Y ................................................................................................................................................. B-24
➤F1 y = Y x = *pt++[i] ............................................................................................................................ B-28
➤F1 y = a0 x = *pt++[i]........................................................................................................................... B-30
➤F1 y = a1 x = *pt++[i]........................................................................................................................... B-30
➤F1 aT[l] = Y ............................................................................................................................................ B-32
➤F1 Y = y[l]............................................................................................................................................... B-34
➤F1 Z : y[l]................................................................................................................................................ B-36
ixLucent Technologies Inc.
Information Manual
April 1998
DSP160X DIGITAL SIGNAL PROCESSOR
➤F1 Z : aT[l] ............................................................................................................................................. B-38
➤F1 Z : y x = *pt++[i].............................................................................................................................. B-40
➤aD = aS OP aT......................................................................................................................................... B-42
➤aD = aS OP p........................................................................................................................................... B-43
➤aD = aS<h,l> OP IM16............................................................................................................................. B-44
➤aD = a SHIFT aS ................................................................................................................................... B-46
S
➤aD = aS SHIFT arM.................................................................................................................................. B-47
➤aD = aS SHIFT IM16................................................................................................................................ B-48
➤ Table A-6.DR Field ...................................................................................................................................... A-5
➤ Table A-7.F1 Field ....................................................................................................................................... A-6
➤ Table A-8.F2 Field ....................................................................................................................................... A-6
➤ Table A-9.F3 Field ....................................................................................................................................... A-7
➤ Table A-10. I Field .......................................................................................................................................... A-7
➤ Table A-11. R Field for DSP1617................................................................................................................... A-8
➤ Table A-12. R F ield for DSP1611/18/27/28/29 ............................................................................................... A-8
➤ Table A-13. S Field......................................................................................................................................... A-9
➤ Table A-14. SI Field........................................................................................................................................ A-9
➤ Table A-17. X Field....................................................................................................................................... A-10
➤ Table A-18. Y Field....................................................................................................................................... A-10
➤ Table A-19. Z Field ....................................................................................................................................... A-10
➤ Table B-1.CON Field Encoding ................................................................................................................... B-3
➤ Table B-2.R Field Replacement Values....................................................................................................... B-8
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998
1 Introduction
Designed specifically for applications requiring low-power dissipation in digital cellular systems, the DSP1611,
DSP1617, DSP1618, DSP1618x24
4
DSP1629x16
are signal coding devices that can be programmed to perform a wide variety of fixed-point signal
1
, DSP1627, DSP1627x322, DSP1628x083, DSP1628x163, DSP1629x104, and
processing functions. The de vices are based on the DSP1600 core with a bit manipulation unit for enhanced signal
coding efficiency. The DSP1611/17/18/27/28/29 include a mix of peripherals specifically intended to support processing-intensive, but cost-sensitive, applications in the ar ea of digital mobile c ommunicat ions . The features of the
DSP1611/17/18/27/28/29 are as follows:
Optimized for digital cellular applications with a bit manipulation unit for higher signal coding efficiency
Multiple speed and operating voltage options
Low power consumption
Flexible power management modes
— Standard sleep
— Sleep with slow internal clock
— Hardware STOP pin halts DSP
Multiple packaging options available including low-profile TQFP and BQFP packaging
Multiple mask-programmable clock options
Single-cycle squaring
16 x 16-bit multiplication and 36-bit accumulation in one instruction cycle
Instruction cache for high-speed, program-efficient, zero-overhead looping
Memory sequencer for single-instruction access to both X and Y external memory space
Two external vectored interrupts and trap
Flexible internal ROM and internal dual-port RAM configurations
Dual serial I/O ports with multiprocessor capability—16-bit data channel, 8-bit protocol channel
8-bit parallel interface
8-bit control I/O interface
256 memory-mapped I/O por ts, one internally decoded for glueless device interfacing
Interrupt timer
CMOS I/O levels
IEEE
5 P1149.1 test port (JTAG with boundary-scan)
Full-speed in-circuit emulation hardware development system on-chip
Supported by DSP1611/17/18/27/28/29 software and hardware development tools
Each device also includes specific features for specialized applications
— Error correction coprocessor (ECCP) in DSP1618/28
— On-chip phase-lock loop (PLL) in DSP1627/28/29
— Bootstrap ROM in DSP1611
This manual is a user's reference guide for the DSP1611/17/18/27/28/29.
1.The DSP1618x24 is basically the same as the DSP1618. They differ in the amount of internal ROM memory and X-memory mapping (see
Table 3-11, Section 3.2.2, X-Memory Space). Discussion of the DSP1618 also refers to the DSP1618x24 except if noted otherwise.
2.The DSP1627x32 is basically the same as the DSP1627. They differ in the amount of internal ROM memory and X-memory mapping (see
Table 3-12, Section 3.2.2, X-Memory Space). Discussion of the DSP1627 also refers to the DSP1627x32 except if noted otherwise.
3.The DSP1628x08 and DSP1628x16 differ only in the size of internal dual-port RAM. Discussion of the DSP1628 refers to both the
DSP1628x08 and DSP1628x16 except if noted otherwise.
4.The DSP1629x10 and DSP1629x16 differ only in the size of internal dual-port RAM. Discussion of the DSP1629 refers to both the
DSP1629x10 and DSP1629x16 except if noted otherwise.
5. IEEE is a registered trademark of The Institute of Electr ical and Electronics Engineers, Inc.
Lucent Technologies Inc.
DRAFT COPY
1-1
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
IntroductionApril 1998
1.1 General Description
1.1.1 Architecture
The DSP1611, DSP1617, DSP1618, DSP1627, DSP1628, and DSP1629 ar e made up of the DSP1600 core processor, a dual-port RAM, ROM, and several peripheral blocks. The core contains the data arithmetic unit, the
memory addressing units, the cache, and the control section.
The data arithmetic unit (DAU) is the main computational execution unit of the processor. It supports a 16-bit x
16-bit multiply, a 36-bit ALU operation, and two 16-bit data fetches from memory in a single instruction cycle. The
DA U is made up of two input data registers, the multiplier, two accumulators , the ALU, and various control registers.
The product from the multiplier can be acc umulated i n one of the two 36- bit accum ulators . The data in these accumulators can be directly loaded from or st ored to memory in 16-bit words . The ALU supports a full set of arithmetic
and logic operations on either 16- or 32-bit data. Because a standard set of ALU conditions can be tested to perform conditional branches and subroutine calls, the processor functions as a powerful 16-bit or 32-bit microprocessor for logical and control applications.
A bit manipulation unit (BMU) is provided to accelerate signal coding algorithms. It performs full 36-bit barrel shifting, normalization, and bit field extraction or insertion of data in the accumulators. Two alternate accumulators provide storage for 36-bit data.
An on-chip cache memory can selectively store repetitive operations like those found in an FIR or IIR filter section.
The code in the cache can repeat up to 127 times with no looping overhead. In addition, operations in the cache
that require an X-memory data access (for example, reading fixed coefficients) execute at twice the normal rate.
The cache greatly reduces the need for writing in-line repetitive code and, therefore, reduces program memory size
requirements. In addition, power consumption is reduced because use of the cache eliminates a memory access
for instruction fetches.
Two addressing units support high-speed, register-indirect memory addressing with postincrementing of the register. Four address pointer registers can be used for either read or write addresses to the RAM. One address register is dedicated to the instruction/coefficient memory space for table look-up. Direct data addressing is supported
for 16 k ey register s . A unique compound addressing mode that s w aps data between a r egister and memory in only
two instruction cycles is available. Immediate addressing can be done by using a 9-bit address in a one-cycle
instruction or a 16-bit address in a two-cycle instruction.
The DSP1611/17/18/27/28/29 on-chip memory includes both ROM and dual-port RAM. The RAM has separate
ports to the instruction/coefficient bus and the data bus, and it can write either bus. A program can be downloaded
from slow off-chip memory into the RAM and then e xecuted at full-speed without wait-states. The RAM can also be
downloaded through the JTAG interface for full-speed, remote, in-circuit emulation or for self-test.
The external memory interface (EMI) connects either the instruction/coefficient buses or the data buses to the
external memory buses. The bit input/output (BIO) unit has eight pins that can be individually selected as inputs or
outputs. The timer provides programmable peri odic interrupts. The JTAG interface is a four- wire standard test port
defined by
pointing and branch tracing in support of full-speed, in-circuit emulation with only the low-speed serial JTAG interface required off-chip.
The DSP1611/17/18/27/28/29 have both a paral lel I/O port (PIO or PHIF) and two serial I/O ports (SIO). The serial
I/O units are double-buff er ed and easily interf ac e to other DSP1600 f amily de vices , commerci ally available codecs,
and time-division multiple xed (TDM) channels with few, i f any, additional components. Both ports connect as many
as eight DSPs in multiprocessor operation. The parallel I/O unit is capable of interfacing to an 8-bit bus containing
other DSP1600 family devices, microprocessors, microprocessor peripherals, or other I/O devices.
IEEE
P1149.1. On-chip hardware development system (HDS) circuitry performs instruction break-
1-2
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Introduction
1.1 General Description (continued)
1.1.1 Architecture
(continued)
Many applications , suc h as portabl e c ellular terminals, requi re programmable sleep modes f or po w er management.
There are three different control mechanisms for achieving low-power operation: the
STOP pin, and the AWAIT bit in the
alf
register. The
powerc
register configures various power-saving modes by
powerc
control register
,
the
controlling internal clocks and peripheral I/O units. The STOP pin controls the internal processor clock. The
AWAIT bit in the
alf
register allows the processor to go into a power-saving standby mode until an interrupt occurs.
The external interrupts asynchronously restart the processor from a deep sleep power-saving mode, and program
execution continues without any loss of state. The various power management options are chosen based on
power consumption, wake-up latency, or both requirements.
The DSP1611/17/18/27/28/29 are implemented in low-power CMOS technology and are offered in a variety of
packaging options . For optimal matching to system requirements, sev eral opt ions for low -voltage po wer supply and
clock speeds are available. See the latest data sheet for the current offerings.
1.1.2 Instruction Set
The DSP1611/17/18/27/28/29 instructions fall into seven categories: multiply/ALU, special function, control, data
move , F3 ALU , BMU , and cache. All instructions are 16 bits wide and hav e a C-lik e assemb ler syntax . Instructions
typically execute in one or sometimes two cycles, and data-path latency effects have been eliminated. Very high
performance is achieved by the use of concurrent instructions in the DAU.
1.2 Typical Applications
The devices in the DSP16XX1 family of digital signal processors are used in many different application areas
including telecommunications, speech processing, image processing, graphics, array processors, robotics, studio
electronics, instrumentation, and military applications. Some of the possible applications follow:
TELECOMMUNICATIONS
Mobile CommunicationsSpeech coding, modulation/demodulation, channel coding/decoding
ModemsEcho cancellation, filtering, error correction and detection
PBXTone detection, tone generation, MF, DTMF
SwitchesTone detection, tone generation, line testing
Answering MachinesSpeech coding/decoding, system control
EntertainmentSpeech coding/decoding
Educational—
Many of these applications can use standard algorithms that have been designed to reduce computational and
data transfer requirements for these DSPs. These algorithms have been coded in DSP1600 assembly language
and are available to registered users via Lucent’s DSP tech support web page at
http://www.lucent.com/micro/wam/tse
.
1.3 Application Support
The use of the DSP1611/17/18/27/28/29-ST Support Tools and the DSP1600-HDS Hardware Development System aids application development.
1.3.1 Support Software Library
Software development tools to help create, test, and debug DSP1611/17/18/27/28/29 application programs are
available from the Lucent Technologies’ appropriate support software library for the particular device. Each support software library consists of an assembler, linker, and software simulator that run on
3
DOS
operating systems. The software includes a menu driven,
Windows
3
based, graphical user interface.
The assembler transforms DSP1611/17/18/27/28/29 source code into object code in a standard format (COFF)
that is then processed by the linker. The assembler contains a preprocessor similar to the C preprocessor and provides the features of a ful l macr o ass emb ler. The linker creates load modules f or the sim ulator b y combi ning objec t
files, performing relocation, resolving external references, and supporting symbol table information for symbolic
testing. The DSP1611/17/18/27/28/29 software simulator provides access to all registers and memory and allows
program breakpointing. The simulator also provides the user interface to the DSP1600 Hardware Development
System.
1.3.2 Hardware Development System
The DSP1600 JTAG communication system (JCS) supports application system hardware development and software testing.
Sun-4
1
,
UNIX
2
, or
MS-
1.
Sun, Sun Microsyste ms
States and other countries.
UNIX
is a reg i stered t radema rk licensed exclusively through X /Open Company Ltd.
2.
MS-DOS
3.
and
Windows
1-4
, the Su n l ogo,
are registered trademarks of the Microsoft Corporation.
SunOS
, and
Solaris
are trademarks or registered trademarks of Sun Microsystems, Inc. in the United
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Introduction
1.3 Application Support (continued)
1.3.2 Hardware Development System
(continued)
Figure 1-1 shows the components of the DSP1600 hardware development system for in-circuit emulation. The PC
is an
MS-DOS
386, 486-based, or better machine. The enhanced system controller card (ESCC) plugs into an
8-bit slot on the PC ISA I/O bus and connects to the enhanced target interface box (ETIB). The ETIB provides a
JTAG interface to the target DSP1611/17/18/27/28/29 device using a 9-pin connector cable. With this configuration, a program can be downloaded into the DSP on the user's board and executed at full speed. The emulation is
performed with the actual DSP located on the user's board, and not one separated from it by a performancelimiting cable. Program development with breakpointing, single-stepping, and branch tracing is available with the
simulator; it is aided by the hardware development system module on the DSP1611/17/18/27/28/29.
ESCC
ESCC – ENHANCED SYSTEM CONTROLLER CARD
ETIB – ENHANCED TARGET INTERFACE BOX
37-PIN CABLE
ETIB
9-PIN CABLE
(JTAG INTERFACE)
TARGET BOARD
POWER
SUPPLY
ac SUPPLY
TARGET BOARD
POWER CABLE
(12.0 V —15.0 V)
Figure 1-1. In-Circuit Emulation with the
FlashDSP
1600—JCS
Another development tool available is the demonstration board (DSP1611/17/18/27/28/29-DEMO). The demonstration board replaces the customer board in Figure 1-1 and provides a development platform with external memory (static RAM or PROM), a DSP1611/17/18/27/28/29 device, and access many DSP signals.
Lucent Technologies Inc.
DRAFT COPY
1-5
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
IntroductionApril 1998
1.4 Manual Organization
This document is a ref erence guide for the DSP1611, DSP1617, DSP1618, DSP1627, DSP1628, and DSP1629. It
describes the architecture, instruction set, and interfacing requirements of the device. The remaining chapters of
this manual are outlined below:
Chapter 2.
Hardware Architecture
ing the major elements of the architecture and how they function.
: An overall description of the device including separate sections describ-
Included are a register view of the chip, arithmetic and precision of data, memory space description, and the interrupt structure.
Instruction Set
Notation and addressing modes are also discussed in detail. Appendix B lists the complete
instruction set and provides a description of each instruction including r estrictions and normal
uses.
Core Architecture
External Memory Interface
Serial I/O
clocking, interrupts, and multiprocessor operation.
ation of this port, including interrupt information.
Bit I/O Unit
JTAG Test Access Port
Timer
: Operation and programming.
Bit Manipulation Unit
Error Correction Coprocessor (DSP1618/28 Only)
: This section describes the general characteristics of the groups of instructions.
: A detailed analysis of the operation of the serial I/O ports including active and passive
: A functional description of the operation and programming of this port.
: A description of the topics associated with the software of the device.
: A detailed description of the DSP1600 core architecture.
: A description of the EMI port including functional timing.
: A detailed analysis of the operation of this parallel I/O port including
: A functional description of the oper-
: Functional description of the JTAG port.
: A detailed description of the bit manipulation unit.
: A detailed description of this coprocessor.
Chapter 15.
Appendix A.
Appendix B.
1-6
Interface Guide
Instruction Encoding
Instruction Set Summary
: A functional description of each category of pins with tables describing pins.
: Lists the hardware-level encoding of the instruction set.
: Each instruction is described in detail.
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Introduction
1.4 Manual Organization (continued)
1.4.1 Applicable Documentation
A variety of documents exists to provide specific information on various members of the DSP1600 product family.
Contact your Lucent Technologies Account Manager for the latest issue of any of the following documents. The
back cover lists contact numbers for customer assistance.
DSP1611/17/18/27/28/29 Digital Signal Processor Information Manual (this manual) is a reference guide for the
DSP1611/17/18/27/28/29. It describes the architecture, instruction set, and interfacing requirements.
DSP1611, DSP1617, DSP1618, DSP1627, DSP1628, and DSP1629 Digital Signal Processor data sheets provide
up-to-date timing requirements and specifications, electrical characteristics, and a summary of the instruction set
and device architecture for each device.
DSP1600 Support Tools Manual
includes the appropriate DSP1611/17/18/27/28/29 supplement that provides the inform ation necessary to install
and use the DSP1611/17/18/27/28/29 support software. The suppor t tools manual is also required if working with
the DSP1600 Hardware Development System because the support software provides an interface between the
host computer and the development system. Each hardware development tool is packed with a user manual and
schematics.
is an online document shipped with DSP1611/17/18/27/28/29 software tools. It
➤2.14 Power Management.........................................................................................................................2-23
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998
2 Hardware Architecture
This chapter presents an overview of the hardware in the DSP1611, DSP1617, DSP1618, DSP1627, DSP1628,
and DSP1629. First, an overall view of the architecture is discussed; then, each major functional block is
described. The following chapters give full details on each block.
2.1 Device Architecture Overview
2.1.1 Harvard Architecture
Figure 2-1 shows a view of a simple operation in the DSP1611/17/18/27/28/29 architecture to demonstrate funda-
mentally how an instruction is processed. The architecture is a Harvard architecture defined as having two separate memory spaces. The first is the instruction/coefficient space or program space that is referred to in this
manual as the X-memory space. The second is the data memory space that is referred to as the Y-memor y
space. Each memory space has a corresponding address arithmetic unit. In the instruction/coefficient memory
space, the progr am addr essi ng unit (XAAU) places addresses on the program address bus (XAB). In this example ,
these addresses go to the internal ROM that, then, places instructions on the program data bus (XDB). The
instructions are decoded in the control block that, in turn, provides control signals to all of the processor sections.
The control signals respond to instructions that, in this example, call for arithmetic operations on data residing in
the RAM. The data addressing unit (YAAU) addresses the RAM over the data address bus (YAB), and data is
transferred between the RAM and data arithmetic unit (DAU) over the data bus (YDB). The power of the architecture lies in the parallel operations that are possible. In this case, instruction processing, data transfer, and arithmetic operations can all be done simultaneously.
ROM
INSTRUCTIONS
16
CONTROL
XAB
16
PROG. COUNTER
PROGRAM
ADDRESS
UNIT
DATA
ADDRESS
UNIT
YAB
16
Figure 2-1. Harvard Architecture
DATA
ARITHMETIC
UNIT
16
YDBXDB
RAM
5-4140
Lucent Technologies Inc.
DRAFT COPY
2-1
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.1 Device Architecture Overview (continued)
2.1.2 Concurrent Operations
Figure 2-2 shows the hardware view of an example of concurrent operations in the de vice. It also demonstrates the
flexibility of the memory spaces. In this example, the progr am is e x ecuti ng from the instruction cache. Instructions
are fed directly to the contr ol section freeing the XAB. The program addressing unit (XAAU) is now addressing one
bank of the dual-port RAM (Bank 1) to transfer variable coefficients between the RAM and the DAU. It could alternatively have been addressing the ROM to transf er fixed coefficients to the DAU . The data addressing unit (YAAU)
is addressing another bank of the dual-port RAM (Bank 4) to transfer data between the RAM and the DAU. Thus,
in one instruction cycle, two words of data can be transferred to the DAU simultaneously during internal calculations in the DAU. In the DAU, a multiplication can occur at the same time as an accumulation of a previous
product. In fact, a multiplication can occur in parallel w i th a variety of ALU operations.
YAAU
YAB
DAU
CACHE
INSTRUCTIONS
DUAL-PORT
RAM
BANK 1
DATA
y REGISTER
YDB
MULTIPLIER
ACCUMULATOR
INTERNAL
BUS
DUAL-PORT
XDB
x REGISTER
RAM
BANK 4
VARIABLE
COEFFICIENTS
CONTROL
XAB
XAAU
5-4141.a
2-2
Figure 2-2. Concurrent Operations in the DSP1611/17/18/27/28/29
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.1 Device Architecture Overview (continued)
2.1.2 Concurrent Operations
(continued)
Table 2-1 shows the sequence of instructions whose operations are described in the previous example. The pipe-
lining of functional operations and data transfers is illustrated. The interpretation of the instructions is as follows:
y
= Y means place the contents of memory space Y in register y. In the actual instruction, Y could be replaced by
*rM++. *rM++ denotes the memory location pointed to by the address in register rM (M = <0—3>) and postincrement the address. Similarly, x = X means place the contents of memory space X in register x. In the actual
instruction, X could be replaced by *pt++. *pt++ denotes the memory location pointed to by the address in the pt
register and postincrement the address.p =
register p.
a0 = a0 + p
means add the value in p to the previous value in accumulator a0. The subscripts are
x*y
means multiply the data in registers x and y and put the result in
attached to indicate the order of the operation and to demonstrate the flow of the results of operations on y and x.
In this example, an accumulation takes place during every instruction cycle b ut there is a delay of three instructions
from the data into the x and y registers to the final accumulation.
Ta ble 2-1. Pipeline Flow for Concurrent Operations
Instruction #AccumulatorMultiplierRegisters
(1)a0
0
= a0–1 + p
(2)a01 = a00 + p
(3)a02 = a01 + p
0
1
2
1
p1 = x
*
p2 = x2 * y
3
p3 = x
*
1
y
2
3
y
y2 = Y2, x2 = X
y3 = Y3, x3 = X
y4 = Y4, x4 = X
2
3
4
The most efficient programs use the parallelism as described above to the fullest extent. The instructions that
allow concurrent operations are the multiply/A LU instructions with their associated data transf ers and are described
in detail in Chapter 4, Instruction Set.
Lucent Technologies Inc.
DRAFT COPY
2-3
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.1 Device Architecture Overview (continued)
2.1.3 Device Architecture
Figures 2-3, 2-4, 2-5, 2-6, 2-7, and 2-8 show the block diagrams for DSP1611, DSP1617, DSP1618, DSP1627,
DSP1628, and DSP1629 processors. The major blocks are the DSP1600 processor core, the memories, the bit
manipulation unit, the external memory interface, the serial input(s)/output(s ), the parallel input/output, the bit I/O,
the JTAG, and the timer.
† These registers are acce ssible through ex t ernal pi ns only.
‡ DSP1628x16 contains a total of 16K x 16 internal RAM, and DSP1628x08 contains a total of 8K x 16 internal RAM.
Figure 2-7. DSP1628 Block Diagram
2-8
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
†These registers are accessible through external pins only.
‡DSP1629x16 contains 16K x 16 in ternal RAM, and DSP1629x10 contains 16K x 10 internal RAM.
Figure 2-8. DSP1629 Block Diagram
Lucent Technologies Inc.
DRAFT COPY
2-9
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.1 Device Architecture Overview (continued)
2.1.3 Device Architecture
Table 2-2. Symbols Used in the Block Diagrams
SymbolName/Description
aa0—aa1Alternate Accumulators
ar0—ar3Auxiliary BMU Registers
BIOBit Input/Output Unit
BMUBit Manipulation Unit
BREAKPOINTFour Instruction Breakpoint Registers
BYPASSJTAG Bypass Register
cbitControl Register for BIO
ECCPError Correction Coprocessor (DSP1618 and DSP1628 only)
earECCP Address Register (DSP1618 and DSP1628 only)
edrECCP Data Register (DSP1618 and DSP1628 only)
eirECCP Instruction Register (DSP1618 and DSP1628 only)
EMUXExternal Memory Multiplexor
HDSHardware Development System
IDJTAG Device Identification Register
IDBInternal Data Bus
iocI/O Configuration Register
JCONJTAG Configuration Register
JTAGStandardized Test Port Defined in
jtag16-bit Serial/Parallel Register
pdx0—pdx7(IN)Parallel I/O Data Transmit Input Registers <0—7>
pdx0—pdx7(OUT) Parallel I/O Data Transmit Output Registers <0—7>
tdms<1, 2>Seri al I/O T ime-division Multiplex Signal Control Registers
TIMERProgrammable Timer
timer0Time Running Count Register
timercTimer Control Register
TRACEProgram Discontinuity
XABProgram Space Address Bus
XDBProgram Space Data Bus
YABData Space Address Bus
YDBData Space Data Bus
DUAL-PORT RAM Internal dual-port R AM (12 Kwords for DSP1611, 4 Kwords for DSP1617
(continued)
(continued)
and DSP1618, 6 Kwords for DSP1627, 8 Kw ords for DSP1628x08,
16 Kwords for DSP1628x16, 10 Kwords f or DSP1629x10, and 16 Kwords for
DSP1629x16)
Lucent Technologies Inc.
DRAFT COPY
2-11
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.1 Device Architecture Overview (continued)
2.1.4 Memory Space and Bank Switching
Table 2-3 describes the two memory spaces.
Table 2-3. Memor y Space
TerminologyAddress
Data (Y) memory space (see Section
3.2.1).
Source
YAAUYABRAM[1:x]
Address
Bus
Memory Segments
Accessed
†
IO
Data Bus
YDB
ERAMLO
ERAMHI
Program or instruction/coefficient (X)
memory space (see Section 3.2.2).
XAAUXAB[RAM1:x]
IROM
†
XDB
EROM
† x = 4 for DSP1617 and DSP1618.
x = 6 for DSP1627.
x = 8 for DSP1628x08.
x = 10 for DSP1629x10.
x = 12 for DSP1611.
x = 16 for DSP1628x16 and DSP1629x16.
There are two memory spaces with separate addressing units, address buses, and data buses. The actual memories associated with the spaces are enabled automatically based on the address. For the data memory space,
either internal dual-port RAM or external memory is used. The external memory is divided into three segments.
The internal dual-port RAM is divided into multiple 1K word banks for DSP1611/17/18/27/28/29. For the program
memory space, either internal ROM, internal dual-port RAM, or external ROM can be addressed. There are
16
= 65,536 addresses in each of the two memory spaces; the total address space for each is divided into seg-
2
ments, and each segment is associated with a physical memor y. The arrangement of the segments is called the
memory map. There is one map for the data memory space, and there are four possible memory maps for the program space. Memory maps are discussed in Section 3.2, Memory Space and Addressing and Section 6.1, EMI
Function.
2-12
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.1 Device Architecture Overview (continued)
2.1.4 Memory Space and Bank Switching
(continued)
The internal dual-port RAM can be accessed in both the Y space and the X space. This RAM is arranged in multi-
ple 1 Kword banks; and as long as the banks accessed are different, simultaneous data and instruction accesses
can be made. If the same bank is accessed from both memory spaces simultaneously, an extra instruction cycle
(one wait-state) is automatically initiated to carry out the transfer. The data transfer is performed first.
It is important to note that the selection of physical memory within a memory space is automatic because it only
depends on choice of address, and no ex tra time is involved to switch banks except in the case of accessing the
same bank of internal RAM just described.
2.1.5 Internal Instruction Pipeline
The internal pipeline of fetch, decode, and execute is hidden from the user. The latencies involved are automati-
cally controlled without external intervention. The following is pr o vided f or information only. The relevant hardware
is shown in Figure 2-9.
X SPACE MEM.
INSTRUCTIONS
XDB
16
XAB
16
PC
XAAU
YDB
DAU
16
CONTROL
DAU
DECODE
AAU
DECODE
YAAU
YAB
16
Figure 2-9. Hardware Block Diagram for Internal Pipeline
RAM
5-4143
Lucent Technologies Inc.
DRAFT COPY
2-13
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.1 Device Architecture Overview (continued)
2.1.5 Internal Instruction Pipeline
(continued)
Table 2-4 illustrates the internal pipeline for single-cycle instructions such as a multiply-ALU instruction involving a
read from RAM to the DAU. Each instruction cycle corresponds to one cycle of the non-wait-stated CKO. The
instructions shown on the XAB bus will appear one phase (1⁄2 an instruction cycle) later on the external memory
address bus.
Ta ble 2-4. Single-Cycle Instruction Internal Pipeline
Instruction
Cycle
11
10——instr
21xaddr
20——
31xaddr
30——instr
41xaddr
40——instr
CKO
Level
XABXDBAAU
DECODE
xaddr
1
2
instr
instr
0
1
instr
3
4
instr
instr
2
3
DAU
YABYDB
DECODE
—instr–1yaddr
0
instr
–1
—data
—instr0yaddr
0
—
1
2
instr
instr
instr
1
1
—data
yaddr
—data
—instr2yaddr
3
instr
2
—
–1
0
1
2
—
—
—
—
data
–2
–1
0
1
The following describes the actions associated with each of the steps shown in bold in Table 2-4.
Instruction
Cycle
11The program counter (PC) places
CKO
Level
Process Description
xaddr
1
on the address bus XA B to prog ram memory
(X space memory).
10The program memory is accessed.
instr
1
21The program memory responds by placing
on the instruction data bus (XDB).
20The AAU decoder decodes the instruction and sets up the YAAU to address the RAM.
yaddr
31The YAAU places
instr
1
decodes
.
30The decoders direct a RAM read of
1
on the address bus YAB to the RAM. Also, the DA U decoder
data
1
to the DAU.
41The RAM is being accessed.
40The RAM places the data on the YDB, and it is loaded into the DAU.
2-14
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.1 Device Architecture Overview (continued)
2.1.5 Internal Instruction Pipeline
(continued)
Table 2-5 illustrates the internal pipeline for a two-cycle fetch from X-memory space by using the pt register and a
concurrent compound read/write of the Y-memory space by using the multiply/ALU instruction:
The following describes the actions associated with each of the steps shown in bold in Table 2-5.
Instruction
Cycle
11The program counter (PC) places
CKO
Level
Process Description
xaddr
1
on the address bus XAB to program memory
(X space memory).
10The program memory is accessed.
instr
21The program memory responds by placing
1
on the instruction data bus (XDB).
20The AAU decoder decodes the instruction, and sets up the YAAU to address the RAM
and the XAAU to place the contents of the pt register on the XAB. The control section
recognizes a two-cycle instruction.
yaddr
1r
31The Y AA U places
instr
1
decodes
. The contents of the pt register (
30The decoder directs a RAM read of
41The data,
coeff
, from the X memor y is transferred to the x register. The
on the address bu s YAB to the RAM. Also, the D AU decoder
ptaddr
) are placed on the XAB.
data
1r
to the DAU. The RAM is accessed.
data
1w
is
transferred to the RAM from the y register.
data
1r
40The
data
is transferred from the RAM to the y register. The RAM is written with
1w
.
Lucent Technologies Inc.
DRAFT COPY
2-15
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.2 Core Architecture Overview
2.2.1 Data Arithmetic Unit
The data arithmetic unit (DAU) is the main execution unit for signal processing algorithms. The DAU consists of a
16-bit by 16-bit multiplier, a 36-bit ALU, and two 36-bit accumulators: a0 and a1. The DAU performs two's complement, fixed-point arithmetic and i s us abl e as a m ultiply /accumul ate or ALU structure. The DAU multipli er and adder
operate in parallel r equiring, together , one instruction cycle for their e xec ution. Microprocessor-like instructions are
executed by the ALU.
CONTROL
x (16)
16 x 16 M P Y
SHIFT (–2, 0, 1, 2)
EXTRACT/SAT
yh (16)
p (32)
ALU/SHIFT
a0 (36)
a1 (36)
16
ins (16)
inc (16)
MUX
32
yl (16)
36
CACHE
cloop ( 7)
alf (16 )
mwait (16)
DAU
c0 (8)
c1 (8)
c2 (8)
auc (16)
psw (16)
SYS
re (16)
CMP
ybase (16)
ADDER
pc (16)
pt (16)
i (16)
k (16)
ADDER
j (16)
MUX
pr (16)
pi (16)
MUX
MUX
r0 (16)
r1 (16)
r2 (16)
r3 (16)
1
XAAU
BRIDGE
–1, 0, 1, 2
rb (16)
XDB
XAB
IDB
YDB
YAAU
YAB
2-16
Figure 2-10. DSP1600 Core Functions
DRAFT COPY
5-1741.a
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.2 Core Architecture Overview (continued)
2.2.1 Data Arithmetic Unit
multiplier
The
instruction cycle. Data for the multipl ier's inputs comes from the 16-bit x register and the upper 16 bits (high half) of
the 32-bit y register.
For multiply/ALU instructions, the x register can be loaded with coefficients from X-memory space or data from Ymemory space. The high half of the y register can be loaded from Y-memory space or the high or low half of an
accumulator. If the single-cycle square mode is set in the
loads the x register with the same data. A multiply instruction then performs a squaring function.
x, y, yl, p, pl, a0, a0l, a1
If the 32-bit registers are used in 16-bit instructions, the l suffix identifies the low half of the register and no suffix
identifies the upper half. For example, a0 means bits 31—16 of a0 and
In addition to being used as an adder in the multiply/accumulate instructions , the 36-bi t
to implement functions and algorithms in the DS P1611/17/18/27/28/29 de vice that conventionally are ex ecuted i n a
microcomputer or a microprocessor. Operands to the ALU can be data in y, p, a0, or a1, or they can be immediates. The ALU sign-extends 32-bit operands from y or p to 36 bits, and it produces a 36-bit output (32 data bits
and 4 guard bits) in one instruction cycle. Either accumulator can receive the 36-bit result. The ALU supports
dyadic (two-operand) functions including addition, subtraction, and logical AND, OR, and XOR . It also suppor ts
monadic (single-operand) functions including rounding, two's complement negation, incrementing, and left and
right shifts of 1, 4, 8, or 16 bits. More general shifting is availab le w ith the bit m anipulation uni t (see Section 2.5, Bit
Manipulation Unit (BMU)).
auc
The
of the y register and accumulators w hen the upper w ord is written. It selects or deselects saturation on overflow for
the accumulators. It selects one of four alignments of data in the p register. It controls whether the pseudorandom
sequence generator is reset if the pi register is written (see Section 5.1.6, DAU Pseudorandom Sequence Genera-
tor (PSG)). It selects the single-cycle squaring mode (See Section 5.1.2, Multiplier Functions). The
reset to all zeros at chip reset. The
provides access to the guard bits in the accumulators. The
used to count events such as the number of times the program has executed a sequence of code. They are controlled by the conditional instructions and provide a convenient method of program looping.
executes a 16-bit by 16-bit multiply and stores the 32-bit product in the product register (p) in one
(arithmetic unit control) register has five func tions . It selects or deselects clearing of the lower 16-bit word
(continued)
, and
auc
register, an instruction that loads the y register also
a1l
are also included in the general set of registers used for data mov e instructions.
a0l
means bits 15—0.
ALU
provides the capabili ty
auc
register is
psw
(processor status word) register contains flags from ALU operations and
c<0—2>
counters are 8 (signed) bits wide and can be
2.2.2 Y Space Address Arithmetic Unit (YA AU)
The YAAU supports high-speed, register-indirect data memory addressing with postmodification of the address
register. Four general-purpose 16-bit registers
Two 16-bit registers rb and re allow zero-overhead modulo addressing of data for efficient filter implementations.
Two signed registers j and k are used to hold user-defined posti ncrements. Fixed increments of +1, –1, and +2 are
also available, but the +2 increment is only available with compound addressing. Four compound-addressing
modes are provided to make read/write operations more efficient.
The Y AA U allows direct addressing of data memory . During direct addressing, the base register (
11 most significant bits of the address. The direct address instruction contains 5 bits that are concatenated with
the 11 bits in
sible registers . A data move then takes pl ace betw een the memory location specifi ed b y the 16- bit addres s and the
register selected by the DR field.
The YAAU decodes the 16-bit data memory address and provides individual enables for each 1 Kword bank of onchip dual-port RAM and three external data memory segments (ERAMHI, ERAMLO, and IO). One individual
address in the IO memory segment also has an individually decoded output DSEL
mapped I/O.
1.Not available in th e DSP1627/28 /2 9.
Lucent Technologies Inc.
ybase
to form a complete 16-bit address. The instruction also specifies one register (DR) of 16 pos-
r<0—3>
store read or write addresses for on-chip or off-chip RAM.
DRAFT COPY
ybase
) stores the
1
facilitating glueless memory-
2-17
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.2 Core Architecture Overview (continued)
2.2.3 X Space Address Arithmetic Unit (XAAU)
The XAAU contains registers and an adder that control the sequencing of instructions in the processor. The program counter (PC) automatically increments through the instruction space and specifies addresses for instruction
fetches. The interrupt return register (pi) and the subroutine return register (pr) are automatically loaded with
return addresses that direct the return to main program ex ecution from inter rupt service routines and subroutines.
High-speed, register-indirect instruction/coefficient memory addressing with postincrementing is done b y using the
pt
register. The signed register i is used to hold a user-defined postincrement, or a fixed postincrement of +1 is
available.
The XAAU of the DSP1600 decodes the 16-bit instruction/coefficient address and produces enable signals for the
appropriate X-memory segment. The possible X segments are internal ROM, each 1 Kword bank of dual-port
RAM, and external ROM. The locations of these memory segments depend on which of the four memory maps is
selected (see Section 3.2, Memory Space and Addressing).
A core security mode can be selected by mask option
ries from off-chip.
2.2.4 Cache
Under user control, the on-chip cache memory can store instructions for repetitive operations to increase the
throughput and the coding efficiency of the device. The cache can store up to 15 instructions at a time and can
repeatedly cycle through those instructions up to 127 times without using user defined loop, test, and conditional
branch instructions. The set of instructions is executed as it is loaded into the cache, so zero-overhead looping is
achieved. The cache iterative count can be specified either as an immediate value at assembly time or can be
determined by the use of the
reloading the cache.
Note:
Instructions in a cache loop are noninterruptible.
cloop
register . Instructions prev iously stored i n the cache can be re-executed without
1
. This prevents reading out the contents of on-chip memo-
Cache instructions eliminate the overhead if repeating a block of instructions. Therefore, the cache reduces the
need to implement in-line coding in order to maximize the throughput. A routine using the cache uses fewer ROM
locations than an in-line coding of the same routine.
For two-operand multiply/arithmetic logic unit (ALU) instructions that do not require a write to memory, executing
from the cache decreases the execution time from two instruction cycles to one instruction cycle resulting in an
increase in throughput.
2.2.5 Control
The control block provides overall DSP1611/17/18/27/28/29 system coordination. Inputs are provided to the control block over the program data bus (XDB). The instructions are decoded by hardware in the control block. The
execution of the phases of an instruction is controlled by hardware throughout the DSP1611/17/18/27/28/29
device. The hardware sequences instructions through the pipeline and controls the I/O, the processing, the memory accesses, and the timing necessary to perform each operation.
1.The internal ROM memory of the DSP1611 is only available with a standard boot routine. DSP1611 devices do not offer the secure mask
option.
2-18
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.3 Internal Mem orie s
All memory (internal and external) is 16 bits wide. The DSP1611
with a variety of boot routines that make it easy for systems to download programs and data to the DSP1611’s
large internal RAM space. The DSP1617, DSP1618, DSP1627, DSP1628, and DSP1629 all feature large, maskprogrammable internal ROM memories that can be encoded with programs, fixed data, or both. The DSP1617
ROM contains 24 Kwords, the DSP1618 ROM contains 16 Kwords, the DSP1618x24 ROM contains 24 Kwords,
the DSP1627 ROM contains 36 Kwords, the DSP1627x32 ROM contains 32 Kwords, the DSP1628 contains
48 Kwords, and the DSP1629 contains 48 Kwords. The internal ROM of the code to support the hardware development system is included in ROMless devices supplied by Lucent Technologies and should be included in customer-created ROM programs.
The internal dual-port
words and has separate ports to the instruction/coefficient buses and data buses. A program can reference the
memory from either port at any time transparently and without restriction. The DSP1600 core automatically performs the multiplexing. In the event that references to both ports of a single bank are made simultaneously, the
DSP1600 core automatically performs the data port access and then inserts a wait-state followed by the instruction/coefficient port access.
A program can be downloaded from slow off-chip memory into the dual-port RAM and then executed without wait-states
coefficients are adaptive. Full-speed, remote, in-circuit emulation is possible because the dual-port RAM can be
downloaded through the JTAG port. T his download capability is also useful for self-test.
RAM
contains multiple banks of zero-wait-state memory. Each bank consists of 1K of 16-bit
. Dual-port RAM is also useful for improving the performance of convolution in cases where the
ROM
contains 1K words and is preprogrammed
2.4 External Memory Interface (EMI)
The DSP1611/17/18/27/28/29 provides a 16-bit external address bus (AB[15:0]) and a 16-bit, external, bidirectional
data bus (DB[15:0]). These buses are multiplexed between the internal instruction/coefficient memory buses (X
space) and the data memory buses (Y space). The multiplexing is automatically controlled by the core that determines the memory space to be accessed from the instruction, the memory map, and the address.
Because only Y space or X space can be accessed at one time through the EMI, a sequencer automatically handles the case when a program calls f or simultaneous access of X space and Y space. For example, if a program is
being executed from external ROM and an instruction calls for a read from external RAM, the sequencer first
accesses the X space ex ternal ROM and then reads the data from external RAM. One extra instruction cycle is
required, in addition to any external wait-states that are present if external memory is used, compared to internal
operation.
Four external memory enables (ERAMLO, IO, ERAMHI, and EROM) are outputs that control the selection of external memory segments. One of the IO addresses is individually decoded to provide an enable (DSEL
mapped I/O peripherals.
Each of the five enables can be programmed individually to delay their assertion one-half of a free-running CKO
period from the beginning of the external cycle. This allows a mix of high- and low-speed devices without bus conflicts or expensive glue logic. The DSEL
high. The ERAMLO, ERAMHI, EROM, and IO signals are active-low.
Each of the memory segments can have a different number of wait-states associated with it where a wait-state is
an extra instruction cycle inserted in the read or write cycle to allow for slower memories. The number of waitstates is programmable from 0 to 15 by setting bits in the
1.Not available in th e DSP1627/28 /2 9.
1
enable is normally active-low, but it can be programmed to be active-
mwait
register.
1
) for memory-
Lucent Technologies Inc.
DRAFT COPY
2-19
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.4 External Memo ry Interface (EMI) (continued)
The DSP1611/17/18/27/28/29 allows writing to external program (X) memory. Bit 11 (WEROM) and bit 14
(EXTROM) of the
If WEROM is set high, a write to or read from ERAMLO, IO, or ERAMHI memory space asserts the EROM strobe
instead of the ERAM or IO strobes, thereby allowing access to X memory. If the EXTROM bit is set in conjunction
with the WEROM bit, an entire 64K of EROM can be accessed. This feature is used by the hardware dev elopment
software, and it can be used in system applications to download a program into the external program memory
space.
If external data (Y) memory is written, the RWN signal goes low for an external cycle. The CKO output pin can provide a reference for external I/O timing. Either a free-running CKO or a wait-stated CKO can be selected. The flexibility provided by the programmable options of the external memory interface allows the DSP1611/17/18/27/28/29
to interface gluelessly with a variety of commercial memory chips. A full description of the EMI is found in Chapter
6, External Memory Interface.
ioc
register enable the DSP to write the external X-memory space, which is normally read-only.
2.5 Bit Manipulation Unit (BMU)
The BMU adds extensions to the DSP1600 core instruction set that execute in one or two cycles for more efficient
bit operations on accumulators. The BMU contains logic for barrel shifting, normalization, and bit-field insertion or
extraction. The unit also contains a set of 36-bit alternate accumulators that can be shuffled with the working set.
Flags returned by the BMU mesh seamlessly with the conditional instructions. The BMU contains four 16-bit auxiliary registers
ulation Unit.
ar<0—3>
that contain input or output operands. The BMU is fully described in Chapter 13, Bit Manip-
The following barrel shift operations are available: arithmetic or logical shifts and left or right shifts. The shift
amount is from immediate data in the second word of the instruction, from data in
accumulator. The normalization function is done on the accumulators by finding the exponent that is the number
of redundant sign bits of a two's complement number. The calculated exponent is placed in one of the ar
registers. The original accumulator value is shifted or normalized with respect to bit 31. In bit extraction, a contiguous field of bits is moved from the source accumulator to the l ow est-or der bits of the des tination ac cumul ator. In bit
insertion, a contiguous field of bits in the lowest-order position of the source accumulator replaces bits at an offset
position in the destination accumulator. The other bits in the destination accumulator are filled from the corresponding bits in the second source accumulator. The two alternate accumulators are used to shuffle data with one
or two working accumulators . With the shuffle instruction, data is mo v ed from a sour ce accumul ator to an al ternate
accumulator and the old data in the alternate accumulator is mov ed to a des tination acc umulator. Only one instruction cycle is required for swapping all 36 bits.
ar<0—3>
, or from data in an
2.6 Serial Input/Output (SIO) Units
SIO1 and SIO2 are asynchronous, full-duple x, doub le-b uffered channels that easily interface with other DSP16XX1
devices in a multiple-processor environment. Commercially available codecs and time-division multiplex (TDM)
channels can be interfaced to the SIO w ith few, if any, additional components. The SIO units are fully described in
Chapter 7, Serial I/O.
An 8-bit serial protocol channel is also available in the multiprocessor mode. This feature uses the SADD pin and
saddx
register to transmit an 8-bit software-definable field in addition to the address of the called processor. This
feature is useful for transmitting the source address of the data, high-level framing information, or bits for error
detection and correction.
1.XX denotes the last two digits of the device name, e.g., XX = 11 for the DSP1611.
2-20
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.6 Serial Input/Output (SIO) Units (continued)
The following are some of the features of the SIO units:
Strobes and clocks are either active or passive (driven by the D SP or from off-chip) to provide interface flexibility.
Four selectable active clock speeds allow a variety of throughput rates.
8- or 16-bit data is supported.
Input and output can be independently chosen to shift either MSB or LSB first.
Input and output are independently configured.
2.7 Parallel Input/Output (PIO) (DSP1617 Only)
The DSP1617 has an 8-bit parallel I/O i nterface for rapid transfer of data with external devices such as other DSPs,
microprocessors, or peripheral I/O devices. Minimal or no additional logic is required to interface with peripheral
devices, and data r ates of up to 20 Mbytes/s are obtained at an instruction cycle of 25 ns. Two maskable interrupts
are associated with the PIO unit. Although there is only one physical PIO port, there are eight logical PIO ports
pdx<0—7>
PIO is fully described in Chapter 8, Parallel I/O (D SP1617 Only).
. One of the eight logical ports is signaled by the state of the peripheral select pins (PSEL[2:0]). The
The data path of the PIO contains the 8-bit input buffer
pdxin
and the 8-bit output buffer
pdxout
. In passive mode,
there are two pins that indicate the state of these buffers: the parallel input buffer full (PIBF) and the parallel output
buffer empty (POBE). The
pdxin
register is shadowed in some modes to allow the PIO to accept data on an interrupt without disrupting its normal operation. In addition, there are two registers used to control and monitor the
PIO's operation: the parallel I/O control (
can only be read by an ex ternal device, and it reflects the condition of the PIO. The
pioc
) register and the PIO status (PSTAT) register. The PSTAT register
pioc
contains information
about interrupts and can be used to set the PIO in a variety of modes. Strobe widths are programmable through
the strobe field in the
pioc
. The PIO is accessed in two basic modes, active or passive. Input or output can be
configured in either of these modes independently. In active mode, the DSP is in control and provides the strobes .
In passive mode, the external device provides the strobes.
The PHIF is a passive 8-bit parallel port that can interface to an 8-bit bus containing other Lucent DSPs, microprocessors, or peripheral I/O devices. The PHIF port supports
Motorola
configured in software. T he port data rate depends on the instruction cycle rate. A 25 ns instruction cycle allows
the PHIF to support data rates up to 16 Mbytes/s assuming the external host device can transfer 1 byte of data in
25 ns.
The PHIF is accessed in two basic modes, 8- and 16-bit modes. In 16-bit mode, the host determines an access of
the high or low byte. In 8-bit mode, only the low byte is accessed. Software-programmable features provide a
glueless host interf ace to micr oprocessor s . The PHIF is fully described in Chapter 9, P arallel Host Interface (PHIF)
(DSP1611/18/27/28/29 Only).
1
or
2
Intel
protocols and 8- or 16-bit transfers
1.
MC68000
Intel
2.
is a trademark and
and
Intellec
are reg i stered trademarks of Intel Corporation.
Lucent Technologies Inc.
Motorola
is a registered trademark of M otorola, Inc.
DRAFT COPY
2-21
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Hardware ArchitectureApril 1998
2.9 Bit Input/Output (BIO)
The BIO provides convenient and efficient monitor and control of eight individually configurable pins . A control register individually controls the directions of eight bidirectional control I/O pins (IOBIT[7:0]). If a pin is configured as
an output, it can be individually set, cleared, or toggled. If a pin is configured as an input, it can be read, tested, or
both. Flags returned by the BIO mesh seamlessly with the DSP1600 conditional instructions. The
registers are used to configure the BIO and transfer data to or from the DSP. The BIO pins are multiplexed with
other device pins and are selected in the
ioc
register. The BIO is fully described in Chapter 10, Bit I/O Un it.
sbit
and
cbit
2.10 JTAG
The DSP1611/17/18/27/28/29 incorporates extensive logic for a standard 4-pin test access port defined by the
IEEE
P1149.1 standard known as JT A G . The test port fully conforms to the standard's requirements and is further
augmented by a number of custom features for self-test and on-chip emulation. The JTAG block contains instruction registers, data registers, and control logic and has its own set of instructions. It is controlled externally by a
JTAG bus master. The 4-pin por t is designed to provide board-level test capability in w hich all of the chips on a
board would be connected in a serial path with test access to each chip. The follo wing capabilities ar e provided b y
the JTAG block:
1. A set of instructions can be downloaded through the JTAG port into the DSP dual-port R AM and executed pro-
viding self-test capability. The results of a block of tests can be read out by scanning one of the data registers in
the JTAG.
2. Boundary-scan can be done. All of the chip pins can be configured into a serial shift register that can be read or
written serially through the JTAG. If data is serially shifted into the JTAG scan register, it can be used to replace
the real chip inputs and outputs. Alternatively, the real chip data on the pins can be parallel-loaded into the scan
register and shifted out.
3. The JTAG can be used to access and control the on-chip hardware development system.
The JTAG block is fully described in Chapter 11, JTAG Test Access Port.
2.11 Timer
The timer can interrupt after a progr ammed interval or can pr ovi de repetitiv e inter rupts at a programmed interval. It
provides more than nine orders of magnitude in the range interval selection.
The interrupt timer is composed of these blocks: the prescaler, the timer itself, the timer control register, the
register, and the period holding register.
The prescaler divides the free-running CKO cloc k b y one of 16 possib le div isors from 2 to 65,536. This will provide
a wide range of interrupt delay periods depending on the device instruction cycle and clock divisor chosen.
The timer is a 16-bit down counter that can be loaded with an arbitrary number from software. It then counts down
to 0 at the clock rate provided b y the prescaler. Upon reaching 0 count, an interrupt is issued to the DSP through a
vectored interrupt (bit 8 of
quiescent state for another command from software or will automatically repeat the last interrupting period.
The timer control register (
rupt cycle will be repeated or if it is just a one-time event. The TOEN bit enables the clock to the timer so that it
either counts or holds the old value. The PRESCALE field holds the value for the prescaler.
timer0
The
value in the timer and in the period holding register. The value in the timer can be read on-the-fly by a data move
from
will return to if in the repeating mode.
register provides the interface for reading or writing the timer. A write to
timer0
. The value written to
inc
timerc
ins
and
registers). At the discretion of the user, the timer will then either wait in a
) contains three fields affecting the timer. The RELOAD bit determines if the inter-
timer0
is used to set an initial
timer0
is also stored in the period register and held as the count that the timer
timer0
2-22
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Hardware Architecture
2.11 Timer (continued)
The timer interrupt can be individually enabled or disabled through the
started by software and can be reloaded with a new delay at any time. T he timer is fully described in Chapter 12,
Timer.
inc
register. The timer can be stopped and
2.12 Hardware Development System (HDS) Module
The on-chip HDS performs instruction breakpointing and branch tracing at full speed. Through the JTAG port,
breakpointing is set up and the trace history is read back remotely. The JTAG port works in conjunction with HDS
code in the on-chip ROM and software in a remote computer.
Four hardware breakpoints can be set on instruction addresses. A counter can be preset with the number of
breakpoints to be received before trapping the core. Breakpoints can be set in interrupt service routines. Alternately, the counter can be preset with the number of cache instructions to execute before trapping the core.
Every time the program branches instead of executing the next sequential instruction, the pair of addresses from
before and after the branch are caught in circular memory. The memory contains the last four pairs of program discontinuities for hardware tracing.
A multiprocessor feature can be configured, so all processors are trapped if one processor gets a breakpoint.
The Hardware Development System (HDS) is described in the
DSP1611/17/18/27/28/29 supplements.
DSP1600 Support Tools Manual
and
2.13 Clock Synthesis (DSP1627/28/29 Only)
The DSP1627/28/29 includes an on-chip clock synthesizer that can be used to generate the system clock for the
DSP. The clock will run at a programmable frequency multiple of the input clock (CKI). The 1X CKI input clock, the
output of the synthesizer, or a slow internal ring oscillator can be used as the source for the internal DSP clock.
On powerup, CKI is selected as the clock source for the DSP. Setting the appropriate bits in the
ter will enable the cloc k s ynthesizer to become the cloc k s ource. The
stop clocks or force the use of the slow ring oscillator clock for low-power operation.
If not being used, the clock synthesizer can be power ed down by clearing the PLLEN bit of the
synthesis is fully described in Section 3.5, Clock Synthesis (DSP1627, DSP1628, and DSP1629 Only)
powerc
register can ov erride the sel ection to
pllc
control regis-
pllc
register. Clock
2.14 Power Management
Many applications , suc h as portabl e c ellular terminals, requi re programmable sleep modes f or po w er management.
There are three different control mechanisms for achieving low-power operation: the
STOP pin, and the AWAIT bit in the
power-saving standby mode until an interrupt occurs. The
modes by controlling internal clocks and peripheral I/O units. The STOP pin controls the internal processor clock.
The various power management options can be chosen based on power consumption, wake-up latency requirements, or both. Power management is fully described in Section 3.6, Pow er Management.
➤3.6.5 Power Management Sequencing ......................................................................................3-57
➤3.6.6 Power Management Examples .........................................................................................3-58
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998
3 Software Architecture
This chapter contains a variety of topics on the software and programming of the device. First, the registers and
their properties are listed in Section 3.1, Register View of the DSP1611/17/18/27/28/29. Next, the memory space
and addressing modes are described Section 3.2, Memory Space and Addressing. Then, the arithmetic and precision for calculations in the DAU are described in Section 3.3, Arithmetic and Precision. Section 3.4, Interrupts, dis-
cusses both the vectored interrupts and the DSP16A compatible interrupts. (The DSP16A compatible interrupts
are available on the DSP1617 only.) Section 3.5, Clock Synthesis (DSP1627, DSP1628, and DSP1629 Only),
describes the DSP1627/28/29’s phase-lock loop based clock synthesizer. And finally, the flexible power management features are discussed in Section 3.6, Power Management.
3.1 Register View of the DSP1611/17/18/27/28/29
3.1.1 Types of Registers
Registers are either accessible by the program or through the DSP1611/17/18/27/28/29 pins. Accessible by program means they can be selected in data move instructions. The program-accessible registers are denoted by
lower-case names; the pin-accessible registers are denoted by upper-case names. The registers are generally of
three types:
Data
—used for storing data that, in turn, become operands for the functional operators.
Control and status
—used for setting different configurations of the machine (control) or indicating the configura-
tion of the machine (status).
Addressing
—used for storing information that points to a memory location. In some cases, addressing registers
can be used as general-purpose data registers accessible by data move instructions.
A very important register not directly accessible to the programmer or through external pins is the PC (program
counter register). The machine automatically controls the PC to properly sequence the instructions.
Table 3-1 lists the general set of program-accessible registers sorted by function. Table 3-2 sorts them alphabeti-
cally and includes their type and location. Table 3-3 lists the pin-accessible registers. Figure 3-1 depicts the pro-
gram-accessible registers in a block diagram of the whole chip.
Table 3-1. Program-Accessible Registers by Function
Register NameFunction
r0, r1, r2, r3, j, k, rb, re, ybaseYAAU addressing
pt, pr, pi, iXAAU addressing
p, pl, x, y, yl, a0, a0l, a1, a1l, aa0, aa1DAU data
auc, pswDAU control
c0, c1, c2Counters
sdx, sdx2SIO data
srta, srta2, tdms, tdms2, saddx, saddx2, sioc, sioc2SIO control
pdx<0—7> (pdx0 only for DSP1611/18/27/28/29)PIO or PHIF data
phifc (DSP1611/18/27/28/29 only)PHIF control
pioc (DSP1617 only)PIO control
eir, ear, edr (DSP1618/28 only)ECCP instruction, address, and data registers
pllc (DSP1627/28/29 only)Control register for clock synthesizer
cbit, sbitBIO data and control
Note: Re gisters
sible with the BMU swap ins tructi on.
sioc, sioc2, srta, srta2, tdms
, and
are not readable. Alternate accumulators
tdms2
aa0
and
aa1
are only acces-
Lucent Technologies Inc.
DRAFT COPY
3-1
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.1 Register View of the DSP1611/17/18/27/28/29 (continued)
3.1.1 Types of Registers
Table 3-1. Program-Accessible Registers by Function
(continued)
(continued)
Register NameFunction
iocSIO, CKO, PIO, EMI control
timerc, timer0Timer control and data
ar0, ar1, ar2, ar3BMU data
inc, insInterrupt control and status
cloopCache control
mwaitWait-states control
jtagTest interface data (reserved)
powercPower control
alfStandby mode, memory map, flag status
Note: Registers
sible with the BMU swap instruction.
sioc, sioc2, srta, srta2, tdms
, and
are not readable. Alternate accumulators
tdms2
aa0
and
are only acces-
aa1
Notation for 32-bit registers: No suffix denotes the upper 16 bits; the l suffix denotes the lower 16 bits, e.g., a0,
(see Section 3.1.2, Register Length Definition for more details).
Table 3-2. Program-Accessible Registers by Type, Listed Alphabetically
Register NameDescriptionTypeSection
aa0, aa1Alternate accumulators, 36-bitdataBMU
a0, a0l, a1, a1lAccumulators 0 and 1, 36-bitdataDAU
Note: The program count er regi ster (PC ) i s not directly accessibl e to be read or w ritten by i nstru ction or ex t ernal pi ns.
3.1.2 Register Length Definition
The accumulators are 36 bits long, and the y and p registers are 32 bits long. The letter name y (or p) can mean
either the upper 16 bits of y (or p) or all 32 bits of y (or p) depending on the instruction. The table below defines
when the upper 16 bits are meant and when the full 32 bits are meant.
Ta ble 3-4. Register Length Definition
(continued)
RegisterWhen Used in TransfersIn Functional Operators
a0, a1,
aa0, aa1
Note: The user must specify h or l in the ALU immediate, e.g., aD = aS<h,l> OP IM16.p or y is sign-extende d to 36 bits for operations with
16-bit, except 36-bit between accumulators and in aD = y36-bit, except 16-bit in aDh = aSh+1
and aD = aS<h, l> OP IM16
p16-bit, except 32-bit to accumulators in multiply/ALU instruction32-bit
y16-bit, except 32-bit to accumulators in special function instruction 32-bit, except 16-bit in p = x * y
accumulators.
Lucent Technologies Inc.
DRAFT COPY
3-5
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.1 Register View of the DSP1611/17/18/27/28/29 (continued)
3.1.3 Register Reset Values
Table 3-5 lists the values of the general set of registers after reset. A • indicates unknown on powerup reset and
unaffected on subsequent reset. An S means the register shadows the PC. P indicates the value of the bit on the
corresponding input pin.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.1 Register View of the DSP1611/17/18/27/28/29 (continued)
3.1.4 Flags
For reference purposes, the definitions of the flags are included in Table 3-6 and Chapter 4, Instruction Set.
Ta ble 3-6. Flag Definitions
TestMeaningTestMeaning
plResult is nonnegative (not LMI) (≥ 0).miResult is negative (LMI) (< 0).
eqResult is equal to 0 (LEQ) (= 0).neResult is not equal to 0 (not LEQ) (≠ 0).
gtResult is greater than 0 (not LMI and
not LEQ) (> 0).
lvsLogical overflow set (LLV).lvcLogical overflow clear (not LLV).
mvsMathematical overflow set (LMV).mvcMathematical overflow clear (not LMV).
†
c0ge
c1ge
heads
Counter 0 greater than or equal to 0.c0lt
†
Counter 1 greater than or equal to 0.c1lt
‡
Pseudorandom sequence bit set.tails
trueThe condition is always satisfied in an
if instruction.
§
allt
All true—all BIO input bits tested compared successfully.
§
somet
Some true—some BIO input bits
tested compared successfully.
oddpOdd parity from BMU operation.evenpEven parity from BMU operation.
mns1Minus 1 result of BMU operation.nmns1Not minus 1 result of BMU operation.
npintNot PINT used by Hardware Develop-
ment System.
lockThe PLL has achieved lock and is sta-
ble (DSP1627/28/29 only).
† Testing each of these conditions increments the respective counter being tested.
‡ The heads or tails con dition is determined by a randomly set or a cleared bit. The bit is randomly set with pr ob abilit y of 0.5 .
The random bit is generated by a 10-stage pseudorandom sequence generator (PSG) that is updated after either a heads or
tail s tes t. ( See Section 5.1.6, DAU Pseudorandom Sequence Generator (PSG) for more details.)
§ These flags are only set after an appropriate write to the BIO port (
leResult is less than or equal to 0 (LMI or
LEQ) (≤ 0).
†
Counter 0 less than 0.
†
Counter 1 less than 0.
‡
Pseudorandom sequence bit clear.
falseThe condition is never satisfied in an if
instruction.
§
allf
All false—no BIO input bits tested compared successfully.
somef§Some false—some BIO input bits
tested did not compare successfully.
njintNot JINT used by Hardware Develop-
ment System.
ebusyECCP busy indicates error correction
coprocessor activity (DSP1618/28
only).
register).
cbit
Lucent Technologies Inc.
DRAFT COPY
3-7
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.2 Memory Space and Addressing
The DSP1611/17/18/27/28/29 has two memory spaces: the X-memory space and the Y-memory space. They are
differentiated by which addressing uni t the y use and not by the ph ys ical memory they use . The dual-port RAM is in
the Y space and the X space, but it can be at different addresses. The Y addressing arithmetic unit (YAAU), unique
to the Y-memory space, is particularly suited for addressing memory that contains data or operands for the processing units. The X addressing arithmetic unit (XAAU), unique to the X-memory space, is particularly suited for
program control and addressing memory that contains the instructions and coefficients as operands.
The internal dual-port RAM can be accessed in both the Y space and the X space. This RAM has multiple 1 Kword
banks, and, as long as the banks accessed are different, simultaneous data and instruction accesses can be
made. If the same bank is accessed from both memory spaces simultaneously, an extra instruction cycle (one
wait-state) is added to carry out the transfer and the Y space transfer is performed before the X space transfer.
3.2.1 Y-Memory Space
The Y-memory space is shown in Figure 3-2. Associated with the Y space are the Y addressing arithmetic unit
(YAAU), the Y address bus (YAB), the Y data bus (YDB), and the external memory interface (EMI). The 64K memory space is divided into four segments (RAM, IO, ERAM LO, and ERAMHI), as shown in Table 3-7. The selection
of a segment is automatic corresponding to the address in the YA AU. The segment for the internal RAM is further
divided into multiple 1K banks. The addresses are decoded in the YAAU, and an enable wire is provided for each
of the three external segments and for each of the internal RAM banks.
YAAU
YDB DATA BUS
YAB
INTERNAL
DUAL-PORT
RAM
OFF-CHIP
EXTERNAL MEMORY ADDRESS BU S
ENABLES
EXTERNAL
ERAMHI
EXTERNAL MEMORY DATA BUS
EXTERNAL
ERAMLO
Figure 3-2. Data (Y) Memory Space
EXTERNAL
IO
5-4110
3-8
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.2 Memory Space and Addressing (continued)
3.2.1 Y-Memory Space
Ta ble 3-7. Data M emory Map (Y-Memory Space)
Decimal
Address
10240x0400
20480x0800
30720x0C00
40960x1000
51200x1400
61440x1800
71680x1C00
81920x2000
92160x2400
102400x2800
112640x2C00
122880x3000
133120x3400
143360x3800
153600x3C00
163840x4000
166400x4100
32768
65535
Hexadecimal Address
in r0, r1, r2, r3
00x0000
(continued)
0x03FF
0x07FF
0x0BFF
0x0FFF
0x13FF
0x17FF
0x1BFF
0x1FFF
0x23FF
0x27FF
0x2BFF
0x2FFF
0x33FF
0x37FF
0x3BFF
0x3FFF
0x40FF
0x7FFF
0x8000
0xFFFF
DSP1611 DSP1617/1618 DSP1627 DSP1628
RAM1RAM1R AM1RAM1RAM1RAM1RAM1
RAM2RAM2R AM2RAM2RAM2RAM2RAM2
RAM3RAM3R AM3RAM3RAM3RAM3RAM3
RAM4RAM4R AM4RAM4RAM4RAM4RAM4
RAM5ReservedRAM5RAM5RAM5RAM5RAM5
RAM6RAM6RAM6RAM6RAM6RAM6
RAM7Reserved RAM7RAM7RAM7RAM7
RAM8RAM8RAM8RAM8RAM8
RAM9Reserved RAM9RAM9RAM9
RAM10RAM10RAM10RAM10
RAM11RAM11 Reserved RAM11
RAM12RAM12RAM12
ReservedRAM13RAM13
IOIOIOIOIOIOIO
ERAMLOERAMLOERAMLO ERAMLO ERAMLO ERAMLO ERAMLO
ERAMHIERAMHIERAMHI ERAMHI ERAMHI ERAMHI ERAMHI
x08
DSP1628
x16
RAM14RAM14
RAM15RAM15
RAM16RAM16
DSP1629
x10
DSP1629
x16
Lucent Technologies Inc.
DRAFT COPY
3-9
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.2 Memory Space and Addressing (continued)
3.2.2 X-Memory Space
X-memory space (Figure 3-3) is instruction/coefficient or program memory. Associated with the X space are the X
addressing arithmetic unit (XAAU), the X address bus (XAB), the X data bus (XDB), and three possible physical
memories. The selection of the three memories is automatic corresponding to the address in the XAAU and the
memory map selected. E ach physical memory device has a corresponding address space, but, unlike the YAAU,
the relationship between the memories and their corresponding address space can be changed. As shown in
Tables 3-8 through 3-12, there are four different arrangements of the memories in the memory map. The selection
of MAP 1—4 corresponds to the value of EXM and LOWPR.
OFF-CHIP
XAAU
XAB ADDRESS BUS
EXTERNAL MEMORY
ADDRESS BUS
ENABLE
INTERNAL
ROM
XDB DATA BUS
INTERNAL
DUAL-PORT
RAM
EXTERNAL
EROM
Figure 3-3. Instruction/Coefficient (X) Memory Space
EXTERNAL MEMORY
DATA BUS
5-4111
3-10
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
† MAP1 is set automatically during an HDS trap. The user-selected map is restored at the end of the HDS trap service routine.
‡ LOWPR is an
§ MAP 3 is not ava i l abl e if sec ure mask-progr ammable option i s selected.
0xF000
0xFFFF
register bit. T he Lucent Te chnologies development syste m tools can independently set the memory map.
alf
Reserved
(6K)
Reserved
(6K)
3-18
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.2 Memory Space and Addressing (continued)
3.2.2 X-Memory Space
(continued)
Ta ble 3-17. DSP1629x16 Instruction/Coefficient Memory Map (X-Memory Space)
Decimal
Address
pc, pt, pi, pr
00x0000
Address in
0x0FFF
MAP1
LOWPR
†
(EXM = 0
‡
= 0)
IROM
(48K)
MAP2 (EXM = 1
LOWPR = 0)
EROM
(48K)
§
MAP3
(EXM = 0
LOWPR = 1)
DPRAM
(16K)
MAP4 (EXM = 1
LOWPR = 1)
DPRAM
(16K)
40960x1000
0x17FF
61440x1800
0x2FFF
122880x3000
0x3FFF
163840x4000
0x4FFF
IROM
(48K)
EROM
(48K)
204800x5000
0x5FFF
245760x6000
0x6FFF
286720x7000
0x7FFF
327680x8000
0x8FFF
368640x9000
0x9FFF
409600xA000
0xAFFF
450560xB000
0xBFFF
491520xC000
0xCFFF
DPRAM
(16K)
DPRAM
(16K)
532480xD000
0xDFFF
573440xE000
0xEFFF
61440
65535
†MAP1 is set automatica lly during an HDS trap. The user-selected map is restored at the end of the HDS trap service routine.
‡LOWPR is an
§ MAP 3 i s not available if sec ure ma sk-programmabl e option is selected.
0xF000
0xFFFF
register bit. The L ucent Technologies development system tools c an independently set the mem ory map.
alf
Lucent Technologies Inc.
DRAFT COPY
3-19
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.2 Memory Space and Addressing (continued)
3.2.2 X-Memory Space
(continued)
Interrupt Vectors in X Space
If interrupts are being used, the lower addresses of the X-memory space must be reserved for the interrupt vectors.
These addresses can be in IROM, EROM, or RAM depending on the memory map in force. Table 3-18 shows the
vectors assigned to interrupts in the X-memory space.
Table 3-18. Interrupts in X-Memory Space
Vector DescriptionVector Address
Reset vector0x0
IBF, OBE, PIDS, or PODS enabled from pioc
†
;
0x1
INT0
‡
Software interrupt, from instruction
icall
0x2
TRAP from HDS0x3
INT10x4
TIMEOUT0x10
IBF20x14
OBE20x18
Reserved0x1c
EREADY
§
EOVF
§
0x20
0x24
Reserved0x28
IBF0x2c
OBE0x30
PIBF/PIDS0x34
POBE/PODS0x38
JINT0x42
TRAP from user0x46
† DSP1617 only.
‡The
§ DSP1618/28 only.
instruction is re served for use by the hardware development system.
icall
3-20
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.3 Arithmetic and Precision
Fixed-point, two's complement arithmetic is used throughout the DSP1611/17/18/27/28/29 device. In the DAU,
16-bit data in the x register and in the high half of the y register can be multiplied together and the 32-bit result is
stored in the p register. The data in the y or p registers or both accumulators can be operated on by the ALU; the
result is stored in either of the 36-bit accumulators. The 32-bit data from the y or p register is sign-extended to
36 bits if operated on by the ALU. The four guard bits in the accumulators reduce the need for scaling data.
Sometimes the 36-bit accumulators can be thought of as having an implied binary point to the right of bit 16, for
example, if multiplying a fraction with 16 bits to the right of the decimal (Q16 format) times an integer. Bits
15—0 are then the fractional part (which is referred to as aMI, where aM
ger part. The ALU operates on all 36 bits of the accumulators. The CLR field of the
controls automatic clearing of the low half while loading a0, a1, or y registers. This makes it easy to perform 16-bit
integer operations in the ALU by automatically clearing the low half of the register when the high half is loaded.
The operands for the DA U can have many diff erent f ormats. T o make it easier to handle these different formats, the
DSP has four options for scaling data as it is transferr ed from the p register to the accumulators: no shift, a 2-bit left
shift, 1-bit left shift, or a 2-bit right shift. Table 3-10 illustrates how 2 bits in the
the bit alignment of the data in p with respect to the data in the accumulators. The connection of the data bus to
the p register, the RAM, the accumulators, and the remaining registers in the DSP device is fixed, i.e., no other
automatic shifts of data occur with data move or multiply/ALU instructions (although effectively a 16-bit right shift
occurs in transferring the high half of a 32-bit register to a 16-bit register).
The SAT field of the
is transferred from the accumulators after an overflow has been detected. Overflow occurs whenever bit 31 of an
accumulator is different from
auc
register (bits 3, 2) selects or deselects saturation mode. This is the manner in which data
any
of its guard bits.
= a0 or a1), and bits 35—16 are the inte-
auc
register (see Table 3-10)
auc
register (
auc
[1, 0]) determine
If saturation is enabled, the data transferred out of the accumulator is the largest positive or negative number (as
defined by bit 35 of the accumulator) that can be represented with 32 bits.
Note:
The data in the accumulator does not change, only the value that is transferred changes.
31
– 1 = 0x7FFFFFFF largest positive number
2
31
= 0x80000000largest negative number
–2
In nonsaturation mode, the actual value in the accumulator will be written.
For further information about overflow, refer to the
The X=Y= field of the
change in the loading of the x register; i.e., instructions that load the x register operate as expected, and instructions that do not load the x register do not affect the contents of the x register. If this bit is set to one, all instructions that load the high half of the y register cause the same data that is loaded into y to be loaded into x. The
purpose of this bit is to allow a single-cycle squaring operation. For example:
a0=0
auc=0x80/*enable X=Y= */
r1=table
y=*r1++/*square, and load both y and x */
do 100 {
auc=0/*disable X=Y=*/
auc
register (bit 7) controls the loading of the x register. If this bit is set to zero, there is no
a0=a0+p
p=x*y
y=*r1++/*accumulate, square, and load both y*/
/*and x*/
psw
register in Section 5.1.7, Control Registers.
Lucent Technologies Inc.
DRAFT COPY
3-21
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.3 Arithmetic and Precision (continued)
The RAND field of the
erator (PSG) whenever the pi register is written. If RAND is set to zero, the PSG is reset whenever the
auc
register (bit 8) selects or deselects inhibiting the on-chip pseudorandom sequence gen-
pi
register
is written with any value except during execution of an interrupt service routine (ISR). If RAND is set to one, resetting of the PSG is inhibited. For more details on the PSG, see Section 5.1.6, DAU Pseudorandom Sequence Gen-
erator (PSG).
Ta ble 3-19. Arithmetic Unit Control (auc) Register
Bit
Field
876—43—21—0
RANDX=Y=CLRSATALIGN
†
FieldValueDescription
RAND0
Pseudorandom sequence generator (PSG) is reset by writing the pi register only
outside an interrupt service routine.
1
X=Y=0
1
PSG never reset by writing the pi register.
Normal operation.
y = Y transfer statements load both the x and the y registers allowing singlecycle squaring with
p = x * y
.
CLR1xxClearing yl is disabled (enabled if 0).
x1xClearing
xx1Clearing
SAT1x
x1
ALIGN00
01
10
11
†The
is a 16-bit register of which 9 bits [8:0] are used for control. The unused upper 7 bits [15:9] are always zero when read and should
auc
always be w r itten with zeros to make the prog ram compatible with future chip versions. The
a1
a0
a0, a1
a0, a1 ← p
a0, a1
a0, a1
a1l
is disabled (enabled if 0).
a0l
is disabled (enabled if 0).
saturation on overflow is disabled (enabled if 0).
saturation on overflow is disabled (enabled if 0).
← p.
/4.
← p x 4 (and zeros written to the two LSBs).
← p x 2 (and zeros written to the LSB).
registe r is c l ea red at reset .
auc
3-22
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.3 Arithmetic and Precision (continued)
No Shift (Figure 3-4)
If the
auc
[1:0] bits are 00, the data in the
p
register is not shifted with respect to the bits in the accumulator before
product bits 31—0 are transferred into bits 31—0 of the accumulator. In the accumulator, the sign bit from the p
register is extended into the guard bits 35—32. This mode is most often used if both x and y operands are 16-bit
integers.
150
x(16)
3116 15
y(32)
31
p(32)
31
3235
a0, a1(36)
0
0
5-4112
Figure 3-4. p Register to Accumulator Bit Alignment, auc[1:0] = 00
Lucent Technologies Inc.
DRAFT COPY
3-23
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.3 Arithmetic and Precision (continued)
Shift Right 2 Bits (Figure 3-5)
auc
If the
mulator as product bits 31—2 are transferred into bits 29—0 of the accumulator. Bits p[1:0] are lost. The sign of
p
(bit 31) is extended by 6 bits into bits 35—30 of the accumulator. This setting is most useful if avoiding overflow
is a primary consideration and the loss of the two LSBs of the product can be tolerated.
[1:0] bits are 01, the data in the p register is shifted 2 bits to the right with respect to the bits in the accu-
31
30
29
15
x(16)
311615
y(32)
p(32)
a0, a1(36)
0
2
1
0
035
Figure 3-5. p Register to Accumulator Bit Alignment, auc[1:0] = 01
5-4113
3-24
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.3 Arithmetic and Precision (continued)
Shift Left 2 Bits (Figure 3-6)
auc
If the
lator as product bits 31—0 are transferred into bits 33—2 of the accumulator. Bits 1 and 0 of the accumulator are
cleared by the load of the accumulator with the data in p. The sign of p is extended by 2 bits into bits 35 and 34 of
the accumulator. This mode is often used in filtering applications where coefficients in the x register are in Q14 format (2 magnitude bits, 14 fractional bits ) , and state v ariables in the y register are 16-bit integers. If the p register is
not shifted prior to accumulation, the accumulated result would have 4 guard bits, 18 magnitude bits, and 14 fractional bits. Because it is often desirable to hav e the implied binary point to the right of bit 16 (16 fractional bits), the
setting
4 guard bits, 16 magnitude bits, and 16 fractional bits.
Note:
[1:0] bits are 10, the data in the p register is shifted 2 bits to the left with respect to the bits in the accumu-
auc
[1:0] = 10 automatically shifts the result 2 bit locations to the left generating an accumulated result with
The top 2 magnitude bits are shifted into overflow bits 33 and 32 that can only be read via the
and saturation can be detected if enabled in the
auc
register.
150
x(16)
psw
register,
311615
y(32)
31
p(32)
35
331
a0, a1(36)
Figure 3-6. p Register to Accumulator Bit Alignment, auc[1:0] = 10
0
2
0
5-4114
Lucent Technologies Inc.
DRAFT COPY
3-25
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.3 Arithmetic and Precision (continued)
Shift Left 1 Bit (Figure 3-7)
auc
If the
lator as product bits 31—0 are transferred into bits 32—1 of the accumulator . Bit 0 of the accumulator is cl eared by
the load of the accumulator with the data in p. The sign of p is extended by 3 bits into bits 35 through 33 of the
accumulator . This mode is often used in filtering applications where coefficients in the x register are in Q15 format
(1 magnitude bit, 15 fractional bits), and state variables in the y register are 16-bit integers. If the p register is not
shifted prior to accumulation, the accumulated result would have 4 guard bits, 17 magnitude bits, and 15 fractional
bits. Because it is often desirable to have the implied binary point to the right of bit 16 (16 fractional bits), the setting
4 guard bits, 16 magnitude bits, and 16 fractional bits.
Note:
[1:0] bits are 11, the data in the p register is shifted 1 bit to the left with respect to the bits in the accumu-
auc
[1:0] = 11 automatically shifts the result 1 bit location to the left generating an accumulated result with
The top magnitude bit is shifted into o v erflo w bit32 that can only be read via the
can be detected if enabled in the
auc
register.
150
x(16)
311615
psw
register , and satur ati on
35
y(32)
31
p(32)
32
a0, a1(36)
Figure 3-7. Register to A ccumulator Bit Alignment, auc[1:0] = 11
0
1
0
5-4114.a
3-26
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts
3.4.1 Introduction
If an interrupt condition arises (e.g., an I/O request like assertion of PIDS), a sequence of actions is taken by the
interrupt control logic to suspend normal program execution and branch to the interrupt service routine. The interrupt service routine is executed before returning to the normal instruction.
Vectored interrupts allow multiple interrupt sources to be differentiated by assigning each to a unique interrupt
branching location. If more than one interrupt is asserted at the same time, they will be serviced sequentially
according to their assigned priorities. If an interrupt is being serviced and the same interrupt is requested again
before service of the first is completed, the interrupt must remain asserted until the next rising edge of IACK. The
interrupt structure of the DSP1611/17/27/29 provides a total of 11 interrupts and two traps, and the interrupt structure of the DSP1618/28 provides a total of 13 interrupts and two traps (see Table 3-20).
Interrupt service routines cannot be interrupted. Branch instructions, conditional branch instructions, postdecrements of Y address registers, and cache loops are also not interruptible. A vectored interrupt that occurs during a
noninterruptible instruction is not serviced until
A trap is similar to an interrupt except it gains control of the pr ocessor b y branching to the tr ap service routine ev en
if the current instruction is noninterruptible. However, it might not be possible to return to the nor mal instruction
from the trap service routine because the state of the machine might not have been sav ed. The trap mechanism is
intended for two purposes. It can be used by an application to gain control of the processor rapidly for asynchronous time-critical ev ent handling (typically for catastrophic error recov ery). It is also used by the hardware development system (HDS) to gain control of the processor.
after
the next interruptible instruction has been executed.
In the DSP1617, a set of interrupts have been retained to maintain compatibility with the DS P16A. Four I/O interrupts and the hardware interrupt pi n (INT0) from DSP16A can be used in a D SP16A-compatib le mode (see Section
3.4.7, Interrupts in DSP16A-Compatible Mode (DSP1617 Only)).
Lucent Technologies Inc.
DRAFT COPY
3-27
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.1 Introduction
(continued)
Figure 3-8 is a functional block diagram of the interrupt hardware.
JINT
CLEARS
13
OBE2
IBF2
TIME
INT[1:0] OFF-CHIP
PIDS/PIBF
PODS/POBE
OBE
IBF
INS REGISTER
1313
16
13
CLEAR BITS
4—8,11
ONLY
INC REGISTER
IDB
16
MASKS
icall
HDS trap
INTERRUPT
PROCESSING
Figure 3-8. Interrupt Operation
TRAP
IACK
VEC[3:0]
OFF-CHIP
5-4115b
3-28
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.2 Interrupt Sources
There are 11 sources
1
of interrupts and two sources of traps. The interrupt sources are described in the following
list; Table 3-20 has more detail for each interrupt vector’s source , its v ector addr ess, its priority, its output encoding,
and its cause.
Software interrupt
nonmaskable. The
—Input buffer full indicates that an external devic e has written data into the SIO<1, 2> (serial input buffer).
2
IBF[2]
IBF can be enabled from either
—An interrupt request issued by the instruction
icall
instruction is reserved for use by the hardware development system.
3
pioc
inc
or
(IBF2 can only be enabled from
are compatible with DSP16A, and their priority is lower than the vectored interrupts enabled from
OBE[2]
buffer). OBE can be enabled from either
PIDS
register. PIDS can be enabled from either
PODS
register. PODS can be enabled from either
PIBF
can be enabled from
POBE
external device. POB E can be enabled from
INT[1:0]
INT[1:0] pin. INT0 can be enabled from either
JINT
—Output buffer empty indicates that an external device has read data from the SIO<1, 2> (serial output
3
pioc
inc
or
(OBE2 can only be enabled from
—Parallel input data strobe indicates that an external device has written data into the parallel input
3
or
inc
.
pioc
—Parallel output data strobe indicates that an external device has read the data from the parallel output
3
pioc
or
inc
.
—Parallel input buffer full flag indicates that data has been written to the parallel input data register. PIBF
inc
.
—Parallel output buffer empty flag indicates that the parallel output data register has been read by an
inc
.
—Interrupt by an external device indicates an external device has requested service by asserting the
3
inc
or
.
register has been written. JINT is reserved for the hardware
—JT A G interrupt request indicates that the
pioc
jtag
icall
. The priority is 1 (lowest), and it is
inc
). Interrupts enabled from
inc
).
inc
pioc
.
development system.
TIMEOUT
EREADY
EOVF
—Interrupt request by timer indicates that the timer has reached zero count.
4
—Interrupt indicates ECCP is ready.
4
—Interrupt indicates an ECCP overflow condition.
3
The interrupt sources can be classified in several different ways:
On- or off-chip
: The INT[1:0], PIDS (passive), PODS (passive), and trap signals are externally generated; the
other interrupts are internally generated.
Hardware or software
DSP16A—Compatible (DSP1617 only) or not
a different effect depending on w hether they are enabled from the
enabled from the
inc
register. If they are enabled from the
0x1. If they are enabled from the
they are enabled from both the
: The
icall
instruction generates a software interrupt; the rest are generated by hardware.
: Four of the interrupt sources (PIDS, PODS, OBE, and IBF) have
3
pioc
3
pioc
inc
register, program control jumps to a differ ent vector location for each. If
inc
and the
3
pioc
registers, they are serviced as if enabled from the
(DSP16A compatibility mode) or
register, program control will jump to location
inc
.Also,
the INT0 is compatible with the INT of DSP16A because it vectors to location 0x1. Figure 3-9 shows the logical
function of the DSP16A-compatible interrupts, and Table 3-20 describes them.
1.13 for DSP1618/28.
2.The label in [ ] is optional; IBF[2] means IBF or IBF2.
3.DSP1617 only.
4.DSP1618/28 only.
Lucent Technologies Inc.
DRAFT COPY
3-29
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.2 Interrupt Sources
(continued)
Ta ble 3-20. Vector Table
SourceVectorPriorityVEC[3:0]
†
Issued byCleared By
No interrupt— — 0x0——
Software interrupt 0x2 1 lowest 0x1 icall
IBF enabled by pioc
OBE enabled by pioc
PIDS enabled by pioc
PODS enabled by pioc
§
0x1 1 0x1 SIO inread of sdx
§
0x1 1 0x1 SIO outwrite to sdx
§
0x1 1 0x1 PIO inread of pdx<0—7>
§
0x1 1 0x1 PIO outwrite to pdx<0—7>
‡
ireturn
INT0 0x 1 2 0x2 pinireturn or write to ins
JINT 0x42 3 0x8 jtag inread of jtag
INT1 0x4 4 0x9 pinireturn or write to ins
TIMEOUT 0x10 7 0xc timerireturn or write to ins
IBF2 0x14 8 0xd SIO2 inread of sdx2
OBE2 0x18 9 0xe SIO2 outwrite to sdx2
Reserved 0x1c 10 ———
EREADY
EOVF
††
††
0x20 110x1ECCP readyireturn or write to ins
0x24 120x2ECCP overflowireturn or write to ins
Reserved 0x28 13— ——
IBF enabled by inc 0x2c 14 0x3 SIO inread of sdx
OBE enabled by inc 0x30 15 0x4 SIO outwrite to sdx
PIDS/PIBF enabled by
0x34 16 0x5 PHIF/PIO inread of pdx0
inc
PODS/POBE enabled by
0x38 17 0x6PHIF/PIO outwrite to pdx0
inc
TRAP from HDS 0x3 18 — breakpoint, jtag, or pinireturn
TRAP from user 0x46 19 highest 0x7 pinireturn
† Pins VEC[3:0] are multiplexed with pins IO BIT[7:4]. Bit 12 of the
‡The
§ Available on DSP1617 onl y.
†† DSP1618/28 only.
instruction is reserved for use by the hardware development system.
icall
register must be clea r ed to enable VEC[3:0].
ioc
3.4.3 Outputs of Interrupts
The status bits in the
ins
register show if an interrupt has been r ec ogniz ed (defined as when the inter rupt is l atched
into the register). An interrupt, however, might be recognized but not serviced (acted on by executing the associated service routine) depending on the state of the machine (i.e., other interrupt in progress, uninterruptibl e instruction, etc.). An interrupt will not be serviced if not enabled. The VEC[3:0] outputs show the interrupt being serviced
(see the encoding in Table 3-20). If no interrupt or trap is being serviced, the VEC[3:0] output pins are all zero.
Another output (IACK) goes high if any interr upt or trap is being serviced and goes low when the service routine
ends (see the functional timing diagrams for IACK timing).
Lucent Technologies Inc.
DRAFT COPY
3-31
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
Figure 3-10, on page 3-33 shows the timing of a simple interrupt. Also shown is the code segment that is being
executed along with the interrupt service routine. In the timing diagram prior to time frame A, an external interrupt
occurs on INT1. The DSP at this time is executing a sequence of single cycle interruptible instructions (nops). In
time frame A, the interrupt is synchronized and latched in an interrupt-pending latch during the current instruction
cycle (A). During time frame B, the interrupt decoder decodes the vector address of the pending interrupt. In the
following cycle during time frame C, the interrupt is acknowledged on the VEC and IACK pins. The PC register is
loaded with the next instruction addr ess of the INT1 inter rupt service routine. The return address of the interrupted
instruction is saved in the pi register. At time frame D, the first instruction of the interrupt service routine (a0 = *r0)
is executed causing the ERAMHI strobe to go low immediately. Three cycles later (E), the ireturn instruction executes, signaling the end of the interrupt service routine. The IACK and VEC pins are cleared and the contents of
the pi register is loaded into the PC register. At time frame F, the next instruction begins.
Code Fragment
••
•int1_isr:
a0=0x0a0=*r0//r0 points to ERAMHI
mwait=0x02*nop
r0=ERAM_HIireturn
inc=0x20
nop
•
}
•
•
nop
Single cycle interruptible instructions
INT1 Interrupt Service Routine
3-32
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
†
CKO
INT1
IACK
VEC[3:0]
ERAMHI
† CKO is a zero-wait-stated clock.
Notes:
A. INT1 pin is synchronized and latched in interrupt pending latch.
B. Executing an interruptible instruction.
C. Branch to interrupt routine.
D. Start executing instructions in interrupt service ro utin e.
E.
F. Next instruction.
instruction is executed; end of interrupt service routine.
ireturn
(continued)
ABCDEF
Figure 3-10. Timing Diagram of a Simple Interrupt (Asserted During an Interruptible Instruction and No
Other Pending Interrupts)
Lucent Technologies Inc.
DRAFT COPY
3-33
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
(continued)
In the following cases, extra delays (exc luding wait-states) are required to service the interrupt:
1. The interrupt is always taken on instruction boundaries. If the instr uction is a two-cycle instruction, the interrupt
will allow it to complete execution.
2. The higher-priority interrupts are serv iced before the lower-priority interrupts. Therefore, extra delay is more
likely to occur to interrupts with low priority.
3. Interrupt service routines and trap service routines cannot be interrupted.
4. Branch instructions, conditional branch instructions and cache loops are not interruptible.
5. Postdecrement of the RAM address register (*rM--, M = one of 0, 1, 2, or 3) is not interruptible. (This is used by
pop
the
instruction for control of stacks.)
ins and inc Registers
All of the vectored interrupts are maskable through the
inc
register. A one in any bit of
inc
enables the associated
interrupt. If the bit is zero, the interrupt is masked. An interrupt that comes in while masked is latched (or recognized) and will cause an interrupt after being enabled. The status of the interrupt sources that have been recognized are readable in the
ins
register. Any of these interrupts that have been enabled in the
inc
register will cause
a vectored interrupt, possibly with some delay, as described previously. Table 3-22 thr ough Table 3-24 show the
inc
and
ins
registers.
Clearing of Interrupts
The PIO/PHIF and SIO<1, 2>interrupts are cleared by reading or writing
PIDS/PIBF; writing to
pdx
clears PODS/POBE. Reading
sdx
clears IBF; writing to
pdx
8.3, Interrupts and the PIO, for more detail). The JTAG interrupt is cleared by reading the
tored interrupts TIME and INT[1:0] are being serviced, they will be cleared when the
These vectored interrupts can also be cleared by writing to the
ins
register. If bits 8—4 in the
and
sdx
. Reading
sdx
clears OBE (see Section
ireturn
pdx
jtag
register. If the vec-
instruction is issued.
ins
register are writ-
clears
ten to with a one, the corresponding interrupt condition is clear ed and the bi t becomes a z ero . Writing a zero to the
ins
register does nothing.
Ta ble 3-21. Interrupt Control (inc
Bit
Field
† A zero in any bit of the
‡ JINT is a JTAG interrupt and is controlled by the HDS. It can be made unmaskable by the Lucent Technologies development system tools.
register disables the corresponding interrupt, and a one in any bit enables the corresponding interrupt.
inc
Ta ble 3-22. Interrupt Status (ins
Bit
Field
† A zero in any bit of the
‡ JINT is a JTAG interrupt and is controlled by the HDS. It can be made unmaskable by the Lucent Technologies development system tools.
register disables the corresponding interrupt, and a one in any bit enables the corresponding interrupt.
ins
Ta ble 3-23. Interrupt Control (inc
Bit
Field
† A zero in any bit of the
‡ JINT is a JTAG interrupt and is controlled by the HDS. It can be made unmaskable by the Lucent Technologies development system tools.
register disables the corresponding interrupt, and a one in any bit enables the corresponding interrupt.
inc
3-34
†
) Register (All Except DSP1618/28)
†
) Register (All Except DSP1618/28)
†
) Register (DSP1618/28)
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
Ta ble 3-24. Interrupt Status (ins
Bit
Field
†A zero in any bit of the
‡JINT is a JTAG interrupt and is controlled by the HDS. It can be made unmaskable by the Lucent Technologies development system tools.
register disables the corresponding interrupt, and a one in any bit enables the corresponding interrupt.
ins
Interrupt Disable Latency
Interrupts are latched on the falling edge of C K O and are tak en at the end of the next interruptible instruction. Interrupts are enabled or disabled with a write to the
just prior to the fetch of the instruction following the write of the
fragment demonstrates the interrupt disable latency. Interrupt disable latency is the delay from writing to the
register for disab li ng certain interrupts to the time the inter rupt is actual ly dis ab led. The number of
is not important; six
nop
s were used in this example.
inc
register. The enabled/disabled condition becomes effective
inc
register. To illustrate this, the following code
nop
instructions
inc
inc=0x10/*enable the INT0 interrupt pin*/
6*nop/*6 nops*/
inc=0/*disable the INT0 interrupt pin*/
6*nop/*6 nops*/
Figure 3-11 shows the functional timing for this example with the INT0 interrupt applied at varying times to deter-
mine if the interrupt is taken or not taken. The reference is the time at which instruction words are fetched on the
XDB (program data bus).
213456
CKO
XDB
INT0
nop
INTERRUPT
inc = 0goto 1
IS TAKEN
imm(0)
nop
INTERRUPT IS
NOT TAK EN
5-4117
Figure 3-11. Interrupt Disable Latency
The interrupt pins are latched on the falling edge of CKO. The transition region from accepting the interrupt to not
accepting it occurs at the falling edge of CKO during the fetch of the immediate word for the
the interrupt is taken, the program will branch to location 1 at time slot 6. If the interrupt is not taken, a
at time slot 6. One additional instruction, in this case a
nop
, will be executed before the interrupt service routine
inc
= 0 instruction. If
nop
occurs
begins to be executed.
If the user wishes to include a block of code that cannot be interrupted, the block of code could fol low the
nop
after
the imm(0) (immediate equal to zero) in Figure 3-11.
Lucent Technologies Inc.
DRAFT COPY
3-35
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
(continued)
Concurrent Interrupts
If using DSP16A-compatible interrupts in the DSP1617 device, concurrent interrupts must be handled with extra
care in order to guarantee that all interrupts will be serviced (details are described in Section 4.2.6 of the
Information Manual
). It is much simpler to handle concurrent interrupts if they are enabled from the
DSP16A
inc
register in
DSP1611/17/18/27/28/29. Interrupts are ser viced according to the following rules:
If interrupt requests (internal or external) occur at the same time or pending interrupts are enabled at the same time
and the device is not servicing any of the pending requests, all the interrupts will be serviced sequentially according
to their priority. The corresponding interrupt status bit is cleared after that interrupt is serviced and
ireturn
is
issued. The interrupt service status pins (VEC[3:0]) and IACK pin indicate which interrupt is currently being serviced. Figure 3-12 shows a typical circuit that is used to assert an interrupt
by an external device
. This circuit
removes the interrupt request signal when it begins to service that interrupt.
DSP1611/17/18/27/28/29
INT1
INT0
VEC0
VEC1
VEC2
VEC3
IACK
A0
A1
A2
A3
DECODER
ENABLE
1-OF-16
Q0
Q8
Q9
Q15
INT1ACK
V
DD
CL
D
INT1 INTERRUPT REQUEST
CK
Q
Figure 3-12. Interrupt Request Circuit Diagram
5-4147
3-36
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
(continued)
If the device is servicing a particular interrupt or that interrupt is already pending and it is desired to have the same
interrupt requested again, the interrupt must remain asserted until the next rising edge of IACK. Figure 3-13 is the
timing diagram of the concurrent interrupt in which the same interrupt is asserted again while the first interrupt
request is being serviced.
†
CKO
INT1
IACK
VEC[3:0]
AB CDEF
†CKO is a zero-wait-stated clock.
Notes:
A. INT1 pin is synchronized and latched in interrupt pending latch.
B. Executing an interruptible instruction.
C. Branch to interrupt routine.
D. Start executing instructions in interrupt service ro utin e.
E.
F. Next interruptible instruction.
G. Branch to interrupt service routine caused by second INT1.
H. Start executing instructions in interr up t service routine.
instruction is executed; end of interrupt service routine.
ireturn
GH
5-4118
Figure 3-13. Timing Diagram of Concurrent Interrupts (Interrupt Is Asserted During the Service of the
Same Interrupt.)
Lucent Technologies Inc.
DRAFT COPY
3-37
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.4 Interrupt Operation
Polling for Interrupt
The interrupts that are masked will not be serviced by an interrupt service routine. However, the interrupt conditions can be determined by polling the
action is taken to clear that status bit in the
cleared by reading or writing the I/O registers. JINT can be cleared by reading the
TIME and INT[1:0] are cleared by an
ones. Interrupts that can be cleared by an
this reason,
In the following example, the code continuously polls the
When the timer reaches zero count, the serial input data is read into RAM and the TIMEOUT status of the
ister is cleared.
wait: a0=ins/* check ins register for TIMEOUT */
Note: pioc
these interrupts cannot be polled while programs are executing from the interrupt level
a0h&0x0100/* look only at bit 8 */
if eq goto wait/* if no TIMEOUT, wait. */
ins=0x0100/* if TIMEOUT, clear interrupt by setting bit 8 to 1 */
*r0=sdx/* move serial input data into RAM */
bits 9, 8 = 0 to disable ibf and obe interrupts in DSP16A-compatible mode (DSP1617 only).
(continued)
ins
register. If the interrupt source is examined in a polling routine, certain
ins
register. The SIO[2] and PIO/PHIF interrupt conditions can be
jtag
register. The interr upts
ireturn
instruction or by writing the corresponding bits of the
ireturn
instruction are latched on the rising edge of the IA CK signal. For
ins
register to determine if the condi tion TIMEOUT is tr ue.
ins
register with
.
ins
reg-
3.4.5 Trap Description
The maximum interrupt latency in a program can be as long as thousands of cycles if a cache loop uses a large
repeat count. For some time-critical events, the long interrupt response time is too slow to gain control of the processor and remove the exception condition. Therefore, programming techniques such as breaking long cache
loops into several short ones, using short interrupt service routines, etc. are often used to improve the response
time. Alternatively , the tr ap mechanism caus es the pr ocessor to branc h to a tr ap service routine with less than f our
cycles of latency without restrictions from the current instruction. If in a trap service routine, another trap will be
ignored. Also, the trap feature is used by the hardware development system for breakpointing and gaining control
of the processor. Table 3-20 shows the vector address, priority, and trap status encoding (VEC[3:0]) of the user
trap and HDS trap.
The user trap (vector 0x46) is caused by asserting the TR AP pin of the DSP. Because a trap is not maskable and
the user trap has the highest priority, at most two instructions (four cycles maximum) will execute from the time the
trap is received at the pin to when it gains control (see Figure 3-14). An instruction that is executing when the trap
occurs will be allowed to complete before the trap is taken (note that the instruction could be lengthened by waitstates). If the instruction is a two-cycle instruction (not c ounting w ai t-states) , the pi register contains the address of
the next instruction. If the instruction was a one-cycle instruction, the pi register will contain the address after the
next instruction. If the program is in an interrupt service routine at the time the trap was taken, the retur n address
in the pi register is overwritten if a user trap is taken. It is not possible to return to an interrupt service routine from
a user trap service routine. Continuing program execution if a trap occurs during a cache loop is also not possible.
A trap by the hardware development system does not affect the IACK or VEC[3:0] pins. Instead, they show the
interrupt state or interrupt source of the DSP when the TRAP occurs.
3-38
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.5 Trap Description
CKO
USER TRAP
IACK
VEC[3:0]
†CKO is a zero-wait-stated clock.
Notes:
A. TRAP pin is synchronized and latched in interrupt pending latch.
B. A constant two-cycle delay to allow a two-cycle instruction to complete before entering into the trap service routine.
C. Branch to trap service routine.
D. Start executing instructions in trap service routine.
E.
F. Next interruptible instruction.
instruction is executed; end of trap service routine.
ireturn
(continued)
†
ABCDEF
5-4119.a
Figure 3-14. Timing Diagram of User Trap
Lucent Technologies Inc.
DRAFT COPY
3-39
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.6 Powerdown with the AWAIT State
These DSPs have a power-saving standby mode in which the internal clock is stretched indefinitely until an interrupt/trap request is received. A minimum amount of circuitry on the chip, including the PIO/PHIF and SIO, will continue to run in order to process the incoming interrupt. The processor enters the powerdown mode by the user
setting the AWAIT bit (bit 15) of the
before entering the standby powerdown mode. After an interrupt request wakes up the processor, one more
instruction cycle is executed before being interrupted. The timing of entering and exiting the sleep mode is illustrated in Figure 3-15.
†
CKO
‡
CKO
INT1
alf
register. After the AWAIT bit is set, one more instruction cycle is executed
IACK
VEC[3:0]
ABC
† CKO is a free-running clock (
‡ CKO is a wait-s tated clock (
Notes:
A. Setting AWAIT bit of the
B. Executing one more instruction (
C. Stretching the clock for powerdown mode.
D. Executing one more instruction (
E. Branching to in terrupt service routine.
F. Start executing instructions in interrupt service routine.
ioc
ioc
register.
alf
= 0x0000).
= 0x0080).
) after AWAIT is set.
nop
) after coming out of sleep mode.
nop
Figure 3-15. Timing Diagram of Entering and Exiting Powerdown Mode
DEF
5-4120
3-40
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.4 Interrupts (continued)
3.4.6 Powerdown with the AWAIT State
Code Example for Sleep Mode
sleep:
alf=0x8000/*set bit 15 of alf register*/
nop/*one more instruction executed*/
nop/*one more instruction executed*/
main code:
(assuming execution from internal RAM)
/*sleep here*/
/*external interrupt occurs*/
/*branch here*/
/*return here*/
(continued)
Lucent Technologies Inc.
DRAFT COPY
3-41
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
3.4 Interrupts (continued)
3.4.7 Interrupts in DSP16A-Compatible Mode ( DSP1617 Only)
One external interrupt (INT0) and four internal interrupts (IBF, OBE, PIDS, and PODS ) can be compatible with the
corresponding DSP16A interrupts in the DSP1617. If these interrupts are enabled in the
control jumps to address 0x0001 upon receiving an interrupt just as in the DSP16A. If operating in DSP16A-com-
1
patible mode, no vectored interrupts should be enabled
, i.e.,
inc
= 0x0 for software compatibility with the DSP16A
source code. However, detailed timing specifications and interrupt latency differ between the DSP16A and the
DSP1617. The most important distinction is that, in DSP16A-compatible mode,
ireturn
external interrupt if the interrupt is actually caused by an internal interrupt. The pending INT0 can be cleared by
writing 0x10 to the
ins
register before issuing
ireturn
. One notable timing difference is the IACK signal that is
asserted at the rising edge of the CKO clock in the DSP1617 instead of the falling edge of CKO as in DSP16A.
However, ORing VEC0 and VEC1 in the DSP16A-compatible mode generates a signal equivalent to the DSP16A
IACK signal.
The software interrupt (
DSP16A. The
icall
icall
, branching to location 0x2) in DSP1611/17/18/27/28/29 works the same way as in
instruction is reserved for use by the hardware development system.
Concurrent Interrupts in DSP16A-Compatible Mode (DSP1617 Only)
The complexity of servicing concurrent interrupts in the DSP16A-compatible interrupt mode is described below.
The following discus sion uses an e xample to illus tr ate the prob lem. For concurrent internal and external interrupts,
any interrupts recognized more than one clock cycle before IACK are displayed by the status bits of the
register. They can be serviced in an interrupt handler as demonstrated in the example.
pioc
register, pr ogram
does not clear the pending
pioc
EXAMPLE
/******************************************************************/
/*Interrupts in DSP16A compatible mode (DSP1617).*/
/*Concurrent internal (IBF) and external (INT0) interrupt*/
/*enabled from the pioc register.*/
/******************************************************************/
goto start
intrpt:/*interrupt service routine*/
a0=pioc/*move pioc register to a0*/
y=0x1/*load mask 0x1 to y*/
a0&y/*examine bit 0 (INT0) of pioc*/
if eq goto sioint /*if no INT0, then service IBF*/
If the external interrupt is recognized while servicing an internal interrupt (less than one cycle between IACK and
INT0 being latched), the INT0 interrupt is pending and is serviced at the next interruptible instr uction after the current interrupt service routine has fin ished. In this case, unlik e the D SP16A, there is no need to hold the INT0 signal
until the next rising edge of IAC K. If the IBF interrupt is recognized while servicing the external interrupt, it is serviced at the next interruptible instruction as in the previous case.
(continued)
Therefore, given the interrupt service routine in the EXAMPLE, asserting INT0 with a pulse width of two clock periods guarantees the service of the concurrent internal and external interrupts under all conditions.
For concurrent external interrupts and if the external interrupt is being serviced as indicated by IACK and VEC1
high and if another external interrupt is requested again, the INT0 signal must be asserted until the ne xt r ising edge
of IACK (or VEC1).
For applications that need both concur rent internal and external interrupts, the INT0 pin can be asserted b y a pul se
of two CKO periods if no other INT0 is pending or in progress; other wise , INT0 must remain ass erted in order to be
serviced again.
Lucent Technologies Inc.
DRAFT COPY
3-43
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSORInformation Manual
Software ArchitectureApril 1998
—Figure 3-16 shows the timing sequence of concurrent IBF and
INT0 interrupts with both interrupt signals synchronized to the falling edge of the CKO clock. Four cases are given
for different INT0 si gnals asserted at the same time as, or after, the IBF signal.
Case 1
caused by INT0 with both status bits in
cleared upon reading of
Case 2
with both status bits in
Case 3
with only IBF status bit set in the
after
Case 4
—INT0 is asserted the same time as IBF. They are latched internally at point A, and an interrupt is
sdx
pioc
set. INT0 in the
.
pioc
register is cleared w hen IA CK goes lo w. IBF is
—INT0 is asserted one clock cycle after IBF and latched internally at point B. Interrupt is caused by IBF
pioc
set.
ireturn
does not clear INT0. In DSP16A,
ireturn
does clear INT0 in this case.
—INT0 is asserted two clock cycles after IBF and latched internally at point C. Interrupt is caused by IBF
pioc
register. INT0 is pending and is taken at the next interruptible instruction
ireturn
.
—INT0 asserted three clock cycles after IBF. This case is identical to case 3.
†
CKO
IBF
IACK
INT0 CASE 1
INT0 CASE 2
INT0 CASE 3
INT0 CASE 4
AB CD
† C KO is a zer o-wai t-stated clock.
Figure 3-16. Timing Sequen ce of Concurrent Internal and External Interr upts, DSP16A-Compatible Mode
3-44
DRAFT COPY
Lucent Technologies Inc.
5-4121
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
—INT0 signal is negated at point B and asserted again at point C. Because the previous INT0 is still
—Figure 3-18 shows the timing sequence of concurrent INT0 interrupts.
(continued)
pending, the new INT0 must be asserted until the second rising edge of IACK.
Case 2
—INT0 signal is negated at point B and asserted again at point D. In this case, INT0 is asserted if servic-
ing of the previous INT0 is in progress; it must remain asser ted until the next rising edge of IACK.
†
CKO
IACK
VEC1
INT0 CASE 1
INT0 CASE 2
ABCD
† CKO i s a zero-wait-stated cl ock.
Figure 3-18. Timing Sequence o f Concurrent External Interrupts, DSP16A Compatible Mode
5-4123
3-46
DRAFT COPY
Lucent Technologies Inc.
Information ManualDSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
April 1998Software Architecture
3.5 Clock Synthesis (DSP1627, DSP1628, and DSP1629 Only)
The DSP1627/28/29 provides an on-chip programmable clock synthesizer that can be driven by an external clock
at a fraction of the desired instruction rate. Figure 3-19 is the clock source diagram. The 1X CKI input clock, the
output of the synthesizer, or a slow internal ring oscillator can be used as the source for the internal DSP clock.
The clock synthesizer is based on a phase-lock loop (P LL). The terms clock synthesizer and PLL are used interchangeably.
On powerup, CKI is used as the clock source for the DSP. This clock is used to generate the internal processor
clocks and CKO. Setting the appropr iate bits in the
thesizer to become the clock sour ce. The
powerc
Register Bits, can be programmed to o v erride the cloc k selec t ion, to stop cl oc ks , or to f or ce the use of the sl ow ring
oscillator clock for low-power operation.
pllc
control register (see Table 3-26) will enable the clock syn-
register, which is discussed in Section 3.6.1, powerc Control
CKI INPUT CLOCK
f
CKI
Nbits[2:0]
powerc
RING
OSCILLATOR
LOCK
(FLAG TO INDICATE LOCK
CONDITION OF PLL)
N
÷
PHASE
DETECTOR
CHARGE
PUMP
LOOP
FILTE R
M
÷
SLOWCKI
VCO CLOCK
f
VCO
VCO
f
SLOW CLOCK
f
CKI
2
÷
PLLEN
M
U
X
PLLSEL
INTERNAL
PROCESSOR
CLOCK
f
INTERNAL CLOCK
pllc
PLL/SYNTHESIZER
Notes:
Signals shown in bold are control bits from the
If PLLSEL = 0, DSP runs from the 1X vers ion of CKI input clock.
Other signals f rom the
register also control the clock source.
powerc
Mbits[4:0]
register or the
pllc
Figure 3-19. Clock Source Block D iagram
Lucent Technologies Inc.
DRAFT COPY
powerc
LF[3:0]
registe r.
3-47
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.