On digit-recurrence division algorithms for self-timed circuits

The optimization of algorithms for self-timed or asynchronous circuits requires specific solutions. Due to the variable-time capabilities of asynchronous circuits, the average computation time should be optimized and not only the worst case of the signal propagation. If efficient algorithms and implementations are known for asynchronous addition and multiplication, only straightforward algorithms have been studied for division. This paper compares several digit-recurrence division algorithms (speed, area and circuit activity for estimating the power consumption). The comparison is based on simulations of the different operators described at the gate level. This work shows that the best solutions for asynchronous circuits are quite different from those used in synchronous circuits.

[1]  J.-M. Muller,et al.  Asynchronous sub-logarithmic adders , 1997, 1997 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, PACRIM. 10 Years Networking the Pacific Rim, 1987-1997.

[2]  Michael J. Flynn,et al.  Advanced Computer Arithmetic Design , 2001 .

[3]  Alain J. Martin The limitations to delay-insensitivity in asynchronous circuits , 1990 .

[4]  Amos R. Omondi,et al.  Computer arithmetic systems - algorithms, architecture and implementation , 1994, Prentice Hall International series in computer science.

[5]  Gensoh Matsubara,et al.  30-ns 55-b shared radix 2 division and square root using a self-timed circuit , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.

[6]  Jean-Michel Muller,et al.  Elementary Functions: Algorithms and Implementation , 1997 .

[7]  Gensoh Matsubara,et al.  A low power zero-overhead self-timed division and square root unit combining a single-rail static circuit with a dual-rail dynamic circuit , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[8]  Behrooz Parhami,et al.  Computer arithmetic - algorithms and hardware designs , 1999 .

[9]  Chiu-Sing Choy,et al.  A self-timed divider using a new fast and robust pipeline scheme , 2001 .

[10]  Mark Horowitz,et al.  A zero-overhead self-timed 160-ns 54-b CMOS divider , 1991 .

[11]  Ted E. Williams Performance of iterative computation in self-timed rings , 1994, J. VLSI Signal Process..

[12]  Marc Renaudin,et al.  A new asynchronous pipeline scheme: application to the design of a self-timed ring divider , 1996 .

[13]  Israel Koren Computer arithmetic algorithms , 1993 .

[14]  Jordi Cortadella,et al.  A multi-radix approach to asynchronous division , 2001, Proceedings Seventh International Symposium on Asynchronous Circuits and Systems. ASYNC 2001.

[15]  Rajit Manohar,et al.  Asynchronous Parallel Prefix Computation , 1998, IEEE Trans. Computers.

[16]  Michael J. Flynn,et al.  Division Algorithms and Implementations , 1997, IEEE Trans. Computers.

[17]  Neil Weste,et al.  Principles of CMOS VLSI Design , 1985 .

[18]  Stephen H. Unger,et al.  Self-Timed Carry-Lookahead Adders , 2000, IEEE Trans. Computers.

[19]  Amos R. Omondi,et al.  Computer Arithmetic Systems , 1994 .