Introduction to FPGA Design for Embedded Systems (Coursera)

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

You will learn what an FPGA is and how this technology was developed, 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. You use FPGA development tools to complete several example designs, including a custom processor. If you are thinking of a career in Electronics Design or an engineer looking at a career change, this is a great course to enhance your career opportunities.
Hardware Requirements:
You must have access to computer resources to run the development tools, a PC running either Windows 7, 8, or 10 or a recent Linux OS which must be RHEL 6.5 or CentOS Linux 6.5 or later. Either Linux OS could be run as a virtual machine under Windows 8 or 10. The tools do not run on Apple Mac computers. Whatever the OS, the computer must have at least 8 GB of RAM. Most new laptops will have this, or it may be possible to upgrade the memory.
Course 1 of 4 in the FPGA Design for Embedded Systems Specialization.

Syllabus

WEEK 1
What's this programmable logic stuff anyway? History and Architecture
What's this programmable logic stuff anyway? In Module 1 you learn about the history and architecture of programmable logic devices including Field Programmable Gate Arrays (FPGAs). You will learn how to describe the difference between an FPGA, a CPLD, an ASSP, and an ASIC, recite the historical development of programmable logic devices; and design logic circuits using LUTs. Examples will include designs of digital adders and multipliers in FPGAs.

WEEK 2
FPGA Design Tool Flow; An Example Design
In Module 2 you will install and use sophisticated FPGA design tools to create an example design. You will learn the steps in the standard FPGA design flow, how to use Intel Altera’s Quartus Prime Development Suite to create a pipelined multiplier, and how to verify the integrity of the design using the RTL Viewer and by simulation using ModelSim. Using the TimeQuest timing analyzer, you will analyze the timing of your design to achieve timing closure.

WEEK 3
FPGA Architectures: SRAM, FLASH, and Anti-fuse
FPGAs are programmable, and the program resides in a memory which determines how the logic and routing in the device is configured. In Module 3 you will learn the pros and cons of FLASH-based, SRAM-based, and Anti-Fuse based FPGAs. A survey of modern FPGA architectures will give you the tools to determine which type of FPGA is the best fit for a design. Architectures will be explored from the basic core logic cell up to consideration of large Intellectual Property (IP) blocks that are available on many FPGAs.

WEEK 4
Programmable logic design using schematic entry design tools
In module 4 you will extend and enhance your design from module 2, completing the design by adding IP blocks, implementing pin assignments and creating a programming file for the FPGA. One outcome will be improved design productivity, by use of design techniques like pipelining, and by the use of system design tools like Qsys, the system design tool in Quartus Prime. You will complete a Qsys system design by creating a NIOS II softcore processor design, which quickly gives you the powerful ability to customize a processor to meet your specific needs.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

FPGA computing systems: Partial Dynamic Reconfiguration (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: Partial Dynamic Reconfiguration (Coursera)

INTRONew application domains demand ever increasing adaptability and performance. In order to cope with changing user requirements, improvements in system features, changing protocol and data-coding standards, and demands for support of a variety of different user applications, many emerging applications in communication, computing and consumer electronics demand that their functionality stays flexible after the system has been manufactured. Reconfigurable Systems-on-a-Chips (SoCs) employing different microprocessor cores and different types of reconfigurable fabrics are one attractive solution for these domains.

Sep 7th 2026
4 Weeks
Modeling and Debugging Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Modeling and Debugging Embedded Systems (Coursera)

This is part 3 of the specialization. In this course students will learn : * About SystemC and how it can be used to create models of cyber-physical systems in order to perform "what-if" scenarios; * About Trimble Engineering's embedded systems for heavy equipment automation; * A deeper understanding of embedded systems in the Automotive and Transportation market segment; * How to debug deeply embedded systems; * About Lauterbach's TRACE32 debugging tools; * How to promote technical ideas within a company; * What can be learned from studying engineering failures.

Sep 7th 2026
4 Weeks
FPGA computing systems: A Bird’s Eye View (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: A Bird’s Eye View (Coursera)

Nowadays the complexity of computing systems is skyrocketing. Programmers have to deal with extremely powerful computing systems that take time and considerable skills to be instructed to perform at their best. It is clear that it is not feasible to rely on human intervention to tune a system: conditions change frequently, rapidly, and unpredictably. It would be desirable to have the system automatically adapt to the mutating environment.

Sep 21st 2026
4 Weeks
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Aug 31st 2026
4 Weeks
Digital Manufacturing & Design (Coursera) Coursera
University at Buffalo,The State University of New York

Digital Manufacturing & Design (Coursera)

This course will expose you to the transformation taking place, throughout the world, in the way that products are being designed and manufactured. The transformation is happening through digital manufacturing and design (DM&D) – a shift from paper-based processes to digital processes in the manufacturing industry. By the end of this course, you’ll understand what DMD is and how it is impacting careers, practices and processes in companies both large and small.

Aug 31st 2026
2 Weeks
System Validation: Automata and behavioural equivalences (Coursera) Coursera
EIT Digital

System Validation: Automata and behavioural equivalences (Coursera)

Have you ever experienced software systems failing? Websites crash, calendar not synchronising, or even a power blackout. Of course you have! But did you know that many of these errors are the result of communication errors either within a system or between systems? Depending on the system, the impact of software failures can be huge, even resulting in massive economic damage or loss of lives. Software, and in particular the communication between software-intensive systems, is very complex and very difficult to get right. However, we _need_ dependability in the systems we use, directly or indirectly, to support us in our everyday lives.

Sep 21st 2026
3 Weeks
Hardware Description Languages for FPGA Design (Coursera) Coursera
University of Colorado Boulder

Hardware Description Languages for FPGA Design (Coursera)

Hardware Description Languages for Logic Design enables 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. Simple first examples are presented, then language rules and syntax, followed by more complex examples, and then finally use of test bench simulations to verify correctness of the designs.

Sep 7th 2026
4 Weeks
Fundamentals of Digital Design for VLSI Chip Design (Coursera) Coursera
L&T EduTech

Fundamentals of Digital Design for VLSI Chip Design (Coursera)

This comprehensive learning module delves into Boolean algebra and its applications in digital circuit design, covering fundamental concepts like Boolean variables, logic gates, and their relationship with digital logic circuits. Participants explore Boolean expressions, simplification techniques, and consensus theorems, including the advanced Quine McCluskey method.

Sep 7th 2026
4 Weeks
CPS Design with ARM Core using MicroPython for Industries (Coursera) Coursera
L&T EduTech

CPS Design with ARM Core using MicroPython for Industries (Coursera)

This course equips participants with the knowledge and hands-on skills needed to design and implement ARM Processor with Micro python in Cyber-Physical Systems (CPS) for industrial and use. Covering foundational concepts and practical development with Micro python programming on ARM processors, participants will explore the Consumer Industry, Smart City Perspective of CPS, and gain expertise to design and control the evolving smart systems.

Sep 7th 2026
5-12 Weeks
FPGA computing systems: Background knowledge and introductory materials (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: Background knowledge and introductory materials (Coursera)

This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs. This adaptation can be provided by the designers, or it can be an embedded characteristic of the system itself. These runtime adaptable systems will be implemented by using FPGA technologies.

Sep 7th 2026
4 Weeks
FPGA Softcore Processors and IP Acquisition (Coursera) Coursera
University of Colorado Boulder

FPGA Softcore Processors and IP Acquisition (Coursera)

This course will introduce you to all aspects of development of Soft Processors and Intellectual Property (IP) in FPGA design. You will learn the extent of Soft Processor types and capabilities, how to make your own Soft Processor in and FPGA, including how to design the hardware and the software for a Soft Processor. You will learn how to add IP blocks and custom instructions to your Soft Processor.

Aug 31st 2026
4 Weeks