Real-Time Parallel DSP Software Development System
Writing software to operate parallel processors has traditionally been a complex undertaking. The DSP Software Development System is designed to make it as simple as possible to create an executable application. The DSP Software Integrator provides unique development and optimization environments with innovative tools for creating and debugging an application.
Despite the high-performance nature of Signatec's parallel DSP board PMP1000's hardware configuration, it surprisingly lends itself to a software mechanization that is unique, easy-to-use, and efficient, especially for a parallel processing system.
The PMP1000 operation consists of 8 (or 4 when using a single QDA module) DSPs that process program threads as directed and a master DSP designated as the Program Execution Processor (PEP). The primary tasks for the PEP are to dynamically distribute the threads and to manage all data flow.
The PEP executes main, which consists of processor function calls (program threads) and data transfer functions.
Signatec use the term thread to be consistent with generally accepted usage. In the PMP1000 world, a thread is a C function. In some applications, this function will be the entire computational process to be applied to a data set.
Software Integrator
The PMP1000 Software Integrator ties together a number of software components from Signatec and Texas Instruments. It provides a true Windows interface for the TI Tools and supplies a quick link to the text editing and compiler/linker facilities of a C program-editing environment. The Integrator consists of a Development Environment, a Debugging Environment, and an Optimization Environment.
Development Environment
User programs are written in C and contain source code for both the PMP1000 and for the PC. The PMP1000 code looks very similar to any other C program that runs on a single processor. It consists mostly of data transfer function calls (from the DSP Library) and processing function calls to the DSPs.
The Preprocessor
The Preprocessor is a key element of the development environment. It splits and translates user source code into 2 types: PEP code and DSP code. The PEP and DSP source code is compiled by the C6414 compiler contained in Code Composer Studio and linked to the DSP library to create the executable code for the PEP and the DSPs.
The Preprocessor performs extensive code translation of the user code to convert it into a format where executable functions are allocated to available core DSPs in a manageable fashion. Directives may also be placed into the source code to provide control over the code generation.
The Complete Development Cycle
1.) Write code for the DSP processing functions. This can be done either in C or using the C64xx Assembly language.
2.) Compile code with Code Composer Studio C6000 compiler via Signatec’s Project Manager that is part of the PMP1000 Integrator software package.
3.) Use TI Simulator in Code Composer Studio to debug functions to attain desired performance.
4.) Write code for PMP1000 main. To aid in this code development process, there are several example PMP1000 programs included with the board’s software package. These example applications should be used as starter templates to become familiar with the programming process.
5.) Use the “build” command in Signatec’s Project Manager to compile code and determine that main has no errors.
6.) Use a standard Signatec provided PC program (such as the Loader software, a component of Integrator) to begin loading PMP1000 code, running programs on the board and read onboard memory to view runtime results.
7.) When ready to create your own specific PC program, borrow from the provided Signatec source code examples that demonstrate the PMP1000/PC communication interface. Write, compile, link the PC program, and begin running the complete PC/PMP1000 system.
Software Development System Contents
The PMP1000 software supports code development and board operation under Windows 2000/XP. Most applications require some level of interaction between code executing on the PMP1000 and code executing on the PC. All PC software supplied by Signatec for the PMP1000 is written in Microsoft Visual C/C++. All DSP software is written for and compiled with Texas Instruments Code Composer Studio for the C6414 DSP.
The complete software system contains the following items:
1.) Signatec Support:
- Software Integrator
- PMP1000 Example Programs with Source Code
- DSP Function Library
- PC Function Library
- Windows Device Drivers
- Linux Device Drivers
2.) TI Code Composer Studio with Compiler, Linker, Debugger
3.) Microsoft Visual C/C++ (for PC Code)
