Learn The Essentials Of Vhdl And Fpga Development

Tags: FPGA

You will learn how to start with VHDL and FPGA Programming.

Last updated 2022-01-10 | 4.6

- 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

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!
  • Anyone wanting to learn about FPGA's and the development process

Course content

20 sections • 127 lectures

Introduction Preview 07:16

Lesson Overview of Introduction Preview 00:17

VHDL Introduction Preview 06:49

This lecture provides an introduction to VHDL.

Creating a Project in Vivado Preview 08:23

Creating a Project in Quartus Preview 12:17

Xilinx & Altera Tools

A quiz for testing the difference between Xilinx and Altera quizzes.

Lesson Overview of VHDL Design Structure & Data Types Preview 00:08

VHDL Keywords Preview 09:59

VHDL Keywords

VHDL Libraries Preview 11:34

VHDL Entities & Architecture Preview 11:08

VHDL Generics Preview 10:54

VHDL Conversions Preview 01:09

VHDL Data Types Preview 17:45

VHDL Integers Preview 03:40

When – Else Statement Preview 05:35

Concurrent vs Sequential Statements Preview 07:39

Lesson Overview Buttons & LEDs Preview 00:04

Simulation Section Introduction Preview 07:14

Shift Register Design Preview 13:06

Shift Register Test Bench Design Preview 13:15

Shift Register TCL Script Design Preview 06:13

ModelSim Introduction Preview 03:35

Create a Project in ModelSim Preview 02:05

Running a Simulation in ModelSim Preview 05:51

ModelSim TCL Script Demonstration Preview 03:57

Navigating ModelSim Simulations Preview 14:55

Vivado Simulator Tool Introduction Preview 05:06

Running a Simulation in Vivado Preview 05:48

Navigating Vivado Simulations Preview 16:40

Buttons and LEDs Introduction & Deliverables Preview 03:26

Buttons and LEDs Complete Design Walkthrough Preview 04:22

Button LED Arty A7 IO Placement Preview 07:11

Generate a Xilinx Programming File Preview 09:19

Programming the Arty A7 Development Board Preview 04:10

Buttons & LEDs Arty A7 Demonstration Preview 02:14

Button LED DE10 Nano IO Placement Preview 06:44

Generate an Altera Programming File Preview 04:41

Programming the Altera DE10 Nano Development Board Preview 06:15

Buttons & LEDs DE10 Nano Demonstration Preview 02:08

Lesson Overview Blinky LEDs Preview 00:06

Constants and Signals Preview 15:09

VHDL Processes Preview 09:37

VHDL If Statements Preview 12:11

If Statement Priority Example Preview 07:33

Blinky LEDs Introduction & Deliverables Preview 03:51

Blinky LEDs Complete Design Walkthrough Preview 14:37

Blinky LEDs Arty A7 IO Placement Preview 06:45

Blinky LEDs Arty A7 Demonstrations Preview 03:11

Blinky LEDs DE10 Nano IO Placement Preview 06:26

Blinky LEDs DE10 Nano Demonstration Preview 02:42

Lesson Overview LED Brightness Preview 00:08

PWM Signals Preview 06:46

PWM VHDL Design Part 1 Preview 16:51

PWM VHDL Design Part 2 Preview 16:53

VHDL Generate Statement Preview 12:19

Counter Design Part 1 Preview 11:51

Counter Design Part 2 Preview 18:18

VHDL Component Instantiation Part 1 Preview 18:01

VHDL Component Instantiations Part 2 Preview 17:20

LED Brightness Introduction & Deliverables Preview 04:35

LED Brightness Complete Design Walkthrough Preview 15:33

LED Brightness Arty A7 IO Placement Preview 06:01

LED Brightness Arty A7 Demonstrations Preview 03:44

LED Brightness DE10 Nano IO Placement Preview 05:43

LED Brightness DE10 Nano Demonstration Preview 02:56

Lesson Overview UART Demonstration Preview 00:13

UART Explained Preview 18:55

UART Simulation Preview 07:19

MicroBlaze Softcore Processor Preview 12:13

Xilinx Software Development Kit (SDK) Part 1 Preview 13:30

Xilinx Software Development Kit (SDK) Part 2 Preview 15:28

Nios II Softcore Processor Preview 07:09

Nios II Softcore Processor Implementation Preview 30:11

Nios II Software Build Tools Part 1 Preview 10:19

Nios II Software Build Tools Part 2 Preview 05:06

UART Demonstration Introduction & Deliverables Preview 03:57

UART Demonstration Complete Design Walkthrough Xilinx Preview 05:07

UART Demonstration Arty A7 IO Placement Preview 04:02

UART Demo Arty A7 Demonstration Preview 06:01

UART Demonstration Complete Design Walkthrough Altera Preview 05:37

UART Demonstration DE10 Nano IO Placement Preview 05:13

Programming Nios II Softcore Processor Preview 10:24

UART Demo DE10 Nano Demonstration Preview 02:31

Lesson Overview UART I/O Preview 00:06

Using MicroBlaze GPIOs Preview 08:07

Using Nios II PIOs Preview 17:01

UART IO Introduction & Deliverables Preview 03:21

UART IO Complete Design Walkthrough Xilinx Preview 17:14

UART IO Arty A7 IO Placement Preview 04:36

UART IO Arty A7 Demonstration Preview 07:38

UART IO Complete Design Walkthrough Altera Preview 24:37

UART IO DE10 Nano IO Placement Preview 10:23

UART IO DE10 Nano Demonstration Preview 03:59

Lesson Overview A/D Processing Preview 00:10

Temperature Sensor Preview 15:37

Using the Xilinx XADC & MicroBlaze MCS Preview 11:28

MicroBlaze MCS ADC Configuration Preview 04:15

Interfacing with the XADC Core Preview 20:49

DE10 Nano External ADC Preview 10:15

AD Processing Introduction & Deliverables Preview 06:15

AD Processing Hardware Complete Design Walkthrough Xilinx Preview 13:24

AD Processing Software Complete Design Walkthrough Xilinx Preview 12:24

AD Processing Arty A7 IO Placement Preview 04:39

AD Processing Arty A7 Demonstration Preview 07:32

AD Processing Hardware Complete Design Walkthrough Altera Preview 09:57

AD Processing Software Complete Design Walkthrough Altera Preview 10:02

AD Processing DE10 Nano IO Placement Preview 05:01

AD Processing DE10 Nano Demonstration Preview 07:49

Lesson Overview SPI Interface Preview 00:10

External Flash Memory Preview 11:16

SPI Interface Explained Preview 19:17

SPI Interface Design Strategy Preview 06:56

External SPI Flash Chip Memory Organization Preview 10:10

SPI Configuration and File Generation Preview 12:34

SPI Interface Introduction & Deliverables Preview 02:06

SPI Interface Complete Design Walkthrough Preview 04:12

SPI Interface Demonstration Preview 03:33

Lesson Overview I2C Interface Preview 00:14

G Sensor Explained Preview 10:13

I2C Interface Explained Preview 17:18

I2C Notes Preview 17:05

I2C Project Configuration Preview 06:14

I2C Executable Generation Preview 07:10

Loading the Executable onto the DE10 Nano Development Board Preview 08:00

I2C Interface Introduction & Deliverables Preview 02:19

I2C Interface Complete Design Walkthrough Preview 09:09

I2C Interface Demonstration Preview 06:30