We may earn an affiliate commission when you visit our partners.
Course image
Timothy Scherr and Benjamin Spriggs

The objective of this course is to acquire proficiency with Field Programmable Gate Arrays (FPGA)s for the purpose of creating prototypes or products for a variety of applications. Although FPGA design can be a complex topic, we will introduce it so that, with a little bit of effort, the basic concepts will be easily learned, while also providing a challenge for the more experienced designer. We will explore complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD). Conception, design, implementation, and debugging skills will be practiced. We will learn specifics around embedded IP and processor cores, including tradeoffs between implementing versus acquiring IP. Projects will involve the latest software and FPGA development tools and hardware platforms to help develop a broad perspective of the capabilities of various Programmable SoC solutions. Topics include:

Read more

The objective of this course is to acquire proficiency with Field Programmable Gate Arrays (FPGA)s for the purpose of creating prototypes or products for a variety of applications. Although FPGA design can be a complex topic, we will introduce it so that, with a little bit of effort, the basic concepts will be easily learned, while also providing a challenge for the more experienced designer. We will explore complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD). Conception, design, implementation, and debugging skills will be practiced. We will learn specifics around embedded IP and processor cores, including tradeoffs between implementing versus acquiring IP. Projects will involve the latest software and FPGA development tools and hardware platforms to help develop a broad perspective of the capabilities of various Programmable SoC solutions. Topics include:

Verilog, VHDL, and RTL design for FPGA and CPLD architectures

FPGA development tools flow: specify, synthesize, simulate, compile, program and debug

Configurable embedded processors and embedded software

Use of soft-core and hard-core processors and OS options

FPGA System engineering, software-hardware integration, and testing

IP development and incorporating 3rd-party IP

The capstone course will give the learner the opportunity to practice and implement the concepts covered by building FPGA systems based on low cost evaluation boards.

Enroll now

Share

Help others find Specialization from Coursera by sharing it with your friends and followers:

What's inside

Four courses

Introduction to FPGA Design for Embedded Systems

This course introduces FPGA design for embedded systems. You will learn what an FPGA is, how to select the best FPGA architecture for a given application, how to use state of the art software tools for FPGA development, and solve critical digital design problems using FPGAs.

Hardware Description Languages for FPGA Design

(0 hours)
Hardware Description Languages for Logic Design teaches students to design circuits using VHDL and Verilog, the most widespread design methods for FPGA Design. It uses natural learning processes to make learning the languages easy.

FPGA Softcore Processors and IP Acquisition

(0 hours)
This course introduces Soft Processors and Intellectual Property (IP) in FPGA design. You will learn about Soft Processor types, how to make your own Soft Processor in an FPGA, and how to add IP blocks and custom instructions. After the Soft Processor is made, you will learn how to verify the design using simulation and an internal logic analyzer.

FPGA Capstone: Building FPGA Projects

(0 hours)
This course provides hands-on FPGA design experience, covering concepts and skills. You will need a DE10-Lite development kit. You will setup and test the MAX10 DE10-Lite board using Quartus Prime and System Builder.

Learning objectives

  • 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

Save this collection

Save FPGA Design for Embedded Systems to your list so you can find it easily later:
Save
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser