Vous êtes sur la page 1sur 44

AICTE Sponsored FDP On ADSP

TOPICS TO BE DISCUSSED
National Institute of Science & Technology

TMS 6713 Board

(i) Architecture.
(ii) Instructions Set & Interrupts.
(iii) Addressing Modes
(iv) C Code Composer Studio.
(v) Circular Buffering.

PRESENTED BY SURUCHI KUMARI [1]


AICTE Sponsored FDP On ADSP

Introduction
National Institute of Science & Technology

The TMS320C6000 DSP processor family has


been introduced by Texas Instruments to meet high
performance demands in signal processing
applications, to deliver speed.

They are designed for million instructions per


second (MIPS) intensive applications such as 3G
wireless, DSL/cable modems and digital imaging.

PRESENTED BY SURUCHI KUMARI [2]


AICTE Sponsored FDP On ADSP

Processing of Digital Signal


National Institute of Science & Technology

 The processing of a digital signal can be


implemented on various platforms such as a
DSP processor, a customized Very Large
Scale Integrated (VLSI) circuit, or a general
purpose microprocessor.
 Differences between a DSP and a single function
VLSI implementation
1. Application flexibility.
2.Cost-effective.

PRESENTED BY SURUCHI KUMARI [3]


AICTE Sponsored FDP On ADSP

Processing of Digital Signal


National Institute of Science & Technology

Differences between a DSP and Microprocessors

 Instruction sets of DSP are smaller and optimized for signa


processing operations .
Allow specialized addressing modes circular addressing.
In DSP processors, it is possible to perform several
accesses to memory in a single instruction cycle .
DSP possess appropriate peripherals that allow efficient
input/output (I/O) interfacing to other devices.

PRESENTED BY SURUCHI KUMARI [4]


AICTE Sponsored FDP On ADSP

A DSP SYSTEM
National Institute of Science & Technology

There are many reasons to


process an analog signal in a
digital fashion .

The main reason is that


digital processing allows
programmability.

Digital circuits provide a


more stable and tolerant
output than analog circuits .
PRESENTED BY SURUCHI KUMARI [5]
AICTE Sponsored FDP On ADSP
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [6]


AICTE Sponsored FDP On ADSP
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [7]


AICTE Sponsored FDP On ADSP

Features
National Institute of Science & Technology

The DSK comes with a full compliment of on-board


devices that suit a wide variety of application environments.
Key features include:

1. A Texas Instruments TMS320C6713 DSP operating at


225 MHz.
2. An AIC23 stereo codec .
3. 16 Mbytes of synchronous DRAM .
4. 512 Kbytes of non-volatile Flash memory (256 Kbytes
usable in default configuration) .

PRESENTED BY SURUCHI KUMARI [8]


AICTE Sponsored FDP On ADSP

Features
National Institute of Science & Technology

 4 user accessible LEDs and DIP(dual inline package) switches .

 Software board configuration through registers implemented in


CPLD .

 Configurable boot options.

 Standard expansion connectors for daughter card use

 JTAG emulation through on-board JTAG emulator with USB


host interface or external emulator .

 Single voltage power supply (+5V).


PRESENTED BY SURUCHI KUMARI [9]
AICTE Sponsored FDP On ADSP

THE BLOCK DIAGRAMS OF THE GENERIC C6X


National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [10]


AICTE Sponsored FDP On ADSP

THE BLOCK DIAGRAMS OF THE GENERIC C64X


National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [11]


AICTE Sponsored FDP On ADSP
THE BLOCK DIAGRAMS OF THE GENERIC C6711
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [12]


AICTE Sponsored FDP On ADSP

ARCHITECTURES
National Institute of Science & Technology

 The C6x CPU consists of eight functional units divided


into two sides: (A) and (B).
Each side has :

 a .M unit (used for multiplication operation).


 a .L unit (used for logical and arithmetic operations).
 a .S unit (used for branch, bit manipulation and
arithmetic operations)

PRESENTED BY SURUCHI KUMARI [13]


AICTE Sponsored FDP On ADSP

ARCHITECTURES
National Institute of Science & Technology

 a .D unit (used for loading, storing and arithmetic


operations).

 Some instructions such as ADD can be done by


more than one unit.

 There are sixteen 32-bit registers associated with


each side. Interaction with the CPU must be done
through these registers

PRESENTED BY SURUCHI KUMARI [14]


AICTE Sponsored FDP On ADSP

Functional unit
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [15]


AICTE Sponsored FDP On ADSP

Required Software/Hardware
National Institute of Science & Technology

The software tool needed to generate TMS320C6x


executable files is called Code Composer Studio
(CCS).
CCS incorporates the assembler, linker, compiler,
simulator, and debugger utilities.
In the absence of a target board, which allows one to
run an executable file on an actual C6x processor, the
simulator can be used to verify code functionality by
using data already stored in a data file.

PRESENTED BY SURUCHI KUMARI [16]


AICTE Sponsored FDP On ADSP

Required Software/Hardware
National Institute of Science & Technology

 When using the simulator, an Interrupt Service


Routine (ISR) cannot be used to read in signal
samples from a signal source.

 To be able to process signals in real-time on an


actual C6x processor, a DSP Starter Kit
(DSK) or an Evaluation Module (EVM) board
is needed for code development.

PRESENTED BY SURUCHI KUMARI [17]


AICTE Sponsored FDP On ADSP

Required Software/Hardware
National Institute of Science & Technology

 A DSK board can easily be connected to a PC host


through its parallel or USB port.

 The signal interfacing with the DSK board is done


through its two standard audio jacks.

PRESENTED BY SURUCHI KUMARI [18]


AICTE Sponsored FDP On ADSP

General Purpose Register Files


National Institute of Science & Technology

 The CPU contains two general purpose register files A and B.

These can be used for data or as data address pointers.

Each file contains sixteen 32-bit registers (A0-A15 for file A and B0-B15 for
file B).
The registers A1, A2, B0, B1, B2 can also be used as condition registers. The
registers A4-A7 and B4-B7 can be used for circular addressing.

These registers provide 32-bit and 40-bit fixed-point data.

The 32-bit data can be stored in any register.

For 40-bit data, processor stores least significant 32 bits in an even register
and remaining 8 bits in upper (odd) register.

PRESENTED BY SURUCHI KUMARI [19]


AICTE Sponsored FDP On ADSP

Internal buses
National Institute of Science & Technology

 The internal buses consist of a 32-bit program address


bus, a 256-bit program data bus accommodating eight 32-
bit instructions, two 32-bit data address buses (DA1 and
DA2), two 32-bit (64-bit for C64 version) load data buses
(LD1 and LD2), and two 32-bit (64-bit for the floating-
point version) store data buses (ST1 and ST2).

 There are a 32-bit DMA data and a 32-bit DMA address


bus.

 The external, memory is accessed through a 20-bit


address bus and a 32-bit data bus.

PRESENTED BY SURUCHI KUMARI [20]


AICTE Sponsored FDP On ADSP

C6x Internal Buses


National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [21]


AICTE Sponsored FDP On ADSP

Peripherals on C6x
National Institute of Science & Technology

 The peripherals on a typical C6x processor include External


Memory Interface (EMIF), DMA, Boot Loader,
Multichannel Buffered Serial Port (McBSP), Host Port
Interface (HPI), Timer, and Power Down unit.

 EMIF provides the necessary timing for accessing external


memory.

 DMA allows the movement of data from one place in


memory to another place without interfering with the CPU
operation.

PRESENTED BY SURUCHI KUMARI [22]


AICTE Sponsored FDP On ADSP

Peripherals on C6x
National Institute of Science & Technology

Boot Loader boots the loading of code from off-chip


memory or HPI to internal memory.

 McBSP provides a high-speed multi-channel serial


communication link.

HPI allows a host to access internal memory.


Timer provides two 32-bit counters.

Power Down unit is used to save power for durations


when the CPU is inactive.
PRESENTED BY SURUCHI KUMARI [23]
AICTE Sponsored FDP On ADSP

Pipelined CPU
National Institute of Science & Technology

 In general, it takes several steps to perform an


instruction.
 Basically, these steps are fetching, decoding,
and execution.
 If these steps are done serially, not all of the
resources on the processor, such as multiple
buses or functional units, are fully utilized.

PRESENTED BY SURUCHI KUMARI [24]


AICTE Sponsored FDP On ADSP

Pipelined CPU
National Institute of Science & Technology

In order to increase throughput, DSP CPUs are


designed to be pipelined.

 Figure illustrates the difference in processing time for


three instructions executed on a serial or non-pipelined
and a pipelined CPU.

 As can be seen, a pipelined CPU requires fewer clock


cycles to complete the same number of instructions.

PRESENTED BY SURUCHI KUMARI [25]


AICTE Sponsored FDP On ADSP

Pipelined CPU
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [26]


AICTE Sponsored FDP On ADSP

Stages of Pipelining
National Institute of Science & Technology

On the C6x processor, fetching consists of four


phases, each requiring a clock cycle.
These include generate fetch address (denoted byF1),
send address to memory (F2), wait for data (F3), and
read opcode from memory (F4).
Decoding consists of two phases, each requiring a
clock cycle.
These are dispatching to appropriate functional units
(denoted by D1), and decoding (D2).

PRESENTED BY SURUCHI KUMARI [27]


AICTE Sponsored FDP On ADSP

Stages of pipelining
National Institute of Science & Technology

Due to the delays associated with the instructions


multiply (MPY − 1 delay), load (LDx − 4 delays), and
branch (B − 5 delays), the execution step may consist of
up to six phases (denoted by E1 through E6),
accommodating a maximum of 5 delays.

Hence, as shown in Figure 3-8, the F step consists of


four, the D step of two, and the E step of six possible
substeps, or phases.

PRESENTED BY SURUCHI KUMARI [28]


AICTE Sponsored FDP On ADSP

Stages of pipelining
National Institute of Science & Technology

When the outcome of an instruction is used


by the next instruction, an appropriate
number of NOPs (no operation or delay) must
be added after multiply (one NOP),load (four
NOPs/or NOP 4), and branch (five NOPs/or
NOP 5) instructions in order to allow the
pipeline to operate properly

PRESENTED BY SURUCHI KUMARI [29]


AICTE Sponsored FDP On ADSP

Stages of Pipelining
National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [30]


AICTE Sponsored FDP On ADSP

VelociTI
National Institute of Science & Technology

The C6x architecture is based on the very


long instruction word (VLIW) architecture.

In such an architecture, several instructions


are captured and processed simultaneously.
This is referred to as a fetch packet (FP).

PRESENTED BY SURUCHI KUMARI [31]


AICTE Sponsored FDP On ADSP

C6x Fetch Packet


National Institute of Science & Technology

PRESENTED BY SURUCHI KUMARI [32]


AICTE Sponsored FDP On ADSP

VelociTI
National Institute of Science & Technology

The C6x uses VLIW, allowing eight


instructions to be captured simultaneously from
on-chip memory onto its 256-bit wide program
data bus.

The original VLIW architecture has been


modified by TI to allow several so-called
execute packets (EP) to be included within the
same Fetch Packet.
PRESENTED BY SURUCHI KUMARI [33]
AICTE Sponsored FDP On ADSP
VelociTI
National Institute of Science & Technology

 An EP constitutes a group of parallel instructions.

 Parallel instructions are indicated by double pipe symbols ( || ),


and, as the name implies, they are executed together, or in
parallel.

 Instructions within an EP move together through every stage of


the pipeline. This VLIW modification is called VelociTI.

 Compared with VLIW, VelociTI reduces code size and


increases performance when instructions reside off-chip.

PRESENTED BY SURUCHI KUMARI [34]


AICTE Sponsored FDP On ADSP

Memory Management
National Institute of Science & Technology

 The external memory used by a DSP processor can be either


static or dynamic.

 Static memory (SRAM) is faster than dynamic memory


(DRAM), but it is more expensive, since it takes more space
on silicon.

 DRAMs also need to be refreshed periodically.

 A good compromise between cost and performance is


achieved by using SDRAM (Synchronous DRAM).

 Synchronous memory requires clocking, as compared to


asynchronous memory, which does not.
PRESENTED BY SURUCHI KUMARI [35]
AICTE Sponsored FDP On ADSP

Memory Management
National Institute of Science & Technology

 The address bus is 32 bits wide, the total memory


space consists of 2^32 =4 G bytes.
 This space is divided, according to a memory map,
into the
1. Internal program memory (PMEM)
2. Internal data memory (DMEM)
3. Internal peripherals.
4. External memory spaces named CE0, CE1, CE2, and
CE3.
 There are two memory map configurations: memory
map 0 and memory map 1.

PRESENTED BY SURUCHI KUMARI [36]


AICTE Sponsored FDP On ADSP

Memory Management
National Institute of Science & Technology

C6X Memory map 0 C6X Memory map 1

PRESENTED BY SURUCHI KUMARI [37]


AICTE Sponsored FDP On ADSP

Linking
National Institute of Science & Technology

Linking places code, constant, and


variable sections into appropriate locations
in memory.

Also, it combines several .obj object files


into the final executable .out output file.

PRESENTED BY SURUCHI KUMARI [38]


AICTE Sponsored FDP On ADSP

TIMERS
National Institute of Science & Technology

The C62x/C67x has two 32-bit general-purpose timers


that can be used to:
1. Time events .
2. Count events.
3. Generate pulses .
4. Interrupt the CPU.
5. Send synchronization events to the DMA
controller.

PRESENTED BY SURUCHI KUMARI [39]


AICTE Sponsored FDP On ADSP

TIMERS
National Institute of Science & Technology

When an internal clock is provided, the timer


generates timing sequences to trigger peripheral or
external devices such as DMA controller or A/D
converter respectively.

When an external clock is provided, the timer can


count external events and interrupt the CPU after a
specified number of events.

PRESENTED BY SURUCHI KUMARI [40]


AICTE Sponsored FDP On ADSP

TIMERS
National Institute of Science & Technology

The timer works in one of the two signaling


modes depending on whether clocked by an internal
or an external source.

The timer has an input pin (TINP) and an output


pin (TOUT).

The TINP pin can be used as a general purpose


input, and the TOUT pin can be used as a general-
purpose output.
PRESENTED BY SURUCHI KUMARI [41]
AICTE Sponsored FDP On ADSP

External Memory Interface


National Institute of Science & Technology

 The external memory interface (EMIF) supports an


interface to several external devices, allowing additional
data and program memory space beyond that which is
included on-chip.
 The types of memories supported include:
• Synchronous burst SRAM (SBSRAM)
• Synchronous DRAM (SDRAM)
• Asynchronous devices, including asynchronous
SRAM, ROM, and FIFO’s.
 The EMIF provides highly programmable timings to
these interfaces.

PRESENTED BY SURUCHI KUMARI [42]


AICTE Sponsored FDP On ADSP

External shared-memory devices


National Institute of Science & Technology

 There are two data ordering standards in byte-addressable


microcontrollers exist:

1. Little-endian ordering, in which bytes are ordered from right to


left, the most significant byte having the highest address.
2. Big-endian ordering, in which bytes are ordered from left to
right, the most significant byte having the lowest address.

 The EMIF reads and writes both big- and little-endian devices.
 There is no distinction between ROM and asynchronous
interface.
 For all memory types, the address is internally shifted to
compensate for memory widths of less than 32 bits.
PRESENTED BY SURUCHI KUMARI [43]
AICTE Sponsored FDP On ADSP

CONCLUSION
National Institute of Science & Technology

The choice of a DSP processor to implement


an algorithm in real-time is application
dependent.
There are many factors that influence this
choice.

These
factors include, cost, performance, power
consumption, ease-of-use, time-to-market, and
integration/interfacing capabilities.
PRESENTED BY SURUCHI KUMARI [44]

Vous aimerez peut-être aussi