|
UCLA
Computer Science Department: CS 252A |
Prof. Milos D. Ercegovac |
|
Textbook: Digital Arithmetic by M. D. Ercegovac and T. Lang, Morgan and Kaufmann, 2004. Lecture Viewgraphs:on the UCLA Webcourse; also at http://www.cs.ucla.edu/digital_arithmetic Related resources: Books, journals, conferences, Web sites, simulators Grading: Homeworks (4) 10%, Selected Topic Presentation 10%, Midterm Exam 30% (7th week) Project: Presentation 10%, reviews and participation 5%, report 35%. Projects are peer reviewed. |
|
|
Socrates:
Arithmetic is a kind of knowledge in which the best natures
should be trained, and which must not be given up.
From Plato's Republic. This course presents a detailed study of the theory, specification and design of digital arithmetic algorithms and processors. The principal topics are listed below. |
|
|
1. Introduction |
Highlights. Levels of description. Number systems: conventional, redundant, and residue. Structure of algorithms and complexity measures. |
|
2. Two-Operand Addition |
All about carries. Algorithms and implementations. Conventional binary representation: carry look-ahead, carry skip, switched ripple, conditional sum, carry select, parallel prefix, and variable time. Redundant adders: carry-save and signed-digit. |
|
3. Multioperand Addition |
Bit-arrays for signed and unsigned operands. Reduction approaches: by row and by column. Algorithms and implementations. |
|
4. Multiplication |
Algorithms and implementations. Sequential with recoding. Combinational with recoding. Bit-array reduction: by row and by column. Multiply-accumulate. Saturating and truncating multipliers. Squarers. Multipliers with constant operand. |
|
5. Division |
Algorithms, implementations and comparisons. Quotient conversion. Quotient-digit selection: theory and design. |
|
6. Iterative Methods |
Reciprocal, division, square root, and reciprocal square root: Newton-Raphson's method and multiplicative methods. Initial approximation. |
|
7. Floating-point Arithmetic |
Representation. IEEE FLPT Standard. Addition, multiplication and division: Algorithms and implementations. Rounding. |
|
8. Digit-Serial Arithmetic |
Digit-serial modes: LSDF and MSDF (online arithmetic). Algorithms and implementations for addition, multiplication, and division. Composite operations. Applications. |
|
9. Function Evaluation and CORDIC Algorithm |
Argument range reduction. Polynomial and rational function approximations. MSDF rational function evaluator. Linear convergence methods for logarithms, exponentials, trigonometric, and hyperbolic functions. CORDIC method. |
|
Suggested Exercises |
For your practice only - do not turn them in. Solutions to selected exercises are at http://www.cs.ucla.edu/digital_arithmetic |
| Homeworks |
(a) Algorithm and design simulations; (b) select 2-3 exercises from the textbook, make changes interesting to you, or make problems of your own. |
| Selected
Topic Presentation (optional) |
(a)
Team
up with another student; (b) Select a topic and prepare a 20-
minute presentation and a handout. Topic related to lectures. |
|
Midterm Exam |
Open: textbook. Closed: notes, solutions, papers, etc. |
| PROJECTS: Individual or team (2-3 students). In general, projects in areas such as graphics, computer vision, communications, signal processing, cryptography, embedded systems, and application-specific architectures are encouraged as long as they encompass non-trivial use of digital arithmetic. Suggestions for projects will be discussed in class. |
|
Project
Schedule (tentative) |
|
Project proposals - draft for class review February 7: everyone reviews each project Preliminary reviews: due February 14; feedback to projects by February 16 Project presentations: March 13 and 15. Slides and final report draft due at the presentation. Final reviews: each of you will be assigned 2 projects to review; return your reviews to me by March 19; feedback to projects by March 20. Final reports due Monday March 22, 5pm. |
|
Additional Books on Digital Arithmetic |
|
|
Division and Square Root:
Digit-Recurrence Algorithms and Implementations, M.
Ercegovac and T. Lang,
|
|
Conference proceedings (available on IEEE Xplore) |
|
|
Journals and magazines (available on IEEE Xplore; J. of VLSI Signal Processing
available on Springer site) |
|
| Related sites and resources on the Web | |
|
Arithmetic Group, Ecole Normale
Superieure, Lyon, France
|
J.M. Muller |
| P.
Zimmermann |
|
|
Arithmetic Group, IRISA-CAIRN
|
A.
Tisserand |
|
IEEE Floating-Point Standard
|
W.
Kahan, UC Berkeley D. Hough |
| Tools, libraries, platforms and simulators | |
| Open Source FLPT Operators | D. Harris, Harvey Mudd Colllege |
| F. De Dinechin | |
| A. Tisserand |
|
| A. Tisserand |
|
| A. Tisserand |
|
| I. Koren, University of Massachussetts, Amherst | |
| A. Guyot, University of Grenoble, France | |
| R. Zimmerman, Synopsys | |
| Arithmetic Module Generator | T. Aoki, Tohoku University |
| Novel reconfigurable systems | Element CXI |