Do you feel you've learned enough about microcontrollers? Do you want to learn more embedded application design techniques? How about a technique that will allow you to design high-performance systems the way professional equipment designers do?
If you're still interested, this curriculum is for you. The FPGA Embedded Design series will teach you the exquisite art of FPGA design.
So what is an FPGA anyway?
Before moving on, let me tell you that an FPGA is not a microcontroller. It's not a computer. Well, at least not if you don't want it to be a microcontroller or computer.
Do you feel you've learned enough about microcontrollers? Do you want to learn more embedded application design techniques? How about a technique that will allow you to design high-performance systems the way professional equipment designers do?
If you're still interested, this curriculum is for you. The FPGA Embedded Design series will teach you the exquisite art of FPGA design.
So what is an FPGA anyway?
Before moving on, let me tell you that an FPGA is not a microcontroller. It's not a computer. Well, at least not if you don't want it to be a microcontroller or computer.
The simplest explanation of an FPGA I've found is that it's a shape shifter. It's an integrated circuit that will behave as the logic circuit you'd like, and the way of letting it know the desired behavior is, yes, you guessed it, through programming.
But you will not do this with a Programming Language, but with a Hardware Description Language.
In this course, you'll learn Verilog, which is one of the most widely used Hardware Description Languages (along with VHDL). You'll learn the concurrent paradigm in the Verilog code and how to design digital systems with this powerful language. You'll also learn that there are many purposes of an HDL: System design, simulation, implementation in either a traditional chip, or the popular FPGA alternative.
Don't let this opportunity pass. Take the first step into the other side of embedded systems: FPGA Embedded Design.
Learn the logistics of the course.
Meet the instructor. See the big picture.
Learn about the FPGA design process and why it's useful.
Let's set a goal for this whole body of knowledge. Let's think big: How about designing your own microprocessor?
Let's review the typical blocks inside a CPU and how they can all be designed, simulated and implemented with a Hardware Description Language.
In this course we'll perform a lot of simulations, so it's important that you choose your development platform, which typically consists of hardware and software.
Get to know HDLs and their use.
Learn how concurrent design of hardware differs from traditional sequential design of software.
Meet the two industry standard HDLs out there.
There are many other HDLs out there, but you'll be fine with Verilog and maybe VHDL.
Let's start our refresher on digital circuit design!
Logic gates are the basic foundation element of digital design, and correspond to logical operations such as AND, OR and XOR.
Boolean algebra is a very basic tool in computer science for pretty much everything. Let's see some important details.
Multiplexers and demultiplexers are two of the most popular building blocks of combinatorial logic. Let's learn about their use.
Learn about concurrent logic in Verilog modules.
It's very important that you understand how the concurrent model works.
Learn about descriptive modules and test bench modules.
Learn about the elements in a descriptive module.
Learn about the organization of a test bench module and how to use one.
The code is available for download for you to follow along if you want.
Learn about the net elements of Verilog.
Learn the syntax to represent Logical Values in Verilog.
Learn the syntax to represent integers in Verilog.
Learn about these primitives of Verilog.
Learn an easier way to enter your circuit behavior in Verilog.
Learn your options when it comes to performing different assignments in Verilog.
Learn one way to implement multiplexers and demultiplexers in Verilog.
Learn how to make Tri-State Buffers in Verilog.
Let's see an implementation of Tri-State Buffers in Verilog.
Learn how to implement state machines in Verilog.
Go ahead and download the code to try it yourself!
Download the code for your own simulations.
Code Available for Download!
Source code available for download :)
Let's take a moment to look back and think of all the things we learned in this course.
Listen to the next steps we recommend in your journey on FPGA embedded applications!
Test yourself in Verilog basic concepts.
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.
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.