350 likes | 564 Views
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 ?
E N D
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.
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 100 instructions 3 microseconds Waiting time Sample n+1 Sample n
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.
Processor Core Processor Core Address Bus Data Bus Address Bus Address Bus Data Bus Data Bus Memory Memory A Memory B Common feature of DSP Processor (cont.) Von-Neumann Harvard
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.) • 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.
Program Memory instructions and secondary data Data Memory Data only Data register Data register Program sequencer Instruction cahe Data register I/O Controller (DMA) Multiplier ALU shifter High speed I/O Common feature of DSP Processor (cont.) • Data address generator(DGA) for PM and DM • Circular buffers, bit-reversed address for FFT. • Data register sets • General purpose registers,special purpose registers. • Math processing units • Multiplier. • Arithmetic logic unit(ALU). • Barrel shifter. • Program sequencer and instruction cache. • System buses.
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 Special-purpose Instructions General Imaging General Special-purpose Instructions General
TI TMS320 Development Kit (cont.) EMIF Direct Memory Access (DMA) Controller (4 channels) Program Memory 64K Bytes Host Port McBSP C62X/C67X CPU McBSP Timer Data Memory 64K Bytes Timer 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 32-bit).
TI TMS320 Development Kit (cont.) Assembler Optimizer Link.cmd .sa Text Edit Assembler Linker Debugger Simulator .asm .obj .out .c .c=C source file .sa=linear assembly source file .asm=assembly source file .obj=object file .out=executable COFF file .cmd=linker command file Compiler
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: