This online engineering specialization will help you gain proficiency in creating prototypes or products for a variety of applications using Field Programmable Gate Arrays (FPGAs). You will cover a variety of topics, including Verilog, VHDL, and RTL design for FPGA and CPLD architectures; FPGA development tools flow; configurable embedded processors and embedded software; the use of soft-core and hard-core processors and OS options; FPGA system engineering, software-hardware integration, and testing; and IP development. You will also gain hands-on experience in building FPGA systems.

By completing this specialization, you will be able to:

  • Create in the FPGA a working system on a chip design with Nios II soft processor, RAM and FLASH memory, and several peripherals
  • Understand and practice all aspects of FPGA development, including conception, design, implementation, and debugging
  • Understand the rationale for each phase of the hardware development flow, including fitting, timing constraints, simulation, and programming
  • Apply hierarchical design methods to create bigger designs in VHDL or Verilog


  • Introduction to FPGA Design for Embedded Systems
  • Hardware Description Languages for FPGA Design
  • FPGA Softcore Processes and IP Acquisition
  • FPGA Capstone: Building FPGA Projects

This specialization can be taken for academic credit as part of CU Boulder’s Master of Science in Electrical Engineering (MS-EE) degree offered on the Coursera platform. The MS-EE is an affordable, global master's program powered by you. Learn more about the MS-EE program.

Enroll Now