ECE 252B: Computer Arithmetic


Behrooz Parhami: 2007/06/19  ||  E-mail:  ||  Problems:

Other contact info at: Bottom of this page  ||  Go up to: B. Parhami's course syllabi or his home page


On June 19, 2007, Professor Parhami's UCSB ECE website moved to a new location. For an up-to-date version of this page, visit it at the new address:

Background and history of ECE 252B

Professor Parhami took over the teaching of ECE 252B from the late Dr. James Howard in the winter quarter of 1989. By covering sequential machines, computer arithmetic, and advanced microprocessor-based design, the graduate course sequence ECE 252A/B/C was meant to provide the students with a firm foundation in the theories and techniques of advanced digital design. During the first few offerings of ECE 252B, Professor Parhami gradually modified the content to increase both its coverage and  research orientation (ECE 252A and 252C later underwent similar transformations by Professor Kwang-Ting Cheng and Professor Parhami, respectively). In 2000, based on a decade of experience in teaching this course, Professor Parhami published a graduate-level textbook (Oxford University Press), which is being used at many universities worldwide. The link Computer Arithmetic: Algorithms and Hardware Designs takes you to the book's Web page which contains brief and complete tables of contents, presentation material, and a list of known errors.

Link to  previous offerings of ECE 252B
ECE 252B: Spring Quarter 2007 offering

This area is reserved for important course announcements: The textbook's website now has updated presentations for all material covered in class (Parts I-VI). This course page is now final and will not be further updated during this quarter


ECE 252B – Computer Arithmetic, University of California, Santa Barbara, Spring 2007, Enrollment Code 53470.

Catalog entry:   

252B. Computer Arithmetic. (4) PARHAMI. Prerequisites: ECE 152A-B. Lecture, 4 hours. Standard and unconventional number representations. Design of fast two-operand and multioperand adders. High-speed multiplication and division algorithms. Floating-point numbers, algorithms, and errors. Hardware algorithms for function evaluation. Pipelined, digit-serial and fault-tolerant arithmetic processors. (F)


Behrooz Parhami, Room 5155 HFH (Engineering I), Phone  805-893-3211,


TR 12:00-1:30, Room 1431 Phelps Hall


Open office hours, held in Room 5155 HFH (Engineering I) – T 2:00-3:30, R 10:00-11:30


Computer arithmetic is a subfield of digital computer organization. It deals with the hardware realization of arithmetic functions to support various computer architectures as well as with arithmetic algorithms for firmware/software implementation. A major thrust of digital computer arithmetic is the design of hardware algorithms and circuits to enhance the speed of various numeric operations. Thus much of what is presented in this course complements the architectural and algorithmic speedup techniques covered as part of the advanced computer architecture (ECE 254A/B/C) sequence.


Familiarity with logic design and switching theory as well as fundamentals of digital system design (ECE 152A and ECE 152B or equivalents).


Required textbook (expected at the UCSB bookstore in late March 2007)

Parhami, B., Computer Arithmetic: Algorithms and Hardware Designs, Oxford, 2000. The Bookstore has been instructed to order the 4th or a later printing of the book which has all known typos and other errors corrected and contains some additional material. If you buy a used copy of the third or earlier printing, please make sure you correct the errors using the errata provided in the book's Web page (accessible via the link above).

Other useful books, not required   

Ercegovac/Lang, Digital Arithmetic, Morgan Kaufmann, 2004.

Swartzlander, Computer Arithmetic, vols. 1-2, IEEE Computer Soc. Press (QA76.6.C633).

Koren, Computer Arithmetic Algorithms, 2nd ed., A K Peters, 2002.

Omondi, Computer Arithmetic Systems: . . . , Prentice-Hall, 1994 (QA76.9.C62O46).

Ercegovac/Lang, Division and Square Root:  . . . , Kluwer, 1994 (QA76.9.C62E73).  

Oklobdzija, High-Performance System Design, IEEE Press, 1999 (TK7871.99.M44037).

Waser/Flynn, Intro. to Arithmetic for Digital Systems Designers (TK7895.A65W37.1982).

Knuth, The Art of Computer Programming: Seminumerical Algorithms (QA76.6.K64 vol 2).

Hwang, Computer Arithmetic: Principles, Architecture, and Design (TK7888.3.H9).

Kulisch/Miranker, Computer Arithmetic in Theory and Practice (QA162.K84).

Research Sources

Proc. Symp. Computer Arithmetic (1969, 72, 75 78, and odd years since 1981).

IEEE Trans. Computers, particularly special issues on computer arithmetic (8/70, 6/73, 7/77, 4/83, 8/90, 8/92, 8/94, 7/98, 7/00, 3/05).

Electronic Resources at UCSB (electronic journals, collections, etc.) (research guide in ECE)


Students will be evaluated based on the following three components with the given weights:


20% -- Homework (see the course calendar for general requirements and schedule).


30% -- Closed-book midterm exam (see the course calendar for date and coverage).


50% -- Open-book final exam (see the course calendar for date, time, and coverage)


An optional research paper may be substituted for the final exam. A student interested in this option, will review a subfield of computer arithmetic or do original research on a selected topic. A list of research topics is provided below; however, please feel free to propose your own topic for approval. A publishable report earns an “A” for the course, regardless of homework and midterm grades. See the “deadlines” column in course calendar for schedule and due dates.


Course lectures, homework assignments, and exams have been scheduled as follows. This schedule will be strictly observed. Textbook chapters are specified for lectures and exams. It is a good idea to look over the specified material before each lecture if possible.  

Day & Date


Lecture Topic

Deadlines and Notes

Tues. 4/3


Numbers and signed values

Homework: general requirements

Thur. 4/5


Redundant and residue representations


Tues. 4/10


Basic addition and counting

HW#1 posted (chapters 1-7)

Thur. 4/12


Carry-lookahead adders

Research topic defined

Tues. 4/17


Variations in fast adders


Thur. 4/19


Multioperand addition 

HW#1 due

Tues. 4/24


Basic multiplication schemes

HW#2 posted (chapters 8-11)

Thur. 4/26


High-radix multipliers


Tues. 5/1


Tree and array multipliers

Preliminary references due

Thur. 5/3


Variations in multipliers

HW#2 due

Tues. 5/8

1-11 Midterm exam: closed book (12-2 PM) Held in class; note extended time

Thur. 5/10


Basic division schemes


Tues. 5/15


High-radix division

HW#3 posted (chapters 12-16)

Thur. 5/17


Variations in dividers

Paper title and references due

Tues. 5/22


Division by convergence


Thur. 5/24


Floating-point numbers and operations HW#3 due

Tues. 5/29


Errors, precision, and certifiability

HW#4 posted (chapters 17-22)

Thur. 5/31


Square-rooting methods

Paper abstract and outline due

Tues. 6/5


CORDIC algorithms

Thur. 6/7


Other topics in function evaluation HW#4 due
Mon. 6/11 1-24 Final exam: open book (12-3 PM) Held in class, Complete paper due

Homework: General Requirements

Solutions should be brought to class on the due date and handed in before the lecture begins.

Late homework will not be accepted, so plan to start work on your assignments early.

Use a cover page that includes your name, course and assignment number for your solutions.

Staple the sheets and write your name on top of every sheet in case sheets are separated.

Although some cooperation is permitted, direct copying will have severe consequences.    

ECE 252B s2007, Homework #1: Number Systems and Addition (chaps. 1-7, due Thur. April 19)

Do the following problems from the textbook or defined below: 1.5 (15 pts.), 2.A (15 pts.), 5.11 (25 pts.), 6.1 (10 pts.), 6.8 (20 pts.), 7.16 (15 pts.)

Problem 2.A  Biased number representation: Consider radix-2 fractional numbers in the range [–1, 1), represented with a bias of 1. (a) Develop an addition algorithm for such biased numbers. (b) Show that sign change for such numbers is identical to 2’s complementation. (c) Use the results of parts a and b to design an adder/subtractor for such numbers.

ECE 252B s2007, Homework #2: Multioperand Addition and Multiplication (chaps. 8-11, due Thur. May 3)

Do the following problems from the textbook or defined below: 8.4 (20 pts.), 9.1 (5 pts.), 9.6 (15 pts.), 10.6 (30 pts.), 11.5 (20 pts.), 11.17 (10 pts.)

ECE 252B s2007, Homework #3: Multiplication and Division (chaps. 12-16, due Thur. May 24)

Do the following problems from the textbook or defined below: 12.14 (15 pts.), 13.6b (15 pts.), 13.12a (15 pts.), 14.14 (25 pts.), 15.12abc (15 pts.), 16.4 (15 pts.)

ECE 252B s2007, Homework #4: Floating-Point and Function Evaluation (chap. 17-22, due Thur. June 7)

Do the following problems from the textbook or defined below: 17.2 (15 pts.), 17.14 (20 pts.), 18.18 (15 pts.), 19.2 (15 pts.), 21.15 (15 pts.), 22.4c (20 pts.)

ECE 252B s2007, Notes on homework solutions and other topics

None at this time.

ECE 252B s2007, Possible Research Topics

List of topics will be posted here if some students indicate interest in the research option in lieu of final exam.

ECE 252B s2007, Midterm Exam Preparation


Textbook sections that are not required for the closed-book midterm exam: 3.5, 3.6, 4.4, 4.5, 4.6, 6.3, 7.2, 10.5 (some of these may be included in the final exam, which will be open-book)

ECE 252B s2007, Final Exam Preparation

The final exam will include Chapters 1-24, emphasizing the topics covered after the midterm. The following sections are excluded: 3.5 (pp. 45-48), 3.6, 4.4, 4.5, 4.6, 7.2, 10.5, 15.4, 15.6, 19.4, 19.5, 19.6, 20.2, 21.4, 21.1-21.4, 21.6, 22.6, 23.4, 24.4-24.6. All other sections are included, even if they were not discussed in class.   

Return to: Top of this page  ||  Go up to: B. Parhami's course syllabi or his home page

Dr. Behrooz Parhami, Professor

                     Office phone: +1 805 893 3211
E-mail:                 Messages: +1 805 893 3716
Dept. Electrical & Computer Eng.                  Dept. fax: +1 805 893 3262
Univ. of California, Santa Barbara                Office: Room 5155 Eng. I
Santa Barbara, CA 93106-9560 USA                      Deliveries: Room 4155 Eng. I