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.

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:
- Sundeep Rangan, an expert in wireless communications and Director of NYU Wireless,
- Siddharth Garg, an expert in machine learning, cyber-security, hardware design, and, most recently, AI for chip design. He is the PI on the NSF grant NRT: Chips for All: Empowering Researchers from Diverse Disciplines to Design Hardware that supports this project.
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. .