4.44 out of 5
4.44
279 reviews on Udemy

Learn the Fundamentals of VHDL and FPGA Development

You will learn how to start with VHDL and FPGA Programming.
Instructor:
Your Embedded Systems Guy
1,564 students enrolled
English [Auto-generated]
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

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.

Introduction

1
Introduction
2
Lesson Overview of Introduction
3
VHDL Introduction

Xilinx and Altera Tools

1
Creating a Project in Vivado
2
Creating a Project in Quartus

VHDL Design Structure

1
Lesson Overview of VHDL Design Structure & Data Types
2
VHDL Keywords

VHDL Keywords

3
VHDL Libraries
4
VHDL Entities & Architecture
5
VHDL Generics

VHDL Statements & Data Types

1
VHDL Data Types
2
VHDL Integers
3
When – Else Statement
4
Concurrent vs Sequential Statements

Simulations

1
Lesson Overview Buttons & LEDs
2
Simulation Section Introduction
3
Shift Register Design
4
Shift Register Test Bench Design
5
Shift Register TCL Script Design
6
ModelSim Introduction
7
Create a Project in ModelSim
8
Running a Simulation in ModelSim
9
ModelSim TCL Script Demonstration
10
Navigating ModelSim Simulations
11
Vivado Simulator Tool Introduction
12
Running a Simulation in Vivado
13
Navigating Vivado Simulations

Project: Buttons & LEDs

1
Buttons and LEDs Introduction & Deliverables
2
Buttons and LEDs Complete Design Walkthrough
3
Button LED Arty A7 IO Placement
4
Generate a Xilinx Programming File
5
Programming the Arty A7 Development Board
6
Buttons & LEDs Arty A7 Demonstration
7
Button LED DE10 Nano IO Placement
8
Generate an Altera Programming File
9
Programming the Altera DE10 Nano Development Board
10
Buttons & LEDs DE10 Nano Demonstration

Lecture Material for Blinky LEDs Project

1
Lesson Overview Blinky LEDs
2
Constants and Signals
3
VHDL Processes
4
VHDL If Statements
5
If Statement Priority Example

Project: Blinky LEDs

1
Blinky LEDs Introduction & Deliverables
2
Blinky LEDs Complete Design Walkthrough
3
Blinky LEDs Arty A7 IO Placement
4
Blinky LEDs Arty A7 Demonstrations
5
Blinky LEDs DE10 Nano IO Placement
6
Blinky LEDs DE10 Nano Demonstration

Lecture Material for LED Brightness Project

1
Lesson Overview LED Brightness
2
PWM Signals
3
PWM VHDL Design Part 1
4
PWM VHDL Design Part 2
5
VHDL Generate Statement
6
Counter Design Part 1
7
Counter Design Part 2
8
VHDL Component Instantiation Part 1
9
VHDL Component Instantiations Part 2

Project: LED Brightness

1
LED Brightness Introduction & Deliverables
2
LED Brightness Complete Design Walkthrough
3
LED Brightness Arty A7 IO Placement
4
LED Brightness Arty A7 Demonstrations
5
LED Brightness DE10 Nano IO Placement
6
LED Brightness DE10 Nano Demonstration

Lecture Material for UART Demonstration Project

1
Lesson Overview UART Demonstration
2
UART Explained
3
UART Simulation
4
MicroBlaze Softcore Processor
5
Xilinx Software Development Kit (SDK) Part 1
6
Xilinx Software Development Kit (SDK) Part 2
7
Nios II Softcore Processor
8
Nios II Softcore Processor Implementation
9
Nios II Software Build Tools Part 1
10
Nios II Software Build Tools Part 2

Project: UART Demonstration

1
UART Demonstration Introduction & Deliverables
2
UART Demonstration Complete Design Walkthrough Xilinx
3
UART Demonstration Arty A7 IO Placement
4
UART Demo Arty A7 Demonstration
5
UART Demonstration Complete Design Walkthrough Altera
6
UART Demonstration DE10 Nano IO Placement
7
Programming Nios II Softcore Processor
8
UART Demo DE10 Nano Demonstration

Lecture Material for UART I/O Project

1
Lesson Overview UART I/O
2
Using MicroBlaze GPIOs
3
Using Nios II PIOs

Project: UART I/O & Register Access

1
UART IO Introduction & Deliverables
2
UART IO Complete Design Walkthrough Xilinx
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4
4.4 out of 5
279 Ratings

Detailed Rating

Stars 5
163
Stars 4
80
Stars 3
29
Stars 2
4
Stars 1
1
cd94a54f9c510d7acafb6649ba792dd9
30-Day Money-Back Guarantee

Includes

18 hours on-demand video
10 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion