FPGA Design Fundamentals
ECE-40170
Acquire FPGA skills needed in various industries
including aerospace, medical, communications, industrial control, and defense. This course explores Field Programmable Gate Array (FPGA) architectures, the Verilog Hardware Description Language (HDL), and how GNU/Linux based SoC (System on a Chip) and FPGAs work together in today's most advanced systems. Focus on real-life hands-on skills, the course focuses on the Lattice and AMD/Xilinx family of FPGAs and SoCs. You'll learn how to use the Verilog HDL to program FPGAs using tools such as Project IceStorm and the Vivado Design Suite. The course uses both simulators and popular development boards for specific case studies, including using an FPGA to blink LEDs in a given pattern, using an FPGA as a high-resolution stopwatch, and using an FPGA as a high-resolution frequency counter.
Course Highlights:
- Introduction to FPGAs
- FPGA Architecture
- FPGA Design Process
- AMD/Xilinx FPGAs
- Verilog Hardware Description Language
- Vivado Design Suite
- Red Pitaya FPGA/SoC Development Board
- GNU/Linux C and FPGA communication
Course Learning Outcomes:
- Obtain an understanding of FPGA architectures and a design flow
- Modify Verilog HDL code
- Perform FPGA synthesis and place and route using Vivado Design Suite
- Understand different AMD/Xilinx FPGAs
- Download an FPGA image to Red Pitaya FPGA/SoC hardware
- Understand now GNU/Linux C code and FPGA hardware communicate
- Create a FPGA project with minimal assistance
Hardware: T/B/D Instructor is deciding on an alternate board for this course due to high cost of current board caused by tariffs. (Mouser Electronics, Digi-Key, or redpitaya).
Course Typically Offered: Online in Winter and Summer quarters.
Optional Reading: FPGAs Instant Access - 1st. ed. by Clive Maxfield - Pub: Newnes
ISBN-13: 978-0750689748. May be purchased at technical book stores and on-line distributors, such as Amazon.
Prerequisite: The course is intended for students with educational or working knowledge of basic digital design techniques. Some understanding of VHDL or Verilog is beneficial, but not necessary.
Next Step: After completing this course, consider taking other courses in the Embedded Systems Engineering certificate program.
Contact: For more information about this course, please email unexengr@ucsd.edu.