Introduction to FPGA Design for Embedded Systems
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Introduction to FPGA Design for Embedded Systems
This course is part of FPGA Design for Embedded Systems Specialization
Instructor: Timothy Scherr
94,614 already enrolled
Included with
Learn more
Ask Coursera
1,200 reviews
1,200 reviews
What you'll learn
Describe what an FPGA is and how this technology was developed
Determine how to select the best FPGA architecture for a given application
Use state of the art software tools for FPGA development and solve critical digital design problems using FPGAs
Skills you'll gain
- Digital Design
- Development Environment
- Embedded Systems
- Schematic Diagrams
- System Design and Implementation
- System Configuration
- Microarchitecture
- Verification And Validation
- Electronic Systems
- Performance Tuning
- Hardware Architecture
- Application Specific Integrated Circuits
- Electronics Engineering
- Electrical and Computer Engineering
- Hardware Design
- Simulation and Simulation Software
Tools you'll learn
Details to know
5 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 4 modules in this course
This course can also be taken for academic credit as ECEA 5360, part of CU Boulderβs Master of Science in Electrical Engineering degree.
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. 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. This course includes specific hardware and software requirements. Please review the FAQ below for complete details.
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.
What's included
9 videos7 readings1 assignment1 peer review2 discussion prompts
9 videosβ’Total 46 minutes
- Course Introductionβ’2 minutes
- Course Overviewβ’6 minutes
- 1. Welcome to the world of programmable logic and FPGA designβ’2 minutes
- 2. A Brief History of Programmable Logicβ’10 minutes
- 3. CPLD Architectureβ’5 minutes
- 4. LUTs and FPGA Architectureβ’9 minutes
- 5. LUTs for Logic Designβ’3 minutes
- 6. Designing Addersβ’6 minutes
- 7. Designing Multipliersβ’3 minutes
7 readingsβ’Total 131 minutes
- Course Updates and Accessibility Supportβ’1 minute
- Non-Credit Students: Welcome and Where to Find Helpβ’10 minutes
- About This Courseβ’10 minutes
- Introduction to FPGA Design for Embedded Systems Assessment Strategyβ’10 minutes
- Hardware & Software Requirementsβ’10 minutes
- Week 1 Suggested Readingsβ’80 minutes
- Week 2 Assignment Instructions and Filesβ’10 minutes
1 assignmentβ’Total 30 minutes
- Mission 002: Week 1 Quizβ’30 minutes
1 peer reviewβ’Total 60 minutes
- Mission 001: Week 1 Application Assignmentβ’60 minutes
2 discussion promptsβ’Total 20 minutes
- Introduce Yourselfβ’10 minutes
- Look-up Tables vs. Gatesβ’10 minutes
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.
What's included
10 videos2 readings2 assignments1 peer review
10 videosβ’Total 118 minutes
- 1. The FPGA Design Flowβ’4 minutes
- 3. Installing Quartus Primeβ’3 minutes
- 4. Introducing Quartus Primeβ’11 minutes
- 5. Create a design project in Quartus Primeβ’7 minutes
- 6. Create a design in Quartus Primeβ’14 minutes
- 7. Compile a Designβ’18 minutes
- 8. View the RTLβ’17 minutes
- 9. Timing Analysis with Time Quest Iβ’10 minutes
- 10. Timing Analysis with Time Quest IIβ’16 minutes
- 11. Simulate a design with ModelSimβ’18 minutes
2 readingsβ’Total 25 minutes
- Week 2 Suggested Readingsβ’20 minutes
- Week 2 Required Reading and File Installationβ’5 minutes
2 assignmentsβ’Total 60 minutes
- Mission 003 : Practice Opportunityβ’30 minutes
- Mission 005: Week 2 Quizβ’30 minutes
1 peer reviewβ’Total 60 minutes
- Mission 004: Week 2 Application Assignmentβ’60 minutes
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.
What's included
8 videos2 readings1 assignment2 discussion prompts
8 videosβ’Total 80 minutes
- 1. Many types of FPGAsβ’5 minutes
- 2. Xilinx CPLD Architectureβ’7 minutes
- 3. Xilinx Small FPGAsβ’8 minutes
- 4. Xilinx Large FPGAsβ’12 minutes
- 5. Altera CPLDs and Small FPGAsβ’8 minutes
- 6. Altera Large FPGAsβ’10 minutes
- 7. Microsemi Single-chip FPGA solutionsβ’14 minutes
- 8. Lattice Single-Chip FPGA solutionsβ’15 minutes
2 readingsβ’Total 90 minutes
- Week 3 Suggested Readingsβ’80 minutes
- Week 4 Assignment Instructions and Filesβ’10 minutes
1 assignmentβ’Total 30 minutes
- Mission 006: Week 3 Quizβ’30 minutes
2 discussion promptsβ’Total 20 minutes
- Intel/Altera MAX10β’10 minutes
- FLASH Configuration Memory in Microsemi FPGAsβ’10 minutes
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.
What's included
10 videos1 reading1 assignment1 peer review1 discussion prompt
10 videosβ’Total 180 minutes
- 1. FPGA Design Expertiseβ’5 minutes
- 2. Advanced Schematic Entry for FPGA Design- Drawing and Hierarchyβ’27 minutes
- 3. Improving Productivity with IP Blocksβ’25 minutes
- 4. Improving Timing with Pipeliningβ’18 minutes
- 5. FPGA IO: Getting In and Getting Outβ’8 minutes
- 6. Pin Assignments: Making them Spot On!β’21 minutes
- 7. Programming the FPGAβ’10 minutes
- 8. Becoming one with Q: Qsys System Designβ’21 minutes
- 9.a Becoming one with Q Part II: Qsys System Design Finishing Touchesβ’26 minutes
- 9.b Becoming one with Q Part III: Qsys System Design Finishing Touchesβ’19 minutes
1 readingβ’Total 70 minutes
- Week 4 Suggested Readingsβ’70 minutes
1 assignmentβ’Total 30 minutes
- Mission 008: Week 4 Quizβ’30 minutes
1 peer reviewβ’Total 60 minutes
- Mission 007: Week 4 Application Assignmentβ’60 minutes
1 discussion promptβ’Total 10 minutes
- Pipelines and IP blocksβ’10 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.ΒΉ
Instructor
Offered by
Explore more from Electrical Engineering
- U
University of Colorado Boulder
Specialization
Status: Free TrialCategory: Credit offered - U
University of Colorado Boulder
Course
Status: Free TrialCategory: Credit offered - P
Politecnico di Milano
Course
Category: Credit offered - U
University of Colorado Boulder
Course
Status: Free TrialCategory: Credit offered
Why people choose Coursera for their career
Learner reviews
- 5 stars
71.57%
- 4 stars
20.03%
- 3 stars
4.82%
- 2 stars
1.49%
- 1 star
2.07%
Showing 3 of 1200
Reviewed on May 4, 2020
The course was exceptional with very structured and organized way of delivering content to the students. A must do course for all FPGA beginner's.
Reviewed on Aug 11, 2020
Some procedures through the tutorials in the course are told without explanation, why we use this or why we do that.But overall this is an amazing course, and I learned a lot from it. Thank you all β€οΈ
Reviewed on Jul 4, 2020
Bit harder course, but after finishing it, will surely improve knowledge on FPGA. Have few bugs on graded submission part. Overall great experience.
Frequently asked questions
System Requirements
β Computer capable of running the required FPGA development tools
β Supported operating systems
β Windows 10 or 11
β Recent Linux OS (for example RHEL 6.5, CentOS 6.5 or later), either native or in a virtual machine under Windows 8 or 10
β At least 8 GB of RAM
β At least 20 GB of free disk space to download and install Quartus Prime Lite 16.1, ModelSim 16.1, programmer tools, and course project files
Hardware Requirements
For this course in the specialization a hardware board is not required. However, for the fourth and final course, ECEA 5363 FPGA Capstone: Building FPGA Projects, the DE10-Lite board is required.
Recommended Hardware Board
β Terasic DE10-Lite
β Terasic DE10-Lite product page (Academic price ~$82)
Software Requirements
Ability to install the following FPGA development tools provided in the course (Windows versions):
β Quartus Prime Lite Edition 16.1
β ModelSim Intel FPGA Edition 16.1
β Quartus Programmer and device support files (MAX 10 and Cyclone device families)
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
