ECE 645

Computer Arithmetic
Spring 2009

Time and location:    Monday, 7:20-10:00 PM, Enterprise Hall 173

Instructor:                   Kris Gaj     
Email:                          kgaj@gmu.edu
Office hours:              Monday, 6:00-7:00 PM, and by appointment

TA:                               Marcin Rogawski    
Email:                          mrogawsk@gmu.edu
Office hours:              Monday, 6:00-7:00 PM, and by appointment

 

Required Textbooks 

Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design, Oxford University Press, New York, 2000, ISBN 0-19-51283-5

Jean-Pierre Deschamps, Gery Jean Antoine Bioul, Gustavo D. Sutter,  Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems,  Wiley-Interscience, 2006, ISBN 978-0-471-68783-2.


Recommended Textbooks

Milos D. Ercegovac and Tomas Lang, Digital Arithmetic, Morgan Kaufmann Publishers, 2004.

Isreal Koren, Computer Arithmetic Algorithms, 2nd edition, A. K. Peters, Natick, MA, 2002, ISBN 1-56881-160-8.

Sundar Rajan, Essential VHDL: RTL Synthesis Done Right, S & G Publishing, 1998.

Volnei A. Pedroni, Circuit Design with VHDL, The MIT Press, 2004, ISBN: 0-262-16224-5.

Other literature
 

Software Packages Used in This Class

Course Description

Course Outline (subject to possible modifications):

  1. Number Representation: Part 1    01/26/2009
  2. Number Representation: Part 2    02/02/2009, 02/09/2009
  3. Basic Adders and Counters    02/16/2009
  4. Carry-Lookahead and Carry-Select Adders   02/23/2009
  5. Conditional-Sum Adder, Hybrid Adders, Parallel Prefix Network Adders    03/02/2009
  6. Multioperand Addition    03/16/2009
  7. Midterm Exam    03/23/2009
  8. Tree and Array Multipliers  03/30/2009
  9. Sequential Multipliers 04/06/2009
  10. Basic Dividers    04/13/2009
  11. Fast Dividers    04/20/2009
  12. Floating Point Units    04/27/2009
  13. Project presentations     05/04/2009


Lecture slides

Posted gradually typically one day before a given lecture.

NEW!!! - Lecture 10 Fast Dividers - NEW!!!

Lecture 9 Basic Dividers

Lecture 8 Sequential Multipliers

Lecture 7 Tree and Array Multipliers

Lecture 6 Multioperand Addition

Lecture 5 Fast Adders: Parallel Prefix Network Adders, Conditional-Sum Adders, & Carry-Skip Adders

Lecture 4 Carry-Lookahead and Carry-Select Adders

Lecture 3 Basic Adders and Counters

Lecture 2 Addendum: Rounding Techniques

Lecture 2: Number Representation - Part 2

Lecture 1: Number Representation - Part 1

Lecture 0: Objectives, Scope, and Organization of the Course

See course web pages from Spring 2007 and Spring 2008 for slides from two previous years.

 

Projects

NEW!!! - Project 2 - Phase 4 Specification  - deliverables due Sunday, May 3, 23:59 PM; presentation slides due Monday, May 4, 6:00 PM; final report due Friday, May 8, 23:59 PM - NEW!!!

Project 2 - Phase 3 Specification  - due Sunday, April 26, 23:59 PM

Tutorial on Multi-Cycle Path  + the corresponding example

Project 2 - Phase 2 Specification  - due Sunday, April 19, 23:59 PM

Project 2 - Phase 1 Specification  - due Wednesday, April 8, 23:59 PM

NEW!!! - Scripts to be used to generate standard report files used in the contest for the best project: script.zip
Please read the README file first. If you have additional questions about the operation of the scripts, please contact Venkata Amirineni at vamirin1@gmu.edu. Please CC: me on your message.
- NEW!!!

Project 1 - Full Specification - All Deliverables due on Wednesday, March 18, 23:59 PM, Phase 2 Progress Report due on Wednesday, March 11, 23:59 PM (optional)

Project 1 - Phase 1 Specification - due Tuesday, March 3, 23:59 PM

Materials related to the course projects will be posted gradually over the duration of the course.

See course web pages from Spring 2007 and Spring 2008 for project-related materials from two previous years.

Homework Assignments

Posted gradually at least a week before a given assignment is due.

NEW!!! - Homework 4 - Make-up for Homework 2, Problem 5 - due Monday, April 6, 7:20 PM - NEW!!!

Homework 3 - due Monday, February 23

Homework 2 - due Monday, February 16 (solutions for Problems 5 and 6 accepted by Monday, February 23)

Homework 1 - Part 1 - due Monday, February 9, Part 2 due Monday, February 16 (solutions to Problem 2 and Part 2 accepted by Monday, February 23)

See course web pages from Spring 2007 and Spring 2008 for homework assignments from two previous years.

 

Reference Materials

Computer Arithmetic Algorithms Simulators

Simulator by Isreal Koren

 

VHDL

VHDL Instructions: Templates & Examples

OpenCores Coding Guidelines

Web Page on Type-Casting in VHDL

The Low Carb VHDL Tutorial - by Bryan Mealy

VHDL Tips & Tricks - a very useful set of slides from the Integrated Systems Laboratory, ETH Zurich

 

FPGA Devices and Tools

Introduction to FPGA Devices and Tools

GMU FPGA CAD Tools at School and Home

Active HDL Student Edition

Xilinx ISE WebPACK - main page

Xilinx ISE WebPACK - FAQ

 

Related course web pages

ECE 645: Spring 2008 (with Dr. Hwang), Spring 2007 (with Dr. Gaj)

ECE 545: Fall 2008 (with Dr. Hwang),  Fall 2006 (with Dr. Gaj)

ECE 448: Spring 2009 (with Dr. Gaj), Spring 2008 (with Dr. Gaj)

 

Practice Exams

DISCLAIMER: The exams from previous years are not representative of the material covered in class this semester, and may include questions you are not required to know solutions to, and omit material covered in the class this year.

Practice Midterm Exam from Spring 2005

Practice Midterm Exam from Spring 2004

Midterm Exam 1 from Spring 2007

Midterm Exam 2 from Spring 2007

Midterm Exam 2 from Spring 2006

Midterm Exam 1 from Spring 2005

Midterm Exam 2 from Spring 2005

Midterm Exam 1 from Spring 2004

Midterm Exam 1 from Spring 2002

Midterm Exam 1 from Spring 2000