Design Methodology of Signal Processing Algorithms in Wireless Systems P. Belanovi´ c, M. Holzer, D. Miˇ cuˇ ık, and M. Rupp {pbelanov,mholzer,dmicusik,mrupp}@nt.tuwien.ac.at Vienna University of Technology Institute for Communications and RF Engineering Christian Doppler Pilot Laboratory for Design Methodology of Signal Processing Algorithms Gusshausstr. 25/389, 1040 Vienna, Austria ABSTRACT Design of modern communication systems is increasingly in- efficient using current design methodologies. Significant in- creases in efficiency, reduction of time to market and improve- ment in quality can be achieved by adopting a consistent design methodology. Such a design process, based on a single system description resident in a database and integrating all tools used by all design teams is proposed. An implementation of the single system description database and a tool chain based on SystemC is presented. Also shown are the results of process- ing a real-world wireless communications algorithm through this tool chain. Keywords: Design Methodology, Signal Processing and Wire- less Communications. 1 INTRODUCTION Modern wireless communication systems require the deploy- ment of highly sophisticated signal processing algorithms and increasingly complex protocols in ever shorter time periods[1]. Implementations of these systems are increasingly heteroge- neous, incorporating diverse hardware components such as DSPs, FPGAs and ASICs, as well as software components at various abstraction levels, written in assembler, C, C++, Java, SystemC and similar languages. Such highly complex systems cannot be efficiently developed using current design methodologies. On the one hand, algo- rithmic complexity of these systems, which grows according to Shannon’s Law, increases faster than the available compu- tational power, which grows according to Moore’s Law. On the other hand, in what is termed the ”design gap”, the growth of the available computational power outpaces the growth of design efficiency[2], as shown in Figure 1. 2 DESIGN METHODOLOGY The design process, leading from concept to realization, passes through three general levels of refinement, namely the algo- rithmic, the architectural and the implementation levels. Typ- ically, three separate teams can be associated to one of these stages each[3], as shown in Figure 2. In the design process, the three teams have necessarily distinct areas of expertise, to tackle each of the three stages. Inher- ently, each of the teams works with a dedicated set of tools on a system description that is optimized for its work. 2.1 Shortcomings of the Current Methodologies As described above, current design methodologies have sev- eral shortcomings. Firstly, descriptions of the system at the three stages of the design process are fundamentally differ- ent, making forward and backward communications between teams highly difficult. Consequently, system descriptions are constantly reformatted and rewritten by the corresponding ex- perts to incorporate input from the other teams. This mode of operation is error-prone, slow and inefficient. Furthermore, the impeded communications between teams can lead to delayed discovery of design faults. As a rule of thumb, a fault that produces a cost of 1 when found at the algorithm level will produce a cost of 6 when discovered at the architec- tural level and 100 at the implementation level[4]. All the mentioned drawbacks of the current design process are especially severe in the wireless communications field. In- creasing complexity of algorithms, such as in UMTS and Hy- perLAN/2, as well as the extremely tight time to market and cost requirements, together place a great burden on the design process. Complex designs must be produced quickly and cor- rectly the first time.                 !     " Figure 1: The growth of the design gap Copyright International Institute of Informatics and Systems 2003, published in the proceedings of the International Conference on Computing, Communications and Control Technologies (CCCT'03), pp. 288-291, Orlando, 2003