Syllabus for Roster(s):

  • 19Sp ECE 4550-001 (ENGR)
  • 19Sp ECE 4550-001 (ENGR) Waitlist
  • 19Sp ECE 6502-004 (ENGR)
In the UVaCollab course site:   19Sp-FPGA-Lab

Full Syllabus

Spring 2019 FPGA Design Lab

Schedule: Thursdays 12:30pm - 1:45pm in Rice Hall 240

Instructor: Mircea R. Stan, Rice Hall 312, mircea@virginia.edu
Teaching Assistants: Vaibhav Verma (vv8dn@virginia.edu ), Rush Singamsetty (rs5yb@virginia.edu ), Yunfei Gu (yg3eb@virginia.edu)

Office hours: after each lab, or appointment based

Textbooks:
-
FPGA-Based System Design by Marilyn Wolf
- Embedded SOPC design with NIOS II processor and VHDL examples by Pong Chu
- Top-Down Digital VLSI Design by Hubert Kaeslin
High-Level Synthesis: from Algorithm to Digital Circuit edited by Philippe Coussy and‎ Adam Morawiec

Available as ebooks on Virgo:
- http://search.lib.virginia.edu/catalog/u5401297
- http://search.lib.virginia.edu/catalog/u6791315
- http://proquest.safaribooksonline.com/9780128007303
- http://search.lib.virginia.edu/catalog/u4817901

Prerequisites: Circuits, DLD, Embedded Systems

Course Objectives:

1.      Be knowledgeable of technology trends and societal needs in order to be able to design the electronic products of the future

2.      Compare different digital circuit implementation alternatives, including static CMOS, FPGAs, as well as different technology options, including Si CMOS and emerging technologies

3.      Understand hardware/software codesign where an embedded system is partitioned into hardware and software components in order to obtain a desired combination of metrics, such as power, performance, cost

4.      Learn top-down and bottom-up hardware design methodologies to the design of embedded systems

5.      Be able to communicate technical information both to experts and to the general public

Assessment of learning:

For this laboratory class you will use FPGA-based development boards (PYNQ-Z1 and DE0-NANO-SoC) that provides an efficient and flexible platform for a wide range of possible projects. You will learn about the technology, circuit details, design flow and CAD tools behind FPGAs in enough detail to be able to make trade-off decisions for your projects.

1.      Active participation

The class is highly interactive and requires full active participation before, during, and after the class time. Before each class a set of required reading activities will prepare you for the class activities. Each class will be followed by a brief survey that will require your input about what worked, what didn’t work that well and suggestions for improvement; these will be used to guide the activities in future class times.

2.      Knowledge enhancement

Science and engineering are mature fields with complex theories that build on top of a broad set of disciplines, partially reflected in the prerequisites for the class; integrating your existing knowledge from these prior classes is essential for your success in this class. Homeworks will be assigned bi-weekly and will constitute an essential part learning activity. Concepts and theories related to embedded systems, hardware-software co-design, technologies and design methodologies will be covered, and skills and methods to apply them to solve practical problems will be developed by doing the homeworks.

3.      Practical skills development

The tools and platforms used by state-of-the-art embedded systems are characterized by relatively steep learning curves. Lab assignments will be assigned bi-weekly (in alternate weeks to the homeworks) directly targeting the FPGA platform and the design tools will help you become experts in using the tools and help you design complex hardware-software systems.

Course Description (for SIS)

What are the most desirable characteristics of a digital system? What makes a computer powerful, is it its hardware or its software? What are the essential differences between a software program and programmable hardware? How can you build hardware that can adapt, and why would that be a useful feature? How do you judge a digital system: do you want the fastest, the least expensive, the smallest, the lowest power? How do you make sure that your work has impact? The goals for this class are to answer these and other related questions so that you can pursue successful technical careers by becoming lifelong learners, technical experts, great team players, eager to embrace the challenges brought by the quick changes (new technologies, new theories, new paradigms, new languages) that characterize the computer engineering field.

The laboratory assignments in the FPGA Lab are one of several required pre/corequisites for the EE and CpE Capstone projects.