236 IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 34, NO. 2, FEBRUARY 1999 Combinational Logic Approach for Implementing an Improved Approximate Squaring Function Ahmad A. Hiasat and Hoda S. Abdel-Aty-Zohdy Abstract— The Viterbi algorithm is a fundamental signal- processing technique used in different communication systems. An improved, implemented, and tested approximate squaring function for the Viterbi algorithm is introduced in this paper. The implementation of this improved squaring function is based on combinational logic design. The performance of this new approach has been verified by implementing a 7-bit squaring function chip in a 2- m CMOS technology. The active integrated circuit area of the chip was 380 400 m , and the delays through this area were 5.7 and 3.0 ns for rising and falling edges, respectively. Compared with the design introduced in [3], this approach reduces error associated with approximation, simplifies the com- plexity of realization, reduces the integrated circuit area by at least 40%, and increases the speed by about 100%. Index Terms— Implementation, squaring function, very-large- scale integration (VLSI) combinational logic design, Viterbi al- gorithm. I. INTRODUCTION T HE Viterbi algorithm is an important signal-processing technique widely used in modern communication sys- tems. Typical application examples are maximum likelihood sequence estimation in the presence of intersymbol interfer- ence and decoding of convolutional codes. In many commu- nication systems, the Viterbi algorithm is used for decoding or demodulation in concatenated schemes [1], [2]. For example, in concatenated coding schemes with convolutional codes, the Viterbi algorithm is applied in the inner decoder. A fundamental mathematical function in realizing the Viterbi algorithm is the squaring function. Recently, Eshraghi et al. [3] proposed an algorithm for the squaring function. The ap- proximation presented in [3] is efficient, keeping in mind that the Viterbi algorithm will compensate for any inaccuracies and additional noise. The implementation proposed by Eshraghi et al. [3] is faster and more area efficient when compared with conventional exact and table lookup approaches. This paper describes, briefly, the approximate squaring function presented in [3]. It then introduces an improved technique for computing the approximate squaring function. This paper also presents an alternative realization method based on combinational logic to implement the improved technique. All possible Manuscript received October 10, 1997; revised June 25, 1998. This work was supported in part by ARPA-SBIR under Grant DAAH-01-94-c-R222. A. A. Hiasat is with the Department of Electronics Engineering, Princess Sumaya University, Amman 11941 Jordan. H. S. Abdel-Aty-Zohdy is with the Microelectronics System Design Labora- tory, Department of Electrical and Systems Engineering, Oakland University, Rochester, MI 48309-4401 USA. Publisher Item Identifier S 0018-9200(99)00973-7. combinations of input bits and the corresponding outputs are listed in a truth table and are then minimized. The high degree of regularity and pattern repetition in the truth table, contributed by the improved algorithm, is reflected in a reduced number of product terms and, hence, smaller number of gates. Recalling that the sum of products (SOP) or product of sums (POS) terms can be realized by two levels of gates, then this would also increase the speed of operation. The proposed realization has also been implemented as an integrated circuit. Experimental results are demon- strated. II. SQUARING FUNCTION In realizing a squaring function, the basic idea is to evaluate out of where is the argument to be squared. In digital systems where is an -bit binary input, is a 2 -bit binary output. To evaluate , there are basically two approaches: the exact squaring function and the approximate squaring function. In the exact squaring function, the input is applied to either a digital circuit that computes exactly or to a ROM of size where each location addressed by stores the exact value of The realization presented in [3] and the new improved one, introduced in this paper, are good examples of the approximate squaring function. Although not exact, they can be used effectively to realize the Viterbi algorithm in communication systems of contaminated signals. A. Approximate Squaring Function Eshraghi et al. [3] proposed an approximate squaring func- tion that has a maximum relative error of 25% and an average relative error of 11.3%. In [3], it has been verified that errors in computing the square of large numbers result in negligible degradation (less than 0.03 dB) in the overall performance of the Viterbi algorithm. Since our new technique is an improvement over that presented in [3], the latter approach will be presented briefly. Given an -bit binary number as can be rewritten as (1) 0018–9200/99$10.00 1999 IEEE