•850-MHZ and 1-GHz Device: 0°C to 100°C
– Extended Temperature:
(Selectable at Boot-Time)
• Two 1x Serial RapidIO® Links, v1.2 Compliant
– 1.25-, 2.5-, 3.125-Gbps Link Rates
– Message Passing and DirectIO Support
– Error Management Extensions and
Congestion Control
• One 1.8-V Inter-Integrated Circuit (I2C) Bus
• Two 1.8-V McBSPs
(1)
1
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas
Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
2All trademarks are the property of their respective owners.
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testingof all parameters.
(1)
Note: Advance Information is presented in this document for
the C6474 1.2-GHz extended temperature device.
• SmartReflex™ Class 0 - 0.9-V to 1.2-V Adaptive
Core Voltage
• 1.8-V, 1.1-V I/Os
1.1CUN/GUN/ZUN BGA Package (Bottom View)
The devices are designed for a package temperature range of 0°C to 100°C (commercial temperature
range; 1-GHz device), -40°C to 100°C (extended temperature range; 1-GHz device), 0°C to 95°C
(commercial temperature range; 850-MHz and 1.2-GHz device), and -40°C to 95°C (extended temperature
range; 1.2-GHz device). A heatsink is required so that this range is not exceeded.
NOTE
Advance Information is presented in this document for the C6474 1.2-GHz extended
temperature device.
The TMS320C64x+ DSPs (including the TMS320C6474 device) are the highest-performance multicore
DSP generation in the TMS320C6000™ DSP platform.
The C6474 device is based on the third-generation high-performance, advanced VelociTI™
very-long-instruction-word (VLIW) architecture developed by Texas Instruments (TI).
The C64x+™ devices are upward code-compatible from previous devices that are part of the C6000™
DSP platform.
1.2.1Core Processor
Based on 65-nm process technology and 3.6 GHz of total raw DSP processing power with performance of
up to 28,800 million instructions per second (MIPS) [or 28,800 16-bit MMACs per cycle], the C6474 device
offers cost-effective solutions to high-performance DSP programming challenges with three independent
DSP subsystems. The DSP possesses the operational flexibility of high-speed controllers and numerical
capability of array processors.
The C64x+ DSP core employs eight functional units, two register files, and two data paths. Like the earlier
C6000 devices, two of these functional units are multipliers or .M units. Each C64x+ .M unit doubles the
multiply throughput versus the C64x core by performing four 16-bit x 16-bit multiply-accumulates (MACs)
every clock cycle. Thus, eight 16-bit x 16-bit MACs can be executed every cycle on the C64x+ core. At
a1.2-GHz rate, this means 9600 16-bit MMACs can occur every microsecond. Moreover, each multiplier
on the C64x+ core can compute one 32-bit x 32-bit MAC or four 8-bit x 8-bit MACs every clock cycle.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
The C6474 DSP integrates a large amount of on-chip memory organized as a three-level memory system.
The level-1 data memories on the device are 32 KB each. This memory can be configured as mapped
RAM, cache, or some combination of the two. When configured as cache, L1 program (L1P) is a
direct-mapped cache where as L1 data (L1D) is a two-way set associative cache. The level-3 (L3) ROM is
64 KB in the device. The C64x+ megamodule also has a 32-bit peripheral configuration (CFG) port, an
internal DMA (IDMA) controller, a system component with reset/boot control, and a free-running 32-bit
timer for time stamp.
The C64x+ DSP core has a complete set of development tools which includes: a new C compiler, an
assembly optimizer to simplify programming and scheduling, and a Windows® debugger interface for
visibility into source code execution.
The DMA switch fabric provides enhanced on-chip connectivity between the DSP cores and the
peripherals and accelerators.
1.2.2Peripherals
The peripheral set includes: an inter-integrated circuit bus module (I2C); two multichannel buffered serial
ports (McBSPs) each at 100 Mbps; six 64-bit general-purpose timers (also configurable as twelve 32-bit
timers); 16 general-purpose input/output ports (GPIO) with programmable interrupt/event generation
modes; a 1000-Mbps Ethernet media access controller (EMAC), which provides an efficient interface
between the C6474 DSP core processor and the network; a management data input/output (MDIO)
module (also part of EMAC), which controls PHY configuration and status monitoring; a frame
synchronization (FSYNC) module, which synchronizes DMA transactions; a semaphore hardware block
(Semaphore), which allows access to shared resources with unique interrupts to each of the cores to
identify when that core has acquired the resource; and a 16-/32-bit DDR2 SDRAM interface.
The I2C port allows the DSP to easily control peripheral devices and communicate with a host processor.
The device includes two Serial RapidIO® (SRIO) with link rates of 1.25 Gbps, 2.5 Gbps or 3.125 Gbps.
This high-bandwidth peripheral is used for point-to-point inter-device communication and may connect the
TCI6487/8 device to other DSPs, ASICs, or switches on the same board or across the backplane. This
dramatically improves system performance and reduces system cost for applications that include multiple
DSPs on a board such as video and telecom infrastructures and medical/imaging. The SRIO also provides
alarm, interrupt, and messaging events.
The device includes the SerDes-based antenna interface (AIF) capable of up to 3.072 Gbps operation per
link. The AIF comprises six high-speed serial links, compliant to OBSAI RP3 and CPRI standards. The
antenna interface is used to connect the backplane for antenna data transmission and reception. Each link
of the AIF includes a differential receive and transmit signal pair.
1.2.3Accelerators
The device has two high-performance embedded coprocessors [enhanced Viterbi Decoder Coprocessor
(VCP2) and enhanced turbo decoder coprocessor (TCP2)] that significantly speed up channel-decoding
operations on-chip. The VCP2 operating at CPU clock divided-by-3 can decode over 694 7.95-Kbps
adaptive multi-rate (AMR) [K=9, R=1/3] voice channels. The VCP2 supports constraint lengths K = 5, 6, 7,
8, and 9, rates R = 3/4, 1/2, 1/3, and 1/5, and flexible polynomials, while generating hard decisions or soft
decisions. The TCP2 operating at CPU clock divided-by-3 can decode up to fifty 384-Kbps or eight
2-Mbps turbo encoded channels (assuming 6 iterations). The TCP2 implements the max*log-map
algorithm and is designed to support all polynomials and rates required by third-generation partnership
projects (3 GPP and 3 GPP2), with fully programmable frame length and turbo interleaver. Decoding
parameters such as the number of iterations and stopping criteria are also programmable.
Communications between the VCP2/TCP2 and the CPU are carried out through the EDMA3 controller.
Table 2-1 provides an overview of the C6474 DSP. The tables show significant features of the C6474
device, including the capacity of on-chip RAM, the peripherals, the CPU frequency, and the package type
with pin count.
Table 2-1. Characteristics of the C6474 Processor
HARDWARE FEATURESC6474
PeripheralsDDR2 Memory Controller (32-bit bus width) [1.8 V I/O]
Not all peripherals pins(clock memory = DDRREFCLK(N|P)
are available at the same
time.
(For more detail, see
Table 2-1. Characteristics of the C6474 Processor (continued)
HARDWARE FEATURESC6474
Product Status
Device Part Numbers(For more details on C64x+ DSP part numbering, see
(1) PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of Texas
Instruments standard warranty. Production processing does not necessarily include testing of all parameters. Note: Advance Information
is presented in this document for the C6474 1.2-GHz extended temperature device.
(1)
Product Preview (PP), Advance Information (AI), or
Production Data (PD)
Figure 2-11)
2.2CPU (DSP Core) Description
The C64x+ central processing unit (CPU) consists of eight functional units, two register files, and two data
paths as shown in Figure 2-1. The two general-purpose register files (A and B) each contain 32 (thirty-two)
32-bit registers for a total of 64 registers. The general-purpose registers can be used for data or can be
data address pointers. The data types supported include packed 8-bit data, 32-bit data, 40-bit data, and
64-bit data. Values larger than 32 bits, such as 40-bit-long or 64-bit-long values are stored in register
pairs, with the 32 LSBs of data placed in an even register and the remaining 8 or 32 MSBs in the next
upper register (which is always an odd-numbered register).
The eight functional units (.M1, .L1, .D1, .S1, .M2, .L2, .D2, and .S2) are each capable of executing one
instruction every clock cycle. The .M functional units perform all multiply operations. The .S and .L units
perform a general set of arithmetic, logical, and branch functions. The .D units primarily load data from
memory to the register file and store results from the register file into memory.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
PD
TMS320C6474CUN/GUN/ZUN
The C64x+ CPU extends the performance of the C64x core through enhancements and new features.
Each C64x+ .M unit can perform one of the following each clock cycle: one 32 x 32 bit multiply, two 16 x
16 bit multiplies, two 16 x 32 bit multiplies, four 8 x 8 bit multiplies, four 8 x 8 multiplies with add
operations and four 16 x 16 multiplies with add/subtract capabilities (including a complex multiply). There
is also support for Galois filed multiplication for 8-bit and 32-bit data. Many communications algorithms
such FFTs and modems require complex multiplication. The complex multiply (CMPY) instruction takes
four 16-bit inputs and produces a 32-bit real and a 32-bit imaginary output. There are also complex
multiplies with rounding capability that produces one 32-bit packed output that contain 16-bit real and
16-bit imaginary values. The 32 x 32 bit multiply instructions provide the extended precision necessary for
audio and other high-precision algorithms on a variety of signed and unsigned 32-bit data types.
The .L or arithmetic logic unit now incorporates the ability to do parallel add/subtract operations on a pair
of common inputs. Versions of this instruction exist to work on 32-bit data or on pairs of 16-bit data
performing dual 16-bit add and subtracts in parallel. There are also saturated forms of these instructions.
The C64x+ core enhances the .S unit in several ways. In the C64x core, dual 16-bit MIN2 and MAX2
comparisons were only available on the .L units. On the C64X+ core, they are also available on the .S unit
which increases the performance of algorithms that do searching and sorting. Finally, to increase data
packing and unpacking throughput, the .S unit allows sustained high performance for the quad 8-bit/16-bit
and dual 16-bit instructions. Unpack instructions prepare 8-bit data for parallel 16-bit operations. Pack
instructions return parallel results to output precision including saturation support.
Other new features include:
•SPLOOP - a small instruction buffer in the CPU that aids in creation of software pipelining loops where
multiple iterations of a loop are executed in parallel. The SPLOOP buffer reduces the code size
associated with software pipelining. Furthermore, loops in the SPLOOP buffer are fully interruptible.
•Compact Instructions - The native instruction size of the C6000 devices is 32 bits. Many common
instructions such as MPY, AND, OR, ADD, and SUB can be expressed as 16 bits if the C64x+
compiler can restrict the code to use certain registers in the register file. This compression is
performed by the code generation tools.
•Instruction Set Enhancements - As noted above, there are new instructions such as 32-bit
multiplications, complex multiplications, packing, sorting, bit manipulation, and 32-bit Galois field
multiplication.
•Exception Handling - Intended to aid the programmer in isolating bugs. The C64x+ CPU is able to
detect and respond to exceptions, both from internally detected sources (such as illegal op-codes) and
from system events (such as watchdog time expiration).
•Privilege - Defines user and supervisor modes of operation, allowing the operating system to give a
basic level of protection to sensitive resources. Local memory is divided into multiple pages, each with
read, write, and execute permissions.
•Time-Stamp Counter - Primarily targeted for real-time operating system (RTOS) robustness, a
free-running time-stamp counter is implemented in the CPU that is not sensitive to system stalls.
For more details on the C64x+ CPU and its enhancements over the C64x architecture, see the following
documents:
•TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide (literature number SPRU732)
•TMS320C64x+ DSP Cache User's Guide (literature number SPRU862)
•TMS320C64x+ Megamodule Reference Guide (literature number SPRU871)
•TMS320C64X to TMS320C64x+ CPU Migration Guide (literature number SPRAA84)
A. On .M unit, dst2 is 32 MB.
B. On .M unit, dst1 is 32 LSB.
C. On 64x+ CPU .M unit, src2 is 32 bits; on C64x+ CPU .M unit, src2 is 64 bits.
D. On .L and .S units, odd dst connects to odd register files and even dst connects to even register files.
Figure 2-1. TMS320C64x+TM CPU (DSP Core) Data Path
Submit Documentation Feedback
Product Folder Link(s) :TMS320C6474
TMS320C6474
SPRS552F–OCTOBER 2008–REVISED JULY 2010
2.3Memory Map Summary
Table 2-2 shows the memory map address of the C6474 device. For more information about the registers
in these address ranges, click on the links in the table. The external memory configuration register
address ranges in the C6474 device begin at the hex address location 0x7000 for DDR2 Memory
Controller.
The boot sequence is a process by which the DSP's internal memory is loaded with program and data
sections. The DSP's internal registers are programmed with predetermined values. The boot sequence is
started automatically after each power-on reset, warm reset, and system reset. A local reset to an
individual C64x+ Megamodule should not affect the state of the hardware boot controller on the device.
For more details on the initiators of the resets, see Section 7.7, Reset Controller.
The C6474 device supports several boot processes begins execution at the ROM base address, which
contains the bootloader code necessary to support various device boot modes. The boot processes are
software driven; using the BOOTMODE[3:0] device configuration inputs to determine the software
configuration that must be completed.
2.4.1Boot Modes Supported
The device supports several boot processes, which leverage the internal boot ROM. Most boot processes
are software driven, using the BOOTMODE[3:0] device configuration inputs to determine the software
configuration that must be completed. From a hardware perspective, there are three possible boot modes:
•No Boot (BOOTMODE[3:0] = 0000b)
With no boot, the CPU executes directly from the internal L2 RAM located at address 0x80 0000.
Note: Device operations are undefined if invalid code is located at address 0x80 0000. This boot mode
is a hardware boot mode.
•Public ROM Boot
The C64x+ Megamodule Core 0 is released from reset and begins executing from the L3 ROM base
address. C64x+ Megamodule Core 0 is responsible for performing the boot process (e.g., from I2C
ROM, Ethernet, or RapidIO), after which C64x+ Megamodule Core 0 brings the other C64x+
megamodule cores out of reset by setting to 1 the EVTPULSE4 bit (bit 4) of the C64x+ Megamodule
Core 0's EVTASRT register. This process is valid only once: writing 1, then writing 1 again will not
bring Core 1 and 2 out of reset again. Then, the C64x+ Megamodule Core 0 begins execution from the
entry address defined in the boot table. The C64x+ Megamodule Core 1 and 2 begin execution from
their L2 RAMs' base address.
The boot process performed by C64x+ Megamodule Core 0 in public ROM boot is determined by the
BOOTMODE[3:0] value in the DEVSTAT register. C64x+ Megamodule Core 0 reads this value, and then
executes the associated boot process in software.
No Boot0000bNo Boot (BOOTMODE[3:0] = 0000b)
I2C Master Boot A0001bSlave I2C address is 0x50. C64x+ Megamodule Core 0 configures I2C, acts as a
I2C Master Boot B0010bSimilar to I2C boot A except the slave I2C address is 0x51.
I2C Slave Boot0011The C64x+ Megamodule Core 0 configures I2C and acts as a slave and will accept
EMAC Master Boot0100bTI Ethernet Boot, C64x+ Megamodule Core 0 configures EMAC0 and EDMA, if
EMAC Slave Boot0101b
EMAC Forced-Mode Boot0110b
Reserved0111bReserved
Serial RapidIO Boot (Config 0)1000bThe C64x+ Megamodule Core 0 configures the SRIO and an external host loads the
Serial RapidIO Boot (Config 1)1001b
Serial RapidIO Boot (Config 2)1010b
Serial RapidIO Boot (Config 3)1011b
master to the I2C bus and copies data from an I2C EEPROM or a device acting as an
I2C slave to the DSP using a predefined boot table format. The destination address
and length are contained within the boot table. After boot table copy is complete, the
C64x+ Megamodule Core 0 brings the other C64x+ Megamodule Cores out of reset
by setting to 1 the EVTPULSE4 bit (bit 4) of the C64x+ Megamodule Core EVTASRT
register.
data and code section packets through the I2C interface. It is required that an I2C
master in present in the system.
required, and brings the code image into the internal on-chip memory via the protocol
defined by the boot method (EMAC bootloader). After initializing the on-chip memory
to the known state, C64x+ Megamodule Core 0 brings the other C64x+ Megamodule
Cores out of reset.
application via SRIO peripheral, using directIO protocol. A doorbell interrupt is used to
indicate that the code has been loaded. For more details on the Serial RapidIO
configurations, see Table 2-4.
www.ti.com
C64x+ Megamodule Core 0 configures Serial RapidIO and EDMA, if required, and brings the code image
into the internal on-chip memory via the protocol defined by the boot method (SRIO bootloader) and then
C64x+ Megamodule Core 0 brings the other C64x+ Megamodule Cores out of reset. Note that SRIO boot
modes are only supported on port 0.
Table 2-4. Serial RapidIO (SRIO) Supported Boot Modes
Any of the boot modes can be used to download a second-level bootloader. A second-level bootloader
allows for any level of customization to current boot methods as well as the definition of a completely
customized boot.
The terminal functions table (Table 2-5) identifies the external signal names, the pin type (I, O, O/Z, or
I/O/Z), whether the pin has any internal pullup/pulldown resistors, and the signal function description.
Megamodule Core 0, C64x+ Megamodule Core 1, and C64x+ Megamodule Core
2, respectively. NMIs are edge-driven (rising edge). Any noise on the NMI pin
may trigger an NMI interrupt; therefore, if the NMI pin is not used, it is
recommended that the NMI pin be grounded rather than relying on the IPD.
System Clock Input to Antenna Interface and main PLL (Main PLL optional vs
ALTCORECLK)
Alternate Core Clock Input to main PLL (vs SYSCLK)
DDR Reference Clock Input to DDR PLL
System Clock Output to be used as a general purpose output clock for debug
purposes
SIGNAL DESCRIPTION
www.ti.com
(1) I = Input, O = Output, Z = High impedance, S = Supply voltage, GND = Ground, A = Analog signal
(2) IPD = internal pulldown, IPU = internal pullup. All internal pullups and pulldowns are 100 mA.
GPIO5 is mapped to L2_CONFIG is a reserved bootstrap pin and should be
pulled up to DV
during bootstrap
GPIO[7:6] are not multiplexed
GPIO[11:8] are mapped to DEVNUM[3:0]
(see Section 2.4.1, Boot Modes Supported)
GPIO[15:12] are not multiplexed
MISCELLANEOUS
Voltage Control Outputs to variable core power supply (open-drain buffers)
Note: These pins must be externally pulled up. For more infomation, see the
TMS320C6474 Hardware Design Guide application report (literature number
In case the customer would like to develop their own features and software on the C6474 device, TI offers
an extensive line of development tools for the TMS320C6000 DSP platform, including tools to evaluate the
performance of the processors, generate code, develop algorithm implementations, and fully integrate and
debug software and hardware modules. The tool's support documentation is electronically available within
the Code Composer Studio™ Integrated Development Environment (IDE). The following products support
development of C6000 DSP-based applications:
Software Development Tools: Code Composer Studio Integrated Development Environment (IDE):
including Editor C/C++/Assembly Code Generation, and Debug plus additional development tools
Scalable, Real-Time Foundation Software (DSP/BIOS™), which provides the basic run-time target
software needed to support any DSP application.
Hardware Development Tools: Extended Development System (XDS™) Emulator (supports C6000 DSP
multiprocessor system debug) Evaluation Module (EVM).
2.8.2Device Support
2.8.2.1Device and Development-Support Tool Nomenclature
To designate the stages in the product development cycle, TI assigns prefixes to the part numbers of all
DSP devices and support tools. Each DSP commercial family member has one of three prefixes: TMX,
TMP, or TMS (e.g., TMS320C6474ZUN). Texas Instruments recommends two of three possible prefix
designators for its support tools: TMDX and TMDS. These prefixes represent evolutionary stages of
product development from engineering prototypes (TMX/TMDX) through fully qualified production
devices/tools (TMS/TMDS).
SPRS552F–OCTOBER 2008–REVISED JULY 2010
Device development evolutionary flow:
•TMX: Experimental device that is not necessarily representative of the final device's electrical
specifications.
•TMP: Final silicon die that conforms to the device's electrical specifications but has not completed
quality and reliability verification.
•TMS: Fully qualified production device.
Support tool development evolutionary flow:
•TMDX: Development-support product that has not yet completed Texas Instruments internal
qualification testing.
TMX and TMP devices and TMDX development-support tools are shipped with against the following
disclaimer:
"Developmental product is intended for internal evaluation purposes."
TMS devices and TMDS development-support tools have been characterized fully, and the quality and
reliability of the device have been demonstrated fully. TI's standard warranty applies.
Predictions show that prototype devices (TMX or TMP) have a greater failure rate than the standard
production devices. Texas Instruments recommends that these devices not be used in any production
system because their expected end-use failure rate still is undefined. Only qualified production devices are
to be used.
CUN = 561-pin plastic BGA (lead-free die bump and solder balls)
GUN = 561-pin plastic BGA (leaded [Pb] solder balls)
ZUN = 561-pin plastic BGA (lead-free solder balls and leaded [Pb] die bumps)
DEVICE
DEVICE SPEED RANGE
Blank = 1 GHz
2 = 1.2 GHz
8 = 850 MHz
( )
TEMPERATURE RANGE
Blank = 0 C to 100 C (default commercial temperature; 850-MHz and 1-GHz device)
Blank = 0°C to 95°C (default commercial temperature; 1.2-GHz device)
A = -40°C to 100°C (extended temperature; 1-GHz device)
A =(extended temperature; 1.2-GHz device)
°°
-40°C to 95°C
( )
( )
SILICON REVISION
(A)
F = Silicon Revision 2.1
TMS320C6474
SPRS552F–OCTOBER 2008–REVISED JULY 2010
TI device nomenclature also includes a suffix with the device family name. This suffix indicates the
package type (for example, ZUN), the temperature range (for example, Blank is the default commercial
temperature range), and the device speed range in megahertz (for example, Blank is 1000 [1 GHz]).
Figure 2-11 provides a legend for reading the complete device name for any TMS320C64x+ DSP
generation member. For device part numbers and further ordering information for TMS320C6474 in the
CUN, GUN, or ZUN package type, see the TI website (www.ti.com) or contact your TI sales
representative.
A. Silicon revision correlates to the lot trace code found on the second line of the package marking. For more
information, see the TMS320C6474 Digital Signal Processor Silicon Errata (literature number SPRZ283).
The following documents describe the TMS320C6474 multicore digital signal processor. Copies of these
documents are available on the Internet at www.ti.com. Tip: Enter the literature number in the search box
provided at www.ti.com.
SPRU732TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide. Describes the CPU
architecture, pipeline, instruction set, and interrupts for the TMS320C64x and TMS320C64x+
digital signal processors (DSPs) of the TMS320C6000 DSP family. The C64x/C64x+ DSP
generation comprises fixed-point devices in the C6000 DSP platform. The C64x+ DSP is an
enhancement of the C64x DSP with added functionality and an expanded instruction set.
SPRU871TMS320C64x+ DSP Megamodule Reference Guide. Describes the TMS320C64x+ digital
signal processor (DSP) megamodule. Included is a discussion on the internal direct memory
access (IDMA) controller, the interrupt controller, the power-down controller, memory
protection, bandwidth management, and the memory and cache.
SPRAA84TMS320C64x to TMS320C64x+ CPU Migration Guide. Describes migrating from the Texas
Instruments TMS320C64x digital signal processor (DSP) to the TMS320C64x+ DSP. The
objective of this document is to indicate differences between the two cores. Functionality in
the devices that is identical is not included.
SPRU889High-Speed DSP Systems Design Reference Guide. Provides recommendations for
meeting the many challenges of high-speed DSP system design. These recommendations
include information about DSP audio, video, and communications systems for the C5000 and
C6000 DSP platforms.
SPRUG08TMS320C6474 DSP Ethernet Media Access Controller (EMAC)/ Management Data
Input/Output (MDIO) User's Guide. This document provides a functional description of the
Ethernet Media Access Controller (EMAC) and Physical layer (PHY) device Management
Data Input/Output (MDIO) module integrated with the TMS320C6474 digital signal
User's Guide. This document describes the operation of the software-programmable
phase-locked loop (PLL) controller in the TMS320C6474 digital signal processors (DSPs).
SPRUG10TMS320C6474 DSP PSC User's Guide. This document describes the Power/Sleep
Controller (PSC) for the TMS320C6474 digital signal processors (DSPs).
SPRUG11TMS320C6474 DSP Enhanced DMA (EDMA3) Controller User's Guide. This document
describes the Enhanced DMA (EDMA3) Controller on the TMS320C6474 digital signal
processors (DSPs).
SPRUG12TMS320C6474 DSP Antenna Interface User's Guide. This document describes the
Antenna Interface module on the TMS320C6474 digital signal processors (DSPs).
SPRUG13TMS320C6474 DSP Frame Synchronization User's Guide. This document describes the
reference guide for Frame Synchronization module on the TMS320C6474 digital signal
processors (DSPs).
SPRUG14TMS320C6474 DSP Semaphore User's Guide. This document describes the usage of the
semaphore and some of the CSL calls used to configure/use the Semaphore module on the
TMS320C6474 digital signal processors (DSPs).
SPRUG16TMS320C6474 DSP General-Purpose Input/Output (GPIO) User's Guide. This document
describes the general-purpose input/output (GPIO) peripheral in the digital signal processors
(DSPs) of the TMS320C6474 DSP family.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
SPRUG17TMS320C6474 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide. This
document describes the operation of the multichannel buffered serial port (McBSP) in the
digital signal processors (DSPs) of the TMS320C6474 device.
SPRUG18TMS320C6474 DSP 64-Bit Timer User’s Guide. This document provides an overview of the
64-bit timer in the TMS320C6474 digital signal processors (DSPs).
SPRUG19TMS320C6474 DSP DDR2 Memory Controller User's Guide. This document describes the
DDR2 memory controller in the TMS320C6474 digital signal processors (DSPs).
SPRUG20TMS320C6474 DSP Viterbi-Decoder Coprocessor 2 (VCP2) Reference Guide. This
document describes the operation and programming of the VCP2 in the TMS320C6474
digital signal processors (DSPs).
SPRUG21TMS320C6474 DSP Turbo-Decoder Coprocessor 2 (TCP2) Reference Guide. This
document describes the operation and programming of the TCP2 in the TMS320C6474
digital signal processors (DSPs).
SPRUG22TMS320C6474 DSP Inter-Integrated Circuit (I2C) Module User's Guide. This document
describes the inter-integrated circuit (I2C) module in the TMS320C6474 digital signal
processors (DSPs).
SPRUG23TMS320C6474 DSP Serial RapidIO (SRIO) User's Guide. This document describes the
Serial RapidIO (SRIO) on the TMS320C6474 digital signal processors (DSPs).
SPRUEC6TMS320C645x/C647x DSP Bootloader User's Guide. This document describes the
features of the on-chip Bootloader provided with the TMS320C645x/C647x digital signal
processors (DSPs).
SPRUFK6TMS320C6474 DSP Chip Interrupt Controller (CIC) User's Guide. This document
describes the system event routing using the chip interrupt controller (CIC) for the
TMS320C6474 digital signal processors (DSPs).
SPRAAW5 TMS320C6474 Module Throughput. This document provides information on the
implementation instructions for the three serializer/deserializer (SERDES) based interfaces
on the TMS320C6474 DSP.
SPRAAX3TMS320C6474 Power Consumption Summary. This document discusses the power
consumption of the Texas Instruments TMS320C6474 digital signal processor (DSP).
SPRAB25How to Approach Inter-Core Communication on TMS320C6474. This document
discusses the of handling the three cores that are present on the TMS320C6474 DSP along
with what features are supported and how can they be used, how the cores communicate
effectively with each other, and how board-level scalability is allowed.
On the C6474 device, certain device configurations (like boot mode, pin multiplexing, and endianness) are
selected at device reset. The status of the peripherals (enabled/disabled) is determined after device reset.
By default, the peripherals on the device are disabled and must be enabled by software before being
used.
3.1Device Configuration at Device Reset
Table 3-1 describes the C6474 device. The logic level is latched at reset to determine the device
configuration. The logic level can be set by using external pullup/pulldown resistors or by using some
control device to intelligently drive these pins. When using a control device, take care to avoid contention
on the lines when the device is out of reset. The are sampled during power-on reset and are driven after
the reset is removed. To avoid contention, the control device must stop driving the of the DSP.
NOTE
If a configuration pin must be routed out from the device, the internal pullup/pulldown
(IPU/IPD) resistor should not be relied upon; TI recommends the use of an external
pullup/pulldown resistor.
DEVNUM[3:0]0000bDevice number
CORECLKSEL0bCore Clock Select
DEFAULT IPU/IPDFUNCTIONAL DESCRIPTION
0Big Endian
1Little Endian
0SYSCLK is shared between the Antenna Interface and the input to PLLCTL1.
1ALTCORECLK is used as the input to PLLCTL1 and SYSCLK is used only for the
Antenna Interface.
3.2Peripheral Selection After Device Reset
Several of the peripherals on the C6474 device are controlled by the Power/Sleep Controller (PSC). By
default the AIF, SRIO, TCP, and VCP are held in reset and clock-gated. The memories in these modules
are also in a low-leakage sleep mode. Software will be required to turn these memories on then enable
the modules (turn on clocks and de-assert reset) before these modules can be used.
If one of the above modules is used in the selected boot mode, the ROM code will automatically enable
the used module.
All other modules come up enabled by default and there is no special software sequence to enable.
For more detailed information on the PSC usage, see the TMS320C6474 DSP Power/Sleep Controller
The C6474 device has a set of registers that are used to control the status of its peripherals. These
registers are shown in Table 3-2.
Table 3-2. Device State Control Registers
ADDRESS STARTADDRESS ENDSIZEACRONYMDESCRIPTION
0288 08000288 08034BDEVCFG1The first register with the parameters is set through
software to configure different components on the device
0288 08040288 08074BDEVSTATStores all parameters latched from configuration pins or
configured through the DEVCFG register
0288 08080288 080B4BDSP_BOOT_ADDR0The boot address for C64x+ Megamodule Core 0
0288 080C0288 080F4BDSP_BOOT_ADDR1The boot address for C64x+ Megamodule Core 1
0288 08100288 08134BDSP_BOOT_ADDR2The boot address for C64x+ Megamodule Core 2
0288 08140288 08174BDEVIDParameters for DSP device IDs also referred to as JTAG
or BSDL IDs. These must be readable by the
configuration bus so that this can be accessed via JTAG
and CPU
0288 08180288 082716BReserved
0288 08280288 082B4BReserved
0288 082C0288 082F4BReserved
0288 08300288 08334BReserved
0288 08340288 083B8BEFUSE_MACRequired for EMAC boot
The device status register depicts the device configuration selected upon device reset. Once set, these
bits remain set until a device reset.
Figure 3-1 shows the device configuration register 1 and Table 3-3 describes the parameters that are set
through software to configure different components on the device. The configuration is done through the
device configuration DEVCFG register, which is one-time writeable through software. The register is reset
on all hard resets and is locked after the first write.
313210
ReservedCLKS1 CLKS0SYSCLKOUTEN
R-00000000000000000000000000000R/W-0 R/W-0R/W-1
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
3.5Inter-DSP Interrupt Registers (IPCGR0-IPCGR2 and IPCAR0-IPCAR2)
The IPCGRn (IPCGR0 thru IPCGR2) and IPCARn (IPCAR0 thru IPCAR2) registers facilitate inter-DSP
interrupts. This can be utilized by external hosts or C64x+ megamodules to generate interrupts to other
DSPs. A write of 1 to the IPCG field of IPCGRn register generates an interrupt pulse to C64x+
Megamodulen (n = 0-2). These registers also provide a source ID, by which up to 28 different sources of
interrupts can be identified.
Table 3-6. IPC Acknowledgment Registers (IPCAR0-IPCAR2) Field Descriptions
BitFieldValueDescription
31:4SRCC[27:0]Write:
0No effect
1Clear register bit
Read:
Returns current value of internal register bit
3:0ReservedReserved
3.6JTAG ID (JTAGID) Register Description
www.ti.com
The JTAG ID register is a read-only register that identifies to the customer the JTAG/Device ID. For the
C6474 device, the JTAG ID register resides at address location 0x0288 0814. For the actual register bit
names and their associated bit field descriptions, see Figure 3-5 and Table 3-7.
3128 2712 1110
VARIANTPART NUMBERMANUFACTURER
(4-bit)(16-bit)(11-bit)
R-nR-0000 0000 1001 0010bR-000 0001 0111bR-1
LEGEND: R = Read only; -n = value after reset
Figure 3-5. JTAG ID (JTAGID) Register
Table 3-7. JTAG ID (JTAGID) Register Field Descriptions
BitFieldValue Description
31:28VARIANTVariant (4-Bit) value. The value of this field depends on the silicon revision being used.
Note: the VARIANT filed may be invalid if no CLKIN1 signal is applied.
It is recommended that external connections be provided to device configuration pins. Although internal
pullup/pulldown resistors exist on these pins, providing external connectivity adds convenience to the user
in debugging and flexibility in switching operating modes.
LSB
For the internal pullup/pulldown resistors for all device pins, see Table 2-5.
On the C6474 device, the C64x+ Megamodule, the EDMA3 transfer controllers, and the system
peripherals are interconnected through two switch fabrics. The switch fabrics allow for low-latency,
concurrent data transfers between master peripherals and slave peripherals. Through a switch fabric the
CPU can send data to the Viterbi co-processor (VCP2) without affecting a data transfer through the DDR2
memory controller. The switch fabrics also allow for seamless arbitration between the system masters
when accessing system slaves.
4.1Internal Buses, Switch Fabrics, and Bridges/Gaskets
Two types of buses exist in the C6474 device: data buses and configuration buses. Some C6474
peripherals have both a data bus and a configuration bus interface, while others only have one type of
interface. Furthermore, the bus interface width and speed varies from peripheral to peripheral.
Configuration buses are mainly used to access the register space of a peripheral and the data buses are
used mainly for data transfers. However, in some cases, the configuration bus is also used to transfer
data. For example, data is transferred to the VCP2 and TCP2 via their configuration bus interface.
Similarly, the data bus can also be used to access the register space of a peripheral. For example, the
DDR2 memory controller registers are accessed through their data bus interface.
The C64x+ megamodule, the EDMA3 transfer controllers, and the various system peripherals can be
classified into two categories: masters and slaves. Masters are capable of initiating read and write
transfers in the system and do not rely on the EDMA3 for their data transfers. Slaves on the other hand
rely on the EDMA3 to perform transfers to and from them. Examples of masters include the EDMA3
transfer controllers, SRIO, and EMAC. Examples of slaves include the McBSP and I2C.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
The C6474 device contains two switch fabrics through which masters and slaves communicate. The data
switch fabric, known as the data switched central resource (SCR), is a high-throughput interconnect
mainly used to move data across the system (for more information, see Section 4.3). The SCR adds no
latency and allows seamless arbitration (i.e., no dead cycles inserted by the fabric) between the masters
and slaves. The data SCR connects masters to slaves via 128-bit data buses (SCR B) and 64-bit data
buses (SCR A) running at a CPU/3 frequency (CPU/3 is generated from PLL1 controller). Peripherals that
have a 128-bit data bus interface running at this speed can connect directly to the data SCR; other
peripherals require a bridge.
The configuration switch fabric, also known as the configuration switch central resource (SCR) is mainly
used by the C64x+ Megamodule to access peripheral registers (for more information, see Section 4.4).
The configuration SCR connects C64x+ Megamodule to slaves via 32-bit configuration buses running at a
CPU/3 frequency (CPU/3 is generated from PLL1 controller). As with the data SCR, some peripherals
require the use of a bridge to interface to the configuration SCR. Note that the data SCR also connects to
the configuration SCR.
Bridges and gaskets are required to perform a variety of functions. For the purpose of this document,
bridges and gaskets can be considered as identical. Within the switch fabric infrastructure, gaskets are
simpler than bridges in that they only modify control signals to convert protocols. Bridges perform a variety
of functions:
•Conversion between configuration bus and data bus.
•Width conversion between peripheral bus width and SCR bus width.
•Frequency conversion between peripheral bus frequency and SCR bus frequency.
For more information on the common bus architecture and its throughput in the C6474 device, see the
TMS320C6474 Common Bus Architecture Throughput application report (literature number SPRAAX6)
and the TMS320C6474 Module Throughput application report (literature number SPRAAW5).
Figure 4-1 shows the DMA switch fabric, including the EDMA3, connection between slaves and masters
through the data switched central resource (SCR). Masters are shown on the right and slaves on the left.
The number of master ports for the EDMA is 2x the number of TPTCs implemented because each TPTC
has a read port and a write port.
Figure 4-1. Switched Central Resource Block Diagram
Product Folder Link(s) :TMS320C6474
Submit Documentation Feedback
TMS320C6474
SPRS552F–OCTOBER 2008–REVISED JULY 2010
Not all masters on the C6474 DSP may connect to slaves. Allowed connections are summarized in
Table 4-1 and Table 4-2.
SCR A is the main 128-bit switch fabric, which includes the slave ports of all C64x+ Megamodules. There
are three dedicated, 128-bit TPTC channels for internal memory-to-memory transfers, though the channels
can be used to access anything on SCR B as well. Note that any module accessing these particular
C64x+ Megamodules ports, including the EDMA, must use the global addresses, not the local addresses.
The Antenna Interface (AIF) is connected to the SCR via a special bridge that separates the read and
write interfaces into individual ports. The AIF is fully accessible to TPTC channels 3, 4, and 5, allowing
antenna data to be transferred between the AIF and any DSP memory.
Two of the SCR slave ports are driven by masters from SCR B, allowing data to be transferred between
the device peripherals and L2 memory.
Table 4-1. SCR A Connection Matrix
www.ti.com
SCR B (Br4)SCR B (Br5)AIF (Br22)MEGAMODULEMEGAMODULEMEGAMODULE
SCR B (Br2)NNYYYY
SCR B (Br3)NNYYYY
TPTC3-RMYNYYYY
TPTC3-WMYNYYYY
TPTC4-RMNYYYYY
TPTC4-WMNYYYYY
TPTC5-RMNYYYYY
TPTC5-WMNYYYYY
C64x+C64x+C64x+
CORE 0CORE 1CORE 2
SCR B is a secondary, 64-bit switch fabric, primarily dedicated to slave peripherals that require servicing
by the TPDMA. Additionally, master peripherals that are sub-128 bit are connected to this switch fabric.
There are two master ports on the SCR that allow masters to send commands to any of the slaves on
SCR A. There are three TPTC channels directly connected to SCR B to service the slave peripherals.
The Ethernet MAC (EMAC) is connected to the switch fabric with a pair of bridges to convert from VBUSP
to VBUSM (Br 6), along with a change in the bus width and frequency (Br 7). The Br 7 handles a majority
of this conversion, with the Br 6 bridge serving as a protocol-conversion gasket.
The RapidIO CPPI port is connected to the switch fabric similarly to the EMAC connection. This enables
RapidIO to use L2 or DDR2 for buffer descriptors. RapidIO is connected directly to the switch fabric and
can master any memory.
The DDR EMIF is also directly connected as a slave, allowing any master full access to the external
memory space.
The SCR C connection matrix allows for the master to SCR B to access any of the 32-bit slaves on the
switch fabric, plus the boot ROM. The SCR C switch connections between SCR B (Br9) to McBSP0 and
McBSP1 are required.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
L3 ROMDDR2
4.3Configuration Switch Fabric
Figure 4-2 shows the connections between the C64x+ Megamodules and the configuration switched
On the C6474 device, each of the masters is assigned a priority via the Priority Allocation Register
(PRI_ALLOC), see Figure 4-3. User-programmable priority registers allow software configuration of the
data traffic through the SCR. The priority is enforced when several masters in the system vie for the same
endpoint. The PRI value of 000b has the highest priority, while the PRI value 111b has the lowest priority.
A chip-level register must be provided to set these values for masters that do not have their own register
internally.
The configuration SCR port on the data SCR is considered a single endpoint meaning priority will be
enforced when multiple masters try to access the configuration SCR. Priority is also enforced on the
configuration SCR side when a master (through the data SCR) tries to access the same endpoint as the
C64x+ Megamodule.
The 4-Byte PRI_ALLOC register address range is 0288 083C - 0288 083F.
All other master peripherals are not present in the PRI_ALLOC register, as they have their own registers
to program their priorities and do not need a default priority setting. For more information on the default
priority values in these peripheral registers, see the device-compatible peripheral reference guides. TI
recommends that these priority registers be reprogrammed upon initial use.
The C64x+ Megamodule consists of several components - the C64x+ CPU and associated C64x+
Megamodule core, level-one and level-two memories (L1P, L1D, L2), data trace formatter (DTF),
embedded trace buffer (ETB), the interrupt controller, power-down controller, external memory controller
and a dedicated power/sleep controller (LPSC). The C64x+ Megamodule also provides support for
memory protection and bandwidth management (for resources local to the C64x+ Megamodule).
Figure 5-1 provides a block diagram of the C64x+ Megamodule.
The C6474 device contains a 3MB level-2 memory (L2) total, a 32KB level-1 program memory (L1P) per
core, and a 32KB level-1 data memory (L1D) per core. All memory has a unique location in the memory
map and can be directly accessed by any master on the device.
The L1P memory configuration for the device is as follows:
•Region 0 size is 0K bytes (disabled).
•Region 1 size is 32K bytes with no wait states.
The L1D memory configuration for the device is as follows:
•Region 0 size is 0K bytes (disabled).
•Region 1 size is 32K bytes with no wait states.
After core reset, L1P and L1D cache are configured as all cache by default. The L1P and L1D cache can
be reconfigured via software through the L1PMODE field of the L1P Configuration Register (L1PMODE)
and the L1DMODE field of the L1D Configuration Register (L1DCFG) of the C64x+ Megamodule. L1D is a
two-way set-associative cache while L1P is a direct-mapped cache.
L1P and L1D are configured as memory-mapped SRAM, rather than only unmapped cache. Though
all-cache is the default configuration after device reset, the amount of cache for L1P and L1D may be
programmed to be 0Kb, 4Kb, 8Kb, 16Kb, or 32Kb. All additional L1P or L1D memory space is
memory-mapped SRAM. Figure 5-2 provides the memory mapping of L1P. Figure 5-2 provides the
memory mapping of L1D. L1P SRAM and L1D SRAM begin at the same address regardless of the SRAM
size configured.
Each core has 1024K bytes of local L2 RAM, with up to 256KB configurable as cache. The following figure
provides the possible memory maps for the local L2. The L2 memory is typically shared across the two
unified memory access ports (UMAP0 and UMAP1). The L2 SRAM begins at the same address.
All memory on the device has a unique location in the memory (see Section 2.3, Memory Map Summary).
Global addresses that are accessible to all masters in the system are in all memory local to the
processors. Additionally, local memory can be accessed directly by the associated processor through
Figure 5-4. L2 Memory Configuration 1024KB
aliased addresses, where the eight MSBs are masked to zero. The aliasing is handled within the C64x+
Megamodule and allows for common code to be run unmodified on multiple cores. For example, address
location 0x10800000 is the global base address for C64x+ Megamodule Core 0's L2 memory. C64x+
Megamodule Core 0 can access this location by either using 0x10800000 or 0x00800000. Any other
master on the device must use 0x10800000 only. Conversely, 0x00800000 can by used by any of the
three cores as their own L2 base addresses. For C64x+ Megamodule Core 0, as mentioned this is
equivalent to 0x10800000, for C64x+ Megamodule Core 1 this is equivalent to 0x11800000, and for
C64x+ Megamodule Core 2 this is equivalent to 0x12800000. Local addresses should only be used for
shared code or data, allowing a single image to be included in memory. Any code/data targeted to a
specific core, or a memory region allocated during run-time by a particular core should always use the
global address only.
5.3Memory Protection
Memory protection allows an operating system to define who or what is authorized to access L1D, L1P,
and L2 memory. To accomplish this, the L1D, L1P, and L2 memories are divided into pages. There are 16
pages of L1P (2KB each), 16 pages of L1D (2KB each), and up to 64 pages of L2. The L1D, L1P, and L2
memory controllers in the C64x+ Megamodule are equipped with a set of registers that specify the
permissions for each memory page. For L2, the number of protection pages and their sizes depend on the
L2 configuration of the device, as defined in the previous section. The actual sizes are listed in Table 5-1.
Table 5-2 shows the memory addresses used to access the L2 memory. Cells in normal font should be
used by the software for memory accesses. The L2 addresses are common between all three cores,
allowing for the same code to be run unmodified on each. Cells in italic (N/A) are not accessible. Memory
protection pages are 1/32nd of the size of each UMAP. The memory protection sizes are constant across
all three cores.
Each page may be assigned with fully orthogonal user and supervisor read, write, and execute
permissions. Additionally, a page may be marked as either (or both) locally or globally accessible. A local
access is one initiated by the CPU, while a global access is initiated by a DMA (either IDMA or DMA
access by any C64x+ Megamodule or master peripheral).
The CPU and each of the system masters on the device are all assigned a privilege ID (see Table 5-3).
The AIDx (x=0,1,2,3,4,5) and LOCAL bits of the memory protection page attribute registers specify the
memory page protection scheme as listed in Table 5-4.
Whenever the CPU is the initiator of a memory transaction, the privilege mode (user or supervisor) in
which the CPU is running at that time is carried with those transactions. This includes EDMA3 transfers
that are programmed by the CPU. Other system masters (EMAC, RapidIO) are always in user mode.
Table 5-3. Available Memory Page Protection Scheme with Privilege ID
PRIVID MODULEPRIVILEGE MODEDESCRIPTION
0Inherited from CPU
1Inherited from CPU
2Inherited from CPU
3UserEMAC
4UserRapidIO and RapidIO CPPI
(1) Also applies to EDMA3 transfers that are programmed by the CPU.
Table 5-4. Available Memory Page Protection Scheme with AIDx and Local Bits
AIDx BITLOCAL BITDESCRIPTION
(x=0,1,2,3,4,5)
00No access to memory page is permitted.
01Only direct access by CPU is permitted
10
11All accesses permitted
Only accesses by system masters and IDMA are permitted (includes EDMA and IDMA
accesses initiated by the CPU)
Faults are handled by software in an interrupt (or exception, programmable within each C64x+
Megamodule interrupt controller) service routine. A CPU or DMA access to a page without the proper
permissions will:
•Block the access - reads return zero, writes are voided.
•Capture the initiator in a status register - ID, address, and access type are stored.
•Signal event to CPU interrupt controller.
(1)
C64x+ Megamodule Core 0
(1)
C64x+ Megamodule Core 1
(1)
C64x+ Megamodule Core 2
www.ti.com
The software is responsible for taking corrective action to respond to the event and resetting the error
status in the memory controller.
5.4Bandwidth Management
When multiple requesters contend for a single C64x+ Megamodule resource, the conflict is solved by
granting access to the highest priority requestor. The following four resources are managed by the
Bandwidth Management control hardware:
•Level 1 Program (L1P) SRAM/Cache
•Level 1 Data (L1D) SRAM/Cache
•Level 2 (L2) SRAM/Cache
•Memory-mapped registers configuration bus
The priority level for operations initiated within the C64x+ Megamodule; e.g., CPU-initiated transfers,
user-programmed cache coherency operations, and IDMA-initiated transfers, are declared through
registers in the C64x+ Megamodule. The priority level for operations initiated outside the C64x+
Megamodule by system peripherals is declared through the Priority Allocation Register (PRI_ALLOC), see
Section 4.4. System peripherals with no fields in PRI_ALLOC have their own registers to program their
priorities.
Table 5-5 shows the default priorities of all masters in the device.
The C64x+ Megamodule supports the ability to power-down various parts of the C64x+ Megamodule. The
power-down controller (PDC) of the C64x+ Megamodule can be used to power down L1P, the cache
control hardware, the CPU, and the entire C64x+ Megamodule. These power-down features can be used
to design systems for lower overall system power requirements. Note that the device does not support
power-down modes for the L2 memory at this time.
5.6Megamodule Resets
Table 5-6 shows the reset types supported on the device and if the resetting affects the Megamodule
globally or just locally.
Table 5-6. Megamodule Reset (Global or Local)
RESET TYPEGLOBAL RESETLOCAL RESET
Power-OnYY
WarmYY
SystemYY
CPUNY
5.7Megamodule Revision
The version and revision of the C64x+ Megamodule can be read from the Megamodule Revision ID
Register (MM_REVID) located at address 0181 2000h. The MM_REVID register is shown in Figure 5-5
and described in Table 5-7. The C64x+ Megamodule revision is dependant on the silicon revision being
used.
Table 5-7. Megamodule Revision ID Register (MM_REVID) Field Descriptions
BITFIELDVALUEDESCRIPTION
31:16VERSION3HVersion of the C64x+ Megamodule implemented on the device. This field is always read as 3h.
15:0REVISIONRevision of the C64x+ Megamodule version implemented on the device. The C64x+ Megamodule
revision is dependent on the silicon revision being used.
5.8C64X+ Megamodule Register Description(s)
In some applications, some specific addresses may need to be read from their physical locations each
time they are accessed (e.g., a status register within FPGA).
The L2 controller offers registers that control whether certain ranges of memory are cacheable and
whether one or more requestors are actually permitted to access these ranges. The registers are referred
to as memory attribute registers (MARs). A list of MARs is provided in Table 5-12.
Table 5-8. Megamodule Interrupt Registers
HEX ADDRESSACRONYMREGISTER NAME
0180 0000EVTFLAG0Event Flag Register 0 (Events [31:0])
0180 0004EVTFLAG1Event Flag Register 1
0180 0008EVTFLAG2Event Flag Register 2
0180 000CEVTFLAG3Event Flag Register 3
0180 0010 - 0180 001C-Reserved
0180 0020EVTSET0Event Set Register 0 (Events [31:0])
0180 0024EVTSET1Event Set Register 1
0180 0028EVTSET2Event Set Register 2
0180 002CEVTSET3Event Set Register 3
0180 00A0MEVFLAG0Masked Event Flag Status Register 0 (Events [31:0])
0180 00A4MEVFLAG1Masked Event Flag Status Register 1
0180 00A8MEVFLAG2Masked Event Flag Status Register 2
0180 00ACMEVFLAG3Masked Event Flag Status Register 3
(2) These addresses correspond to the L1P memory protection page attribute registers 0-15 (L1PMPPA0-L1PMPPA15) of the C64x+
megamodule. These registers are not supported for the C6474 device. The default value after the device reset for registers L1PMPPA16
to L1PMPPA31 is 0x0000 FFFF.
(3) These addresses correspond to the L1D memory protection page attribute registers 0-15 (L1DMPPA0-L1DMPPA15) of the C64x+
megamodule. These registers are not supported for the C6474 device. The default value after the device reset for registers L1DMPPA16
to L1DMPPA31 is 0x0000 FFF6.
BasedonJESD22-C101C(Field-InducedCharged-DeviceModelTestMethodfor
Electrostatic-Discharge-Withstand Thresholds of Microelectronic Components), the TMS320C6474
device's charged-device model (CDM) sensitivity classification is Class II (200 to <500 V). Specifically,
DDR memory interface and SERDES pins conform to ±200-V level. All other pins conform to ±500 V.
www.ti.com
6.1Absolute Maximum Ratings Over Operating Case Temperature Range (Unless
Otherwise Noted)
Supply voltage range
(2)
:
(1)
CV
DD
DV
DD11
DV
DD18
V
REFSSTL
AIF_V
AIF_V
SGR_V
SGR_V
AV
DD118
(3)
DDA11
DDR18
DDA11
DDR18
, AV
, AIF_V
, SGR_V
DD218
DDD11
DDD11
, AIF_V
, SGR_V
DDT11
DDT11
0.49 * DV
-0.3 V - 1.35 V
-0.3 V to 1.35 V
-0.3 V to 2.45 V
to 0.51 * DV
DD18
-0.3 V to 1.35 V
-0.3 V to 2.45 V
-0.3 V to 1.35 V
-0.3 V to 2.45 V
-0.3 V to 2.45 V
DD18
VSSGround0 V
1.8-V Single-Ended I/Os-0.3 V to DV
DD18
+ 0.3 V
DDR2-0.3 V to 2.45 V
I2C/VCNTL-0.3 V to 2.45 V
Input voltage (VI) range:
Output voltage (VO) range:
Frame Sync Differential Clocks-0.3 V to DV
SYSCLK, CORECLK, DDR REFCLK, SRIO/EMAC
REFCLK
SERDES-0.3 V to DV
1.8-V Single-Ended I/Os-0.3 V to DV
+ 0.3 V
DD18
-0.3 V to 1.35 V
+ 0.3 V
DD11
+ 0.3 V
DD18
DDR2-0.3 V to 2.45 V
I2C/VCNTL-0.3 V to 2.45 V
SERDES-0.3 V to DV
DD11
+ 0.3 V
850-MHz and 1-GHz device commercial temperature0°C to 100°C
Operating case temperature range, TC:
Storage temperature range, T
:-65°C to 150°C
stg
1.2-GHz device commercial temperature0°C to 95°C
1-GHz device extended temperature-40°C to 100°C
1.2-GHz device extended temperature
(5)
-40°C to 95°C
(1) Stresses beyond those listed under "absolute maximum ratings" may cause permanent damage to the device. These are stress ratings
only, and functional operation of the device at these or any other conditions beyond those indicated under "recommended operating
conditions" is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
(2) All voltage values are with respect to V
(3) There is no pin named DV
SGR_V
(4) A heatsink is required for proper device operation.
, and SGR_V
DDD11
DD11
DDT11
SS.
available on the device. DV
pins.
represents the AIF_V
DD11
DDA11
, AIF_V
DDD11
, AIF_V
DDT11
, SGR_V
DDA11
,
(5) Advance Information is presented in this document for the C6474 1.2-GHz extended temperature device.
AIF_V
AIF_V
AIF_V
AIF_V
SGR_V
SGR_V
SGR_V
SGR_V
AV
DD118
AV
DD218
V
SS
V
I
V
ID
V
IH
V
IL
DDA11
DDD11
DDR18
DDT11
DDA11
DDD11
DDR18
DDT11
Supply core voltage (scalable)
1.1-V supply core I/O voltage1.0451.11.155V
1.8-V supply I/O voltage1.711.81.89V
DDR2 reference voltage0.49 * DV
AIF SERDES analog supply1.0451.11.155V
AIF SERDES digital supply1.0451.11.155V
AIF SERDES regulator supply1.711.81.89V
AIF SERDES termination supply1.0451.11.155V
SRIO/SGMII SERDES analog supply1.0451.11.155V
SRIO/SGMII SERDES digital supply1.0451.11.155V
SRIO/SGMII SERDES regulator supply1.711.81.89V
SRIO/SGMII SERDES termination supply1.0451.11.155V
PLL1 analog supply1.711.81.89V
PLL2 analog supply1.711.81.89V
Ground000V
Input voltage at PADP or PADN02V
Input frequency30625 MHz
Peak-to-peak differential input voltage2502000 mV
High-level input voltage
Low-level input voltage
(1)
1.8-V Single
Ended I/Os
(3)
I2C/VCNTL,
SmartReflex
DDR2 EMIFV
1.8-V Single
(3)
Ended I/Os
DDR2 EMIF-0.3V
I2C/VCNTL0.3 * DV
CVDD- (0.03CVDD)0.9 - 1.2CVDD+ (0.03CVDD)V
DD18
0.65 * DV
0.7 * DV
REFSSTL
DD18
DD18
+ 0.125DV
0.5 * DV
DD18
0.51 * DV
DD18
0.35 * DV
REFSSTL
DD18
+ 0.3V
DD18
- 0.1V
DD18
V
V
V
V
V
1.2-GHz device
(commercial095
temperature)
1.2-GHz device
(extended-4095
temperature)
T
C
Operating case temperature°C
850-MHz and
1.0-GHz device
(commercial
(4)
0100
temperature)
1.0-GHz device
(extended-40100
temperature)
(1) A heatsink and implementation of the SmartReflex solution is required for proper device operation. For more details on SmartReflex, see
Section 7.3.4.
(2) All SERDES I/Os comply with the XAUI Electical Specification, IEEE 802.3ae-2002.
(3) All differential clock inputs comply with the Frame Sync Differential Clocks Electrical Specification, IEEE 1596.3-1996 and all SERDES
I/Os comply with the XAUI Electical Specification, IEEE 802.3ae-2002.
(4) Advance Information is presented in this document for the C6474 1.2-GHz extended temperature device.
(1) For test conditions shown as MIN, MAX, or TYP, use the appropriate value specified in the recommended operating conditions table.
(2) IIapplies to input-only pins and bi-directional pins. For input-only pins, IIindicates the input leakage current. For bi-directional pins, I
includes input leakage current and off-state (hi-Z) output leakage current.
(3) IOZapplies to output-only pins, indicating off-state (hi-Z) output leakage current.
7Peripheral Information and Electrical Specifications
7.1Parameter Information
TMS320C6474
SPRS552F–OCTOBER 2008–REVISED JULY 2010
A. The data sheet provides timing at the device pin. For output analysis, the transmission line and associated parasitics
B. This figure represents all outputs, except differential or I2C.
The load capacitance value stated is for characterization and measurement of AC timing signals. This load
capacitance value does not indicate the maximum load the device is capable of driving.
7.1.11.8 V Signal Transition Levels
All input and output timing parameters are referenced to 0.9 V for both "0" and "1" logic levels.
All rise and fall transition timing parameters are reference to VILMAX and VIHMIN for input clocks.
(vias, multiple nodes, etc.) must also be taken into account. The transmission line delay varies depending on the trace
length. An approximate range for output delays can vary from 176 ps to 2 ns depending on the end product design.
For recommended transmission line lengths, see the appropriate application notes, user's guides, and design guides.
A transmission line delay of 2 ns was used for all output measurements, except the DDR2 which was evaluated using
a 528-ps delay.
Figure 7-1. Test Load Circuit for AC Timing Measurements
Figure 7-2. Input and Output Voltage Reference Levels for AC Timing Measurements
Figure 7-3. Rise and Fall Transition Time Voltage Reference Levels
7.2Recommended Clock and Control Signal Transition Behavior
All clocks and control signals must transition between VIHand VIL(or between VILand VIH) in a monotonic
manner.
7.3Power Supplies
7.3.1Power-Supply Sequencing
Power supply sequencing must be followed as seen in Figure 7-4.
Table 7-1. Timing Requirements for Power Supply Ramping
(see Figure 7-4)
NO.PARAMETERSMINMAXUNIT
3t
su(DVDD18-DVDD11)
4t
h(DVDD11-POR)
(1) Stable means that the voltage is valid as per Section 6.2, Recommended Operating Conditions.
Setup Time, DV
DV
and CV
DD11
Hold time, POR low after CV
and VREFSSTL supply stable before0.5200ms
DD18
supplies stable
DD11
DD11
(1)
and DV
supplies stable
DD11
(1)
100ms
www.ti.com
Figure 7-4. Power-Supply Timing
For more information on power-supply sequencing, see the TMS320C6474 Hardware Design Guide
application report (literature number SPRAAW7)
7.3.2Power-Supply Decoupling
In order to properly decouple the supply planes from system noise, place as many capacitors (caps) as
possible close to the DSP. These caps need to be close to the DSP, no more than 1.25 cm maximum
distance to be effective. Physically smaller caps are better, such as 0402, but need to be evaluated from a
yield/manufacturing point-of-view. Parasitic inductance limits the effectiveness of the decoupling
capacitors, therefore physically smaller capacitors should be used while maintaining the largest available
capacitance value. As with the selection of any component, verification of capacitor availability over the
product's production lifetime should be considered.
7.3.3Power-Down Operation
One of the power goals for the C6474 device is to reduce power dissipation due to unused peripherals.
There are different ways to power down peripherals on the C6474 device.
Some peripherals can be statically powered down at device reset through the device configuration pins
(see Section 3.1, Device Configuration at Device Reset). Once in a static power-down state, the peripheral
is held in reset and its clock is turned off. Peripherals cannot be enabled once they are in a static
power-down state. To take a peripheral out of the static power-down state, a device reset must be
executed with a different configuration pin setting.
After device reset, all peripherals on the C6474 device are in a disabled state and must be enabled by
software before being used. It is possible to enable only the peripherals needed by the application while
keeping the rest disabled. Note that peripherals in a disabled state are held in reset with their clocks
gated. For more information on how to enable peripherals, see Section 3.2, Peripheral Selection AfterDevice Reset.
Peripherals used for booting, like I2C, are automatically enabled after device reset. It is possible to disable
peripherals used for booting after the boot process is complete. This, too, results in gating of the clock(s)
to the powered-down peripheral. Once a peripheral is powered-down, it must remain powered down until
the next device reset.
The C64x+ Megamodule also allows for software-driven power-down management for all of the C64x+
Megamodule components through its Power-Down Controller (PDC). The CPU can power-down part or
the entire C64x+ Megamodule through the power-down controller based on its own execution thread or in
response to an external stimulus from a host or global controller. More information on the power-down
features of the C64x+ Megamodule can be found in the TMS320C64x+ Megamodule Reference Guide
(literature number SPRU871).
SPRS552F–OCTOBER 2008–REVISED JULY 2010
Table 7-2 lists the Power/Sleep Controller (PSC) registers.
Table 7-2. Power/Sleep Controller Registers
HEX ADDRESSACRONYMREGISTER NAME
02AC 0000PIDPeripheral Revision and Class Information
02AC 0120PTCMDPower Domain Transition Command Register
02AC 0128PTSTATPower Domain Transition Status Register
02AC 0200PDSTATPower Domain Status Register
02AC 0300PDCTL0Power Domain Control Register 0 (AlwaysOn)
02AC 0304PDCTL1Power Domain Control Register 1 (Antenna Interface)
02AC 0308PDCTL2Power Domain Control Register 2 (Serial RapidIO)
02AC 030C-Reserved
02AC 0310PDCTL4Power Domain Control Register 4 (TCP)
02AC 0314PDCTL5Power Domain Control Register 5 (VCP)
02AC 0800-Reserved
02AC 0804-Reserved
02AC 0808-Reserved
02AC 080CMDSTAT3Module Status Register 3 (C64x+ Core 0)
02AC 0810MDSTAT4Module Status Register 4 (C64x+ Core 1)
02AC 0814MDSTAT5Module Status Register 5 (C64x+ Core 2)
02AC 0818MDSTAT6Module Status Register 6 (Antenna Interface)
02AC 081CMDSTAT7Module Status Register 7 (Serial RapidIO)
02AC 0820-Reserved
02AC 0824MDSTAT9Module Status Register 9 (TCP)
02AC 0828MDSTAT10Module Status Register 10 (VCP)
02AC 082CMDSTAT11Module Status Register 11 (Never Gated)
02AC 0A0CMDCTL3Module Control Register 3 (C64x+ Core 0)
02AC 0A10MDCTL4Module Control Register 4 (C64x+ Core 1)
02AC 0A14MDCTL5Module Control Register 5 (C64x+ Core 2)
02AC 0A18MDCTL6Module Control Register 6 (Antenna Interface)
02AC 0A1CMDCTL7Module Control Register 7 (Serial RapidIO)
02AC 0A20-Reserved
02AC 0A24MDCTL9Module Control Register 9 (TCP)
02AC 0A28MDCTL10Module Control Register 10 (VCP)
02AC 0A2CMDCTL11Module Control Register 11 (Never Gated)
7.3.4SmartReflex
Increasing the device complexity increases its power consumption and with the smaller transistor
structures responsible for higher achievable clock rates and increased performance, comes an inevitable
penalty, increasing the leakage currents. Leakage currents are present in any active circuit, independently
of clock rates and usage scenarios. This static power consumption is mainly determined by transistor type
and process technology. Higher clock rates also increase dynamic power, the power used when
transistors switch. The dynamic power depends mainly on a specific usage scenario, clock rates, and I/O
activity.
www.ti.com
Texas Instruments' SmartReflex™ technology is used to decrease both static and dynamic power
consumption while maintaining the device performance. SmartReflex in the C6474 device is a feature that
allows the core voltage to be optimized based on the process corner of the device. This requires a voltage
regulator for each C6474 device.
To guarantee maximizing performance and minimizing power consumption of the device, SmartReflex is
required to be implemented whenever the C6474 device is used.
The voltage selection is done using 4 VCNTL pins which are used to select the output voltage of the core
voltage regulator. For complete information on SmartReflex, see the TMS320C6474 Hardware DesignGuide application report (literature number SPRAAW7).
7.5Enhanced Direct Memory Access (EDMA3) Controller
The primary purpose of the EDMA3 is to service user-programmed data transfers between two
memory-mapped slave endpoints on the device. The EDMA3 services software-driven paging transfers
(e.g., data movement between external memory and internal memory), performs sorting or subframe
extraction of various data structures, services event driven peripherals such as a McBSP port, and
offloads data transfers from the device CPU.
The EDMA3 includes the following features:
•Fully orthogonal transfer description
– 3 transfer dimensions: array (multiple bytes), frame (multiple arrays), and block (multiple frames)
– Single event can trigger transfer of array, frame, or entire block
– Independent indexes on source and destination
•Flexible transfer definition:
– Increment or FIFO transfer addressing modes
– Linking mechanism allows for ping-pong buffering, circular buffering, and repetitive/continuous
transfers, all with no CPU intervention
– Chaining allows multiple transfers to execute with one event
•256 PaRAM entries
– Used to define transfer context for channels
– Each PaRAM entry can be used as a DMA entry, QDMA entry, or link entry
•64 DMA channels
– Manually triggered (CPU writes to channel controller register), external event triggered, and chain
triggered (completion of one transfer triggers another)
•8 Quick DMA (QDMA) channels
– Used for software-driven transfers
– Triggered upon writing to a single PaRAM set entry
•6 transfer controllers and 6 event queues with programmable system-level priority
•Interrupt generation for transfer completion and error conditions
•Debug visibility
– Queue watermarking/threshold allows detection of maximum usage of event queues
– Error and status recording to facilitate debug
www.ti.com
Each of the transfer controllers has a direct connection to the switched central resource (SCR). Table 4-1
lists the peripherals that can be accessed by the transfer controllers.
The EDMA3 supports up to 64 DMA channels that can be used to service system peripherals and to move
data between system memories. DMA channels can be triggered by synchronization events generated by
system peripherals. Table 7-4 lists the source of the synchronization event associated with each of the
DMA channels. The association of each synchronization event and DMA channel is fixed and cannot be
reprogrammed. Additional events are available to the EDMA3 via an external interrupt controller. For more
details on Chip Interrupt Controller 3 (CIC3), see Section 7.6.2.
SPRS552F–OCTOBER 2008–REVISED JULY 2010
Table 7-4. EDMA3 Channel Synchronization Events
EVENT CHANNELEVENTEVENT DESCRIPTION
0TINT0LTimer Interrupt Low
1TINT0HTimer Interrupt High
2TINT1LTimer Interrupt Low
3TINT1HTimer Interrupt High
4TINT2LTimer Interrupt Low
5TINT2HTimer Interrupt High
6CIC3_EVT0CIC_EVT_o [0] from Chip Interrupt Controller
7CIC3_EVT1CIC_EVT_o [1] from Chip Interrupt Controller
8CIC3_EVT2CIC_EVT_o [2] from Chip Interrupt Controller
02A2 0240SAOPTSource Active Options Register
02A2 0244SASRCSource Active Source Address Register
02A2 0248SACNTSource Active Count Register
02A2 024CSADSTSource Active Destination Address Register
02A2 0250SABIDXSource Active Source B-Index Register
02A2 0254SAMPPRXYSource Active Memory Protection Proxy Register
02A2 0258SACNTRLDSource Active Count Reload Register
02A2 025CSASRCBREFSource Active Source Address B-Reference Register
02A2 0260SADSTBREFSource Active Destination Address B-Reference Register
02A2 0264 - 02A2 027C-Reserved
02A2 0280DFCNTRLDDestination FIFO Set Count Reload
02A2 0284DFSRCBREFDestination FIFO Set Destination Address B Reference Register
02A2 0288DFDSTBREFDestination FIFO Set Destination Address B Reference Register
Table 7-8. EDMA3 Transfer Controller 1 Registers (continued)
HEX ADDRESS RANGEACRONYMREGISTER NAME
02A2 824CSADSTSource Active Destination Address Register
02A2 8250SABIDXSource Active Source B-Index Register
02A2 8254SAMPPRXYSource Active Memory Protection Proxy Register
02A2 8258SACNTRLDSource Active Count Reload Register
02A2 825CSASRCBREFSource Active Source Address B-Reference Register
02A2 8260SADSTBREFSource Active Destination Address B-Reference Register
02A2 8264 - 02A2 827C-Reserved
02A2 8280DFCNTRLDDestination FIFO Set Count Reload
02A2 8284DFSRCBREFDestination FIFO Set Destination Address B Reference Register
02A2 8288DFDSTBREFDestination FIFO Set Destination Address B Reference Register
02A3 0240SAOPTSource Active Options Register
02A3 0244SASRCSource Active Source Address Register
02A3 0248SACNTSource Active Count Register
02A3 024CSADSTSource Active Destination Address Register
02A3 0250SABIDXSource Active Source B-Index Register
02A3 0254SAMPPRXYSource Active Memory Protection Proxy Register
02A3 0258SACNTRLDSource Active Count Reload Register
02A3 025CSASRCBREFSource Active Source Address B-Reference Register
02A3 0260SADSTBREFSource Active Destination Address B-Reference Register
02A3 0264 - 02A3 027C-Reserved
02A3 0280DFCNTRLDDestination FIFO Set Count Reload
02A3 0284DFSRCBREFDestination FIFO Set Destination Address B Reference Register
02A3 0288DFDSTBREFDestination FIFO Set Destination Address B Reference Register
02A3 8240SAOPTSource Active Options Register
02A3 8244SASRCSource Active Source Address Register
02A3 8248SACNTSource Active Count Register
02A3 824CSADSTSource Active Destination Address Register
02A3 8250SABIDXSource Active Source B-Index Register
02A3 8254SAMPPRXYSource Active Memory Protection Proxy Register
02A3 8258SACNTRLDSource Active Count Reload Register
02A3 825CSASRCBREFSource Active Source Address B-Reference Register
02A3 8260SADSTBREFSource Active Destination Address B-Reference Register
02A3 8264 - 02A3 827C-Reserved
02A3 8280DFCNTRLDDestination FIFO Set Count Reload
02A3 8284DFSRCBREFDestination FIFO Set Destination Address B Reference Register
02A3 8288DFDSTBREFDestination FIFO Set Destination Address B Reference Register