TMS320C6000 Programmer s Guide

Size: px
Start display at page:

Download "TMS320C6000 Programmer s Guide"

Transcription

1 TMS320C6000 Programmer s Guide Literature Number: SPRU198G August 2002 Printed on Recycled Paper

2 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of that third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Mailing Address: Texas Instruments Post Office Box Dallas, Texas Copyright 2002, Texas Instruments Incorporated

3 Preface Read This First About This Manual This manual is a reference for programming TMS320C6000 digital signal processor (DSP) devices. Before you use this book, you should install your code generation and debugging tools. This book is organized in five major parts: Part I: Introduction includes a brief description of the C6000 architecture and code development flow. It also includes a tutorial that introduces you to the tools you will use in each phase of development and an optimization checklist to help you achieve optimal performance from your code. Part II: C Code includes C code examples and discusses optimization methods for the code. This information can help you choose the most appropriate optimization techniques for your code. Part III: Assembly Code describes the structure of assembly code. It provides examples and discusses optimizations for assembly code. It also includes a chapter on interrupt subroutines. Part IV: C64x Programming Techniques describes programming considerations for the C64x. Read This First iii

4 Related Documentation From Texas Instruments Related Documentation From Texas Instruments The following books describe the TMS320C6000 devices and related support tools. To obtain a copy of any of these TI documents, call the Texas Instruments Literature Response Center at (800) When ordering, please identify the book by its title and literature number. TMS320C6000 Assembly Language Tools User s Guide (literature number SPRU186) describes the assembly language tools (assembler, linker, and other tools used to develop assembly language code), assembler directives, macros, common object file format, and symbolic debugging directives for the C6000 generation of devices. TMS320C6000 Optimizing C Compiler User s Guide (literature number SPRU187) describes the C6000 C compiler and the assembly optimizer. This C compiler accepts ANSI standard C source code and produces assembly language source code for the C6000 generation of devices. The assembly optimizer helps you optimize your assembly code. TMS320C6000 CPU and Instruction Set Reference Guide (literature number SPRU189) describes the C6000 CPU architecture, instruction set, pipeline, and interrupts for these digital signal processors. TMS320C6000 Peripherals Reference Guide (literature number SPRU190) describes common peripherals available on the TMS320C6201/6701 digital signal processors. This book includes information on the internal data and program memories, the external memory interface (EMIF), the host port interface (HPI), multichannel buffered serial ports (McBSPs), direct memory access (DMA), enhanced DMA (EDMA), expansion bus, clocking and phase-locked loop (PLL), and the power-down modes. TMS320C64x Technical Overview (SPRU395) The TMS320C64x technical overview gives an introduction to the C64x digital signal processor, and discusses the application areas that are enhanced by the C64x VelociTI. TMS320 DSP Designer s Notebook: Volume 1 (literature number SPRT125) presents solutions to common design problems using C2x, C3x, C4x, C5x, and other TI DSPs. iv

5 Trademarks Trademarks Solaris and SunOS are trademarks of Sun Microsystems, Inc. VelociTI is a trademark of Texas Instruments Incorporated. Windows and Windows NT are registered trademarks of Microsoft Corporation. Read This First v

6 Contents Contents 1 Introduction Introduces some features of the C6000 microprocessor and discusses the basic process for creating code and understanding feedback. 1.1 TMS320C6000 Architecture TMS320C6000 Pipeline Code Development Flow to Increase Performance Optimizing C/C++ Code Explains how to maximize C performance by using compiler options, intrinsics, and code transformations. 2.1 Writing C/C++ Code Tips on Data Types Analyzing C Code Performance Compiling C/C++ Code Compiler Options Memory Dependencies Performing Program-Level Optimization ( pm Option) Profiling Your Code Using the Standalone Simulator (load6x) to Profile Refining C/C++ Code Using Intrinsics Wider Memory Access for Smaller Data Widths Software Pipelining Compiler Optimization Tutorial Uses example code to walk you through the code development flow for the TMS320C Introduction: Simple C Tuning Project Familiarization Getting Ready for Lesson Lesson 1: Loop Carry Path From Memory Pointers Lesson 2: Balancing Resources With Dual-Data Paths Lesson 3: Packed Data Optimization of Memory Bandwidth Lesson 4: Program Level Optimization Lesson 5: Writing Linear Assembly vii

7 Contents 4 Feedback Solutions Provides a quick reference to techniques to optimize loops. 4.1 Understanding Feedback Stage 1: Qualify the Loop for Software Pipelining Stage 2: Collect Loop Resource and Dependency Graph Information Stage 3: Software Pipeline the Loop Loop Disqualification Messages Bad Loop Structure Loop Contains a Call Too Many Instructions Software Pipelining Disabled Uninitialized Trip Counter Suppressed to Prevent Code Expansion Loop Carried Dependency Bound Too Large Cannot Identify Trip Counter Pipeline Failure Messages Address Increment Too Large Cannot Allocate Machine Registers Cycle Count Too High. Not Profitable Did Not Find Schedule Iterations in Parallel > Max. Trip Count Speculative Threshold Exceeded Iterations in Parallel > Min. Trip Count Register is Live Too Long Too Many Predicates Live on One Side Too Many Reads of One Register Trip var. Used in Loop Can t Adjust Trip Count Investigative Feedback Loop Carried Dependency Bound is Much Larger Than Unpartitioned Resource Bound Two Loops are Generated, One Not Software Pipelined Uneven Resources Larger Outer Loop Overhead in Nested Loop There are Memory Bank Conflicts T Address Paths Are Resource Bound Optimizing Assembly Code via Linear Assembly Describes methods that help you develop more efficient assembly language programs. 5.1 Linear Assembly Code Assembly Optimizer Options and Directives The on Option The mt Option and the.no_mdep Directive The.mdep Directive The.mptr Directive The.trip Directive viii

8 Contents 5.3 Writing Parallel Code Dot Product C Code Translating C Code to Linear Assembly Linear Assembly Resource Allocation Drawing a Dependency Graph Nonparallel Versus Parallel Assembly Code Comparing Performance Using Word Access for Short Data and Doubleword Access for Floating-Point Data Unrolled Dot Product C Code Translating C Code to Linear Assembly Drawing a Dependency Graph Linear Assembly Resource Allocation Final Assembly Comparing Performance Software Pipelining Modulo Iteration Interval Scheduling Using the Assembly Optimizer to Create Optimized Loops Final Assembly Comparing Performance Modulo Scheduling of Multicycle Loops Weighted Vector Sum C Code Translating C Code to Linear Assembly Determining the Minimum Iteration Interval Drawing a Dependency Graph Linear Assembly Resource Allocation Modulo Iteration Interval Scheduling Using the Assembly Optimizer for the Weighted Vector Sum Final Assembly Loop Carry Paths IIR Filter C Code Translating C Code to Linear Assembly (Inner Loop) Drawing a Dependency Graph Determining the Minimum Iteration Interval Linear Assembly Resource Allocation Modulo Iteration Interval Scheduling Using the Assembly Optimizer for the IIR Filter Final Assembly If-Then-Else Statements in a Loop If-Then-Else C Code Translating C Code to Linear Assembly Drawing a Dependency Graph Determining the Minimum Iteration Interval Linear Assembly Resource Allocation Final Assembly Comparing Performance Contents ix

9 Contents 5.9 Loop Unrolling Unrolled If-Then-Else C Code Translating C Code to Linear Assembly Drawing a Dependency Graph Determining the Minimum Iteration Interval Linear Assembly Resource Allocation Final Assembly Comparing Performance Live-Too-Long Issues C Code With Live-Too-Long Problem Translating C Code to Linear Assembly Drawing a Dependency Graph Determining the Minimum Iteration Interval Linear Assembly Resource Allocation Final Assembly With Move Instructions Redundant Load Elimination FIR Filter C Code Translating C Code to Linear Assembly Drawing a Dependency Graph Determining the Minimum Iteration Interval Linear Assembly Resource Allocation Final Assembly Memory Banks FIR Filter Inner Loop Unrolled FIR Filter C Code Translating C Code to Linear Assembly Drawing a Dependency Graph Linear Assembly for Unrolled FIR Inner Loop With.mptr Directive Linear Assembly Resource Allocation Determining the Minimum Iteration Interval Final Assembly Comparing Performance Software Pipelining the Outer Loop Unrolled FIR Filter C Code Making the Outer Loop Parallel With the Inner Loop Epilog and Prolog Final Assembly Comparing Performance Outer Loop Conditionally Executed With Inner Loop Unrolled FIR Filter C Code Translating C Code to Linear Assembly (Inner Loop) Translating C Code to Linear Assembly (Outer Loop) Unrolled FIR Filter C Code Translating C Code to Linear Assembly (Inner Loop) Translating C Code to Linear Assembly (Inner Loop and Outer Loop) Determining the Minimum Iteration Interval Final Assembly Comparing Performance x

10 Contents 6 C64x Programming Considerations Describes programming considerations for the C64x. 6.1 Overview of C64x Architectural Enhancements Improved Scheduling Flexibility Greater Memory Bandwidth Support for Packed Data Types Non-aligned Memory Accesses Additional Specialized Instructions Accessing Packed-Data Processing on the C64x Introduction to Packed Data Processing Techniques Packed Data Types Storing Multiple Elements in a Single Register Packing and Unpacking Data Optimizing for Packed Data Processing Vectorizing With Packed Data Processing Combining Multiple Operations in a Single Instruction Non-Aligned Memory Accesses Performing Conditional Operations with Packed Data Linear Assembly Considerations Using BDEC and BPOS in Linear Assembly Avoiding Cross Path Stalls Structure of Assembly Code Describes the structure of the assembly code, including labels, conditions, instructions, functional units, operands, and comments. 7.1 Labels Parallel Bars Conditions Instructions Functional Units Operands Comments Interrupts Describes interrupts from a software programming point of view. 8.1 Overview of Interrupts Single Assignment vs. Multiple Assignment Interruptible Loops Interruptible Code Generation Level 0 - Specified Code is Guaranteed to Not Be Interrupted Level 1 Specified Code Interruptible at All Times Level 2 Specified Code Interruptible Within Threshold Cycles Getting the Most Performance Out of Interruptible Code Contents xi

11 Contents 8.5 Interrupt Subroutines ISR with the C/C++ Compiler ISR with Hand-Coded Assembly Nested Interrupts Linking Issues Explains linker messages and how to use RTS functions. 9.1 How to Use Linker Error Messages How to Find The Problem Executable Flag How to Save On-Chip Memory by Placing RTS Off-Chip How to Compile Must #include Header Files RTS Data How to Link Example Compiler Invocation Header File Details Changing RTS Data to near xii

12 Figures Figures 2 1 Dependency Graph for Vector Sum # Software-Pipelined Loop Dependency Graph for Lesson_c.c Dependency Graph of Fixed-Point Dot Product Dependency Graph of Floating-Point Dot Product Dependency Graph of Fixed-Point Dot Product with Parallel Assembly Dependency Graph of Floating-Point Dot Product with Parallel Assembly Dependency Graph of Fixed-Point Dot Product With LDW Dependency Graph of Floating-Point Dot Product With LDDW Dependency Graph of Fixed-Point Dot Product With LDW (Showing Functional Units) Dependency Graph of Floating-Point Dot Product With LDDW (Showing Functional Units) Dependency Graph of Fixed-Point Dot Product With LDW (Showing Functional Units) Dependency Graph of Floating-Point Dot Product With LDDW (Showing Functional Units) Dependency Graph of Weighted Vector Sum Dependency Graph of Weighted Vector Sum (Showing Resource Conflict) Dependency Graph of Weighted Vector Sum (With Resource Conflict Resolved) Dependency Graph of Weighted Vector Sum (Scheduling ci +1) Dependency Graph of IIR Filter Dependency Graph of IIR Filter (With Smaller Loop Carry) Dependency Graph of If-Then-Else Code Dependency Graph of If-Then-Else Code (Unrolled) Dependency Graph of Live-Too-Long Code Dependency Graph of Live-Too-Long Code (Split-Join Path Resolved) Dependency Graph of FIR Filter (With Redundant Load Elimination) Bank Interleaved Memory Bank Interleaved Memory With Two Memory Blocks Dependency Graph of FIR Filter (With Even and Odd Elements of Each Array on Same Loop Cycle) Dependency Graph of FIR Filter (With No Memory Hits) Four Bytes Packed Into a Single General Purpose Register Two Half Words Packed Into a Single General Purpose Register Graphical Representation of _packxx2 Intrinsics Graphical Representation of _spack Contents xiii

13 Figures 6 5 Graphical Representation of 8 bit Packs (_packx4 and _spacku4) Graphical Representation of 8 bit Unpacks (_unpkxu4) Graphical Representation of (_shlmb, _shrmb, and _swap4) Graphical Representation of a Simple Vector Operation Graphical Representation of Dot Product Graphical Representation of a Single Iteration of Vector Complex Multiply Array Access in Vector Sum by LDDW Array Access in Vector Sum by STDW Vector Addition Graphical Representation of a Single Iteration of Vector Multiply Packed 1616 Multiplies Using _mpy Fine Tuning Vector Multiply (shift > 16) Fine Tuning Vector Multiply (shift < 16) Graphical Representation of the _dotp2 Intrinsic c = _dotp2(b, a) The _dotpn2 Intrinsic Performing Real Portion of Complex Multiply _packlh2 and _dotp2 Working Together Graphical Illustration of _cmpxx2 Intrinsics Graphical Illustration of _cmpxx4 Intrinsics Graphical Illustration of _xpnd2 Intrinsic Graphical Illustration of _xpnd4 Intrinsic C64x Data Cross Paths Labels in Assembly Code Parallel Bars in Assembly Code Conditions in Assembly Code Instructions in Assembly Code TMS320C6x Functional Units Units in the Assembly Code Operands in the Assembly Code Operands in Instructions Comments in Assembly Code xiv

14 Tables Tables 1 1 Code Development Steps Compiler Options to Avoid on Performance Critical Code Compiler Options for Performance Compiler Options That Slightly Degrade Performance and Improve Code Size Compiler Options for Control Code Compiler Options for Information TMS320C6000 C/C++ Compiler Intrinsics Memory Access Intrinsics Status Update: Tutorial example lesson_c lesson1_c Status Update: Tutorial example lesson_c lesson1_c lesson2_c Status Update: Tutorial example lesson_c lesson1_c lesson2_c lesson3_c Status Update: Tutorial example lesson_c lesson1_c lesson2_c lesson3_c Comparison of Nonparallel and Parallel Assembly Code for Fixed-Point Dot Product Comparison of Nonparallel and Parallel Assembly Code for Floating-Point Dot Product Comparison of Fixed-Point Dot Product Code With Use of LDW Comparison of Floating-Point Dot Product Code With Use of LDDW Modulo Iteration Interval Scheduling Table for Fixed-Point Dot Product (Before Software Pipelining) Modulo Iteration Interval Scheduling Table for Floating-Point Dot Product (Before Software Pipelining) Modulo Iteration Interval Table for Fixed-Point Dot Product (After Software Pipelining) Modulo Iteration Interval Table for Floating-Point Dot Product (After Software Pipelining) Software Pipeline Accumulation Staggered Results Due to Three-Cycle Delay Comparison of Fixed-Point Dot Product Code Examples Comparison of Floating-Point Dot Product Code Examples Modulo Iteration Interval Table for Weighted Vector Sum (2-Cycle Loop) Modulo Iteration Interval Table for Weighted Vector Sum With SHR Instructions Modulo Iteration Interval Table for Weighted Vector Sum (2-Cycle Loop) Modulo Iteration Interval Table for Weighted Vector Sum (2-Cycle Loop) Resource Table for IIR Filter Modulo Iteration Interval Table for IIR (4-Cycle Loop) Resource Table for If-Then-Else Code Comparison of If-Then-Else Code Examples Resource Table for Unrolled If-Then-Else Code Contents xv

15 Tables 5 21 Comparison of If-Then-Else Code Examples Resource Table for Live-Too-Long Code Resource Table for FIR Filter Code Resource Table for FIR Filter Code Comparison of FIR Filter Code Comparison of FIR Filter Code Resource Table for FIR Filter Code Comparison of FIR Filter Code Packed data types Supported Operations on Packed Data Types Instructions for Manipulating Packed Data Types Unpacking Packed 16-bit Quantities to 32-bit Values Intrinsics Which Combine Multiple Operations in one Instruction Comparison Between Aligned and Non Aligned Memory Accesses Selected TMS320C6x Directives Functional Units and Operations Performed Definitions Command Line Options for RTS Calls How _FAR_RTS is Defined in Linkage.h With mr xvi

16 Examples Examples 1 1 Compiler and/or Assembly Optimizer Feedback Basic Vector Sum Use of the Restrict Type Qualifier With Pointers Use of the Restrict Type Qualifier With Arrays Incorrect Use of the restrict Keyword Including the clock( ) Function Saturated Add Without Intrinsics Saturated Add With Intrinsics Vector Sum With restrict Keywords,MUST_ITERATE, Word Reads Example of Vector Sum with Type Casting Example of Casting Breaking Default Assumptions Example Two of Casting Breaking Default Assumptions Example 2 10 Rewritten Using Memory Access Intrinsics Vector Sum With Non aligned Word Accesses to Memory Vector Sum With restrict Keywords, MUST_ITERATE pragma, and Word Reads (Generic Version) Dot Product Using Intrinsics FIR Filter Original Form FIR Filter Optimized Form Basic Float Dot Product Float Dot Product Using Intrinsics Float Dot Product With Peak Performance Int Dot Product with Nonaligned Doubleword Reads Using the Compiler to Generate a Dot Product With Word Accesses Using the _nassert() Intrinsic to Generate Word Accesses for Vector Sum Using _nassert() Intrinsic to Generate Word Accesses for FIR Filter Compiler Output From Example Compiler Output From Example Compiler Output From Example Automatic Use of Word Accesses Without the _nassert Intrinsic Trip Counters Vector Sum With Three Memory Operations Word-Aligned Vector Sum Vector Sum Using const Keywords, MUST_ITERATE pragma, Word Reads, and Loop Unrolling FIR_Type2 Original Form FIR_Type2 Inner Loop Completely Unrolled Contents xvii

17 Examples 2 35 Vector Sum Use of If Statements in Float Collision Detection (Original Code) Use of If Statements in Float Collision Detection (Modified Code) Vector Summation of Two Weighted Vectors lesson_c.c Feedback From lesson_c.asm lesson_c.asm lesson1_c.c lesson1_c.asm lesson1_c.asm lesson2_c.c lesson2_c.asm lesson2_c.asm lesson3_c.c lesson3_c.asm Profile Statistics Using the iircas4 Function in C Software Pipelining Feedback From the iircas4 C Code Rewriting the iircas4 ( ) Function in Linear Assembly Software Pipeline Feedback from Linear Assembly Stage 1 Feedback Stage Two Feedback Stage 3 Feedback Linear Assembly Block Copy Block copy With.mdep Linear Assembly Dot Product Linear Assembly Dot Product With.mptr Fixed-Point Dot Product C Code Floating-Point Dot Product C Code List of Assembly Instructions for Fixed-Point Dot Product List of Assembly Instructions for Floating-Point Dot Product Nonparallel Assembly Code for Fixed-Point Dot Product Parallel Assembly Code for Fixed-Point Dot Product Nonparallel Assembly Code for Floating-Point Dot Product Parallel Assembly Code for Floating-Point Dot Product Fixed-Point Dot Product C Code (Unrolled) Floating-Point Dot Product C Code (Unrolled) Linear Assembly for Fixed-Point Dot Product Inner Loop with LDW Linear Assembly for Floating-Point Dot Product Inner Loop with LDDW Linear Assembly for Fixed-Point Dot Product Inner Loop With LDW (With Allocated Resources) Linear Assembly for Floating-Point Dot Product Inner Loop With LDDW (With Allocated Resources) Assembly Code for Fixed-Point Dot Product With LDW (Before Software Pipelining) xviii

18 Examples 5 20 Assembly Code for Floating-Point Dot Product With LDDW (Before Software Pipelining) Linear Assembly for Fixed-Point Dot Product Inner Loop (With Conditional SUB Instruction) Linear Assembly for Floating-Point Dot Product Inner Loop (With Conditional SUB Instruction) Pseudo-Code for Single-Cycle Accumulator With ADDSP Linear Assembly for Full Fixed-Point Dot Product Linear Assembly for Full Floating-Point Dot Product Assembly Code for Fixed-Point Dot Product (Software Pipelined) Assembly Code for Floating-Point Dot Product (Software Pipelined) Assembly Code for Fixed-Point Dot Product (Software Pipelined With No Extraneous Loads) Assembly Code for Floating-Point Dot Product (Software Pipelined With No Extraneous Loads) Assembly Code for Fixed-Point Dot Product (Software Pipelined With Removal of Prolog and Epilog) Assembly Code for Floating-Point Dot Product (Software Pipelined With Removal of Prolog and Epilog) Assembly Code for Fixed-Point Dot Product (Software Pipelined With Smallest Code Size) Assembly Code for Floating-Point Dot Product (Software Pipelined With Smallest Code Size) Weighted Vector Sum C Code Linear Assembly for Weighted Vector Sum Inner Loop Weighted Vector Sum C Code (Unrolled) Linear Assembly for Weighted Vector Sum Using LDW Linear Assembly for Weighted Vector Sum With Resources Allocated Linear Assembly for Weighted Vector Sum Assembly Code for Weighted Vector Sum IIR Filter C Code Linear Assembly for IIR Inner Loop Linear Assembly for IIR Inner Loop With Reduced Loop Carry Path Linear Assembly for IIR Inner Loop (With Allocated Resources) Linear Assembly for IIR Filter Assembly Code for IIR Filter If-Then-Else C Code Linear Assembly for If-Then-Else Inner Loop Linear Assembly for Full If-Then-Else Code Assembly Code for If-Then-Else Assembly Code for If-Then-Else With Loop Count Greater Than If-Then-Else C Code (Unrolled) Linear Assembly for Unrolled If-Then-Else Inner Loop Linear Assembly for Full Unrolled If-Then-Else Code Assembly Code for Unrolled If-Then-Else Live-Too-Long C Code Contents xix

19 Examples 5 57 Linear Assembly for Live-Too-Long Inner Loop Linear Assembly for Full Live-Too-Long Code Assembly Code for Live-Too-Long With Move Instructions FIR Filter C Code FIR Filter C Code With Redundant Load Elimination Linear Assembly for FIR Inner Loop Linear Assembly for Full FIR Code Final Assembly Code for FIR Filter With Redundant Load Elimination Final Assembly Code for Inner Loop of FIR Filter FIR Filter C Code (Unrolled) Linear Assembly for Unrolled FIR Inner Loop Linear Assembly for Full Unrolled FIR Filter Final Assembly Code for FIR Filter With Redundant Load Elimination and No Memory Hits Unrolled FIR Filter C Code Final Assembly Code for FIR Filter With Redundant Load Elimination and No Memory Hits With Outer Loop Software-Pipelined Unrolled FIR Filter C Code Linear Assembly for Unrolled FIR Inner Loop Linear Assembly for FIR Outer Loop Unrolled FIR Filter C Code Linear Assembly for FIR With Outer Loop Conditionally Executed With Inner Loop Linear Assembly for FIR With Outer Loop Conditionally Executed With Inner Loop (With Functional Units) Final Assembly Code for FIR Filter Vector Sum Vector Multiply Dot Product Vector Complex Multiply Vectorization: Using LDDW and STDW in Vector Sum Vector Addition (Complete) Using LDDW and STDW in Vector Multiply Using _mpy2() and _pack2() to Perform the Vector Multiply Vectorized Form of the Dot Product Kernel Vectorized Form of the Dot Product Kernel Final Assembly Code for Dot Product Kernel s Inner Loop Vectorized form of the Vector Complex Multiply Kernel Vectorized form of the Vector Complex Multiply Non aligned Memory Access With _mem4 and _memd Vector Sum Modified to use Non Aligned Memory Accesses Clear Below Threshold Kernel Clear Below Threshold Kernel, Using _cmpgtu4 and _xpnd4 Intrinsics Loop Trip Count in C Loop Trip Count in Linear Assembly without BDEC xx

TMS320C6000 Programmer s Guide

TMS320C6000 Programmer s Guide TMS320C6000 Programmer s Guide Literature Number: SPRU198E October 2000 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments (TI) reserves the right to make changes to its products or to discontinue

More information

TMS320C62x/C67x Programmer s Guide

TMS320C62x/C67x Programmer s Guide TMS320C62x/C67x Programmer s Guide Literature Number: SPRU198B February 1998 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments (TI) reserves the right to make changes to its products or to discontinue

More information

A DSP/BIOS AIC23 Codec Device Driver for the TMS320C5510 DSK

A DSP/BIOS AIC23 Codec Device Driver for the TMS320C5510 DSK Application Report SPRA856A June 2003 A DSP/BIOS AIC23 Codec Device for the TMS320C5510 DSK ABSTRACT Software Development Systems This document describes the implementation of a DSP/BIOS device driver

More information

TMS320C6000 DSP Software-Programmable Phase-Locked Loop (PLL) Controller Reference Guide

TMS320C6000 DSP Software-Programmable Phase-Locked Loop (PLL) Controller Reference Guide TMS320C6000 DSP Software-Programmable Phase-Locked Loop (PLL) Controller Reference Guide Literature Number: April 2003 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve

More information

A DSP/BIOS AIC23 Codec Device Driver for the TMS320C6416 DSK

A DSP/BIOS AIC23 Codec Device Driver for the TMS320C6416 DSK Application Report SPRA909A June 2003 A DSP/BIOS AIC23 Codec Device for the TMS320C6416 DSK ABSTRACT Software Development Systems This document describes the usage and design of a device driver for the

More information

DSP Mapping, Coding, Optimization

DSP Mapping, Coding, Optimization DSP Mapping, Coding, Optimization On TMS320C6000 Family using CCS (Code Composer Studio) ver 3.3 Started with writing a simple C code in the class, from scratch Project called First, written for C6713

More information

TMS320C620x/C670x DSP Boot Modes and Configuration Reference Guide

TMS320C620x/C670x DSP Boot Modes and Configuration Reference Guide TMS320C620x/C670x DSP Reference Guide Literature Number: July 2003 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements,

More information

TMS320C6000 DSP Interrupt Selector Reference Guide

TMS320C6000 DSP Interrupt Selector Reference Guide TMS320C6000 DSP Interrupt Selector Reference Guide Literature Number: January 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,

More information

C Fast RTS Library User Guide (Rev 1.0)

C Fast RTS Library User Guide (Rev 1.0) C Fast RTS Library User Guide (Rev 1.0) Revision History 22 Sep 2008 Initial Revision v. 1.0 IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products

More information

TMS320C6000 DSP 32-Bit Timer Reference Guide

TMS320C6000 DSP 32-Bit Timer Reference Guide TMS320C6000 DSP 32-Bit Timer Reference Guide Literature Number: SPRU582A July 2003 Revised October 2004 Contents TMS320C6000 DSP 32-Bit Timer... 2 Table of Contents... 2 Preface... 3 1 Overview... 5 2

More information

Nested Loop Optimization on the TMS320C6x

Nested Loop Optimization on the TMS320C6x Nested Loop Optimization on the TMS320C6x Richard Scales Digital Signal Processing Solutions Abstract This document descibes the process used to develop and optimize nested loops for the Texas Instruments

More information

Using the TMS320C5509 USB Bootloader

Using the TMS320C5509 USB Bootloader Application Report SPRA840 - October 2002 Using the TMS320C5509 USB Bootloader Mathew George, Jr. (Joe) Clay Turner ABSTRACT C5000 DSP Applications Boot loading the TMS320VC5509 digital signal processor

More information

Debugging Shared Memory Systems

Debugging Shared Memory Systems Application Report SPRA754 - May 2001 Debugging Shared Memory Systems Jeff Hunter Software Development Systems/Emulation Team ABSTRACT Multiple cores on a single processor often share a common block of

More information

Choosing the Appropriate Simulator Configuration in Code Composer Studio IDE

Choosing the Appropriate Simulator Configuration in Code Composer Studio IDE Application Report SPRA864 November 2002 Choosing the Appropriate Simulator Configuration in Code Composer Studio IDE Pankaj Ratan Lal, Ambar Gadkari Software Development Systems ABSTRACT Software development

More information

TMS320C6000 DSP General-Purpose Input/Output (GPIO) Reference Guide

TMS320C6000 DSP General-Purpose Input/Output (GPIO) Reference Guide TMS320C6000 DSP General-Purpose Input/Output (GPIO) Reference Guide Literature Number: March 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,

More information

TMS320C6000 Assembly Language Tools User s Guide

TMS320C6000 Assembly Language Tools User s Guide TMS320C6000 Assembly Language Tools User s Guide Literature Number: SPRU186G Janurary 2000 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make

More information

TMS320UC5409/TMS320VC5409 Digital Signal Processors Silicon Errata

TMS320UC5409/TMS320VC5409 Digital Signal Processors Silicon Errata TMS320UC5409/TMS320VC5409 Digital Signal Processors Silicon Errata January 2000 Revised October 2001 Copyright 2001, Texas Instruments Incorporated Contents 1 Introduction........................................................................................

More information

Writing Interruptible Looped Code for the TMS320C6x DSP

Writing Interruptible Looped Code for the TMS320C6x DSP Writing Interruptible Looped Code for the TMS320C6x DSP Jackie Brenner DSP Applications Abstract Digital signal processing algorithms are loop intensive by nature, which presents a set of choices for the

More information

TMS320C64x DSP Peripheral Component Interconnect (PCI) Performance

TMS320C64x DSP Peripheral Component Interconnect (PCI) Performance Application Report SPRA965 October 2003 TMS320C64x DSP Peripheral Component Interconnect (PCI) Performance Stéphane Smith C6x Device Applications ABSTRACT This application report describes the number of

More information

Programming the TMS320VC5509 RTC Peripheral

Programming the TMS320VC5509 RTC Peripheral Application Report SPRA384A - September 2002 Programming the TMS320VC5509 RTC Peripheral Scott Tater ABSTRACT DSP Applications Semiconductor Group This application report demonstrates the procedure used

More information

TMS320C55x DSP Peripherals Overview Reference Guide. Preliminary Draft

TMS320C55x DSP Peripherals Overview Reference Guide. Preliminary Draft TMS320C55x DSP Peripherals Overview Reference Guide Preliminary Draft Literature Number: SPRU317G February 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right

More information

TMS320VC5409A Digital Signal Processor Silicon Errata

TMS320VC5409A Digital Signal Processor Silicon Errata TMS320VC5409A Digital Signal Processor Silicon Errata June 2001 Revised May 2003 Copyright 2003, Texas Instruments Incorporated Literature Number REVISION HISTORY This revision history highlights the technical

More information

TMS320C672x DSP Software-Programmable Phase-Locked Loop (PLL) Controller. Reference Guide

TMS320C672x DSP Software-Programmable Phase-Locked Loop (PLL) Controller. Reference Guide TMS320C672x DSP Software-Programmable Phase-Locked Loop (PLL) Controller Reference Guide Literature Number: SPRU879A May 2005 2 SPRU879A May 2005 Contents Preface... 5 1 Overview... 7 2 Functional Description...

More information

PCIxx12 Single Socket CardBus Controller with Integrated 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller

PCIxx12 Single Socket CardBus Controller with Integrated 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller PCIxx12 Single Socket CardBus Controller with Integrated 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller Data Manual Includes: PCI4512GHK, PCI4512ZHK, PCI6412GHK, PCI6412ZHK, PCI6612GHK, PCI6612ZHK,

More information

Techniques for Profiling on ROM-Based Applications

Techniques for Profiling on ROM-Based Applications Application Report SPRA761 June 2001 Techniques for Profiling on ROM-Based Applications Harsh Sabikhi Code Composer Studio, Applications Engineering ABSTRACT This application report describes the methods

More information

TFP101, TFP201, TFP401, TFP401A 2Pix/Clk Output Mode

TFP101, TFP201, TFP401, TFP401A 2Pix/Clk Output Mode Application Note SLLA137 March 2003 TFP101, TFP201, TFP401, TFP401A 2Pix/Clk Output Mode Digital Visual Interface ABSTRACT This document explains the recommended configuration to operate the TFP101/201/401(A)

More information

Configuring Code Composer Studio for OMAP Debugging

Configuring Code Composer Studio for OMAP Debugging Application Report SPRA807 - November 2001 Configuring Code Composer Studio for OMAP Debugging Harry Thompson Software Development Systems/Customer Support ABSTRACT The OMAP Code Composer Studio (CCStudio)

More information

Using Endianess Conversion in the OMAP5910 Device

Using Endianess Conversion in the OMAP5910 Device Application Report SWPA027 May 2004 Using Endianess Conversion in the OMAP5910 Device Matthias Kassner ABSTRACT The OMAP5910 device features a new dual-core architecture from Texas Instruments (TI) that

More information

INVENTORY HISTORY REPORT EXTENSION. User Guide. User Guide Page 1

INVENTORY HISTORY REPORT EXTENSION. User Guide. User Guide Page 1 INVENTORY HISTORY REPORT EXTENSION User Guide User Guide Page 1 Important Notice JtechExtensions reserves the right to make corrections, modifications, enhancements, improvements, and other changes to

More information

CUSTOM GOOGLE SEARCH. User Guide. User Guide Page 1

CUSTOM GOOGLE SEARCH. User Guide. User Guide Page 1 User Guide User Guide Page 1 Important Notice reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue

More information

COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE

COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE Multiple Channels COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE With the HPI and McHPI, applications can create a single physical channel and multiple virtual channels to provide communications

More information

TMS320C55x Assembly Language Tools User s Guide

TMS320C55x Assembly Language Tools User s Guide TMS320C55x Assembly Language Tools User s Guide Literature Number: SPRU280D June 2001 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes

More information

Hardware UART for the TMS320C3x

Hardware UART for the TMS320C3x TMS320 DSP DESIGNER S NOTEBOOK Hardware UART for the TMS320C3x APPLICATION BRIEF: SPRA223 Contributed by Lawrence Wong Digital Signal Processing Products Semiconductor Group Texas Instruments June 1993

More information

Memory Allocation Techniques in System with Dynamic Swapping of Application Codes

Memory Allocation Techniques in System with Dynamic Swapping of Application Codes Application Report SPRA824 June 2002 Memory Allocation Techniques in System with Dynamic Swapping of Application Codes Oh, Hong Lye SC Field Applications, Texas Instruments Singapore ABSTRACT This application

More information

External Programming of the TMS320C64x EDMA for Low Overhead Data Transfers

External Programming of the TMS320C64x EDMA for Low Overhead Data Transfers Application Report SPRAA36 July 2004 External Programming of the TMS320C64x EDMA for Low Overhead Data Transfers Sébastien Tomas Wireless Infrastructure ABSTRACT This application report details a mechanism

More information

INVENTORY REPORT EXTENSION. User Guide. User Guide Page 1

INVENTORY REPORT EXTENSION. User Guide. User Guide Page 1 INVENTORY REPORT EXTENSION User Guide User Guide Page 1 Important Notice JtechExtensions reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products

More information

TMS470R1x External Clock Prescale (ECP) Reference Guide

TMS470R1x External Clock Prescale (ECP) Reference Guide TMS470R1x External Clock Prescale (ECP) Reference Guide Literature Number: SPNU202B November 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,

More information

A Technical Overview of expressdsp-compliant Algorithms for DSP Software Producers

A Technical Overview of expressdsp-compliant Algorithms for DSP Software Producers Application Report SPRA579C - September 2002 A Technical Overview of expressdsp-compliant Algorithms for DSP Software Producers Stig Torud Organization ABSTRACT Advances in digital signal processor (DSP)

More information

TMS320C5x Memory Paging (Expanding its Address Reach)

TMS320C5x Memory Paging (Expanding its Address Reach) TMS320 DSP DESIGNER S NOTEBOOK TMS320C5x Memory Paging (Expanding its Address Reach) APPLICATION BRIEF: SPRA242 Contributed by Joe George Digital Signal Processing Products Semiconductor Group Texas Instruments

More information

TMS320VC5501/5502 DSP Host Port Interface (HPI) Reference Guide

TMS320VC5501/5502 DSP Host Port Interface (HPI) Reference Guide TMS320VC5501/5502 DSP Reference Guide Literature Number: November 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements,

More information

TMS320C62x, TMS320C67x DSP Cache Performance on Vocoder Benchmarks

TMS320C62x, TMS320C67x DSP Cache Performance on Vocoder Benchmarks Application Report SPRA642 - March 2000 TMS320C62x, TMS320C67x DSP Cache Performance on Vocoder Benchmarks Philip Baltz C6000 DSP Applications ABSTRACT This application report discusses several multichannel

More information

Increase Current Drive Using LVDS

Increase Current Drive Using LVDS Application Report SLLA100 May 2001 Increase Current Drive Using LVDS Steve Corrigan DSBU LVDS ABSTRACT The most common configuration for an LVDS connection is the one-way transmission topology. A single

More information

This document describes the features of the GUI program used to control Power Line Modem with E-Meter Platform.

This document describes the features of the GUI program used to control Power Line Modem with E-Meter Platform. Overview This document describes the features of the GUI program used to control Power Line Modem with E-Meter Platform. Program Startup The first time the program is run, three menus will be displayed

More information

The TMS320 DSP Algorithm Standard

The TMS320 DSP Algorithm Standard White Paper SPRA581C - May 2002 The TMS320 DSP Algorithm Standard Steve Blonstein Technical Director ABSTRACT The TMS320 DSP Algorithm Standard, also known as XDAIS, is part of TI s expressdsp initiative.

More information

Dual Access into Single- Access RAM on a C5x Device

Dual Access into Single- Access RAM on a C5x Device TMS320 DSP DESIGNER S NOTEBOOK Dual Access into Single- Access RAM on a C5x Device APPLICATION BRIEF: SPRA215 Mansoor Chishtie Digital Signal Processing Products Semiconductor Group Texas Instruments February

More information

Application Report. 1 Introduction. MSP430 Applications. Keith Quiring... ABSTRACT

Application Report. 1 Introduction. MSP430 Applications. Keith Quiring... ABSTRACT Application Report SLAA325 July 2006 MSP430 Interface to CC1100/2500 Code Library Keith Quiring... MSP430 Applications ABSTRACT The MSP430 is an ideal microcontroller solution for low-cost, low-power wireless

More information

Application Report. 1 System Requirements. 2 Using the DM643x Pin Multiplexing Utility. Bernard Thompson...

Application Report. 1 System Requirements. 2 Using the DM643x Pin Multiplexing Utility. Bernard Thompson... Application Report SPRAAN3 July 2007 TMS320DM643x Pin Multiplexing Utility Bernard Thompson... ABSTRACT The DM643x devices use a great deal of internal pin multiplexing to allow the most functionality

More information

TMS320C55x Assembly Language Tools User s Guide

TMS320C55x Assembly Language Tools User s Guide TMS320C55x Assembly Language Tools User s Guide Literature Number: SPRU280G March 2003 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right

More information

ADD RELATED PRODUCTS TO CART. User Guide. User Guide Page 1

ADD RELATED PRODUCTS TO CART. User Guide. User Guide Page 1 ADD RELATED PRODUCTS TO CART User Guide User Guide Page 1 Important Notice reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services

More information

Texas Instruments Voltage-Level-Translation Devices

Texas Instruments Voltage-Level-Translation Devices Application Report SCEA21 - February 21 Texas Instruments -Level-Translation Devices Nadira Sultana and Chris Cockrill Standard Linear & Logic ABSTRACT In electronic systems design, there is a need to

More information

Interfacing the ADS8320/ADS8325 to The TMS320C6711 DSP

Interfacing the ADS8320/ADS8325 to The TMS320C6711 DSP Application Report SLAA175 JUNE 2003 Interfacing the ADS8320/ADS8325 to The TMS320C6711 DSP Lijoy Philipose Data Acquisition Applications ABSTRACT This application note presents a method for interfacing

More information

TMS320C6414T/15T/16T Power Consumption Summary

TMS320C6414T/15T/16T Power Consumption Summary Application Report SPRAA45A February 2008 TMS320C6414T/15T/16T Power Consumption Summary Todd Hiers Matthew Webster C6000 Hardware Applications ABSTRACT This document discusses the power consumption of

More information

Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System

Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System Application Report SPRA580B Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System Carl Bergman Digital Signal Processing Solutions Abstract This application note illustrates some techniques used

More information

PROGRAMMING THE MSC1210

PROGRAMMING THE MSC1210 Application Report SBAA076 - April 2002 PROGRAMMING THE MSC1210 By Russell Anderson SERIAL FLASH PROGRAMMING AUTOBAUD AND SETUP The BootROM start address is F800 H for User Application Mode (UAM), and

More information

DSP/BIOS Link. Platform Guide Published on 20 th JUNE Copyright 2009 Texas Instruments Incorporated.

DSP/BIOS Link. Platform Guide Published on 20 th JUNE Copyright 2009 Texas Instruments Incorporated. DSP/BIOS Link Platform Guide 1.63 Published on 20 th JUNE 2009 Copyright 2009 Texas Instruments Incorporated. 2 Platform Support Products Version 1.63 IMPORTANT NOTICE Texas Instruments Incorporated and

More information

Maximizing Endurance of MSC1210 Flash Memory

Maximizing Endurance of MSC1210 Flash Memory Application Report SBAA91 April 23 Maximizing Endurance of MSC121 Flash Memory Ramesh Saripalli saripalli_ramish@ti.com ABSTRACT Data Acquisition Products Microsystems The MSC121 embeds an 851 CPU, a high-performance,

More information

TMS320C5x Interrupt Response Time

TMS320C5x Interrupt Response Time TMS320 DSP DESIGNER S NOTEBOOK TMS320C5x Interrupt Response Time APPLICATION BRIEF: SPRA220 Jeff Beinart Digital Signal Processing Products Semiconductor Group Texas Instruments March 1993 IMPORTANT NOTICE

More information

Digital IP Cell 8-bit Microcontroller PE80

Digital IP Cell 8-bit Microcontroller PE80 1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly

More information

IMPORT/EXPORT Newsletter Subscribers. User Guide. User Guide Page 1

IMPORT/EXPORT Newsletter Subscribers. User Guide. User Guide Page 1 IMPORT/EXPORT Newsletter Subscribers User Guide User Guide Page 1 Important Notice reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products and

More information

Application Report. 1 Hardware Description. John Fahrenbruch... MSP430 Applications

Application Report. 1 Hardware Description. John Fahrenbruch... MSP430 Applications Application Report SLAA309 June 2006 Low-Power Tilt Sensor Using the MSP430F2012 John Fahrenbruch... MSP430 Applications ABSTRACT The MSP430 family of low-power microcontrollers are ideal for low-power

More information

Stereo Dac Motherboard application information

Stereo Dac Motherboard application information Stereo Dac Motherboard application information 1 Introduction The "Stereo Dac Motherboard" is a high end solution to create a complete dac system. Just one board is needed to create a stereo system. Several

More information

FlashBurn: A DSK Flash Memory Programmer

FlashBurn: A DSK Flash Memory Programmer Application Report SPRA804 - October 2001 FlashBurn: A DSK Flash Memory Programmer Russ Heeschen SDS Productivity Tools Team ABSTRACT The FlashBurn utility is a Windows program that works along with Code

More information

Performance Analysis of Face Recognition Algorithms on TMS320C64x

Performance Analysis of Face Recognition Algorithms on TMS320C64x Application Report SPRA874 December 2002 Performance Analysis of Face Recognition Algorithms on TMS320C64x Aziz Umit Batur and Bruce E. Flinchbaugh DSP Solutions R&D Center ABSTRACT Face recognition is

More information

Bootloading the TMS320VC5402 in HPI Mode

Bootloading the TMS320VC5402 in HPI Mode Application Report SPRA382 April 2002 Bootloading the TMS320VC5402 in HPI Mode Scott Tater DSP Applications Semiconductor Group ABSTRACT The TMS320VC5402 bootloader allows the system designer flexibility

More information

A DSP/BIOS EDMA McBSP Device Driver for TMS320C6x1x DSPs

A DSP/BIOS EDMA McBSP Device Driver for TMS320C6x1x DSPs Application Report SPRA846A June 2003 A DSP/BIOS EDMA McBSP Device Driver for TMS320C6x1x DSPs ABSTRACT Software Development Systems This document describes the usage and design of the generic TMS320C6x1x

More information

NO P.O. BOXES ALLOWED AT CHECKOUT. User Guide. User Guide Page 1

NO P.O. BOXES ALLOWED AT CHECKOUT. User Guide. User Guide Page 1 NO P.O. BOXES ALLOWED AT CHECKOUT User Guide User Guide Page 1 Important Notice reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products and

More information

Implementation of a CELP Speech Coder for the TMS320C30 using SPOX

Implementation of a CELP Speech Coder for the TMS320C30 using SPOX Implementation of a CELP Speech Coder for the TMS320C30 using SPOX APPLICATION REPORT: SPRA401 Mark D. Grosen Spectron Microsystems, Inc Digital Signal Processing Solutions IMPORTANT NOTICE Texas Instruments

More information

Writing TMS320C8x PP Code Under the Multitasking Executive

Writing TMS320C8x PP Code Under the Multitasking Executive TMS320 DSP DESIGNER S NOTEBOOK Writing TMS320C8x PP Code Under the Multitasking Executive APPLICATION BRIEF: SPRA269 Leor Brenman Digital Signal Processing Products Semiconductor Group Texas Instruments

More information

DSP/BIOS LINK. Pool LNK 082 DES. Version 1.30

DSP/BIOS LINK. Pool LNK 082 DES. Version 1.30 DESIGN DOCUMENT DSP/BIOS LINK Template Version 12 Page 1 of 35 This page has been intentionally left blank Page 2 of 35 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve

More information

I2C and the TAS3001C. Introduction. The I2C Protocol. Digital Audio Group ABSTRACT

I2C and the TAS3001C. Introduction. The I2C Protocol. Digital Audio Group ABSTRACT Application Report SLEA001 February 2001 I2C and the TAS3001C Digital Audio Group ABSTRACT The TAS3001C stereo audio digital equalizer provides a serial control interface using the I2C protocol. Since

More information

TMS320VC5510 DSP Host Port Interface (HPI) Reference Guide

TMS320VC5510 DSP Host Port Interface (HPI) Reference Guide TMS320VC5510 DSP Host Port Interface (HPI) Reference Guide Literature Number: August 2004 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,

More information

PMC to PCI Express Adapter with JN4 Connector Breakout

PMC to PCI Express Adapter with JN4 Connector Breakout Innovative Integration Real time solutions! Mar 2009, Rev 1.1 PMC to PCI Express Adapter with JN4 Connector Breakout FEATURES Adapt one PMC to a PCI Express slot 4 lane PCI Express Host Interface PCI 64

More information

Table 1. Proper Termination of Unused (Port) Pins in a Single-Port PSE System

Table 1. Proper Termination of Unused (Port) Pins in a Single-Port PSE System Application Report SLVA231A June 2006 Revised November 2006 Proper Termination of Unused Port Connections Dale Wellborn... PMP Systems Power The TPS2384 quad integrated power sourcing equipment (PSE) power

More information

IndoTraq Development Kit 1: Command Reference

IndoTraq Development Kit 1: Command Reference IndoTraq Development Kit 1: Command Reference April 2016 Page 1 of 9 Copyright 2016, IndoTraq LLC DK1 Command Reference v1.0 Contents 1 Introduction... 3 1.1 Writing Conventions... 3 2 Basics... 3 2.1

More information

TMS320C6000 HPI to PCI Interfacing Using the PLX PCI9050

TMS320C6000 HPI to PCI Interfacing Using the PLX PCI9050 Application Report SPRA537C - April 2002 TMS320C6000 HPI to PCI Interfacing Using the PLX PCI9050 Zoran Nikolic Digital Signal Processing Solutions ABSTRACT This application report describes an interface

More information

OMAP INSTRUCTION SET SIMULATOR TECHNICAL OVERVIEW

OMAP INSTRUCTION SET SIMULATOR TECHNICAL OVERVIEW Included in Code Composer Studio Integrated Development Environment (IDE) for the OMAP Platform TMS320C55x Digital Signal Processor (DSP) Subsystem Simulation TI925T (MPU) ARM9TDMI Subsystem Simulation

More information

OMAP5912 Multimedia Processor Direct Memory Access (DMA) Support Reference Guide

OMAP5912 Multimedia Processor Direct Memory Access (DMA) Support Reference Guide OMAP5912 Multimedia Processor Direct Memory Access (DMA) Support Reference Guide Literature Number: March 2005 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right

More information

DSP/BIOS LINK. Configurable TSK and SWI approach LNK 207 DES. Version <1.00>

DSP/BIOS LINK. Configurable TSK and SWI approach LNK 207 DES. Version <1.00> DESIGN DOCUMENT DSP/BIOS LINK Version Template Version 12 Version Page 1 of 21 This page has been intentionally left blank Version Page 2 of 21 IMPORTANT NOTICE Texas Instruments Incorporated

More information

Code Composer Studio Getting Started Guide

Code Composer Studio Getting Started Guide Code Composer Studio Getting Started Guide Literature Number: SPRU509 May 2001 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to

More information

UCC3917 Floating Hot Swap Power Manager Evaluation Board

UCC3917 Floating Hot Swap Power Manager Evaluation Board User s Guide SLUU03 - June 00 UCC397 Floating Hot Swap Power Manager Evaluation Board Power Distribution & Power Supply Contents Introduction.........................................................................

More information

EV Software Rev Evaluation System User Guide. Introduction. Contents. Hardware and Software Setup. Software Installation

EV Software Rev Evaluation System User Guide. Introduction. Contents. Hardware and Software Setup. Software Installation Contents Evaluation System User Guide Software Rev 2.0.1 Introduction Section Page No. Introduction 1 Kit Contents 1 Hardware and Software Setup 1 Software Installation 1 Hardware Connection 1 Operation

More information

The examples in this application report require the Flash API Modules (SPRC236) within the "Tools & Software" folder.

The examples in this application report require the Flash API Modules (SPRC236) within the Tools & Software folder. Application Report SPNA093A February 2006 Revised December 2007 In-System Programming With Catalog TMS470 Devices John Mangino.. TMS470 Applications ABSTRACT This document gives two examples of reprogramming

More information

TMS320VC5503/5507/5509/5510 DSP Direct Memory Access (DMA) Controller Reference Guide

TMS320VC5503/5507/5509/5510 DSP Direct Memory Access (DMA) Controller Reference Guide TMS320VC5503/5507/5509/5510 DSP Direct Memory Access (DMA) Controller Reference Guide Literature Number: January 2007 This page is intentionally left blank. Preface About This Manual Notational Conventions

More information

SN65DSI86 SW Examples

SN65DSI86 SW Examples Application Report December 30, 2013 SN65DSI86 SW Examples Mike Campbell CCI ABSTRACT The document contains examples of how to program the SN65DSI86 for different purposes. All examples in the document

More information

OMAP SW. Release Notes. OMAP Software Tools OST version 2.5 Release. 16xx/1710/242x platforms. Document Revision: 2.5 Release

OMAP SW. Release Notes. OMAP Software Tools OST version 2.5 Release. 16xx/1710/242x platforms. Document Revision: 2.5 Release OMAP SW OST version 2.5 Release 16xx/1710/242x platforms Document Revision: 2.5 Release Issue Date: 29 th July 2005 Revision: 2.5 Release 13 th July 2005 Table of Contents Page i IMPORTANT NOTICE Texas

More information

October 2002 PMP Portable Power SLVU074

October 2002 PMP Portable Power SLVU074 User s Guide October 2002 PMP Portable Power SLVU074 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements,

More information

Power Line Modem with E-Meter Platform Quick Start Guide

Power Line Modem with E-Meter Platform Quick Start Guide Purpose This document gives a quick summary of the steps to set up and run the platform. Preparation The setup configurations are shown in Figures 1 and 2, depending on whether a USB or RS232 (serial)

More information

PCI Express XMC to PCI Express Adapter with J16 Connector Breakout DESCRIPTION

PCI Express XMC to PCI Express Adapter with J16 Connector Breakout DESCRIPTION PCI Express XMC to PCI Express Adapter with J16 Connector Breakout FEATURES Adapt one XMC.3 (PCI Express VITA 42.3) module to a PCI Express slot PCI Express x1 lane interface Active signal equalization

More information

Board Layout Adjustments Between the TNETE2201B and TLK2201/TLK1201

Board Layout Adjustments Between the TNETE2201B and TLK2201/TLK1201 Application Report SLLA115 May 2002 Board Layout Adjustments Between the TNETE2201B and TLK2201/TLK1201 Lori Schnier; Falk Alicke, Thomas Neu HPA Wizard Serial Links ABSTRACT This report explains the different

More information

SavvyCube Ecommerce Analytics Connector by MageWorx. User Guide

SavvyCube Ecommerce Analytics Connector by MageWorx. User Guide SavvyCube Ecommerce Analytics Connector by MageWorx User Guide Getting started with SavvyCube A SavvyCube account is required in order to use this extension. You can sign up for an account here: https://appbeta.savvycube.com/account/register

More information

A Multichannel/Algorithm Implementation on the TMS320C6000 DSP

A Multichannel/Algorithm Implementation on the TMS320C6000 DSP Application Report SPRA556B- February 2000 A Multichannel/Algorithm Implementation on the TMS320C6000 DSP Xiangdong Fu Zhaohong Zhang C6000 Applications ABSTRACT This application report describes how to

More information

Wolverine - based microcontrollers. Slashing all MCU power consumption in half

Wolverine - based microcontrollers. Slashing all MCU power consumption in half Wolverine - based microcontrollers Slashing all MCU power consumption in half Wolverine: Industry s lowest power MCU platform Unique mixed signal ultra-low leakage process technology Enables variety of

More information

C Routines for Setting Up the AIC on the TMS320C5x EVM

C Routines for Setting Up the AIC on the TMS320C5x EVM TMS320 DSP DESIGNER S NOTEBOOK C Routines for Setting Up the AIC on the TMS320C5x EVM APPLICATION BRIEF: SPRA251 Leor Brenman Digital Signal Processing Products Semiconductor Group Texas Instruments February

More information

TMS320C6000 DSP Expansion Bus: Multiple DSP Connection Using Asynchronous Host Mode

TMS320C6000 DSP Expansion Bus: Multiple DSP Connection Using Asynchronous Host Mode Application Report SPRA632A - August 2001 TMS320C6000 DSP Expansion Bus: Multiple DSP Connection Using Asynchronous Host Mode Kyle Castille DSP Applications ABSTRACT You can easily interface multiple TMS320C6000

More information

AC Induction Motor (ACIM) Control Board

AC Induction Motor (ACIM) Control Board AC Induction Motor (ACIM) Control Board Ordering Information Order No. MDL-ACIM RDK-ACIM Description Stellaris ACIM Control Board Only Stellaris ACIM Control Board Reference Design Kit (includes MDL-ACIM

More information

Analysis Toolkit for Code Composer Studio v2.2 User s Guide

Analysis Toolkit for Code Composer Studio v2.2 User s Guide Analysis Toolkit for Code Composer Studio v2.2 User s Guide Literature Number: SPRU623 January 2003 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve

More information

February 2003 PMP EVMs SLVU081

February 2003 PMP EVMs SLVU081 User s Guide February 2003 PMP EVMs SLVU081 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and

More information

Understanding the TMS320C54x Memory Map and Examining an Optimum C5000 Memory Interface

Understanding the TMS320C54x Memory Map and Examining an Optimum C5000 Memory Interface Application Report SPRA607 - November 1999 Understanding the TMS320C54x Memory Map and Examining an Optimum C5000 Memory Interface Mathew George, Jr. (Joe) Texas Instruments Incorporated Natural Microsystems

More information

Leveraging DSP: Basic Optimization for C6000 Digital Signal Processors

Leveraging DSP: Basic Optimization for C6000 Digital Signal Processors Leveraging DSP: Basic Optimization for C6000 Digital Signal Processors Agenda C6000 VLIW Architecture Hardware Pipeline Software Pipeline Optimization Estimating performance Ui Using CCS to optimize i

More information

SN54LVTH16374, SN74LVTH V ABT 16-BIT EDGE-TRIGGERED D-TYPE FLIP-FLOPS WITH 3-STATE OUTPUTS

SN54LVTH16374, SN74LVTH V ABT 16-BIT EDGE-TRIGGERED D-TYPE FLIP-FLOPS WITH 3-STATE OUTPUTS Members of the Texas Instruments Widebus Family State-of-the-Art Advanced BiCMOS Technology (ABT) Design for 3.3-V Operation and Low Static-Power Dissipation Support Mixed-Mode Signal Operation (5-V Input

More information