DSP Development System

Download Report

Transcript DSP Development System

DSP Development System
Speaker: Lian-Tsung Tsai
Outline




Introduction
Common feature of DSP Processor
TI TMS320 Development Kit
Philips Trimedia Development Kit
Introduction

What is DSP ?
 DSP(Digital signal processor) is used to manipulate
real-world signals after they have been converted into a
digital form.
Introduction (cont.)

Why is DSP processor?
 Mathematical calculation vs. data manipulation.
Data Manipulation
Math calculation
Typical
Application
Word processing,
Database
Management,spread
sheet,O.S etc..
Digital Signal
processing,motion
control.. Etc.
Main
Operations
Data Move:(A=> B)
Value testing: IF A=B
then …
Sorting, searching..
Addtion:A+B=C
Multiplication:AxB=C
Sum of product..
Introduction (cont.)

Off-line processing
 The entire input signal resides in the computer as the
same time.
 All of the information is simultaneously available to the
processing program.
 Example : medical imaging, such as computed
tomography and MRI.
 PC and mainframes.
Introduction (cont.)

On-line processing
 The output signal is produced at the same time that the
input signal is being acquired. E.g. telephone, radar,
hearing aids.
 Real-time applications must be have the information
immediately available,although it can be delayed by a
short amount.
 Real-time applications is input a sample, perform the
algorithm, and output a sample, over-and-over.
 This is the world of Digital Signal Processors.
Introduction (cont.)

The definition of real-time depends on the applications, for
instance, an Audio application



Requires a sampling frequency of 40 KHz.
Needing 100 serial instructions to complete and using a DSP
processor with 30 ns cycle time.
Then in 3 microseconds the calculation is completed.
Time between samples = 1/40KHz =25 microseconds
Sample n
100 instructions
3 microseconds
Waiting time
Sample n+1
Introduction (cont’d.)

What applications DSP can do?
 Complex system control.
 Multimedia processing (Video,Audio,Speech,Image,etc.)
 Intelligent signal processing using soft
computing(Fuzzy inference, Neural networks, etc.)
Common feature of DSP Processor




Multiple-access Memory architecture
 Advance Harvard architecture to achieve separate program and
dual access data memory space.
Specialized addressing modes
 Circular buffer, bit-reversed addressing.
Fast multiply-accumulate(MAC)
 High performance interrupt handling.
 Single and block instructions by pipeline structure to perform one
instruction per cycle.
On-chip peripherals and I/O interfaces
 Multi-channels direct memory access(DMA).
 High performance serial and parallel I/O port.
 High resolution timer.
Common feature of DSP Processor (cont.)
Von-Neumann
Harvard
Processor Core
Processor Core
Address Bus
Data Bus
Address Bus
Address Bus
Data Bus
Memory
Data Bus
Memory A
Memory B
Common feature of DSP Processor (cont.)


Advance Harvard
The processor core can
simultaneously perform
two access to memory
bank A and one access to
memory bank B using
three independent sets of
buses.
 Dual-ported data
memory.
 Single ported program
memory.
Processor Core
Address Bus 1
Data Bus 1
Address Bus 2
Data Bus 2
Address Bus 3
Data Bus 3
Memory A Memory B
Common feature of DSP Processor (cont.)





Data address generator(DGA)
for PM and DM
 Circular buffers, bit-reversed
Program
address for FFT.
Memory
instructions and
Data register sets
secondary data
 General purpose
registers,special purpose
registers.
Math processing units
 Multiplier.
 Arithmetic logic unit(ALU).
 Barrel shifter.
Program sequencer and
instruction cache.
System buses.
Data
register
Data
register
Program sequencer
Instruction
cahe
Data
Memory
Data only
Data
register
Multiplier
ALU
I/O
Controller
(DMA)
shifter
High
speed I/O
Common feature of DSP Processor (cont.)

The difference between DSP and CPU:
 DSP processor is possible to do several accesses to memory in a
single instruction cycle. i.e., DSP processor have a relatively high
bandwidth between their Core CPU and memory.
 DSP processor are optimized to cope with repetition or looping of
operations common in signal processing applications.
 DSP allows specialized addressing modes, such as indirect,circular,
and bit reverse addressing. These are efficient addressing
mechanisms to implement many signal processing algorithms.
TI TMS320 Development Kit


VLIW architecture
 Very Long Instruction Word.
 Parallel processing with multiple function units.
TMS320C6000 family
 Fixed-Point C6X DSP:


TMS320C62X,TMS320C64X.
Floating-Point C6X DSP:

TMS320C67X.
TI TMS320 Development Kit (cont.)


Advantages of VLIW architectures
 Increased performance.
 Better compiler targets.
 Potentially scalable.
Disadvantages of VLIW architectures
 Increased memory use.
 High power consumption.
 Misleading MIPS ratings.
TI TMS320 Development Kit (cont.)
C62x Fixed-Point
DSP Generation
C64x Fixed-Point
DSP Generation
C67x Floating-Point
DSP Generation
Clock Rate(MHz)
150-300
600-1100
150-167
MIPS/MFLOPS
1200-2400 MIPS
4800-8800 MIPS
600-1000 MFLOPS
16-bit MMACS
300-600
3400-4400
300-333
8-bit MMACS
300-600
4800-8800
300-333
Broadband
Communications
General
Imaging
General
Special-purpose
Instructions
Special-purpose
Instructions
General
General
TI TMS320 Development Kit (cont.)
EMIF
Host Port
McBSP
McBSP
Timer
Timer
Program Memory
64K Bytes
Direct
Memory
Access
(DMA)
Controller
(4 channels)
C62X/C67X
CPU
Data Memory
64K Bytes
TMS320C6201/6701 DSP Block Diagram
TI TMS320 Development Kit (cont.)

TMS320C6201/6701 key features:
 Launched at 200MHz;1600 MIPS.
 128 K RAM on-chip (split 64K program/64K data).
 32 32-bit registers file.
 All instructions may be conditional.
 Efficient compilation of ANSI-C code.
 Data is byte-addressable (it can be 8-bit,16-bit or 32bit).
TI TMS320 Development Kit (cont.)
.sa
Text
Edit
Assembler
Optimizer
.asm
Link.cmd
Assembler
.obj
.c
Compiler
Debugger
Simulator
Linker
.out
.c=C source file
.sa=linear assembly source file
.asm=assembly source file
.obj=object file
.out=executable COFF file
.cmd=linker command file
TI TMS320 Development Kit (cont.)

The tools for three stages:
 1.Algorithms development:
 Textual-based tools:
 C and Assembly.
 MATLAB with DSP toolboxes.
 2.System-level design:
 MATLAB and simulink DSP toolboxes.
 RIDE or VAB rapid tool.
TI TMS320 Development Kit (cont’d.)

3.Hardware and embedded software implementation:



Code Composer Studio (CCS) with developer’s kit for TI C6x
EVM.
RIDE with DSP board from third-party of DSP venders.
VAB with TI or third-party DSP board.
Philips Trimedia Development Kit

This is a software and hardware supported development
environment.
 Hardware architecture
 Combine A/D, D/A, Memory, ASIC, VLIW CPU to
build up a multimedia development platform.
 Software operation environment
 Support different program langrage for developer
 High performance compiler, scheduler, analyzer,
optimizer, even a GUI debugger.
Philips Trimedia Development Kit (cont.)

TM1300 feature:

Implements popular multimedia standards such as MPEG-1 and
MPEG-2,

Operations from C and C++ source code.

Frequency up 166 MHz.

Memory 8 MB SDRAM.

Immediate, Floating-Point Compute and Multimedia Operations.

5 operations each clock cycle.
Philips Trimedia Development Kit (cont.)

Hardware architecture:
Philips Trimedia Development Kit (cont.)

Hardware architecture:
Philips Trimedia Development Kit (cont.)

Software development flow:
Philips Trimedia Development Kit (cont.)
Software Component
Software Tools
Philips Trimedia Development Kit (cont.)

All of executable tools was stored under
install_path/bin…., in our system as below
Philips Trimedia Development Kit (cont.)

Free UNIX-like environment , and make tool is compatible
with UNIX.
Cygwin tool
Trimedia GUI
Running tool
Trimedia GUI
debugger
Philips Trimedia Development Kit (cont.)


NO!! we can use MS-DOS mode to compile our program,
when you put tmcc.exe or tmCC.exe in the the same
directory.
Using “Bash”, Cygwin’s environment, is easy to compile
and run, even debug our program.
Philips Trimedia Development Kit (cont.)














Makefile example:
#
usage: make TCS=<path>
#
HOST = Win95
ENDIAN = el
CC = $(TCS)/bin/tmcc -host $(HOST)
-$(ENDIAN)
vivot.out: CHECK vivot.c
$(CC) $(CFLAGS) -o $@ vivot.c
$(LDFLAGS)
CHECK:
@if [ x$(TCS) = x ]; then \
echo "Usage: make
TCS=<path>"; false; \
fi
clean:
rm -rf vivot.out vivot.o
Philips Trimedia Development Kit (cont.)

Using GUI to run DSP-program
Philips Trimedia Development Kit (cont.)





tmcc -p fdct.c -o fdct.out
tmsim -ns -nomm fdct.out /*
generates dtprof.out */
tmcc -r fdct.c -o fdct.out
tmsim -mm -ns -statfile fdct.stat
fdct.out
tmprof >fdctrpt -scale 1 threshold 0.01 -detail -func
fdct.stat fdct.out
Philips Trimedia Development Kit (cont’d.)

Performance Analysis: