ECE 645

Computer Arithmetic
Spring 2013

Schedule of the Project Presentations

Results of the Contest for the Best Project

List and Format of Project Deliverables

Suggested Outline of Your Presentation

Time and location:   Wednesday, 4:30-7:10 PM, Thompson Hall, room 2021

Instructor:                  Kris Gaj
Email:                          kgaj (at)
Office hours:             Monday, Wednesday, 3:00-4:00 PM;  Monday, 6:30-7:30 PM; and by appointment


Required Textbooks 

Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design, 2nd Edition, Oxford University Press, New York, 2010, ISBN 978-0-19-532848-6.

Recommended Textbooks

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.

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.

Other literature

Software Packages Used in This Class

Course Description

Course Outline (subject to possible modifications):

  1. Objectives, Scope, and Organization. 01/23/2013
  2. Basic Adders and Counters.  Implementation of Adders in FPGAs.   01/23/2013, 01/30/2013
  3. Carry-Lookahead and Carry-Select Adders. Hybrid Adders.   02/06/2013
  4. Conditional-Sum Adders and Parallel Prefix Network Adders.    02/13/2013
  5. Number Representation: Part 1    02/20/2013
  6. Number Representation: Part 2    02/27/2013
  7. Operations in the Galois Fields.  Multioperand Addition. 03/13/2013
  8. Multioperand Addition. Modular Addition.   03/20/2013
  9. Midterm Exam    03/27/2013
  10. Tree and Array Multipliers.  04/03/2013
  11. Sequential Multipliers: Part 1. Radix-2 Multipliers.   04/10/2013
  12. Sequential Multipliers: Part 2.  High-Radix Multipliers. 04/17/2013
  13. FPGA Implementation of Multipliers. Basic Dividers 04/24/2013
  14. Advanced Dividers 05/01/2013

Lecture slides

Lecture 10: Advanced Dividers. [PPT, PDF]

Lecture 9: Basic Dividers. [PPT, PDF]

Lecture 9 Addendum: FPGA Implementation of Multipliers. [PPT, PDF]
Lecture 8 Addendum: Booth Multipliers. [PPT, PDF]

Lecture 8: Sequential Multipliers. [PPT, PDF]

Lecture 7: Tree and Array Multipliers. [PPT, PDF]

Lecture 6: Multioperand Addition. Modular Addition. [PPT, PDF]

Lecture 5: Number Representation: Part 2. [PPT, PDF]

Lecture 4: Number Representation: Part 1. [PPT, PDF]

Lecture 3: Conditional-Sum Adders and Parallel Prefix Network Adders. [PPT, PDF]

Lecture 2: Carry-Lookahead, Carry-Select, and Hybrid Adders. [PPT, PDF]

Lecture 1: Basic Adders and Counters. Implementation of Adders in FPGAs. [PPT, PDF]

Lecture 0: Objectives, Scope, and Organization of the Course [PPT, PDF]

Posted gradually before a given lecture.

See the course web page from Spring 2012 for slides from the previous year.



Area:  Public Key Cryptography

Project 1: Post-quantum public key-cryptography: McEliece scheme


Project 2: Implementation of RSA using DSP units


Project 3: Implementation of RSA based on the Huang et al. architecture for Montgomery multiplication


Area: Coding Theory

Project 4: Reed-Solomon Code for RAID systems


Area: Financial Computations

Project 5: Floating point unit for Decimal64 floating-point format (supporting at least multiplication and addition)


Area: Factoring

Project 6: Trial Division by Small Primes

Project 7: Pollard's Rho Method of Factoring

Other Project Related Links:

ATHENa Website

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

Homework Assignments

Homework 5 - due Saturday, April 27, 2013, 11:59pm (submission using Blackboard)

Lecture 8 - Part B, Reading (related to Homework 5)

Homework 4 - due Saturday, April 20, 2013, 11:59pm (submission using Blackboard)

Lecture 8 - Part A, Reading (related to Homework 4)

Lecture 6 & 7 Reading

Homework 3 - due Wednesday, March 20, 2013, 4:30pm (in class)

Lecture 4 & 5 Reading (related to Homework 3)

Homework 2 - due Sunday, March 3, 2013, 11:59pm (submission using Blackboard)

Lecture 2 & 3 Reading (related to Homework 2)

Homework 1 - due Saturday, February 9, 2013, 11:59pm (submission using Blackboard)

Lecture 1 Reading (related to Homework 1)

Posted gradually about a week before a given assignment is due.

See the course web page from Spring 2012 for homework assignment from the previous year.


Reference Materials


The Detailed Instructions on How to Configure your FPGA Tools at School, and Install and Configure your FPGA Tools at Home (last updated 09/19/2012)

Tutorial on Simulation with Aldec Active-HDL (last updated 01/24/2012)

Tutorial on Simulation with ISim (last updated  02/01/2012)

Tutorial on Simulation with ModelSim (last updated 02/01/2012)

Introduction to Simulation with ModelSim-Altera and Altera Quartus II Setup (last updated 02/01/2012)

Simulators Reference Guide - covering Aldec Active-HDL, ModelSim, and ISim (last updated 02/01/2012)

Tutorial on FPGA Design Flow based on Aldec Active-HDL (last updated 10/27/2012)

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack and ISim (last updated 10/27/2012) 

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack and ModelSim (last updated 10/27/2012) 

Tutorial on Tutorial on Critical Path Analysis using Synplify Premier DP (last updated 11/18/2011)

Tutorial on Concurrent Version System based on CVS NT and Tortoise CVS

Xfig - Installation and Start-up Guide (last updated 09/25/2010)

Xfig - Export to PDF Format (last updated 12/30/2011)

Computer Arithmetic Algorithms Simulators

Simulator by Isreal Koren


VHDL Instructions: Templates & Examples

OpenCores Coding Guidelines

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 Tools

Aldec Active HDL

Xilinx ISE WebPACK - main page


Related course web pages

ECE 645: Spring 2012, Spring 2011

ECE 545: Fall 2012, Fall 2011

ECE 448: Spring 2012, Spring 2011


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 from Spring 2012 - solutions

Midterm Exam from Spring 2011

Midterm Exam from Spring 2010 - solutions

Midterm Exam from Spring 2009 - solutions

Midterm Exam 1 from Spring 2007 - solutions

Midterm Exam 1 from Spring 2005 - solutions

Midterm Exam 1 from Spring 2004 - solutions

Midterm Exam 1 from Spring 2002 - solutions

Midterm Exam 1 from Spring 2000


Final Exam from Spring 2012

Final Exam from Spring 2011

Final Exam from Spring 2010 - Solutions: Problem 1, Problem 2, Problem 3, Problem 5

Final Exam from Spring 2009

Midterm Exam 2 from Spring 2007

Midterm Exam 2 from Spring 2006

Midterm Exam 2 from Spring 2005