International Journal of Latest Technology in Engineering, Management & Applied Science (IJLTEMAS) Volume VI, Issue III, March 2017 | ISSN 2278-2540
Design, Develop and Implement an Efficient Polynomial Divider Purbayan Deb1, Anindya Sen2 1,2
Department of Electronics and Communication Engineering (VLSI), Heritage Institute of Technology, Kolkata, West Bengal
Abstract- Polynomial Division is a most common numerical operation experienced in many filters and similar circuits next to multiplication, addition and subtraction. Due to frequent use of such components in mobile and other communication applications, a fast polynomial division would improve overall speed for many such applications. This project is to design, develop and implement an efficient polynomial divider algorithm, along with the circuit. Next its output performance result is verified using Verilog simulation. A literature survey on the normal division algorithms currently used by ALU’s to perform division for large numbers, yielded Booth’s algorithm, Restoring and Non-restoring algorithm. Verilog simulation of these algorithms were used to derive efficiency in terms of the timing characteristics, required chip area and power dissipation. Initially, performance analysis of the existing algorithms was done based on the simulated outputs. Later similar analysis with the updated polynomial divider circuit is performed. Keywords- Division, Polynomial, Booth’s algorithm, Restoring algorithm, Non-restoring algorithm, Verilog.
iteration, digit recurrence, very high radix, table look up and variable latency. Each of these classes of division is implemented differently in hardware (using multiplication, subtraction, table look up, etc.). Some algorithms use multiple classes rather than just one in particular. This report focuses on subtraction-based methods, such as restoring and non-restoring division algorithms, to obtain the final answer in a division computation. Digit recurrence algorithm is another division algorithm and they produce one digit of the final quotient per iteration.SRT (Sweeney Robertson and Tocher) division algorithm is very commonly use for digit recurrence purpose [12]. Use of Verilog code, which is a Hardware Descriptive language (HDL) will be done for the simulation purpose of the project. II. MOTIVATION
I. INTRODUCTIONS
T
hroughout the years, mathematicians and engineers have developed many algorithms to divide numbers. The ALU which is primarily used for division has gone through many changes in its design. One of these changes was in its division algorithms. In a typical computer, an ALU is called upon to do hundreds of division operations per second. Divider circuits are used for various purposes like error correcting codes. So to perform at its peak, the ALU„s algorithms need to be as efficient as possible. However, some of these algorithms work better when computing the result of the operation by hand than using a computer and so these algorithms are not efficient in every case [1]. The traditional pen and paper algorithm, when converted to computer algorithm, resulted in the Booth‟s algorithm, Restoring Division algorithm [5]. Smaller improvements have been made to the restoring division algorithm, which resulted in Non-Restoring Division algorithm and many high radix algorithms, later combinational array divider circuits are also implemented for the division purpose [6]. In many cases, division is performed by taking the inverse of the divider and then multiplying the two numbers. Division methods are divided in five classes that include
www.ijltemas.in
Despite the recent improvement in division algorithms, division remains a complex operation and is therefore not implemented in many low cost or low power ALUs. Division can add more complexity to the computations since it can have invalid inputs such as division by zero and can have multiple machine cycles used in it. The time taken for its operation is also high and the circuits get more complex if more precision is needed and so it is avoided by most ALU‟s [1]. A division operation is an indispensible tool for a high performance system. A common perception of division is that it is an infrequent operation whose implementation need not receive high priority. However, it has been shown that ignoring its implementation can result in significant system performance degradation for many applications. Refining the polynomial division algorithm helps in improving the precision of the result and reduces the delay to obtain output. So implementation of a proper divider circuit is very important in an ALU. III. OBJECTIVE The main objective of the project work will be to focus on using the most optimal division algorithm and to design an
Page 78