Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design, 2nd Edition, Oxford University Press, New York, 2010, ISBN 978-0-19-532848-6.
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.
Volnei A. Pedroni, Circuit Design with VHDL, The MIT Press, 2004, ISBN: 0-262-16224-5.
Software Packages Used in This Class
Course Outline (subject to possible modifications):
Posted gradually before a given lecture.
Lecture 10: Dividers
Lecture 9: Sequential Multipliers
8: Tree and Array Multipliers
7: FPGA Embedded Resources
Lecture 6: Number Representation - Part 2
Lecture 5: Number Representation - Part 1
Lecture 3: Conditional-Sum Adders and Parallel Prefix Network Adders.
Lecture 2: Carry-Lookahead, Carry-Select Adders, and Hybrid Adders.
Lecture 1: Basic Adders and Counters. Implementation of Adders in FPGAs.
Lecture 0: Objectives, Scope, and Organization of the Course
See the course web page from Spring 2011 for slides from the previous year.
1. GCM Mode of
Operation of AES
Recommendation for Block Cipher Modes of
Operation: Galois/Counter Mode (GCM) and GMAC, NIST Special Publication 800-38D, 2007.
GCM Test Vectors
2. Tree mode of
operation of Skein
Skein Round 3 Submission Package available here.
Aric Schorr, Performance
Analysis of a Scalable Hardware FPGA Skein Implementation,
MS Thesis, RIT 2010.
David M. Webster, Versatile
FPGA Architecture for Skein Hashing Algorithm, MS Thesis,
exponentiation unit based on McIvor et al. architecture
C. McIvor, M. McLoone, J.V. McCanny, A. Daly,
W. Marnane, "Fast
Montgomery Modular Multiplication and RSA Cryptographic
Processor Architectures", 37th Annual Asilomar Conference
on Signals, Systems and Computers, Pacific Grove, CA, USA,
November 2003, pp. 379 - 384.
exponentiation unit based on Huang et al. architecture
M. Huang, K. Gaj, T. El-Ghazawi, "New Hardware
Architectures for Montgomery Modular Multiplication Algorithm,"
IEEE Transactions on Computers, IEEE Transactions on Computers,
vol. 60, no. 7, July 2011, pp. 923-936.
exponentiation unit based on Suzuki et al. architecture
D. Suzuki and T. Matsumoto, "How to Maximize
the Potential of FPGA-Based DSPs for Modular Exponentiation,"
IEICE Trans. Fundamentals, vol. E94-A, no. 1, Jan. 2011, pp.
D. Suzuki, "How to Maximize
the Potential of FPGA Resources for Modular Exponentiation,"
Cryptographic Hardware and Embedded Systems workshop, CHES 2007,
Vienna, Austria, LNCS, vol. 4727, pp. 272-288.
6. Floating point
unit for Decimal64 floating-point format
supporting at least multiplication and addition
floating-point format, Wikipedia.
IEEE 754-2008, Wikipedia.
ATHENa WebsiteFPGA Embedded Resources
Materials related to the course projects will be posted gradually over the duration of the course.
Homework 3 - due date Monday, March 26, 7:20pm - please submit a printout in class, and an electronic version using Blackboard.
Homework 2 - due date Monday, March 5, 7:20pm - please submit a printout in class, and an electronic version using Blackboard.
1 - due
date extended to Monday, February 13, 7:20pm -
please submit a printout in class, and an electronic version
Posted gradually about a week before a given assignment is due.
See the course web page from Spring 2011 for homework assignment from the previous year.
Simulator by Isreal Koren
OpenCores Coding Guidelines
ECE 645: Spring 2011 (with Dr. Gaj), Spring 2010 (with Dr. Gaj), Spring 2009 (with Dr. Gaj), Spring 2008 (with Dr. Hwang),
ECE 545: Fall 2011 (with Dr. Gaj), Fall 2010 (with Dr. Gaj), Fall 2009 (with Dr. Gaj), Fall 2008 (with Dr. Hwang)
ECE 448: Spring 2011 (with Dr. Gaj), Spring 2010 (with Dr. Gaj), Spring 2009 (with Dr. Gaj)
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 2011
Final Exam from Spring
2010 - Solutions:
Final Exam from Spring 2009
Midterm Exam 2 from Spring 2007
Midterm Exam 2 from Spring 2006
Midterm Exam 2 from Spring 2005