(Created 2008-07-17.)

DSP-DESIGN | ETI180 |

**Aim**

Digital signal processing is an area becoming increasingly more important in many products and systems of today. When algorithms within this area are to be implemented there is a large number of possible alternatives depending on varying requirements regarding for instance real time properties and power consumption. This course should give the students an understanding regarding how different implementation solutions affects properties like performance and flexibility and not least design time and development cost.

The overall goal of the course is to teach a systematic approach to the design process of digital signal processors. The main part of the course is focused on giving the students an understanding of the design process of application specific architectures given an algorithm specification. This process should be performed with a set of design constraints such as calculation capacity/throughput, power consumption and silicon area.

*Knowledge and understanding*

For a passing grade the student must

- have an understanding of the relationship between parameters such as calculation capacity, power consumption and silicon area
- be familiar with transformations that help the designer to develop different solutions for a given signal processing algorithm.
- understand how different number representations affect the solution.

*Skills and abilities*

For a passing grade the student must

- be able to suggest a processor architecture from a given set of criteria.
- be able to analyze a processor architecture and suggest alternative solutions

*Judgement and approach*

For a passing grade the student must

- have gained an overview of the field of implementation aspects of signal processing algorithms.
- feel well equipped to design an application specific processor given a specification using the methodologies covered in the course.

**Contents**

Digital signal processing is a highly expansive field which is a part of most modern electronic systems. Examples of such systems are mobile communication, MP3/CD/DVD-players and medical systems exemplified by pacemakers and hearing aids and examples of algorithms are different types of filtering, coding and image recognition. Often a real time requirement exists, which limits the possibilities to perform the signal processing in a standard computer. Standard processors are one alternative which are developed to cover a wide range of applications and can therefore be used in many systems and gives high flexibility. However, many applications have requirements on for instance throughput and power consumption that demands application specific architectures.

This course will give insight into how an algorithm specification can be implemented from a given set of criteria. The main part of the course will be focused on the design of application specific architectures that can be implemented on either reconfigurable hardware, e.g. FPGAs, or as a custom circuit, i.e. ASIC. Standard signal processors and their relation to other solutions will also be discussed. The content is:

- Characterization and representation of signal processing algorithms: signal-flow, data-flow and dependence graphs and the concept of iteration bound.
- Architectural transformations The concepts of retiming, pipelining and parallel processing for high throughput and/or low power consumption. Different types of architectures such as time-multiplexed and hardware mapped and how transformations can be made between them using the concepts of unfolding and folding.
- Algorithm transformations How complexity in algorithms can be reduced and thereby reaching a more efficient implementation through the concept of strength reduction.
- Different numbering systems, how they are used and how they affect implementation and performance.

**Literature**

Parhi K K: VLSI Digital Signal Processing Systems: Design and Implementation. John Wiley & Sons 1999. ISBN Number: 0-471-24186-5.