Abstract

This article is an introduction to the FRIDGE design environment which supports the design and DSP implementation of fixed-point digital signal processing systems. We present the tool-supported transformation of signal processing algorithms coded in floating-point ANSI C to a fixed-point representation in SystemC. We introduce the novel approach to control and data flow analysis, which is necessary for the transformation. The design environment enables fast bit-true simulation by mapping the fixed-point algorithm to integral data types of the host machine. A speedup by a factor of 20 to 400 can be achieved compared to C++-library-based bit-true simulation. FRIDGE also provides a direct link to DSP implementation by processor specific C code generation and advanced code optimization.

Highlights

  • Digital system design is characterized by ever-increasing complexity that has to be implemented within reduced time, resulting in minimum costs and short time-to-market

  • During the development of the Fixed-point pRogrammIng and Design Environment (FRIDGE) design environment, we have identified a need for accurate data flow analysis to cater the needs of the interpolation, the fast simulation code generation and the target specific code optimization

  • The published methods were not capable of matching the requirements, we have developed a novel approach for data flow analysis that can provide the necessary data for the FRIDGE back ends

Read more

Summary

INTRODUCTION

Digital system design is characterized by ever-increasing complexity that has to be implemented within reduced time, resulting in minimum costs and short time-to-market. Algorithm design starts from a floating-point description that is analyzed by means of simulation without taking the quantization effects into account This abstraction from all implementation effects allows an exploration of the algorithm space, for example, the evaluation of different digital receiver structures. (4) A seamless design flow down to system implementation, generating optimized input for DSP compilers These requirements have been the motivation for the Fixed-point pRogrammIng and Design Environment (FRIDGE) [6, 7, 8], an interactive design environment for the specification, simulation, and implementation of fixed-point systems. FRIDGE relies on five main concepts which are briefly introduced in the following

Fixed-point modeling language
Interpolative transformation
Data flow analysis
Fast bit-true simulation
DSP target mapping
THE FRIDGE DESIGN FLOW
FIXED-POINT DATA TYPES AND LOCAL ANNOTATIONS
The data types sc fixed and sc ufixed
The data type sc fxval
The data types sc fix and sc ufix
Cast modes
INTERPOLATION
Implementational issues
ADVANCED DATA FLOW ANALYSIS
Data abstraction
The state controlled memory model
Iterating over ambiguities
Execution of a program
FAST BIT-TRUE SIMULATION
The lbp alignment
The lbp alignment algorithm
Data type selection
Basic constraints for any data element
Structural constraints
Semantical constraints
Cast mode transformation
Overflow handling
EXPERIMENTAL RESULTS
DSP CODE GENERATION
DSP code transformation
Loop optimizations
10. EXPERIMENTAL RESULTS
10.1. Off-the-shelf kernels
10.2. TI compiler benchmarking kernels
11. SUMMARY
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call