Skip to Content
Home /  Courses And Programs / Digital Design using FPGA

Field Programmable Gate Array (FPGA)

An integrated circuit designed to be programmed for specific use post manufacturing. Digital design using FPGAs is a very important activity in industries because the cost of an FPGA design is much lower than that of an ASIC design. Also, the time-to-market is much faster. To design a digital system using the FPGA, the designers should understand the architectures of the FPGA, as well the CAD tools that comes along with it. In this course, we will study in detail, a major FPGAs architecture from Xilinx (Virtex7, Spartan7 and UltraScale). Various digital blocks such as combinational logic, sequential logic, finite state machines, RAM, DSP, and a microprocessor (MicroBlaze) are built by exploiting the architectures of the FPGAs. At the end of the course, the students can design systems and IP exploiting FPGA architecture using Xilinx Vivado, Xilinx Vitis and Xilinx Vitis HLS tool chains.

Course Highlights:

  • FPGA Introduction
  • Combinational Logic Design
  • Sequential logic design
  • Finite State Machine I
  • Finite State Machine II
  • Distributed and Block RAMS
  • DSP
  • MicroBlaze
  • High Level Synthesis I
  • High Level Synthesis II

Course Learning Outcomes:

  • Explain Xilinx FPGA architecture and compare with various FPGA architectures that are available in the market.
  • Implement a digital design in Verilog exploiting FPGA architecture and implement a working solution on a FPGA board
  • Comprehension of the timing and area report produced by the FPGA tools
  • Improve area and timing by changing the Verilog code/Vivado tools options
  • Visualize hardware in Verilog code

Hardware: Students need to purchase a Basic Boolean Board available through Real Digital or any other reputable electronics dealer.

Course Typically Offered: Online via Live Zoom meetings in Summer and Winter quarters.

Prerequisite: ECE-40301 SystemVerilog for Design & Verification or equivalent knowledge and experience.

Next Step: After completing this course, consider taking other course in our Embedded Systems Engineering program.

Contact: For more information about this course, please email unexengr@ucsd.edu.

Course Number: ECE-40854
Credit: 3.00 unit(s)