By Dr. Johannes Stahl, CoWare
Aug 30 2006 (19:24 PM), Courtesy of DSP DesignLine
Polymodeling provides a single specification that can be used throughout the process of algorithmic exploration, fixed-point optimization, and implementation verification. Learn how this approach can save you time and effort
Digital signal processing (DSP) systems of low to moderate complexity are typically modeled using Simulink. In some cases, these Simulink models are augmented with block-based C-modeling technology. However, for the design of more complex DSP systems, the polymodeling technology explained in this article is needed to manage modeling costs and maintain project schedules.
To design a complex DSP system, engineers typically start by building a block diagram model that usually relies on floating-point arithmetic. The next step in the design process is to create a fixed-point model. This is done by detailing the fixed-point word length and the specific fixed-point rounding operations for each block in the system. Then, the designer would optimize the bit width for each block in the system. To do this, the designer would first explore the word lengths of critical signals such as filter outputs. Next, the optimized fixed-point model would be used to guide the implementation of the design to verify that it functions correctly.
The problems with this approach are two-fold. First, the detailing of the system's fixed-point behavior is usually done by re-writing the models, which can introduce functional errors. The second is that fixed-point data-type systems developed by in-house design teams are often incomplete, inefficient, or difficult to use.
Compared with a typical design flow, where the same behavior may need to be coded multiple times from floating-point model to fixed-point model, polymodeling (Figure 1) provides a single specification that can switch data types. Polymodeling is beneficial throughout the DSP system design process of floating-point algorithmic performance investigation, fixed-point approximation and optimization, and implementation verification. It offers the following benefits:
- Provides a single specification that can switch data types for design re-use throughout the stages of design refinement
- Eases the modeling of fixed-point algorithms with a rich set of polymodel library blocks
- Assists in the creation of custom-coded polymodel blocks through use of the C language
- Provides dynamic vector sizes during simulation, and
- Optimizes simulation speed for matching type-specific modeling styles.
We will explore each of these benefits in the following text.
Click here to read more ...