# Notes on Texas Instruments Processors

Prof. Brian L. Evans

At present, TI is developing new processors within three digital signal processor families:

- TMS320C2000 (formerly known as TMS320C20)
  - disk drives, e.g. Seagate
- TMS320C5000 (formerly known as TMS320C54)
  - voiceband modems, e.g. modems by 3Com and the modem for the compact Sun-Denshi Online Station for Playstation 2
  - cell phone handsets, e.g. by Nokia and Ericsson
  - portable MP3 players, e.g. Sanyo Internet audio player
  - digital still cameras, e.g. Sony
  - digital video, e.g. JVC's GR-DVM90 e-CyberCam
- TMS320C6000
  - ADSL modems, e.g. TI's ADSL modems
  - VDSL modems
  - cell phone basestations
  - modem banks
  - laser printers
  - video conferencing systems

TI has produced many other families of digital signal processors which they still support but for which they are not developing new members of the families. These families include the TMS32010, TMS320C30, TMS320C40, TMS320C50, and TMS320C80. Note that the TMS32010 family does not have a "C" in it because it was originally designed in NMOS and not CMOS.

## Conventional Fixed-Point DSP Processors

The family of conventional fixed-point DSP processors includes the TMS32010, TMS320C20, TMS320C50, TMS320C54, and TMS320C55. These processors have 16-bit data words and 16-bit program words. The 10 (1982) and C20 (1985) fixed-point processors are being widely used in control applications. The C203, a derivative of the C20, was released in 1995 in response to disk drive manufacturers' needs. The C203 delivers 40 MIPS (80 MHz) and costs under $5.00 in volume. The 10 is widely used as essentially a powerful microcontroller. The C24 is dedicated for motion control.

The C54x is a smaller, low-power version of the C50 meant for use in wireless basestations and handsets. The C54x instruction set is not compatible with the C50. The C54x reminds me of Freescale's DSP56000 in that it can perform parallel reads:

- 2 data reads from block 1
- 1 data write to block 2
- 1 instruction fetch from block 3

The C54x has a special instruction for Viterbi decoding. Other features include three idle modes (controlled by host processor) to preserve power consumption and flash memory (must write in 2 kword blocks). A C compiler exists. A low-cost C54x DSP Starter Kit (DSK) also exists. The C54x is also used for servo-control in high-end disk drives.

A variation of the C54x, the C54xx family, has 8 Mwords of addressable memory due to the addition of a page pointer. The TMS320C5416 has 128K words of on-chip SRAM and runs at 160 MHz. Applications include Voice over Internet Protocol (VoIP), communications servers, PBX add-ons and other computer telephony and customer premise equipment.

The C55 is in the C5000 family but has lower power consumption than the C54. The TMS320C5509 DSP is targeted for portable handheld Internet appliances. It has an extensive set of on-board peripherals.

- Clock rate: 144/200 MHz (up to 288/400 MIPS)
- On-chip Memory: 128 kw RAM and 32 kw ROM
- Interfaces: USB 1.1 port, I2C, Memory Stick, MMC, SD, three serial ports
- Data converter: on-chip 10-bit ADC

The TMS320C5502 is a low-cost member of the C5000 family for personal systems at $9.95/unit in quantities of 10,000 units:

- Clock rate: * 200 MHz (up to 400 MIPS)
- On-chip Memory: 32 kw DARAM and 16 kw ROM
- Interfaces: UART, I2C, three serial ports

## Conventional Floating-Point DSP Processors

The first two TI floating-point DSP processors were the TMS320C30 (1988) and TMS320C40 processors. These two processors are very similar. The key difference is that the C40 has extra communications features that allows it to be more easily used in parallel.

### TMS320C30 Family

The C30 is the base processor in the TMS320C30 family. A DSP Starter Kit (DSK) board with the C31 (August, 1996) sells for $99. This is much cheaper than the $750 for the C30 evaluation module (EVM) board, which has the original C30 on it. Like the EVM, the DSK does not come with a compiler. However, an extension to the GNU C compiler generates code for the C30.

By Fall of 1999, the price for the TMS320C3x family of processors had dropped to $5 per processor. The TMS320VC33 sells for $5. The C33 provides a full 1-Mbits of random access memory (RAM) and delivers 120 MFLOPS. A 150-MHz version of the C33 is also available for $8. TI is still maintaining the C30 line by continuing to design C33s for faster clock speeds, e.g. the SM320VC33-EP which runs at 150 MHz (August 2002).

### Applications of the TMS320C30 Family

A TMS320C30 ($20) DSP was used by the Miniature Sensor Technology Integration (Misty) 3 Satellite which orbited from 1995 to 1996. Southwestern Research Institute in San Antonio, TX, under contract from SAIC, built a VME card cage containing a single processor, military specification TMS320C30 for the infrared satellite imaging subsystem on Misty. The TMS320C31 ($20) was used by Dr. Thomas P. Barnwell (Atlanta Signal Processors Inc., Atlanta, GA, which is now part of Polycom) to prototype a DirectTV decoder before it was implemented on a fixed-point processor. The TMS320C32 sells for $10 each with a volume purchase being required. In the late 1990s, the C32 was used in the Concur Systems Inc. thin Internet data acquisition systems.

### The TMS320C40 Family

The C40 was intended for use in parallel processing. No more C40 derivatives will be developed. The C44 is a scaled down version of the C40. The fixed-point C80 family briefly superseded the C40 for parallel processing, but no more C80 derivatives will be developed. The C80 is described next. The primary TI processor family for parallel processing is the C6x.

## Unconventional DSP Processors

The members of this family include the TMS320C80, TMS320C62x, TMS320C4x, and TMS320C67x.

The C80 contains four fixed-point DSPs plus a RISC on a single chip and is meant for video processing. The reality is that the C80 was too expensive, consumed too much power, and development tools for it were poor. TI is no longer developing new members of the C8x family, but third-party C8x boards and tools are still being developed, e.g. the Genesis board by Matrox.

The C6x (C6000) family is a Very Long Instruction Word (VLIW) Reduced Instruction Set Computer (RISC) Digital Signal Processor (DSP) with eight parallel function units: 6 are ALUs and 2 are multipliers. The C6x has three key members: C6200 and C6400 for 16-bit fixed-point and C6700 for 32-bit floating-point processing. A 32-bit floating-point multiplication has 1 cycle throughput and 3 cycles of delay. According to an October 29, 1999, press release by TI, the market share for the C6x family hit $1.5 billion. The DSP processor market in 1999 was about $4.5 billion.

When TI reports MIPS for the C6000, they are computing RISC MIPS using 8 times the clock rate. These MIPS are *not* DSP processor MIPS. Another useful figure of merit is million multiply-accumulates per second (MMACS), which is 2 x clock rate for the C6200 and C6400.

### C62x Processor

The C62x has 8 arithmetic units (2 multipliers and 6 adders/shifters). Applications include wireless basestations, modem pools, cable modems, remove access servers, digital subscriber loop modems, and wireless PDAs. Members of the family include:

- TMS320C6211: 150 MHz (1200 RISC MIPS) for $25 (in 25K unit quantities); 64 kbits on-chip memory (32 kbits data; 32 kbits program) plus L2 cache (512 kbits)
- TMS320C6201: 167 MHz (1333 RISC MIPS) and 200 MHz (1600 RISC MIPS); 1 Mbit on-chip memory (512 kbits data; 512 kbits program); low-power version C6201B at 200 MHz consumes 1.94 W of power
- TMS320C6202: 250 MHz (2000 RISC MIPS).
- TMS320C6203: 250 MHz (2000 RISC MIPS) and 300 MHz (2400 RISC MIPS); 7 Mbits on-chip memory (3 Mb program; 4 Mb data); used in digital communication systems. In 1999, it was being used for third-generation wireless communication systems (wireless data networks) and modem banks (a bank of 24 V.90 modems for a T-1 line on a single chip). More recently, the C6203 is also used for the AR7 DSL gateway:
  - http://www.linux-mips.org/wiki/index.php/AR7
  - http://www.linux-mips.org/wiki/index.php/DSL-xxxT
  - http://www.seattlewireless.net/index.cgi/DlinkDslG604t

For more details, see http://www.ti.com/sc/c62xdsps.

### C67x Processor

It is pin compatible with the 'C62x. The C67x is in volume production. At 100-MHz, the 'C6711 delivers 600 MFLOPS for only $20. A 150-MHz version of the device, also new, increases performance to 900 MFLOPS. The 'C67x family offers a code-compatible roadmap to 3 GFLOPS and beyond. Applications include beamforming base stations, 3-D virtual reality, graphics, speech recognition, radar/sonar, precision instrumentation, and medical imaging.

## Problems with TI Tools

- No code translators between C5x and C20x and between C54x and C6x exist
- No simulators and debuggers are publicly available, except for the C31.
- C compilers are very poor for the traditional fixed-point DSP processors (C2x/C5x/C54x), but relatively poor for the C6000 processors, when compared to C compilers for desktop computers.

Last updated 06/06/05. Send comments to bevans@ece.utexas.edu