Introduction to Hardware Design

This repository is for a NYU class on introduction to hardware design tailored for students with no prior hardware experience. Through practical labs, students will learn to:

  • Identify computationally demanding tasks suitable for hardware acceleration.
  • Design efficient hardware and software accelerators using state-of-the-art Vitis HLS
  • Simulate and evaluate accelerators with in Vivado and python
  • Integrate accelerators in processor-based systems
  • Deploy projects onto FPGA boards with PYNQ-based python interfaces

While the course website is designed for NYU students, the material is open to all.

Pynq-Z2 board

Image source: AMD University Program – PYNQ-Z2 Board

Pre-Requisites and Target Audience

This course is designed with the idea that anyone with a standard background in software can learn hardware with the right methodology. Anyone can tap into the amazing performance that custom hardware can offer.

Hardware acceleration enables dramatically faster computation in myriad areas including machine learning, signal processing, scientific computation, and robotics to name a few. It is our hope that the material will be of value to students and engineers for any discipline that hardware can help.

Target Platforms and Hardware Required

You can perform most of the class with free versions of software only. However, we also provide instructions on deploying the hardware on one of two FPGA platforms:

  • PYNQ-Z2: A low-cost, easy-to-use board ideal for teaching. We are considering using this platform for the introductory hardware design class at NYU.
  • RFSoC 4x2: A more powerful, but still relatively low-cost, board for specifically design wireless communications with high-speeds ADCs.

People

The material is developed by:

Both Sundeep and Siddharth are Professors in the NYU ECE department.

Work in Progress

The site is still under construction and we have just added a few items. Long-term I am hoping to add a lot more demos as well as class material like lecture notes and problems.

Feedback

We would love to get your feedback – positive or negative. Feel free to email me, or better yet, send me a Pull Request.

Support

The development of this course is supported in part by the NSF award, NRT: Chips for All: Empowering Researchers from Diverse Disciplines to Design Hardware, a project led by PI Siddharth Garg. .


Table of contents


This site uses Just the Docs, a documentation theme for Jekyll.