DSP optimization strategies using simulators and profilers
November 20, 2006 -- dspdesignline.com
This article reveals the pros and cons of simulators and profilers. It shows how to use these tools to optimize code and to choose the right memory layout and sizing.
DSP developers face a long and growing set of challenges. The constraints a typical DSP programmer faces can be summarized by the following:
- The processor computation power, in terms of available MHz, is limited due to cost and power constraints
- The amount of zero-wait state (also referred to as level 1 memory) is reduced to the minimum and is usually dictated by cost constraints. In addition, there is a severe latency penalty for accessing code and data in level 2 and 3 memories as well as in external SDRAM
- The latest processors have a deep pipeline (8 stages and above), which causes a severe latency penalty in the cases of pipeline breaks (e.g., false branch predictions or interrupt latency)
- The consolidation of different types of tasks such as video, audio and wireless modems on a single processor requires fast and sophisticated task switching
- The integration of different types of software requires complex optimizations. For example, control code demands smaller code size while real-time DSP software is constrained by cycle counts In addition to the above technology constraints, there are numerous market considerations, such as the never for product differentiation and the ever-shrinking window of opportunity for new products that dictates a short design cycle.
When developing software under so many constraints, the development environment becomes a critical factor. An effective development tool chain can enable the designer to meet the goals for the product, while an insufficient one can lead to failure. As a result, it is important to have a comprehensive, advanced and robust tool chain. Such a tool chain should include optimizing compilers, advanced debugging and analysis tools, as well as a fully featured integrated development environment (IDE). The tool chain will be most effective if it was defined in conjunction with the definition of the processor's instruction set architecture (ISA) to make full use of the ISA's features.
In the following sections, we will describe two major elements in the CEVA tool chain environment, and how these tools are utilized to improve software and increase productivity. These tools are:
- Comprehensive and accurate system simulation
- C-level system profiling
Related Semiconductor IP
- AES GCM IP Core
- High Speed Ethernet Quad 10G to 100G PCS
- High Speed Ethernet Gen-2 Quad 100G PCS IP
- High Speed Ethernet 4/2/1-Lane 100G PCS
- High Speed Ethernet 2/4/8-Lane 200G/400G PCS
Related White Papers
- Achieving Better Code Optimization in DSP Designs
- How to exploit 17 tried and true DSP power optimization techniques for wireless applications
- DSP design flows in FPGAs: Strategies for designing DSP applications for FPGAs
- Compiler optimization for DSP applications
Latest White Papers
- New Realities Demand a New Approach to System Verification and Validation
- How silicon and circuit optimizations help FPGAs offer lower size, power and cost in video bridging applications
- Sustainable Hardware Specialization
- PCIe IP With Enhanced Security For The Automotive Market
- Top 5 Reasons why CPU is the Best Processor for AI Inference