|
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: http://www.cs.ucla.edu/digital_arithmetic Related resources: Books, journals, conferences, Web sites, simulators Grading: Self-study topic 20%, Midterm Exam 30% 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. |
|
Exercises |
Solutions to selected exercises are at http://www.cs.ucla.edu/digital_arithmetic |
|
Midterm Exam |
Open: textbook. Closed: notes, solutions, papers, etc. |
| SELF-STUDY TOPIC: Each student will pick a topic during the second week
in one of the nine areas covered in the course, study it, and prepare
by the end of the fifth week (i) a short paper explaining the
topic, and (ii) develop a related algorithm, a design and
implementation, or a tool. Your topic paper should also include a
discussion of at least two papers in the literature dealing with the
selected topic. Your project may be related to this effort. |
| PROJECTS: Individual or team (2-3 students). Suggestions for projects will be discussed in class. 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. |
|
Project Schedule (tentative) |
|
Preliminary project reports - draft for class review 2/14: everyone reviews each project Preliminary reviews: due 2/19; feedback to projects by 2/21 Project presentations: 3/11 and 3/13. 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 3/15; feedback to projects by 3/17. Final reports due Monday 3/19, 5pm. |
|
Books on Digital Arithmetic |
|
|
Division and Square Root: Digit-Recurrence
Algorithms and Implementations, M. Ercegovac and T.
Lang,
|
|
Conference proceedings |
|
|
Journals and magazines |
|
| Related sites and resources on the Web | |
|
Arithmetic Group, Ecole Normale Superieure, Lyon, France
|
J.M. Muller |
| Advanced Computer Systems Engineering Laboratory | V. G. Oklobdzija, UC Davis |
|
IEEE Floating-Point Standard
|
W. Kahan, UC Berkeley D. Hough FLPT Instruction Set (Compaq Alpha) |
| Tools, libraries and simulators | |
| Open Source FLPT Operators | D. Harris, Harvey Mudd Colllege |
| Variable Precision FLPT Modules | M. Leeser, Northeastern University |
| I. Koren, University of Massachussetts, Amherst | |
| A. Guyot, University of Grenoble, France | |
| D. Salce and M. Zobel, EE Department, UCLA | |
| R. Zimmerman, Synopsis | |
| Arithmetic Module Generator | T. Aoki, Tohoku University |