Time:
|
Tuesday, 7:20-10:00 PM Enterprise Hall, room 275
|
Instructor:
|
|
Email:
|
kgaj@gmu.edu
|
Office hours:
|
Face-to-face: Tuesdays, 6:00-7:00 PM, or by appointment, ENGR 3225.
Using Zoom: Please send an e-mail request or private Piazza request, including your availability in the form of a list of days and time slots suitable for you. I will select one particular day and starting time of the meeting,
and I will send you the corresponding Zoom link. During the conference call, please make sure to have your camera on and the ability to share your screen.
|
|
|
TA:
|
|
Office hours:
|
For section DL1: Mondays, 5:00-6:00 PM. For section 001: Tuesdays, 5:00-6:00 PM, and by appointment.
|
Email:
|
mmohajer@gmu.edu
|
Course Description
Introduces the design of complex digital systems using hardware description languages. Teaches design methodologies which partition a system into a datapath and
controller. Focuses on synthesizable RTL VHDL code for digital circuit design using dataflow, structural, and behavioral coding styles. Introduces VHDL simulation and verification, and FPGA synthesis, placement, routing, timing analysis, and performance optimization.
Prerequisites: Graduate Standing. No official course prerequisite is required, but an undergraduate background in digital logic design is strongly
recommended.
Required Textbooks
Pong P. Chu, RTL Hardware Design Using VHDL: Coding for
Efficiency, Portability, and Scalability, Wiley-IEEE Press,
2006.
Supplementary Textbooks
Ricardo Jasinski, Effective
Coding with VHDL: Principles and Best Practice, 1st Edition, The
MIT Press, 2016.
Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer,
Parallel Programming for FPGAs: The HLS Book, 2018.
Software Packages Used in This Class
FREE versions can be installed on your laptops and home workstations.
Course Outline (subject to possible modifications):
- Organization of the Course. Introduction to FPGA Technology. Project. 08/27/2024
- Digital Logic Refresher - Combinational Logic. 09/03/2024
- Digital Logic Refresher - Sequential Logic. 09/10/2024
- RTL Design Methodology - Part A. 09/17/2024
- RTL Design Methodology - Part B. 09/24/2024
- VHDL Fundamentals. Dataflow Modeling in VHDL. 10/01/2024
- Testbenches. 10/08/2024
- VHDL Description of Basic Combinational Building Blocks. 10/15/2024
- Midterm Exam. 10/22/2024
- VHDL Description of Basic Sequential Building Blocks. Poor Design Practices & Their Remedies. 10/29/2024
- Modeling of Circuits with Regular Structure. Timing Analysis. 11/12/2024
- Solutions to the Midterm Exam. Design of Controllers - Part A. 11/19/2024
- Design of Controllers - Part B. 11/26/2024
- VHDL-2008. High-Level Synthesis. Software/Hardware Codesign. 12/03/2024
- Final Exam (7:30-10:15 PM). 12/12/2023
Project Rules
In consultation with the instructor, you will have the option to select between
- One semester-long project
- Can be done in groups of 1-2 students
- Different for each group
- Proposed by the instructor or students
- Based on the specification developed by members of the group and approved by the instructor
- Can be related to your MS Thesis, Ph.D. Dissertation, or Senior Design Project
- Can be combined with a project in ECE 646 Applied Cryptography, taught by Dr. Kaps
- Can include practical experiments performed using FPGA or FPGA SoC boards
- Best projects rewarded with bonus points
- Three smaller projects
- Done individually
- The same for all students choosing this option
- Specified by the instructor
- Each about 2-3 weeks long
- May be related to one another
- Contest for the best design
- Only fully verified designs eligible for an award
- Designs ranked in terms of speed (design with the shortest execution time ranked first).
This year's projects proposed by the instructor may involve implementing basic building blocks of
- Post-Quantum Cryptography
- Lightweight Cryptography
These projects will support standardization organizations, such as the National Institute of Standards and Technology (NIST), in the selection of new cryptographic standards.
Project Resources
Deliverables for Type 1 Projects
Detailed Block Diagrams
Reduced Complexity Block Diagrams
Examples of GMU Designs - LWC Candidates
Examples of GMU Designs - PQC Building Blocks
Examples of GMU Designs - Hash Functions
Project Recommendations
Homework
Homework 3, due Sunday, October 6, 2024, 11:59 PM
Homework 2, due Saturday, September 28, 2024, 11:59 PM
Homework 1, due Sunday, September 15, 2024, 11:59 PM
Homework assignments will be posted gradually here, at least 7 days before a given assignment is due.
Homework Rules
Please submit all solutions using Blackboard.
All solutions should be submitted in electronic form. When preparing your hand-drawn/hand-written solutions for submission, please use either a scanner app on your smartphone or an "old-fashioned" scanner (often integrated with your printer). Please do not submit photos; they are usually hard to read and take a lot of space. You can also use a tablet, such as an iPad, to directly write down and save your solutions in electronic form.
Each student can have an automatic 72-hour extension on one assignment (no questions asked) as long as the student informs the instructor in writing.
Any additional late assignments will earn a flat 20% grade deduction as long as they are completed within 7 days of the deadline.
For selected assignments, you will have an opportunity to submit a revised version of your solutions due a week after receiving your graded homework. Your final score for the assignment will be an average of your first and second scores.
Viewgraphs
Lecture 6: VHDL Fundamentals. [pdf-1, pdf-6]
Lecture 5: RTL Design Methodology - Part B. [pdf-1, pdf-6]
Lecture 4: RTL Design Methodology - Part A. [pdf-1, pdf-6]
Lecture 3: Digital Logic Refresher. Part A - Combinational Logic Building Blocks - cont., Part B - Sequential Logic Building Blocks. [pdf-1, pdf-6]
Lecture 2: Digital Logic Refresher. Part A - Combinational Logic Building Blocks. [pdf-1, pdf-6]
Lecture 1: Organization of the Course. Introduction to FPGA Technology. Project. [pdf-1, pdf-6]
Viewgraphs will be posted gradually here.
Reference Materials
VHDL
VHDL Instructions: Templates
& Examples
OpenCores
HDL Modeling Guidelines
C
Recommended Block Diagram Editors
Past Course Web Pages
ECE 545:
Fall 2023
Fall 2022
Fall 2021
Fall 2020
Fall 2019
Fall 2018
Fall 2017
ECE 448:
Spring 2023
Spring 2021
Spring 2020
Spring 2019
Spring 2018
Practice and Past Exams
2023:
2022:
2021:
2020:
2019:
2018:
Solutions to the Final Exam 2018:
2017:
|