|Time and location:||Thursday, 7:20-10:00 PM, Aquia Building, room 219|
|Email:||kgaj (at) gmu.edu|
|Office hours:||Monday 3:00-4:00 PM, Wednesday 3:00-4:00 PM, Thursday 6:00-7:00 PM, and by appointment|
|Co-Instructor:||Malik Umar Sharif|
|Email:||malik.umar.sharif (at) gmail.com|
|Office hours:||Monday 12:00-1:00 PM, Wednesday 4:00-5:00 PM, Thursday 5:00-7:00 PM, and by appointment|
511 and ECE
545, or equivalent; knowledge of C and VHDL at the
intermediate level or beyond
L.H. Crockett, R.A. Elliot, M.A. Enderwitz, and R.W. Stewart, The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, University of Strathlyde, Glasgow, UK, PDF copy available for free at http://www.zynqbook.com.
L.H. Crockett, R.A. Elliot, M.A. Enderwitz, and R.W. Stewart, The Zynq Book Tutorials, University of Strathlyde, Glasgow, UK, available for free at http://www.zynqbook.com/downloads.php.
P.R. Schaumont, A Practical Introduction to Hardware/Software Codesign, 2nd Ed, Springer, 2012, available for free for GMU students at Springer Link, http://link.springer.com.mutex.gmu.edu.
P.P. Chu, Embedded SoPC Design with Nios II Processor and VHDL Examples, 1st Ed., Wiley, 2011.
Inc. ZYBO Zynq™-7000 Development Board,
distributed for free at the beginning of the semester,
and collected at the end of the semester.
Course Outline (subject to possible modifications):
Lecture 10 - Linux on Zynq. [pdf]
Lecture 9 - High-Level Synthesis. Part 1. [ppt, pdf]
Lecture 8 - Integrated Logic Analyzer & Profiling. [ppt, pdf]
Lecture 7 - Efficient Communication Between Hardware Accelerators and PS. [ppt, pdf]
Lecture 6 - Using DMA & AXI4-Stream. [ppt, pdf]
Lecture 5 - AXI Interfacing. IP Creation. [ppt, pdf]
Lecture 4 - Interrupts. AXI GPIO and AXI Timer. [ppt, pdf]
Lecture 3 - General Purpose Input Output, GPIO [ppt, pdf]
Lecture 2 - ZYNQ Design Flow [ppt, pdf]
Lecture 1 - Introduction to ZYNQ [ppt, pdf]
Lecture 0 - Objectives, Scope, and Organization [ppt, pdf]
gradually before a given lecture.
Class Exercise Tutorials
Tutorial 4: A Simple AXI-Stream Example Using HLS example_c_code.c
Tutorial 3: Timing Analysis in Vivado
Tutorial 2: Working with MIO LEDs and Pushbuttons led_btns_ps.c
Tutorial 1: Getting the LEDs to flash
Homework Assignment 4 - Hardware Accelerator for Matrix Multiplication using Vivado HLS - due Sunday, 05/10, 11:59 PM
Homework Assignment 3 Revised and Extended - Hardware Accelerator for Matrix Multiplication - due Thursday, 04/08, 5:00 PM
Homework Assignment 2 - Using Button and Hardware Timer Interrupts - due Thursday, 02/19, 5:00 PM
Homework Assignment 1 - Using LEDs, Buttons, and Switches - due Thursday, 02/12, 5:00 PM
All exercises and assignments can be done
individually or in a group of two students (group homework
assignments will involve a larger number of tasks and/or more
Class exercises that are not completed during the class time are expected to be finished at home.
Homework assignments are expected to be completed outside of the lecture time. Homework deliverables must be submitted on Blackboard by the specified deadline, and the required operation of the ZYNQ-based system and/or tools demonstrated to Umar during his office hours on Thursday, 5:00-7:00pm (or after the class the latest). If any of these two conditions is not met, the assignment will be considered one-week late, and penalized with 33% of points. No submissions will be accepted more than one week after its respective deadline. Honor code will be strictly enforced.
|Class Activity||up to 5%
of bonus points