ECE-40170
FPGA Design Fundamentals
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: Students will need an Alchitry Cu FPGA Development Board (Lattice iCE40 HX) available at Sparkfun .
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 .