TMS320C6745, TMS320C6747 Fixed- and Floating-Point Digital Signal Processor
1TMS320C6745, TMS320C6747 Fixed- and Floating-Point Digital Signal Processor
1.1Features
1
• Software Support
– TI DSP/BIOS™
– Chip Support Library and DSP Library
• 375- and 456-MHz TMS320C674x VLIW DSP
• C674x Instruction Set Features
– Superset of the C67x+ and C64x+ ISAs
– Up to 3648 MIPS and 2736 MFLOPS C674x
– Byte-Addressable (8-, 16-, 32-, and 64-Bit Data)
– 8-Bit Overflow Protection
– Bit-Field Extract, Set, Clear
– Normalization, Saturation, Bit-Counting
– Compact 16-Bit Instructions
• C674x Two-Level Cache Memory Architecture
– 32KB of L1P Program RAM/Cache
– 32KB of L1D Data RAM/Cache
– 256KB of L2 Unified Mapped RAM/Cache
– Flexible RAM/Cache Partition (L1 and L2)
• Enhanced Direct Memory Access Controller 3
(EDMA3):
– 2 Transfer Controllers
– 32 Independent DMA Channels
– 8 Quick DMA Channels
– Programmable Transfer Burst Size
• TMS320C674x Fixed- and Floating-Point VLIW
DSP Core
– Load-Store Architecture with Nonaligned
Support
– 64 General-Purpose Registers (32-Bit)
– Six ALU (32- and 40-Bit) Functional Units
– Supports 32-Bit Integer, SP (IEEE Single
Precision/32-Bit) and DP (IEEE Double
Precision/64-Bit) Floating Point
– Supports up to Four SP Additions Per Clock,
Four DP Additions Every 2 Clocks
– Supports up to Two Floating-Point (SP or DP)
Reciprocal Approximation (RCPxP) and
Square-Root Reciprocal Approximation
(RSQRxP) Operations Per Cycle
– Two Multiply Functional Units
– Mixed-Precision IEEE Floating Point Multiply
Supported up to:
– 2 SP x SP -> SP Per Clock
– 2 SP x SP -> DP Every Two Clocks
– 2 SP x DP -> DP Every Three Clocks
– 2 DP x DP -> DP Every Four Clocks
– Fixed-Point Multiply Supports Two 32 x 32-Bit
1
• 128KB of RAM Shared Memory (TMS320C6747
• 3.3-V LVCMOS I/Os (Except for USB Interfaces)
• Two External Memory Interfaces:
• Three Configurable 16550-Type UART Modules:
• LCD Controller (TMS320C6747 Only)
• Two Serial Peripheral Interfaces (SPIs) Each with
• Multimedia Card (MMC)/Secure Digital (SD) Card
• Two Master and Slave Inter-Integrated Circuit (I2C
• One Host-Port Interface (HPI) with 16-Bit-Wide
• Programmable Real-Time Unit Subsystem
Multiplies, Four 16 x 16-Bit Multiplies, or
Eight 8 x 8-Bit Multiplies per Clock Cycle, and
Complex Multiples
– Instruction Packing Reduces Code Size
– All Instructions Conditional
– Hardware Support for Modulo Loop
Operation
– Protected Mode Operation
– Exceptions Support for Error Detection and
Program Redirection
Only)
– EMIFA
– NOR (8- or 16-Bit-Wide Data)
– NAND (8- or 16-Bit-Wide Data)
– 16-Bit SDRAM with 128-MB Address Space
(TMS320C6747 Only)
– EMIFB
– 32-Bit or 16-Bit SDRAM with 256-MB
Address Space (TMS320C6747)
– 16-Bit SDRAM with 128-MB Address Space
(TMS320C6745)
– UART0 with Modem Control Signals
– Autoflow Control Signals (CTS, RTS) on UART0
Only
– 16-Byte FIFO
– 16x or 13x Oversampling Option
One Chip Select
Interface with Secure Data I/O (SDIO)
Bus™)
Muxed Address/Data Bus for High Bandwidth
(TMS320C6747 Only)
(PRUSS)
– Two Independent Programmable Realtime Unit
(PRU) Cores
– 32-Bit Load and Store RISC Architecture
– 4KB of Instruction RAM per Core
– 512 Bytes of Data RAM per Core
An IMPORTANT NOTICE at the end of this data sheet addresses availability, warranty, changes, use in safety-critical applications,
intellectual property matters and other important disclaimers. PRODUCTION DATA.
TMS320C6745, TMS320C6747
SPRS377F –SEPTEMBER 2008–REVISED JUNE 2014
www.ti.com
– PRUSS can be Disabled via Software to
Save Power
– Standard Power-Management Mechanism
– Clock Gating
– Entire Subsystem Under a Single PSC Clock
• USB 1.1 OHCI (Host) with Integrated PHY (USB1)
(TMS320C6747 Only)
• USB 2.0 OTG Port with Integrated PHY (USB0)
– USB 2.0 High- and Full-Speed Client
(TMS320C6747)
– USB 2.0 Full-Speed Client (TMS320C6745)
– USB 2.0 High-, Full-, and Low-Speed Host
(TMS320C6747)
– USB 2.0 Full- and Low-Speed Host
(TMS320C6745)
– High-Speed Functionality Available on
TMS320C6747 Device Only
– End Point 0 (Control)
– End Points 1,2,3,4 (Control, Bulk, Interrupt or
ISOC) RX and TX
• Three Multichannel Audio Serial Ports (McASPs):
– TMS320C6747 Supports 3 McASPs
– TMS320C6745 Supports 2 McASPs
– Six Clock Zones and 28 Serial Data Pins
– Supports TDM, I2S, and Similar Formats
– DIT-Capable (McASP2)
– FIFO Buffers for Transmit and Receive
• Commercial, Industrial, Extended, or Automotive
Temperature
1.2Applications
•A/V Receivers
•Automotive Amplifiers
•Soundbars
1.3Description
The TMS320C6745/6747 device is a low-power digital signal processor based on a TMS320C674x DSP
core. It consumes significantly lower power than other members of the TMS320C6000™ platform of
DSPs.
The TMS320C6745/6747 device enables original-equipment manufacturers (OEMs) and original-design
manufacturers (ODMs) to quickly bring to market devices featuring high processing performance .
The TMS320C6745/6747 DSP core uses a two-level cache-based architecture. The Level 1 program
cache (L1P) is a 32-KB direct mapped cache and the Level 1 data cache (L1D) is a 32-KB 2-way setassociative cache. The Level 2 program cache (L2P) consists of a 256-KB memory space that is shared
between program and data space. L2 memory can be configured as mapped memory, cache, or
combinations of the two. Although the DSP L2 is accessible by other hosts in the system, an additional
128KB of RAM shared memory (TMS320C6747 only) is available for use by other hosts without affecting
DSP performance.
2
TMS320C6745, TMS320C6747 Fixed- and Floating-Point Digital Signal
Processor
The peripheral set includes: a 10/100 Mbps Ethernet MAC (EMAC) with a management data input/output
(MDIO) module; two I2C Bus interfaces; 3 multichannel audio serial ports (McASPs) with 16/9 serializers
and FIFO buffers; two 64-bit general-purpose timers each configurable (one configurable as watchdog); a
configurable 16-bit host-port interface (HPI) [TMS320C6747 only]; up to 8 banks of 16 pins of generalpurpose input/output (GPIO) with programmable interrupt/event generation modes, multiplexed with other
peripherals; 3 UART interfaces (one with both RTS and CTS); three enhanced high-resolution pulse width
modulator (eHRPWM) peripherals; three 32-bit enhanced capture (eCAP) module peripherals which can
be configured as 3 capture inputs or 3 auxiliary pulse width modulator (APWM) outputs; two 32-bit
enhanced quadrature encoded pulse (eQEP) peripherals; and 2 external memory interfaces: an
asynchronous and SDRAM external memory interface (EMIFA) for slower memories or peripherals, and a
higher speed memory interface (EMIFB) for SDRAM.
The EthernetMedia AccessController (EMAC)provides anefficient interfacebetweenthe
TMS320C6745/6747 device and the network. The EMAC supports both 10Base-T and 100Base-TX, or 10
Mbps and 100 Mbps in either half- or full-duplex mode. Additionally, an MDIO interface is available for
PHY configuration.
The rich peripheral set provides the ability to control external peripheral devices and communicate with
external processors. For details on each of the peripherals, see the related sections later in this document
and the associated peripheral reference guides.
TMS320C6745, TMS320C6747
SPRS377F –SEPTEMBER 2008–REVISED JUNE 2014
Device Information
PART NUMBERPACKAGEBODY SIZE
TMS320C6745HLQFP (176)24.00 mm x 24.00 mm
TMS320C6747BGA (256)17.00 mm x 17.00 mm
(1) For more information on these devices, see Section 8, Mechanical Packaging and Orderable
TMS320C6745, TMS320C6747 Fixed- and Floating-Point Digital Signal
Submit Documentation Feedback
Processor
3
Switched Central Resource (SCR)
BOOT ROM
256KB L2 RAM
32KB
L1 RAM
32KB
L1 Pgm
AET
C674x
DSP CPU
DSP Subsystem
JTAG Interface
Serial Interfaces
I C
(2)
2
SPI
(2)
UART
(3)
Audio Ports
McASP
w/FIFO
(2)
DMA
Peripherals
External Memory Interfaces
Connectivity
EDMA3
Control Timers
eHRPWM
(3)
eCAP
(3)
eQEP
(2)
(10/100)
EMAC
(RMII)
MDIO
USB2.0
OTG Ctlr
PHY
MMC/SD
(8b)
EMIFA(8b)
NAND/Flash
EMIFB
SDRAM Only
(16b)
GPIO
PRU
Subsystem
System Control
Input
Clock(s)
Power/Sleep
Controller
Memory
Protection
Pin
Multiplexing
PLL/Clock
Generator
w/OSC
GeneralPurpose
Timer
GeneralPurpose
Timer
(Watchdog)
Switched Central Resource (SCR)
BOOT ROM
256KB L2 RAM
32KB
L1 RAM
32KB
L1 Pgm
AET
C674x
DSP CPU
DSP Subsystem
JTAG Interface
Serial Interfaces
I C
(2)
2
SPI
(2)
UART
(3)
Audio Ports
McASP
w/FIFO
(3)
DMA
Peripherals
Display
Internal Memory
LCD
Ctlr
128KB
RAM
External Memory Interfaces
Connectivity
EDMA3
Control Timers
eHRPWM
(3)
eCAP
(3)
eQEP
(2)
(10/100)
EMAC
(RMII)
MDIO
USB1.1
OHCI Ctlr
PHY
USB2.0
OTG Ctlr
PHY
HPI
MMC/SD
(8b)
EMIFA(8b/16B)
NAND/Flash
16b SDRAM
EMIFB
SDRAM Only
(16b/32b)
GPIO
PRU
Subsystem
System Control
Input
Clock(s)
Power/Sleep
Controller
Memory
Protection
Pin
Multiplexing
RTC/
32-kHz
OSC
PLL/Clock
Generator
w/OSC
GeneralPurpose
Timer
GeneralPurpose
Timer
(Watchdog)
TMS320C6745, TMS320C6747
SPRS377F –SEPTEMBER 2008–REVISED JUNE 2014
1.4Functional Block Diagram
www.ti.com
Note: Not all peripherals are available at the same time due to multiplexing. See Table 3-1 for details on which device
components are available on each device.
Figure 1-1. TMS320C6747 Functional Block Diagram
4
Note: Not all peripherals are available at the same time due to multiplexing. See Table 3-1 for details on which device
components are available on each device.
TMS320C6745, TMS320C6747 Fixed- and Floating-Point Digital Signal
NOTE: Page numbers for previous revisions may differ from page numbers in the current version.
This data manual revision history highlights the changes made to the SPRS377E device-specific data
manual to make it an SPRS377F revision.
Scope: Applicable updates to the TMS320C6747/C6745 Fixed- and Floating-Point Digital Signal
Processor device family, specifically relating to the TMS320C6747 and TMS320C6745 devices, which are
all now in the production data (PD) stage of development, have been incorporated.
SEEADDITIONS/MODIFICATIONS/DELETIONS
•Turned on Navigation Icons on top of first page.
Global
Section 1.1
Features
Section 1.2
Applications
Section 1.3
Description
Section 3.3.2.3
C674x CPU
Section 3.6
Terminal Functions
Section 3.6.11
Universal
Asynchronous
Receiver/Transmitter
s (UART0, UART1,
UART2)
Section 3.6.21
Reserved and No
Connect
Section 3.6.23
Unused USB0
(USB2.0) and USB1
(USB1.1) Pin
Configurations
Section 5
Device Operating
Conditions
Section 5.4
Notes on
Recommended
Power-On Hours
(POH)
Section 6.10.6
EMIFA Electrical
Data/Timing
•Updated Features, Applications, and Description for consistency and translation.
•Moved Trademarks information from first page to within Section 7, Device and Documentation Support.
•Moved ESDS Warning to within Section 7, Device and Documentation Support.
Deleted Highlights section. Information was duplicated elsewhere in Features.
Added NEW section.
Added NEW Device Information Table.
Table 3-2, C674x Cache Registers:
•Updated/Changed REGISTER DESCRIPTION for BYTE ADDRESSES 0000, 0020, and 0040 from
"...See the System reference Guide..." to "See the Technical Reference Manual..."
Table 3-21, Universal Serial Bus (USB) Terminal Functions:
•Updated/Changed USB0_VDDA12 DESCRIPTION from "...must always be connected via a 1 μF
capacitor..." to "...is recommended to be connected via a 0.22-μF capacitor..."
•Updated/Changed footnote from "...DSP Reference Guide - Literature Number SPRUFK4..." to "...DSP
Technical Reference Manual (SPRUH91)..."
Table 3-26, Reserved and No Connect Terminal Functions:
•Updated/Changed RSV4 DESCRIPTION from "...This pin may be tied high or low." to "...For proper
device operation, this pin must be tied low or to CVDD."
Moved to within Section 3.6, Terminal Functions
Table 3-28, Unused USB0 and USB1 Pin Configurations:
•Updated/Changed USB0_VDDA12 Configuration by combining both Configuration columns and
changing text to "Internal USB0 PHY output connected to an external..."
Section 5.2, Handling Ratings:
•Split handling, ratings, and certifications from the Abs Max table and placed in NEW Handling Ratings
table.
The C674x Central Processing Unit (CPU) consists of eight functional units, two register files, and two
data paths as shown in Figure 3-2. The two general-purpose register files (A and B) each contain 32 32bit 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, packed 16-bit data, 32-bit data, 40bit 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.
The C674x CPU combines the performance of the C64x+ core with the floating-point capabilities of the
C67x+ core.
Each C674x .M unit can perform one of the following each clock cycle: one 32 x 32 bit multiply, one 16 x
32 bit multiply, two 16 x 16 bit multiplies, two 16 x 32 bit multiplies, two 16 x 16 bit multiplies with
add/subtract capabilities, four 8 x 8 bit multiplies, four 8 x 8 bit multiplies with add operations, and four
16 x 16 multiplies with add/subtract capabilities (including a complex multiply). There is also support for
Galois field multiplication for 8-bit and 32-bit data. Many communications algorithms such as 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 high-precision algorithms on
a variety of signed and unsigned 32-bit data types.
TMS320C6745, TMS320C6747
SPRS377F –SEPTEMBER 2008–REVISED JUNE 2014
The .L Unit (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 C674x core enhances the .S unit in several ways. On the previous cores, dual 16-bit MIN2 and MAX2
comparisons were only available on the .L units. On the C674x 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 for 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 C674x
compiler can restrict the code to use certain registers in the register file. This compression is
performed by the code generation tools.
•Instruction Set Enhancement - As noted above, there are new instructions such as 32-bit
multiplications, complex multiplications, packing, sorting, bit manipulation, and 32-bit Galois field
multiplication.
•Exceptions Handling - Intended to aid the programmer in isolating bugs. The C674x 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 a 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 freerunning time-stamp counter is implemented in the CPU which is not sensitive to system stalls.
For more details on the C674x CPU and its enhancements over the C64x architecture, see the following
documents:
•TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide (SPRU732)
A. On .M unit, dst2 is 32 MSB.
B. On .M unit, dst1 is 32 LSB.
C. On C64x 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.
The DSP has access to the following External memories:
•Asynchronous EMIF / SDRAM / NAND / NOR Flash (EMIFA)
•SDRAM (EMIFB)
3.3.2.2DSP Internal Memories
The DSP has access to the following DSP memories:
•L2 RAM
•L1P RAM
•L1D RAM
3.3.2.3C674x CPU
The C674x core uses a two-level cache-based architecture. The Level 1 Program cache (L1P) is 32 KB
direct mapped cache and the Level 1 Data cache (L1D) is 32 KB 2-way set associated cache. The Level 2
memory/cache (L2) consists of a 256 KB memory space that is shared between program and data space.
L2 memory can be configured as mapped memory, cache, or a combination of both.
www.ti.com
Table 3-2 shows a memory map of the C674x CPU cache registers for the device.
Extensive use of pin multiplexing is used to accommodate the largest number of peripheral functions in
the smallest possible package. Pin multiplexing is controlled using a combination of hardware
configuration at device reset and software programmable register settings.
3.5.1Pin Map (Bottom View)
Figure 3-3 and Figure 3-4 show the pin assignments for ZKB package and PTP package, respectively.
to identify the external signal names, the associated pin/ball numbers along with the mechanical package
designator, the pin type (I, O, IO, OZ, or PWR), whether the pin/ball has any internal pullup/pulldown
resistors, whether the pin/ball is configurable as an IO in GPIO mode, and a functional pin description.
3.6.1Device Reset and JTAG
Table 3-6. Reset and JTAG Terminal Functions
www.ti.com
SIGNAL NAME
RESET146G3IDevice reset inputAMUTE0/ RESETOUT-L4O
TMS152J1IIPUJTAG test mode select
TDI153J2IIPUJTAG test data input
TDO156J3OIPDJTAG test data output
TCK155H3IIPUJTAG test clock
TRST150J4IIPDJTAG test reset
EMU[0]/GP7[15]-J5I/OIPUEmulation Signal
(1) I = Input, O = Output, I/O = Bidirectional, Z = High impedance, PWR = Supply voltage, GND = Ground, A = Analog signal.
Note: For multiplexed pins where functions have different types (ie., input versus output), the table reflects the pin function direction for
that particular peripheral.
(2) IPD = Internal Pulldown resistor, IPU = Internal Pullup resistor
(3) Open drain mode for RESETOUT function.
PIN NO
PTPZKB
TYPE
(1)
(3)
(2)
PULL
RESET
IPDReset output
JTAG
DESCRIPTION
3.6.2High-Frequency Oscillator and PLL
Table 3-7. High-Frequency Oscillator and PLL Terminal Functions
RTC_CVDD-G1PWRRTC module core power (isolated from rest of chip CVDD)
RTC_XI-H1ILow-frequency (32-kHz) oscillator receiver for real-time clock
RTC_XO-H2OLow-frequency (32-kHz) oscillator driver for real-time clock
RTC_V
ss
(1) I = Input, O = Output, I/O = Bidirectional, Z = High impedance, PWR = Supply voltage, GND = Ground, A = Analog signal.
Note: For multiplexed pins where functions have different types (ie., input versus output), the table reflects the pin function direction for
(1) I = Input, O = Output, I/O = Bidirectional, Z = High impedance, PWR = Supply voltage, GND = Ground, A = Analog signal.
Note: The pin type shown refers to the input, output or high-impedance state of the pin function when configured as the the signal name
highlighted in bold. All multiplexed signals may enter a high-impedance state when the configured function is input-only or the configured
function supports high-Z operation. All GPIO signals can be used as input or output. For multiplexed pins where functions have different
types (ie., input versus output), the table reflects the pin function direction for that particular peripheral.
(2) IPD = Internal Pulldown resistor, IPU = Internal Pullup resistor