FPGA COURSES

Learn Introduction to FPGA design, below curated list of online courses to quickly pickup general FPGA programming skills.

FPGA Turbo Series - Implementing a UART Develop a fully functional UART from start to finish and implement on your own FPGA development board

What Will I Learn?
-Gain a solid understanding on how the UART protocol works.
-Implement a fully functional UART on their FPGA development board.
-Have a UART implementation in VHDL that they have created themselves.
-Improve their skill sets in FPGA Vivado's Design Suite.
-Able to interpret, design, and implement a complex state machine.

This course will explain how the Universal Asynchronous Receiver Transmitter (UART) protocol can be used to transmit and receive information. The UART protocol structure is explained in great detail with many visual representations to help the students understand how a UART works. Once the UART protocol has been sufficiently explained to the students, they will then be guided through the FPGA design and development process in order to implement a fully functional UART on their FPGA development boards. This fully functional UART will be able to accept commands received over the UART serial port and act upon these commands. These actions will include being able to individually select which LED's are on and which ones are off, as well as being able to set the number displayed on the 7 segment display...Learn more
FPGA courseFPGA Design Learning VHDL From zero to VHDL designer. Learn how to implement your VHDL design on FPGA starting from scratch

What Will I Learn?
-Learn the Basic of FPGA Design
-Learn VHDL Syntax
-Create VHDL design through example
-Debug and Simulate your VHDL design using Modelsim
-Layout VHDL Design using Altera Quartus II
-Test on FPGA your VHDL Design
-Create a complete design on FPGA
-Learn How to Implement a Seven Segment Driver
-Design an UART and Connect FPGA to a PC with VHDL

How many times do you waste your time in finding some examples useful to resolve your VHDL problems and didn't get anything useful?
It is true that we can find a lot of information for free, but not all the information we get is a good stuff. Many times we need a huge amount of time to filter good stuff from a useless material. Even if we get the information for free, we often don't think about to the time we are wasting and to the "equivalent money" we are losing wasting this time.
In Surf-VHDL, we have more than 18 years in FPGA/ASIC VHDL design.
In this course, you will learn the basic rules to implement and efficient hardware design and how to apply these rules using VHDL...Learn more
FPGA courseAltera FPGAs: Learning Through Labs using VHDL Grab your Altera FPGA development board and get a hands on approach to learning all about your FPGA through labs

What Will I Learn?
-Understand the process of implementing a design onto a FPGA
-Program a FPGA
-Replicate all the labs demonstrated in this lab

Learning Through Labs with VHDL teaches students digital design using the hands on approach. This course focuses on the actual VHDL implementation compared to the theory. The best most efficient way to learn VHDL is by actually writing and creating designs yourself. This courses includes 9 labs which include design for the following:
-BCD Display
-Random Number Generator
-Signed Multiplier
-Barrel Shifter
-Arithmetic Logic Unit
-Temperature Sensor
-Tilt Sensor
-Microphone Interface
-Potentiometer Interface
This course is structured such that each section contains a specific topic that is briefly discussed and then you will be given a design to start with to complete the lab. All the completed code solutions for each project will be available for download as a resource. Each section will contain a setup lecture that explains how to setup the lab. There is also a demonstration video given as a reference for a working design...Learn more
FPGA courseInexpensive FPGA development and prototyping by example Learn how to code the Numato Elbert V2 FPGA Development board by programming the on-board and external peripherals.

What Will I Learn?
-Learn how to access and use peripherals on the Numato Elbert FPGA
-Practice with the external interfacing of peripherals to the Elbert
-Work with the fundamental constructs of VHDL and Verlilog
-Become comfortable with integrating different digital components into system
-Quick prototyping with the Elbert

In this course we cover programming the low cost Numato Elbert V2 FPGA development board with the Xilinx Spartan 3A chip. Using the free Xilinx ISE webpack IDE software we program multiple examples in both Verilog and VHDL. Besides coding and interfacing the on-board peripherals like the 7-segment display, DIP switches, buttons, LEDs, and audio we also externally prototype some simple examples using Servo and Stepper motors, LCDs and character displays. All examples are done with inexpensive components that are easy to acquire and interface.
This course will help the practicing engineer get up to speed with the basics of FPGA's. It's also well suited for the advanced engineering student interested in digital design, and is appropriate for the technologically savvy hobbyist wanting to gain knowledge of configurable logic in an effort to expand their designs...Learn more
FPGA courseXilinx FPGAs: Learning Through Labs using VHDL Grab your Basys 2, Basys 3, Arty, or ArtyZ-7 and get a hands on approach to learning all about your FPGA through labs

What Will I Learn?
-Understand the process for implementing a digital design onto a FPGA
-Program a FPGA
-Replicate all the demonstrated labs

Xilinx FPGAs: Learning Through Labs with VHDL teaches students digital design using the hands on approach. This course focuses on the actual VHDL implementation compared to the theory. The best most efficient way to learn VHDL is by actually writing and creating designs yourself. This courses includes 9 labs which include design for the following:

BCD Display
Random Number Generator
Signed Multiplier
Barrel Shifter
Arithmetic Logic Unit
Temperature Sensor
Tilt Sensor
Microphone Interface
Potentiometer Interface

This course is structured such that each section contains a specific topic that is briefly discussed and then you will be given a design to start with to complete the lab. All the completed code solutions for each project will be available for download as a resource. Each section will contain a setup lecture that explains how to setup the lab. There is also a demonstration video given as a reference for a working design.
FPGA courseLearn VHDL Programming with Xilinx ISE & Spartan/Nexys FPGA In this 3.5 hour you will learn:Creating VHDL Design,Writing testbench for Simulation & Implementing Design on FPGA Kit.

What Will I Learn?
-Learn about VHDL Programming Methodology
-VHDL Syntax and Semantics
-Digital Logic Component Design with VHDL
-Conditional Circuit Design with VHDL
-Computational and Sequential Circuit Design with VHDL
-Structural Design with VHDL
-State Machine Design with VHDL

Learn VHDL Programming with Xilinx ISE Design Suit and Spartan/Nexys FPGA.This Course covers from the basics of VHDL Syntax, VHDL Design Methodology, Basic Logic gate design with VHDL, Creating Simulation testbench on ISE , Simulating design, implementing design and testing/verifying functionality on FPGA.

In the third Section Course includes the conditional statement on VHDL, Creating Combinational and Sequential Circuit on VHDL, Structural Design in VHDL and State Machine Design in VHDL. We have Lab Session on each Section so you will be more familiar with labs or doing projects on VHDL with Xilinx ISE Design suit. We also have included the Uploading the Bit file to Spartan/Nexys FPGA and the Demonstration of the Output on the FPGA.

We also have attached the "VHDL Programming Reference Guide Prepared by Digitronix Nepal" in the course.
FPGA courseFPGA Turbo Series - Communication Protocols Implementing fully functional communication protocols on your FPGA development board

What Will I Learn?
-Implement communication protocols on their FPGA development board.
-FPGA development platforms, specifically Vivado's Design Suite.
-Gain an understanding of various communication protocols.
-Have own set of working VHDL design files.

This course explains how multiple communication protocols are used and how they can be implemented onto a FPGA. Each communication protocol is explained in great detail so that the student will be able to successfully implement the communication protocol on their FPGA development board. After each communication protocol has been introduced and explained the students will then be tasked with completing a project that pertains to that specific communication protocol. These various projects and topics include:

-Generating PWM Signals
-Controlling a Buzzer
-Controlling a RC servo motor
-PS/2 Computer Keyboard Communication
-PS/2 Computer Mouse Communication
-Receiving Infrared Communication Commands
-Transmitting Infrared Communication Commands


Students will be provided with VHDL design files that can be used as starting points for the various design projects. Working with the provided design files and using the lectures as references the students will implement fully functional communication protocols on their development boards. The students will get to use Xilinx's development tools for the design and debugging of their various communication protocol implementations.

This course is geared towards students who have been exposed to VHDL, FPGA's, as well as a basic understanding of digital circuits. This is a great supplement to any engineering student who wants to improve upon their hardware design skills before entering the workforce. This course is also great for anyone who is currently employed in the field engineering. Also any electronic hobbyist would benefit greatly from this course!

Upon completing this course students will have all the skills and knowledge to implement virtually any communication protocol on a FPGA. Beings that the students will be designing and debugging their own code they will have very detailed knowledge of how each design works and will be able to expand upon each project if they so desire.
FPGA courseLearn Vivado from Top to Bottom - Your Complete Guide The complete guide for implementing designs on Xilinx FPGAs using Vivado Design Suite, for beginners and advanced users

What Will I Learn?
-Use Vivado confidently and proficiently.
-Understand the steps required for FPGA design from start to finish.
-Implement a micro blaze softcore processor on their FPGA.
-Generate HDL designs from c based code, using Vivado’s high level synthesis tool.

The Vivado design suite is the set of tools provided by Xilinx and is used to design, program, and debug Xilinx’s line of FPGAs. This course covers all of the different aspects and capabilities of the Vivado design suite. This course covers everything from the very basics to the more complex topics. This course is designed so that the student who has no experience with Vivado can take the course by starting with the very basics topics such as creating projects and design files. There are also more advanced topics so that the experienced student can learn things like how to create and program a soft core processor using the tools provided by Xilinx. This course covers many topics, including:

Downloading & Installing Vivado
Creating Projects
Simulating Your Hardware Designs
Using Existing IP Cores
Creating & Managing Your Custom IP Cores
Creating and Programming a Micro Blaze soft core processor
Programming your Development Board
Automating Vivado Using Tool Command Line (tcl) Scripts
Creating Your Own Design Constraints
Converting Your C Code to a Hardware Design
Vivado contains many tools and this course will cover all of them, including:

Vivado's Hardware Manager - This is used to load the hardware designs onto the FPGA or on board memory.
Vivado's Simulator - This is what is used to simulate and verify that your design is working as expected.
Integrated Logic Analyzer (ILA)- This is used to act as a virtual oscilloscope while your design is running on the actual hardware target.
Vivado's High Level Synthesis - This tool read C based code and converts it to a HDL based design.
Xilinx's Software Development Kit (SDK) - This is the tool used to write C code that will run on the soft core processor implemented on the FPGA.
This course is laid out in such a way that each section takes on a specific topic or tool associated with Vivado. There are downloadable files that will have the students interact with Vivado so that they can get a hands on learning experience. The students will complete a hardware design project that will take them through all of the design steps neccasary so that they can start implementing their own idea's on Xilinx FPGAs using Vivado Design Suite. Vivado is a very powerful tool that has a lot to offer and this course is designed to help aid you in learning how to use this powerful tool.
FPGA courseLearn VHDL & FPGA Development Learn how to Create VHDL Design,Simulation Testbench & Implementation with Xilinx VIVADO & FPGA: from Basic to Advanced.

What Will I Learn?
-Idea of VHDL Programming
-VIVADO Design Methodology in Zynq FPGA-ZedBoard
-Use fundamental VHDL constructs to create simple designs.
-Understanding the Conditional Statements in VHDL.
-Design Simulation testbench on VHDL and simulating the designs.
-Design with structural design methodology on VHDL.
-Designing Decoder, Adder, Register and Counter in VHDL
-Implementing State Machine in VHDL
-Designing/Implementing Sequence Detector

This Course is of VHDL Programming from Basic (logic gate design) to Advance Design (Structural Design and State Machine Design). After completing the course student will get idea of VHDL programming design methodology, VIVADO Design Flow, Zynq Architecture, Creating Simulation Testbench, Conditional Statements, Combinational Circuit Design with VHDl, Sequential Circuit Design, Structural Design in VHDL and State Machine Design in VHDL.

In each section we have included Lab session on VIVADO which have been implemented on Zynq Board (i.e ZedBoard) FPGA, so Student will get complete design skill on VHDL with VIVADO.

You guys can Learn the course while using ISE Design Suit.While VIVADO is successor of ISE so this Course and VHDL Design Methodology is same for ISE based design so do not scare about VIVADO because of it just a latest version of Design tool than ISE... Learn more
FPGA courseMaster VHDL Design for use in FPGA and VLSI Digital Systems VHDL Design and Modeling Tutorial for both the beginner and experienced Programmer using a Xilinx FPGA Development Board

What Will I Learn?
-Describe and explain VHDL syntax and semantics
-Create synthesizable designs using VHDL
-Use Xilinx FPGA development board for hand-on experience
-Design simple and practical test benches in VHDL
-Use the Xilinx Vivado toolset
-Design and develop VHDL models
-Use ModelSim simulation software

Teach yourself the analysis and synthesis of digital systems using VHDL to design and simulate FPGA and VLSI digital systems. Participants learn the fundamental concepts of VHDL and practical design techniques using a Xilinx FPGA Development Board and ModelSim simulation software for hands-on experience. The VHDL methodology and design flow for logic synthesis addresses design issues related to component modeling, data flow description in VHDL and behavioral description of hardware. An emphasis is placed on understanding the hardware description language, VHDL design techniques for logic synthesis, design criteria, and VHDL applications.

At the end of this course, participants will be able to accomplish the following:

-Describe and explain VHDL syntax and semantics
-Create synthesizable designs using VHDL
-Use Xilinx FPGA development board for hand-on experience
-Use the Xilinx ISE toolset
-Use ModelSim simulation software
-Design simple and practical test-benches in VHDL
-Design and develop VHDL models

You will learn finite state machine design, the two-process design methodology, test-bench design, combinatorial and sequential logic, and extensible synthesizable designs that are reusable... Learn more
FPGA courseFPGA Embedded Design, Part 1 - Verilog Learn FPGA embedded application design starting with the basics and leaving with your own working designs.

What Will I Learn?
-Design hardware behavior with the Verilog Hardware Description Language
Simulate Verilog Modules.
-The FPGA Embedded Design curriculum will take you by the hand through learning Verilog
-How to simulate your designs
-How to make them real in an FPGA
-How to design and use your own Soft Processor.

This is NOT a System Verilog course. However, learning Verilog is a starting point if you want to learn System Verilog (Similar to learning C prior to C++).

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.

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... Learn more
FPGA courseZynq Training - Learn Zynq 7000 SOC device on Microzed FPGA Learn the Basics of Xilinx Zynq® All Programmable System on a Chip (SoC) Design in Xilinx SDK.

What Will I Learn?
-Use Vivado to Create a Zynq Hardware Design
-Understand the Fundamentals of Zynq design in Xilinx SDK
-Undetstand Structures for Processing Logic
-Learn the difference between Processing Logic (PL)/Processing Systems (PS)
-Go from Hello World of Blinking an LED to Reading and Writing from Memory and Exploiting Timers

Do you want to learn the new Zynq Development in Xilinx SDK? Are you lost when it comes to getting started with Zynq Training? Or are you new to FPGA's? This course will teach you all the fundamentals of the Zynq Design and Vivado in the shortest time so that you can get started developing on (Field-programmable gate array) FPGA (System of Chip) SOC.

Now why should you take this course when Xilinx Official Partners already offer training? Most of their course are held bi-annually which means you will have to wait at most 6 months before starting the basic training. Also these courses can cost over thousands of dollars.

I am an FPGA Designer with a Masters Degree in Electronic Engineering. I have over 20000 students on Udemy.This course is designed to help you understand the fundamentals of Zynq Design through practical and easy to understand labs. This class covers these capabilities, including BSP creation, built-indrivers, example C code, interrupts, debugging, flash programming. You will learn all the fundamentals through practice as you follow along with the training. Together we will build a strong foundation in SOC Development in Xilinx SDK with this training for beginners. This Course will enable you to:

-Import Board Definition Files
-Use the Vivado to build, synthesize, implement, and download a design to your FPGA.
-How to use Xilinx SDK
-Learn how to access memory modules and GPIO from Xilinx SDK
-Debugging in Xilinx SDK
-Understand Stucts or Structure in C programming and why they are important

After Completing this Training, you will know how to:

-Design for 7 series+ FPGAs (System on Chip) SOC,
-Learn how to set up the Zynq in Vivado,
-Create a Simple Hello world App in Xilinx SDK,
-Access GPIO to blink an LED,
-Learn how to read from GPIO button peripherals,
-Understand Structures in C or C++ and how to use them in Xilinx SDK,
-Debug your design and understand how to step through lines in your code,
-Learn how to add more hardware in Processing Logic,
-Use the Processing logic to create a Block RAM memory,
-Learn to Read and Write from internal memory,
-Create your own timing App using both polled and interrupt methods
-Get an indepth insight into interrupts and how they work on Zynq devices

This course only costs less than 1% of the Official XIlinx Partner Training Courses which has similar content. Not only will you save on money but you will save on Time. Similar courses usually run over 2 days. This course, however, you will be able to complete in under 2 hours, depending on your learning speed.

You will receive a verifiable certificate of completion upon finishing the course. We also offer a full Udemy 30 Day Money Back Guarantee if you are not happy with this course, so you can learn with no risk to you...Learn more
FPGA courseFPGA Turbo Series - Advanced LED Control Design and implement various techniques to control many different types of LEDs.

What Will I Learn?
-Understand and apply various techniques for controlling LEDs.
-Improve their skill sets in FPGA development platforms, specifically Vivado's Design Suite.
-Have their very own set of working VHDL design files.
-Understand the design, theory, and practical application of a LED Matrix.
-Control NeoPixel LEDs.
-Control the color of RGB (Red Green Blue) LEDs
-Build your very own LED Matrix.

This course explains and discusses ways that LEDs are controlled to modify their brightness, change their color, and display messages using LEDs in a matrix configuration. This course discusses and explains the different types of LEDs as well as how to control them. Each project in this course uses each of the different LEDs discussed and requires the student to implement a design on their FPGA to control the LED. Students will be provided with VHDL design files that can be used as starting points for the various design projects. Working with the provided design files and using the lectures as references the students will be able to successfully complete each project. These various projects include:

-Pulsing Standard LEDs
-Changing the color of an RGB LED
-Controlling the color of multiple NeoPixel LEDs
-Design and build a scrolling LED Matrix Display

Using the lectures, design guides, and the VHDL files provided in this course students will have everything they need to successfully complete each project. The students will get to use Xilinx's development tools for the design and debugging of their various VHDL designs.

This course is geared towards students who have been exposed to VHDL, FPGA's, as well as a basic understanding of digital circuits. This is a great supplement to any engineering student who wants to improve upon their hardware design skills before entering the workforce. This course is also great for anyone who is currently employed in the field engineering. Also any electronic hobbyist would benefit greatly from this course!

Upon completing this course students will have all the skills and knowledge to implement multiple forms of LED control on a FPGA. Beings that the students will be designing and debugging their own code they will have very detailed knowledge of how each design works and will be able to expand upon each project if they so desire...Learn more