Learn the Fundamentals of VHDL and FPGA Development
4.1 (601 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,578 students enrolled

Learn the Fundamentals of VHDL and FPGA Development

You will learn how to start with VHDL and FPGA Programming.
4.1 (601 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,577 students enrolled
Created by Jordan Christman
Last updated 12/2018
English
English [Auto]
Current price: $129.99 Original price: $199.99 Discount: 35% off
15 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 17.5 hours on-demand video
  • 10 articles
  • 9 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand the design process for implementing a digital design onto a FPGA
  • Learn how to simulate a design in Altera’s ModelSim and Vivado SImulator
  • Learn how to use Xilinx Vivado tool to program FPGA
  • Simulate a VHDL design using ModelSim
  • Familiarize yourself with Altera and Xilinx tools
Requirements
  • Basic understanding of Binary Notation
  • Basic understanding of Hexadecimal Notation
  • Basic understanding of Logic Gates
  • Basic understanding of Vivado / Quartus
Description

How will you learn?
You will learn by doing the real programming. All the code and examples are explained in tutoring videos. After you adjust the existing code or you create your own, you will run simulations to verify it. If you are interested to run your code on a real hardware (not required, but much more fun), we recommend Altera or Xilinx boards.What you will learn about

What will you learn?

Learn the Essentials of VHDL and FPGA Development is course that will teach you the fundamentals and basics of VHDL design. In this course you will be working through various projects that will require you to go through the entire FPGA development process. You will be guided through the coding of the actual VHDL to the synthesis using either Xilinx’s development tool, Vivado or Altera development tool Quartus. There are 8 projects in this course:

  • Buttons & LEDs
    A project that is designed to teach students the very basics of VHDL as well as how to make specific pins on an FPGA inputs (buttons) and outputs (LEDs).
  • Blinky LEDs
    Students will learn how to create a counter in VHDL in order to simultaneously turn multiple LEDs on and off in unison.
  • LED Brightness
    This project will have students create 3 VHDL designs, a PWM design to control the brightness of the LEDs, a counter to vary the duty cycle, and a top level design to pull everything together.
  • UART Demonstration
    Students will be introduced to softcore processors and use them to display a “Hello World” message on a serial port terminal.
  • UART I/O
    In the project students will build upon the ability to transmit messages using the softcore processor to read messages. Students will learn how to interpret messages coming from the computer to the FPGA in order to read the status of various peripherals on the board.
  • AD Processing
    This project will have students perform an analog to digital conversion. As en example, they sense the temperature.
  • SPI Interface (Arty A7 Only)
    In this project students will learn how to work with SPI interface. They will load existing designs onto the external flash memory chip to have the FPGA configure itself through the SPI interface.
  • I2C Interface (DE10 Nano Only)
    In this project students will learn how to work with I2C. They will load an embedded Linux operating system onto the DE10 Nano development board. They will then run a program that interfaces with the onboard accelerometer to display the g forces the sensor reads.

All of the required background and knowledge to complete each project will be explained prior to completing the project. There are demonstration videos and walk-throughs for each project so that you can have a deep understanding of how the project works.

Who this course is for:
  • Engineering Students
  • Engineering Managers
  • Individuals pursuing Electrical Engineering
  • Anyone who wants to take it for fun!
Course content
Expand all 125 lectures 17:35:14
+ Introduction
3 lectures 14:22
Lesson Overview of Introduction
00:17
VHDL Introduction
06:49
+ Xilinx and Altera Tools
2 lectures 20:40
Creating a Project in Vivado
08:23
Creating a Project in Quartus
12:17
+ VHDL Design Structure
5 lectures 43:43
Lesson Overview of VHDL Design Structure & Data Types
00:08

VHDL Keywords

Preview 09:59
VHDL Libraries
11:34
VHDL Entities & Architecture
11:08
VHDL Generics
10:54
+ VHDL Statements & Data Types
4 lectures 34:39
VHDL Data Types
17:45
VHDL Integers
03:40
When – Else Statement
05:35
Concurrent vs Sequential Statements
07:39
+ Simulations
13 lectures 01:37:49
Lesson Overview Buttons & LEDs
00:04
Simulation Section Introduction
07:14
Shift Register Design
13:06
Shift Register Test Bench Design
13:15
Shift Register TCL Script Design
06:13
ModelSim Introduction
03:35
Create a Project in ModelSim
02:05
Running a Simulation in ModelSim
05:51
ModelSim TCL Script Demonstration
03:57
Navigating ModelSim Simulations
14:55
Vivado Simulator Tool Introduction
05:06
Running a Simulation in Vivado
05:48
Navigating Vivado Simulations
16:40
+ Project: Buttons & LEDs
10 lectures 50:30
Buttons and LEDs Introduction & Deliverables
03:26
Buttons and LEDs Complete Design Walkthrough
04:22
Button LED Arty A7 IO Placement
07:11
Generate a Xilinx Programming File
09:19
Buttons & LEDs Arty A7 Demonstration
02:14
Button LED DE10 Nano IO Placement
06:44
Generate an Altera Programming File
04:41
Programming the Altera DE10 Nano Development Board
06:15
Buttons & LEDs DE10 Nano Demonstration
02:08
+ Lecture Material for Blinky LEDs Project
5 lectures 44:36
Lesson Overview Blinky LEDs
00:06
Constants and Signals
15:09
VHDL Processes
09:37
VHDL If Statements
12:11
If Statement Priority Example
07:33
+ Project: Blinky LEDs
6 lectures 37:32
Blinky LEDs Introduction & Deliverables
03:51
Blinky LEDs Complete Design Walkthrough
14:37
Blinky LEDs Arty A7 IO Placement
06:45
Blinky LEDs Arty A7 Demonstrations
03:11
Blinky LEDs DE10 Nano IO Placement
06:26
Blinky LEDs DE10 Nano Demonstration
02:42
+ Lecture Material for LED Brightness Project
9 lectures 01:58:27
Lesson Overview LED Brightness
00:08
PWM Signals
06:46
PWM VHDL Design Part 1
16:51
PWM VHDL Design Part 2
16:53
VHDL Generate Statement
12:19
Counter Design Part 1
11:51
Counter Design Part 2
18:18
VHDL Component Instantiation Part 1
18:01
VHDL Component Instantiations Part 2
17:20
+ Project: LED Brightness
6 lectures 38:32
LED Brightness Introduction & Deliverables
04:35
LED Brightness Complete Design Walkthrough
15:33
LED Brightness Arty A7 IO Placement
06:01
LED Brightness Arty A7 Demonstrations
03:44
LED Brightness DE10 Nano IO Placement
05:43
LED Brightness DE10 Nano Demonstration
02:56