Cover Page

IEEE Press
445 Hoes Lane
Piscataway, NJ 08854

IEEE Press Editorial Board
Tariq Samad, Editor in Chief

Giancarlo Fortino Xiaoou Li Ray Perez
Dmitry Goldgof Andreas Molisch Linda Shafer
Don Heirman Saeid Nahavandi Mohammad Shahidehpour
Ekram Hossain Jeffrey Nanzer ZidongWang

Arithmetic Circuits for DSP Applications

Edited by Pramod Kumar Meher and Thanos Stouraitis

Wiley Logo

Preface

Digital Signal Processing (DSP) has become increasingly indispensable in most of our daily activities. It enables modern communications, image and video creation, storage, processing and transmission, medical instrumentations and diagnostics, automobile functioning, military surveillance and target tracking operations, satellite and aerospace control, DNA analysis, the Internet, energy smart grids, a host of digital consumer products, and myriad other applications.

DSP's algorithms are heavily computation-intensive and many applications are real time, thus imposing very stringent performance requirements on the used devices. Depending on the application, these devices have to be optimized for speed, energy, power consumption, and/or area. Running these applications on the CPUs of general-purpose processors, as was mostly done up until the 1990s, usually does not meet their demanding requirements. It is often the case that dedicated processors, with customized arithmetic units, have to be designed by computer engineers well versed in computer arithmetic options.

Although computer arithmetic is one of the first fields of computer science and engineering, its growth has not stopped over the decades. It has often been demonstrated that it plays a most important role in the performance of digital systems, as it is closely related to the data representation schemes. Especially for DSP systems, its algorithms have a number of interesting characteristics, which can be exploited in the design of the arithmetic circuits, so that they can be implemented more efficiently, in terms of computation time, chip area, and power consumption. As we move well into the era of embedded systems and the Internet of everything, the arithmetic circuits, and particularly the ones for DSP applications, will retain and expand their significance of system on chip designs.

This book aims to give a comprehensive coverage of fundamental concepts and advantages for various classes of arithmetic circuits, their digital implementation schemes, performance considerations, and applications. It comes in the form of an edited volume, as leading researchers in various important classes of arithmetic circuits have presented the relevant state of the art, possible applications, and scope for future research.

Chapter 1 is devoted to circuits used in implementing basic operations, like additions and multiplications. The authors then move on to discussing the realization of more complex operations, such as sums of products, squaring, square roots, and complex multiplications. At the end of this chapter, they present circuits for special functions, as well as polynomial and piecewise polynomial approximations of nonlinear functions.

Multiplication is a common but costly arithmetic operation, in terms of silicon area, computation time, and power consumption. Many real-time applications utilize algorithms involving multiplications by constants. Chapter 2 is devoted to the presentation of the basic techniques for shift-add circuits for multiplications by constants, along with an overview of advanced optimization schemes and a brief sketch of application domains.

Computation of inner products of two vectors, particularly when one of the vectors is fixed and known a priori, is frequently encountered in DSP applications. Chapter 3 focuses on the use of distributed arithmetic (DA) as a technique for the multiplier-less implementation of inner products and their application in a host of different DSP operations and transforms. As DA is primarily a lookup table technique, it is also appropriate for FPGA implementations.

Chapter 4 continues with the discussion of lookup table (LUT)-based techniques, especially for the implementation of operations such as multiplications and divisions by a constant, exponentiations of constants, inversion, evaluation of squares and square roots of integers, as well as sinusoidal functions, sigmoid function, logarithms, antilogarithms. The chapter provides an overview of the key concepts, important developments, implementations, and applications of some popular LUT-based systems.

The calculation of trigonometric, hyperbolic, and logarithmic functions, real and complex multiplications, division, square root, solution of linear systems, eigenvalue estimation, singular value decomposition, QR factorization, and many other functions through the use of simple shift-add operations is the focus of Chapter 5. It presents the COordinate Rotation DIgital Computer (CORDIC) technique, which has been utilized for applications in diverse areas, such as signal and image processing, communication systems, and robotics and 3D graphics, in addition to general scientific and technical computations.

Chapter 6 considers the use of the Residue Number Systems (RNS) as a means of data representation and its impact on the design of arithmetic circuits. The various design considerations, such as choice of modulus sets, algorithms for converting binary numbers to RNS and vice versa, multiplication, scaling, sign detection, and base extension operations are reviewed. Special attention is given to power-of-two-related modulus sets, in view of their computational advantages. Some applications of RNS in signal processing, communication systems, and cryptography are presented, in order to highlight the possible advantages as compared to conventional arithmetic-based implementations.

The representation of data as logarithms has been long used, as a means to simplify particular arithmetic operations and utilize improved numerical properties, even before the modern digital computer era. The Logarithmic Number System (LNS) is a formalization of the logarithmic representation of the data in a digital system and it can be conceived as a generalization of the floating-point representation. It is the focus of Chapter 7, which discusses the implementations of basic operations in logarithmic arithmetic circuits, presents forward and inverse conversion schemes, the implementation of complex arithmetic, and finally discusses the impact of logarithmic arithmetic on power dissipation and presents several applications amenable to LNS processing.

Chapter 8 deals with the implementation of arithmetic when other redundant number systems (RDNS) are used for data representation. For a radix-r RDNS, each digit can assume more than γ values. The extra digit values allow for constant time and carry-free addition and subtraction. In this chapter, RDNS is formally defined, its carry-free property is analyzed, and the algorithms and circuits for the corresponding add, subtract, and special functions are provided.

The primary readership for this edited volume will be senior undergraduate and graduate students in computer science, computer engineering, and electrical and electronics engineering. It may be used as a textbook for courses on embedded systems, signal processing, and IC design, as well as a reference book. Practicing engineers or researchers in academia will also find it very handy and useful. The prerequisites required for a complete understanding of the book include fundamentals of digital logic and a basic ability in mathematics.

The editors would like to thank all chapter authors for their valuable contributions.

Nanyang Technological University Singapore

Pramod K. Meher

Khalifa University UAE University of Patras Greece

Thanos Stouraitis

About The Editors

Pramod Kumar Meher received the B.Sc. (Honours) and M.Sc. degrees in physics, and the Ph.D. degree in science from Sambalpur University, India, in 1976, 1978, and 1996, respectively. Currently, he is a Senior Research Scientist with Nanyang Technological University, Singapore. Previously, he was a Professor of Computer Applications with Utkal University, India, from 1997 to 2002, and a Reader in electronics with Berhampur University, India, from 1993 to 1997. His research interest includes design of dedicated and reconfigurable architectures for computation-intensive algorithms pertaining to signal, image and video processing, communication, bioinformatics, and intelligent computing. He has contributed more than 200 technical papers to various reputed journals and conference proceedings. Dr Meher has served as a speaker for the Distinguished Lecturer Program (DLP) of IEEE Circuits Systems Society during 2011 and 2012, Associate Editor of the IEEE Transactions on Circuits And Systems-II: Express Briefs during 2008–2011, the IEEE Transactions on Circuits And Systems-I: Regular Papers during 2012–2013, and the IEEE Transactions on Very Large Scale Integration (VLSI) Systems during 2009–2014. Currently, he is serving as Associate Editor for the IEEE Transactions on Circuits and Systems for Video Technology and Journal of Circuits, Systems, and Signal Processing. Dr Meher is a Senior Member of IEEE and Fellow of the Institution of Electronics and Telecommunication Engineers, India. He was the recipient of the Samanta Chandrasekhar Award for excellence in research in engineering and technology for 1999.

Thanos Stouraitis, an IEEE Fellow for his “contributions in digital signal processing architectures and computer arithmetic,” is currently Professor and Chair of the ECE department of Khalifa University, UAE (on leave from the University of Patras, Greece). He has served on the faculties of University of Florida, Ohio State University, Polytechnic University (NYU), and University of British Columbia. His research interests include cryptography, computer arithmetic, signal/image processing systems, and optimal processor design. He has coauthored over 180 technical papers, holds one patent on DSP processor design, and has authored several book chapters and books. He has been serving as an Editor or/and Guest Editor for numerous technical journals. He served as General Chair, TPC Chair, and Symposium Chair for many international conferences, like ISCAS, SiPS, and ICECS. He received the IEEE Circuits and Systems Society Guillemin-Cauer Award. He has served IEEE in many ways, including as CAS Society President, 2012–2013.