Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Eduardo Corpeño and Marissa Siliezar

It's time to get your hands on an actual FPGA.

In this second part of the FPGA Embedded Design series, we'll get our hands on an actual FPGA to bring our designs to life.

We'll use an FPGA development board from Terasic. We'll program a Cyclone V FPGA from Altera/Intel, using their development suite Quartus Prime.

This course consists of two main parts:

Read more

It's time to get your hands on an actual FPGA.

In this second part of the FPGA Embedded Design series, we'll get our hands on an actual FPGA to bring our designs to life.

We'll use an FPGA development board from Terasic. We'll program a Cyclone V FPGA from Altera/Intel, using their development suite Quartus Prime.

This course consists of two main parts:

  1. Foundations of FPGAs, where we'll cover the essentials of FPGAs, how they work, what they can and cannot do.

  2. Hands-On Training, where we'll design some simple hardware and download it into an FPGA development board. No purchases are required for this second part, but it sure helps to have your own board to follow along, and keep on tinkering in the future with this new superpower.

What are you waiting for? Let's have some fun.  

Enroll now

What's inside

Learning objectives

  • Build an fpga embedded solution from the ground up using altera/intel fpgas and software.
  • Apply your verilog knowledge to real applications with fpgas.

Syllabus

Introduction
Course Structure
Instructor Introduction
Motivation: Hardware Design
Read more

If you'd like to try this project, please feel free to download it. It's attached to this lecture as a zip file.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses the Cyclone V FPGA from Altera/Intel, which is a common industry choice for embedded systems and hardware acceleration
Hands-on training involves designing simple hardware and downloading it into an FPGA development board, providing practical experience
Covers the essentials of FPGAs, including how they work and their capabilities, which builds a strong foundation for beginners
Requires the use of Quartus Prime, which may require a license or specific version to be compatible with the course materials
Uses the DE0-CV board by Altera, and learners may need to acquire this specific hardware to fully participate in the hands-on exercises

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on fpga training with quartus

According to learners, this course offers practical, hands-on experience with FPGAs using the Altera/Intel DE0-CV board and Quartus Prime software. Students praise the clear explanations and the opportunity to apply Verilog knowledge directly to hardware. Many find the course provides a solid foundation for embedded design with FPGAs. While setup challenges with Quartus Prime installation and the need for specific hardware are noted as potential hurdles, the core content and practical application are widely seen as highly beneficial, making it a valuable resource for those looking to move from simulation to physical implementation.
Learn specific Altera/Intel tools.
"Focuses specifically on the Quartus Prime environment and Altera/Intel FPGAs."
"Provides a good introduction to using Quartus Prime for the FPGA workflow."
"Learned the basics of the Quartus Prime compiler and programming tools."
"Covers the DE0-CV board and its interaction with Quartus Prime well."
Leverages prior Verilog knowledge.
"This course effectively applies the Verilog concepts learned in Part 1 to real hardware."
"Good continuation from the first part of the series, building on HDL basics."
"Assumes you have a grasp of Verilog before diving into the hardware implementation."
"It's essential to have completed Part 1 or have equivalent Verilog experience."
Board is highly recommended.
"Having the DE0-CV board makes a huge difference in following along and practicing."
"While technically no purchase is required, I strongly recommend getting the board to truly benefit from the hands-on parts."
"Be aware you'll likely want to buy a specific board for this part of the series."
"The course focuses on the DE0-CV, so plan for that specific hardware if you want the full experience."
Concepts are explained well.
"The instructor explained complex FPGA concepts in a way that was easy to understand."
"Lectures covered the essentials of FPGAs very clearly."
"I found the explanations on how FPGAs work and what's inside them very clear and insightful."
"Good breakdown of the FPGA development process steps."
Get valuable practical experience.
"Getting my hands on an actual board and seeing my Verilog code run was incredibly rewarding."
"The hands-on projects were the most valuable part, they really solidified the concepts taught."
"I appreciate the practical approach, designing simple hardware and loading it onto the DE0-CV board."
"Finally building and programming an FPGA was a great practical exercise."
"The course lives up to its promise of hands-on training, which is essential for FPGAs."
Quartus Prime can be tricky to install.
"Installing Quartus Prime was a bit challenging, the software is large and takes time."
"Encountered some issues getting Quartus Prime set up correctly on my machine."
"The segment on installing Quartus Prime and getting the template was helpful, but the process itself is cumbersome."
"Software setup is the main hurdle, not specific to the course, but part of the learning curve."

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 Embedded Design, Part 2 - Basic FPGA Training with these activities:
Review Digital Logic Fundamentals
Strengthen your understanding of digital logic concepts. This will provide a solid foundation for understanding how FPGAs implement logic functions.
Browse courses on Digital Logic
Show steps
  • Review textbooks or online resources on digital logic design.
  • Practice solving problems related to logic gates and Boolean algebra.
  • Familiarize yourself with common combinational and sequential logic circuits.
Read 'FPGA Prototyping by Verilog Examples'
Gain practical experience with Verilog and FPGA prototyping. This book provides numerous examples that you can adapt and implement on your FPGA board.
Show steps
  • Read the introductory chapters to understand the basics of FPGA prototyping.
  • Work through the examples in the book, implementing them on your DE0-CV board.
  • Experiment with modifying the examples to explore different design options.
Implement Basic Verilog Modules
Reinforce your Verilog skills by implementing common digital circuits. This will improve your ability to translate design specifications into Verilog code.
Show steps
  • Write Verilog code for basic modules like adders, multipliers, and registers.
  • Simulate your modules using a simulator like ModelSim to verify their functionality.
  • Synthesize your modules using Quartus Prime to estimate resource utilization and timing.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your FPGA Projects
Improve your understanding by documenting your design choices and implementation details. This will also help you communicate your work to others.
Show steps
  • Create a document for each FPGA project you work on.
  • Describe the project's functionality, design choices, and implementation details.
  • Include diagrams and code snippets to illustrate your design.
Design a Simple Soft Processor
Apply your knowledge to design a basic soft processor on the FPGA. This will give you a deeper understanding of how processors are implemented in hardware.
Show steps
  • Research different soft processor architectures, such as MicroBlaze or Nios II.
  • Choose a simple instruction set and design the processor's datapath and control logic.
  • Implement the processor in Verilog and synthesize it for your DE0-CV board.
  • Write a simple program to run on your soft processor.
Read 'Rapid Prototyping of Digital Systems'
Learn about advanced FPGA design techniques and methodologies. This book covers topics such as high-level synthesis and design space exploration.
Show steps
  • Read the chapters on advanced FPGA design techniques.
  • Experiment with the techniques discussed in the book on your own projects.
Contribute to an Open-Source FPGA Project
Gain real-world experience by contributing to an open-source FPGA project. This will expose you to different design styles and collaboration workflows.
Show steps
  • Find an open-source FPGA project that interests you.
  • Study the project's codebase and documentation.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.

Career center

Learners who complete FPGA Embedded Design, Part 2 - Basic FPGA Training will develop knowledge and skills that may be useful to these careers:
FPGA Engineer
The role of an FPGA Engineer is to design, develop, and test digital circuits using Field Programmable Gate Arrays, and this course is directly relevant to that. This course covers the essentials of FPGAs, their architecture, and how to program them. With the hands-on training in this course you will learn to implement designs on an Altera/Intel Cyclone V FPGA using Quartus Prime, which are essential skills for any FPGA engineer. The course also gives a solid foundation on programming, compilation, and hardware implementation of designs. This course provides a very strong starting point for anyone wishing to become an FPGA engineer because of its focus on real application development.
Digital Design Engineer
Digital design engineers are responsible for the design and implementation of digital circuits, and this course is directly relevant to that. This course covers the essentials of FPGAs, their architecture, and how to program them. With the hands-on training in this course, you will learn to implement designs on an Altera/Intel Cyclone V FPGA using Quartus Prime, which are skills that are crucial for any digital design engineer. The course also covers the design flow, including compilation, analysis, and programming of the hardware. This course will help build a solid foundation for anyone who wants to become a digital design engineer.
Hardware Engineer
As a hardware engineer, you'll design and develop physical components and systems, and this course provides hands-on experience using Field Programmable Gate Arrays (FPGAs), a critical tool in hardware design. The course specifically uses Altera/Intel FPGAs and the Quartus Prime development suite. By learning how FPGAs work, how to program them, and how to implement hardware designs, you will gain a concrete understanding of digital logic that is essential in this role. This course emphasizes practical application using a development board, creating designs from the ground up, and programming an FPGA yourself. It is particularly useful for those entering this career, which often involves working closely with FPGA devices.
Embedded Systems Engineer
Embedded systems engineers design, develop, and maintain the hardware and software that goes into embedded devices, and this course provides critical hands-on experience with FPGA technology, one of the building blocks for many embedded systems. This course introduces you to the world of FPGAs, how they work, how they're programmed using a development board and an Intel/Altera software suite. Through this practical approach, you will gain a deep understanding of hardware implementation and digital design, and you'll be more prepared to explore and develop embedded systems that rely on these technologies. This course can be particularly beneficial for anyone looking to enter embedded systems because it covers both introductory theory and hands-on design.
Firmware Engineer
Firmware engineers develop the low-level software that controls hardware, and this course provides a vital understanding of the hardware itself, specifically FPGAs. This course delves into the fundamentals of FPGAs, how they function, and how they can be programmed, which is important for anyone who will be working closely with hardware. By going through hands-on exercises that use a development board and the Intel/Altera Quartus Prime software, you'll understand the design flow and gain a practical idea of how hardware operates. Taking this course will be very useful for those interested in firmware because of the understanding of the hardware that it provides. This also provides an understanding of the hardware level that underly the firmware.
Robotics Engineer
Robotics engineers design, build and test robots. FPGAs are often used in robotics for real-time control and processing, and this course provides hands-on experience with them. This course teaches the fundamentals of FPGA operation and programming using Altera/Intel tools. By creating hardware designs and implementing them on a physical board, you will gain a deeper understanding of how to create digital systems that are necessary for robotics applications. This course may be particularly useful for engineers looking to specialize in the hardware aspects of robotics.
Computer Engineer
Computer engineers design and develop computer hardware and software, and this course provides valuable experience working with FPGAs, a programmable hardware component. This course will introduce you to the building blocks of FPGAs and provide hands-on experience designing and implementing circuits via a development board and using the Altera/Intel Quartus Prime suite. By mastering FPGA programming and design, you will be better equipped to work at the hardware level. This course may be useful for any budding computer engineer because of the insights it provides at this level.
Verification Engineer
Verification engineers ensure the correctness and reliability of hardware designs, and this course can assist by providing a deeper understanding of the hardware implementation. The course dives into the fundamentals of FPGAs, how they function, and how they can be programmed using Altera/Intel tools. By creating hardware designs and implementing them on a physical board, you will gain a deeper understanding of how digital systems are built and how they work. This course can be helpful for verification engineers because it gives a practical perspective on the designs they test.
Electrical Engineer
Electrical engineers design, develop, and test electrical devices and systems, and this course gives you hands-on experience with FPGAs that are important in modern electronics. This course covers the fundamentals of FPGAs, how they function, and how to program them using Altera/Intel software. By working with a development board and implementing your own hardware designs, you'll gain a better understanding of digital circuits and how they can be customized with FPGAs, and this may help your career. This course may be helpful for electrical engineers who work with digital systems as it provides practical experience with this type of component.
Test Engineer
Test engineers develop and execute tests for hardware and software, and this course gives an understanding of the inner workings of FPGAs that are very useful in the testing process. This course teaches the fundamentals of FPGA architecture and programming using Altera/Intel tools. By designing and implementing circuits on a hardware board, you can gain the ability to understand designs and test parameters. This course may be useful for test engineers to have this kind of practical experience.
Systems Architect
Systems architects design complex systems, and understanding underlying hardware like FPGAs provides valuable insight, which this course provides. This course explains the basics of FPGA architecture, how they're programmed, and how hardware designs are implemented. This foundation, gained via a development board and an Intel/Altera software suite, can be crucial when making decisions on how systems should be built. A systems architect needs this kind of understanding to successfully design systems that rely on hardware. This course may be useful for systems architects who interact with hardware components.
Applications Engineer
Applications engineers provide technical support and create solutions using a company's products, and this course may be useful for an applications engineer working with FPGAs. This course covers the basics of FPGA operation and programming using Altera/Intel tools. By creating designs and implementing them on a physical board, you will gain the practical experience required to troubleshoot and implement solutions based on them. This hands-on experience with FPGA technology may be helpful to understand product specifications and how they work internally.
Research Scientist
Research scientists often work on cutting-edge technologies, and this course may be useful for any such scientist working in the digital hardware space or with FPGAs. This course introduces the basics of FPGAs and how they’re programmed using the Altera/Intel toolchain. With the hands-on experience provided, you can learn how to build circuits and implement them. This course may be helpful for research scientists who want to understand the practical aspects of digital hardware.
Technical Writer
Technical writers create documentation for complex technical topics, and this course provides a practical understanding of FPGA technology that may help one to write about this topic. By learning the fundamentals of FPGAs, their architecture, and how they're programmed with a physical board and the Altera/Intel software, a technical writer will gain the necessary hands-on experience to write more effectively. This course may be helpful for those who may need to write about FPGA systems, or any field that uses them.
Product Manager
Product managers oversee the development and marketing of products, and this course can provide useful technical insight into FPGA technology. This course covers the core concepts of FPGA devices, how they are programmed using tools from vendors like Altera and Intel, and hands-on practices with a development board. This approach may be helpful for product managers who need a deeper understanding of the technology they are overseeing. This may assist product managers with strategy and roadmap decisions.

Reading list

We've selected two 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 Embedded Design, Part 2 - Basic FPGA Training.
Provides practical examples of FPGA design using Verilog, which is essential for this course. It covers various design techniques and implementation details relevant to FPGA development. The book serves as a valuable reference for understanding how to translate Verilog code into hardware implementations on FPGAs. It offers a hands-on approach to learning FPGA design, complementing the theoretical concepts covered in the course.
Provides a comprehensive overview of digital system design and prototyping using FPGAs. It covers various aspects of FPGA development, including hardware description languages, synthesis, and implementation. The book is particularly useful for understanding the design flow and optimization techniques for FPGA-based systems. It offers a practical approach to learning FPGA design, complementing the theoretical concepts covered in the course and providing additional depth.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser