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

This course will give you hands-on FPGA design experience that uses all the concepts and skills you have developed up to now. You will need to purchase a DE10-Lite development kit. You will setup and test the MAX10 DE10-Lite board using the FPGA design tool Quartus Prime and the System Builder.

Read more

This course will give you hands-on FPGA design experience that uses all the concepts and skills you have developed up to now. You will need to purchase a DE10-Lite development kit. You will setup and test the MAX10 DE10-Lite board using the FPGA design tool Quartus Prime and the System Builder.

You will:

Design and test a Binary Coded Decimal Adder.

Design and test a PWM Circuit, with verification by simulation.

Design and test an ADC circuit, using Quartus Prime built-in tools to verify your circuit design.

Create hardware for the NIOS II soft processor, including many interfaces, using Qsys (Platform Designer). Instantiate this design into a top-level DE10-Lite HDL file.

Compile your completed hardware using Quartus Prime.

Enhance and test a working design, using most aspects of the Quartus Prime Design Flow and the NIOS II Software Build Tools (SBT) for Eclipse.

Create software for the NIOS II soft processor, including many interfaces, using Qsys (Platform Designer) and the SBT.

Compile your completed software using the SBT.

Use Quartus Prime to program both the FPGA hardware configuration and software code in you DE10-Lite development kit.

Record all your observations in a lab notebook pdf.

Submit your project files and lab notebook for grading.

This course consists of 4 modules, approximately 1 per week for 4 weeks. Each module will include an hour or less of video lectures, plus reading assignments, discussion prompts, and project assignment that involves creating hardware and/or software in the FPGA.

Enroll now

What's inside

Syllabus

Hands on: Altera MAX10 Hardware Setup
In this module you will begin your hands-on exploration of FPGA design by setting up a target board, the DE10-Lite based on the MAX10 Intel Altera FPGA. In this module you will  Setup and test the MAX10 board using the FPGA design tool Quartus Prime and the System Builder.  Design and test a Binary Coded Decimal Adder Record all your observations in a lab notebook pdf.  Submit your project files and lab notebook for grading. Completing this module will help prepare you for the work to be done in the modules that follow.
Read more
Develop a Mixed Signal System
The goal of this module is to develop a mixed-signal system. You will construct hardware that uses the Analog to Digital Converter (ADC) inputs and Pulse Width Modulate (PWM) outputs to make a voltage measuring instrument. In this module you will  Create a working design, using most aspects of the Quartus Prime Design Flow.  Design and test a PWM Circuit, with verification by simulation.  Design and test an ADC circuit, using Quartus Prime built-in tools to verify your circuit design.  Record all your observations in a lab notebook pdf.  Submit your project files and lab notebook for grading. Completing this module will help prepare you for the work to be done in the modules that follow.
Create a System on a Chip with NIOS II
The goal of this module is to develop the hardware for a System on a Chip (SoC). You will construct hardware that creates a NIOS II soft processor along with several interfaces to devices on the DE10-Lite development kit. In this module you will  Create a working design, using most aspects of the Quartus Prime Design Flow.  Create hardware for the NIOS II soft processor, including many interfaces, using Qsys (Platform Builder). Instantiate this design into a top-level DE10-Lite HDL file.  Compile your completed hardware using Quartus Prime.  Record all your observations in a lab notebook.  Submit your project files and lab notebook for grading. Completing this module will provide a platform for the work to be done in the module that follows.
Software for a System on a Chip
The goal of this module is to develop the software for a System on a Chip (SoC). You will build software for a NIOS II soft processor you built in Module 3, using several interfaces to devices on the DE10-Lite development kit as well. In this module you will  Enhance and test a working design, using most aspects of the Quartus Prime Design Flow and the NIOS II Software Build Tools (SBT) for Eclipse.  Create software for the NIOS II soft processor, including many interfaces, using Qsys (Platform Builder) and the SBT.  Compile your completed software using the SBT.  Use Quartus Prime to program both the FPGA hardware configuration and software code in you DE10-Lite development kit. You will then test your new embedded system.  Record all your observations in a lab notebook pdf.  Submit your project files and lab notebook for grading. Completing this module will finish your work for this course.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops engineering skills via hands-on design experience, leading to a strong foundation for beginners
Provides opportunities for learners to enhance and test their working designs, fostering professional growth
Examines industry-standard practices and tools, preparing learners for real-world applications
Taught by Timothy Scherr, an experienced instructor in FPGA design
Requires purchase of a DE10-Lite development kit, which may pose a financial barrier for some learners
Focuses on Altera MAX10 hardware, which may limit its relevance to learners working with other FPGA technologies

Save this course

Save FPGA Capstone: Building FPGA Projects to your list so you can find it easily later:
Save

Reviews summary

Well-received fpga course

Learners say this FPGA Capstone course is well received, with engaging practical tasks that apply knowledge learned in previous courses. Though some issues with the grading system and auto grader feedback were mentioned, learners largely enjoyed the course and found it valuable.
Course includes hands-on assignments that reinforce learning.
"Excellent integration of all the knowledge aquired in the previous courses."
"Requires knowledge of FPGA design flow (make sure to take 3 courses before this one), great practical tasks that complete the whole specialization."
Course effectively applies concepts from prior courses in the specialization.
"Excellent integration of all the knowledge aquired in the previous courses."
Course materials are not well-suited for Linux operating systems.
"if it is at all possible, use Microsoft Windows rather than Linux."
Required hardware (DE10-Lite) has become more expensive.
"The DE10-Lite is getting expensive."
Course lacks support for questions and exercises.
"In general a good course structure and content. It lacks support on question and exercises."
Feedback from the auto grader can be limited.
"the auto grader for assignments can be nonsensical and provide very limited feedback as to what you did wrong and how you can improve your grade (or learn from your mistakes)."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in FPGA Capstone: Building FPGA Projects with these activities:
Review Integrated Circuit (IC) Design
This course builds upon the basics of IC design. You will need to review the basics before taking this course to ensure your success
Browse courses on VLSI
Show steps
  • Review the basics of MOS transistors and their behavior
  • Review the different types of ICs and their applications
  • Review the basic steps involved in IC design
Read 'Digital Integrated Circuits: A Design Perspective' by Ken Martin
This book provides a comprehensive overview of digital IC design. Reading this book will help you to better understand the concepts covered in this course
Show steps
  • Read the book thoroughly
  • Take notes on the key concepts
  • Work through the practice problems
Compile your notes, assignments, quizzes, and exams
This course will build upon concepts from previous courses and you will need to refer back to materials from those courses. Compiling your notes and materials will make it easier to review them
Show steps
  • Gather your notes, assignments, quizzes, and exams from previous courses
  • Organize the materials by topic
  • Store the materials in a safe place where you can easily access them
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow tutorials on FPGA design
This course involves using FPGAs. You will need to familiarize yourself with FPGAs before taking this course by following tutorials
Browse courses on FPGA
Show steps
  • Find tutorials on FPGA design online or in textbooks
  • Follow the tutorials step-by-step
  • Build the projects described in the tutorials
Practice designing digital circuits
This course requires you to be able to design digital circuits. You can practice this skill by completing practice problems
Browse courses on Digital Logic
Show steps
  • Find practice problems online or in textbooks
  • Solve the problems on your own
  • Check your answers against the solutions
Create a blog or website about FPGA design
This course will help you to develop your skills in FPGA design. You can share your knowledge with others by creating a blog or website about FPGA design
Browse courses on FPGA
Show steps
  • Choose a topic for your blog or website
  • Write articles or create videos about FPGA design
  • Promote your blog or website on social media
Develop a new FPGA design project
This course will help you to develop your skills in FPGA design. You can apply your skills by developing a new FPGA design project
Browse courses on FPGA
Show steps
  • Brainstorm ideas for a new FPGA design project
  • Develop a plan for your project
  • Implement your project
  • Test and debug your project
  • Document your project

Career center

Learners who complete FPGA Capstone: Building FPGA Projects will develop knowledge and skills that may be useful to these careers:
FPGA Engineer
An FPGA Engineer designs and develops Field Programmable Gate Arrays (FPGAs), which are semiconductor devices that can be programmed to perform a variety of functions. This course, FPGA Capstone: Building FPGA Projects, provides hands-on FPGA design experience that uses important concepts and skills that an FPGA Engineer should know, and will help build a solid foundation for a career in this field.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware components, such as motherboards, processors, and memory. This course provides a foundation in FPGA design, which is used in many modern computer hardware components. Taking this course will help build a foundation for a successful career in Computer Hardware Engineering.
Electrical Engineer
Electrical Engineers design, develop, and test electrical systems and components. This course provides a foundation in FPGA design, which is used in many modern electrical systems and components. Taking this course will help build a foundation for a successful career in Electrical Engineering.
Software Engineer
Software Engineers design, develop, and test software applications. This course provides a foundation in FPGA design, which is used in many modern software applications. Taking this course will help build a foundation for a successful career in Software Engineering.
Electronics Engineer
Electronics Engineers design, develop, and test electronic devices and systems. This course provides a foundation in FPGA design, which is used in many modern electronic devices and systems. Taking this course will help build a foundation for a successful career in Electronics Engineering.
Systems Engineer
Systems Engineers design, develop, and test complex systems, such as computer systems, communication systems, and control systems. This course provides a foundation in FPGA design, which is used in many modern systems. Taking this course will help build a foundation for a successful career in Systems Engineering.
Computer Scientist
Computer Scientists design, develop, and test computer software and systems. This course provides a foundation in FPGA design, which is used in many modern computer software and systems. Taking this course will help build a foundation for a successful career in Computer Science.
Telecommunications Engineer
Telecommunications Engineers design, develop, and test telecommunications systems, such as telephone networks, data networks, and wireless networks. This course provides a foundation in FPGA design, which is used in many modern telecommunications systems. Taking this course may be useful for a career in Telecommunications Engineering.
Aerospace Engineer
Aerospace Engineers design, develop, and test aircraft, spacecraft, and other aerospace systems. This course provides a foundation in FPGA design, which is used in many modern aerospace systems. Taking this course may be useful for a career in Aerospace Engineering.
Robotics Engineer
Robotics Engineers design, develop, and test robots and other automated systems. This course provides a foundation in FPGA design, which is used in many modern robots and other automated systems. Taking this course may be useful for a career in Robotics Engineering.
Automotive Engineer
Automotive Engineers design, develop, and test automobiles and other vehicles. This course provides a foundation in FPGA design, which is used in many modern automobiles and other vehicles. Taking this course may be useful for a career in Automotive Engineering.
Biomedical Engineer
Biomedical Engineers design, develop, and test medical devices and systems. This course provides a foundation in FPGA design, which is used in many modern medical devices and systems. Taking this course may be useful for a career in Biomedical Engineering.
Mechatronic Engineer
Mechatronic Engineers design, develop, and test systems that combine mechanical, electrical, and computer engineering. This course provides a foundation in FPGA design, which is used in many modern mechatronic systems. Taking this course may be useful for a career in Mechatronic Engineering.
Chemical Engineer
Chemical Engineers design, develop, and test chemical processes and plants. This course provides a foundation in FPGA design, which is used in many modern chemical processes and plants. Taking this course may be useful for a career in Chemical Engineering.
Civil Engineer
Civil Engineers design, develop, and test civil infrastructure, such as bridges, buildings, and roads. This course provides a foundation in FPGA design, which is used in many modern civil infrastructure projects. Taking this course may be useful for a career in Civil Engineering.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in FPGA Capstone: Building FPGA Projects.
This textbook provides a solid foundation in digital design and computer architecture, covering topics such as logic gates, combinational circuits, sequential circuits, and computer organization.
Covers advanced topics in digital design using the Verilog HDL, including state machines, memory systems, and computer arithmetic.
Introduces SystemVerilog, a hardware verification language that is widely used in industry for designing and verifying complex digital systems.
Covers the design and implementation of embedded systems using FPGAs, including topics such as hardware-software co-design and embedded system debugging.
Provides a comprehensive overview of FPGA-based system design, covering topics such as FPGA architecture, design tools, and system optimization.
Provides a detailed reference for the Verilog Programming Language Interface (PLI), which is used to extend the capabilities of the Verilog HDL.
Provides a hands-on approach to FPGA design, covering topics such as HDL coding, simulation, and implementation.
Provides a practical guide to designing embedded systems using FPGAs, covering topics such as hardware design, software development, and system integration.
Provides a comprehensive overview of reconfigurable computing, covering topics such as FPGA architectures, design tools, and applications.
This textbook provides a comprehensive overview of digital systems design using VHDL, a hardware description language that is widely used for FPGA design.
This textbook provides a comprehensive overview of computer organization and design, covering topics such as computer architecture, instruction set architecture, and computer performance.
This textbook provides a comprehensive overview of embedded systems, covering topics such as embedded system design, embedded software development, and embedded system applications.
Provides a comprehensive overview of FPGA prototyping using Verilog examples, covering topics such as FPGA architecture, design tools, and system integration.
Provides a comprehensive overview of reconfigurable computing, covering topics such as FPGA architectures, design tools, and applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to FPGA Capstone: Building FPGA Projects.
FPGA Design and VHDL
Most relevant
FPGA Architecture Based System for Industrial Application
Most relevant
FPGA Softcore Processors and IP Acquisition
Most relevant
Expanded FPGA Training with NIOS II
Most relevant
FPGA computing systems: Partial Dynamic Reconfiguration
Most relevant
FPGA Development in VHDL: Beyond the Basics
Most relevant
Developing FPGA-accelerated cloud applications with...
Most relevant
Introduction to FPGA Design for Embedded Systems
Most relevant
Hardware Description Languages for FPGA Design
Most relevant
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