Kris Gaj
e-mail: kgaj (at) gmu.edu
Please start a subject of your e-mail from "ECE 448:"
Javad Bahrami
e-mail: jbahrami (at) masonlive.gmu.edu
Please start a subject of your e-mail from "ECE 448:"
Javad Bahrami:
- By appointment, Zoom
Kris Gaj:
Please send an e-mail request or private Piazza request, including the day and time slot suitable for you.
- By appointment, Zoom
Lab assignments: 40% Lab exercises: 4% Midterm exam for the lab: 15% Homework: 6% Midterm exam for the lecture: 10% Final exam: 25% Class & Piazza activity: 5% bonus
Pong P. Chu, FPGA Prototyping by VHDL Examples: Xilinx MicroBlaze MCS SoC , Wiley, 2017, 2nd edition, ISBN-13: 978-1119282747.
- Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, McGraw-Hill, 2008 © 3rd edition.
- Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, Wiley-IEEE Press, 2006.
- Ricardo Jasinski, Effective Coding with VHDL: Principles and Best Practice, The MIT Press, 2016 © 1st edition.
Typical Final Exam Problems. Remaining Deadlines. Special Grades.
Lecture 26 - RTL Design Methodology - Exercise.
Lecture 25 - Video Cores. [pptx, pdf]
Announcements - April 21, 2021
Lecture 24 - The FPro Video Subsystem: On-Screen Display (OSD) Core and Its Driver. [pptx, pdf]
Lecture 23 - The FPro Video Subsystem: VGA Display & Frame Buffer Core. [pptx, pdf]
Lecture 22 - Timing Analysis. [pptx, pdf]
- Timing Analysis: Class_Exercise 1 (with solutions)
- Timing Analysis: Class_Exercise 2
- Timing Analysis: Class_Exercise 2 - solutions
Lecture 21 - Software/Hardware Co-design Using the FPro System. Part 3: Dual-Port Block Memory, Driver of the Sorting Core, and the Main Application [pptx, pdf]
Lecture 20 - Software/Hardware Co-design Using the FPro System. Part 2: I/O Register Map & a Wrapper of the Sorting Core. [pptx, pdf]
Lecture 19 - Software/Hardware Co-design Using the FPro System. Part 1: Sorting Core. [pptx, pdf]
Lecture 18 - I/O Register Map of an MMIO Core. Address Decoding. [pptx, pdf]
Lecture 17 - Developing User MMIO Cores & Drivers. [pptx, pdf]
Lecture 16 - The LED-MUX Core & Its Instantiation in the Code of the Sampler FPro System. [pptx, pdf]
Lecture 15 - Drivers of the LED-MUX Core & Debouncing Core. [pptx, pdf]
Lecture 14 - Bare Metal System Software Development. [pptx, pdf]
- C++ What are Classes and Objects?
- C++ Classes and Objects
- C++ Class Methods
- C++ Constructors
- C++ Access Specifiers
- C++ Encapsulation
- C++ Enumeration
Lecture 13 - Introduction to the FPro System. [pptx, pdf]
Lecture 12 - Programmable Logic Memories. [pptx, pdf]
- Vivado Design Suite User Guide: Synthesis
- 7 Series FPGAs Memory Resources: User Guide
- 7 Series FPGAs Configurable Logic Block: User Guide
Lecture 11 - RTL Design Methodology. [pptx, pdf]
Lecture 10 - ASM Charts: Timing Diagrams & VHDL Code - Part 2. [pptx, pdf]
Lecture 9 - ASM Charts: Timing Diagrams & VHDL Code - Part 1. [pptx, pdf]
Lecture 8 - Finite State Machines. State Diagrams vs. Algorithmic State Machine (ASM) Charts. [pptx, pdf]
Lecture 7 - Modeling of Circuits with Regular Structure - Part 1. [pptx, pdf]
Lecture 6 - Sequential-Circuit Building Blocks - Part 2. [pptx, pdf]
Lecture 5 - Sequential-Circuit Building Blocks - Part 1. [pptx, pdf]
Lecture 4 - Combinational-Circuit Building Blocks - Part 2. [pptx, pdf]
Lecture 3 - Combinational-Circuit Building Blocks - Part 1. [pptx, pdf]
Lecture 2 - VHDL Refresher [pptx, pdf]
Lecture 1 - Objectives, Scope, and Organization of the Course [pptx, pdf]
Posted gradually, typically one day before a given lecture.
See Course Webpage from Spring 2020 for slides from one of the previous years.
Homework 3 - due Monday, May 3, 11:59pm (submission using Blackboard, section ECE-448-001).
Homework 3 solutions (except Task 4; mm=4)
Homework 2 - due Monday, April 26, 11:59pm (submission using Blackboard, section ECE-448-001).
Homework 2 solutions (by Robert Wallace)
Homework 1 - due Saturday, April 10, 11:59pm (submission using Blackboard, section ECE-448-001).
Homework 1 solutions (mm=10, dd=6; by Ethan Li)
- draft specification - 1 week
- revised specification approved by the instructor and the TA - 1 week
- milestone 1 - 2 weeks
- milestone 2 - 2 weeks
- final report & deliverables - 1 week.
Please submit all solutions using Blackboard.
Lab Assignment 6: The LightsOut Puzzle with the Display on a Monitor Screen
Lab Assignment 5: Using an FPro SoC with Custom Hardware Accelerators: Fast Sorting.
Lab Assignment 4: The LightsOut Puzzle Implemented Using the FPro System.
Lab Assignment 3: Finite State Machines. Bus Ticket Dispensing Machine.
Lab Assignment 2: Implementing Combinational and Sequential Logic in VHDL.
Lab Assignment 1: Developing and Using Effective Testbenches.
The specifications of lab assignments will be posted gradually here on the days when each lab assignment is introduced for the first time (typically Tuesdays).
Lab Lecture 6: Implementing the LightsOut Puzzle with the display on a monitor screen.
Lab Lecture 5: Software/Hardware Co-design Using the FPro System.
Lab Lecture 4: Developing an FPro SoC with standard & custom hardware IP cores.
Lab Lecture 1: Developing Effective Testbenches. Simulation using Xilinx Vivado Simulator.
Lab slides and examples will be posted gradually here on the days when each lab assignment is introduced for the first time (typically Tuesdays).
FREE versions can be installed on your laptops and home workstations.
- Xilinx Vivado Design Suite
- ModelSim Intel FPGA
VHDL
VHDL Instructions: Templates & Examples
Vivado Design Suite User Guide: Synthesis
The Low Carb VHDL Tutorial - by Bryan Mealy
Frequently Asked Questions And Answers about VHDL (Part 1): General from comp.lang.vhdl
Frequently Asked Questions And Answers about VHDL (Part 4): VHDL Glossary from comp.lang.vhdl
C
Top 10 C Language resources that will turn you into a better programmer
Past Lab Exams
Quizzes from Spring 2006 Quiz 1 Quiz 2 with solutions Quiz 3 Quiz 4 with solutions Quiz 5 with solutions Quizzes from Spring 2013 Quiz 1 Quiz 2, Quiz 2 solutions
Quiz 3 Quiz 3 solutions
Past Midterm Exams for the Lecture
Past Final Exams
Final Exam from Spring 2020 Exam
Final Exam from Spring 2019 Group 1 Group 2
Final Exam from Spring 2015: Part 1, Part 2
Final Exam from Spring 2014: Part 1, Part 2
Final Exam from Spring 2013: Part 1, Part 2
Solutions: Part 1, Part 2
Final Exam from Spring 2012 Final Exam Part I - Group 1 Final Exam Part I - Group 2 Final Exam Part II
Solutions: P1_1.jpg, P1_2.jpg, P2.jpg, P3_Task1_1.jpg, P3_Task1_2.jpg, P3_Task2.pdf
Final Exam from Spring 2011 Final Exam Part I - Group 1
Final Exam Part I - Group 2
Final Exam Part II Solutions: P1_Block_diagram.jpg, P2_ASM_chart.jpg, P3_PicoBlaze_program.jpg