1、附录 A A PROJECT-ORIENTED MASTER PROGRAMME IN DSP ALGORITHMS AND ASIC ARCHITECTURES Over the last decade Digital Signal Processing (DSP) has evolved from being a term known by only a few specialists, to a household term. The growth in DSP applied in e.g., consumer, medical, communications, networking
2、and computing devices has been spectacular. In fact, the digital signal processor market has grown 40% per year since 1988 and this figure is expected to continue over the next 10 years. At the same time the extreme improvement in hardware technologies has been paving the way for designing dedicated
3、 architectures for real time execution of still more complex DSP algorithms, continuously decreasing the power and silicon consumption required to perform certain functionalities. Consequently, we consider advanced DSP topics as being essential in the curriculum for a still growing number of electri
4、cal engineering students. These topics are basically related to 1) the design of highly complex DSP algorithms according to given specifications, and 2) real time implementation of these algorithms using various and conceptually different hardware architectures. AalborgUniversity, which has a long s
5、tanding tradition for project-oriented teaching in traditional DSP theory at the Master level, therefore in 1994 launched a new Master programme in DSP Algorithms and ASIC Architectures. Now, after five years of very successful execution of this programme, we in this paper would like to report on ou
6、r experiences. 1. INTRODUCTION The evolution over the past 2-3 decades within the Digital Signal Processing community towards more sophisticated and complex algorithms has been the primary reason for the design of todays very powerful, flexible, and easy-to-use general purpose (GP) programmable Digi
7、tal Signal Processor. In numerous application areas these devices exhibit an efficient trade-off between performance, required time for HW/SW design, and price. From the early 80s, AalborgUniversity therefore has offered a Master programme in traditional DSP design, i.e., application studies, algori
8、thmic design and real time implementation onto GP DSP processors. In recent years, however, the number of applications which need support for high integration has increased substantially. In particular, portable systems, e.g., mobile communication systems and hearing aids (industrially represented b
9、y numbers in Denmark) are applications where extreme performance in terms of high speed, small physical size, low power consumption, and time to market is vital.For such types of applications, the GP programmable DSP is in many cases either lacking the ability to meet the specifications, or is simpl
10、y an overkill. Consequently, in order to change our DSP Master candidate profile towards these new challenges, we started in1993 to look for alternative architectural possibilities, e.g.,1. With the state-of-the-art IC technology and ASIC design tools, we found that a very promising educational appr
11、oach is to provide the students with an in-depth knowledge of the theories, methods and tools required in order to design and implement Application Specific Digital Signal Processors, fixed or programmable. Basically, these processors are stripped and customized versions of GP DSPs. Therefore, funda
12、mental characteristics are 1) tailor-made instruction sets and 2) architectural topologies consisting of execution units tuned to the given application (i.e., set of algorithms). Essential subjects included in the Master programme is therefore advanced DSP theory, concepts for real time architecture
13、s and theories for optimizing the algorithmic and architectural interaction. After five years of continuous refinement, our Master programme is now running very successfully with 15-20 new Masters every year. In order to share our experiences, we in this paper will discuss 1) the overall organizatio
14、n of the project-oriented education strategy at AalborgUniversity, 2) the main objective and content of our Master programme, 3) a typical student project trajectory, and 4) general experiences. 2. THE PROJECT-ORIENTED STRATEGY Established in 1974, AalborgUniversity now has employed a project-organi
15、zed study strategy for almost 25 year, 2. The curriculum in engineering is project-organized from the day the freshmen arrive and until they graduate | the first year (i.e., two semesters) being spend learning how to do scientific work in project groups (typically 4-6 students, the exception being t
16、he Master project with normally 2 students). The next one and a half year in the undergraduate programmes, the project-work is mainly design-oriented. In contrast, the last two and a half years in the graduate programmes, the project-work is problem-oriented. Adding up, the Master degree is obtained
17、 after five years. In the design-oriented project-work, the students deal with know-how problems which can be solved by theories and knowledge they have acquired in their lectures. On the other hand, in the problem-oriented project-work, the students consider unsolved scientific problems. The projec
18、t-work has a know-why approach and is supported by relevant lectures. The duration of each project is one semester, where half of the time is devoted to the project-work, 25%is spend on courses related to the projects and 25% is used for courses related to the curriculum. 3. THE MASTER PROGRAMME Ent
19、ering the graduate level (the 6th semester being the entry), the students who want to obtain the Master degree in DSP Algorithms and ASIC Architectures are strongly encouraged to choose the Signal Processing direction (several options are available). In three semesters, the students will work with D
20、eterministic Signal Processing, Stochastic Signal Processing, and Adaptive Signal Processing, respectively. Now, the main purpose of the Master programme (the two final semesters) is to provide the students with skills in analysis, design and implementation of real time DSP systems characterized by
21、a high algorithmic and architectural complexity. The Master programme focuses on theories, methods and tools required for design, implementation and optimization of modern DSP systems, including the following items; _ design and/or analysis of complex DSP functionalities using high level languages,
22、e.g., C, C+, or MatLab. The kind of functionalities investigated typically belong to the following categories; - extract information from an observed signal - eliminate/reduce unwanted signal components - fast and reliable signal transmission/detection analyze, modify and benchmark DSP algorithms in
23、 order to _t them optimally into a fixed or programmable target architecture. The curriculum therefore include; - definition of various cost functions - algorithmic graph representation - graph partitioning methods - analysis of inherent parallelism - single- and multi-processor scheduling - algorit
24、hmic transformations - numerical analysis, fixed and floating point analyze, design and implement dedicated prototype architectures for real time execution of the algorithm(s). The curriculum therefore include; - various arithmetics and execution units (EXU) - data- and control path topologies - ins
25、truction set and decoding principles - configuration of multiprocessor systems - communication in multiprocessor systems - heterogeneous and reconfigurable DSP systems - HW/SW co-design, and -verification - VHDL programming, simulation and synthesis - FPGA technologies and design tools 4. A TYPICAL
26、PROJECT TRAJECTORY The design of a dedicated real time DSP system is initiated at the application level, i.e., first the students have to understand and describe the problem. This first step is trivial (the students have done this exercise several times before) but it provides valuable information f
27、or the next task where the class of algorithms typically employed within the given application have to be identified and analyzed. A detailed analysis of the algorithms is essential in order to select for example the appropriate data word length (signal-to-noise ratio and numerical stability). Besid
28、e, the computational characteristics of the algorithms have to be found. In particular, the students have to analyze 1) the types of operations found in the algorithms, 2) the overall computational complexity, 3) the types of data structures used by the algorithms, 4) the various memory access patte
29、rns, and 5) the variables life-times. Next, an appropriate assignment and allocation of 1) EXUs, 2) data address generators (DAG),3) memory type, -size and -organization, 4) communication hardware, and 5) I/O facilities is performed. Once the overall architectural structure has been decided upon, a
30、refinement process is initiated where the students in detail design the data path. In some projects, the data path is designed using only standard EXUs like ALUs, MACs (Multiply ACcumulate), busses, and registers, but in others it also incorporate more algorithmic specific units, e.g., DIV, CORDIC,
31、ABS, Sinus Look-Up-Table, dedicated Barrel-Shifter, and/or Bit-manipulation units. Finally, the controller is designed. It may be implemented as a simple FSM, or alternatively as a sophisticated sequencer supporting e.g., data dependent branching, nested loops, interrupts and subroutine constructs.
32、So far, only the type of operations to be executed in the architecture has been known. The next step in the design trajectory is therefore to convert these operations into the actual instruction set in case a programmable architecture is required. Our experiences show that the instruction set design
33、 procedure in most student projects is very time consuming. This is basically due to the fact that many design iterations typically are needed before a reasonable match between the initial class of algorithms and the smallest possible and most efficient instruction set is found. In order to handle systematically these and the following steps in the design trajectory (i.e., the actual implementation), a set of commercial design tools are