Xilinx FPGAs: Learning Through Labs using VHDL
4.8 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
286 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Xilinx FPGAs: Learning Through Labs using VHDL to your Wishlist.

Add to Wishlist

Xilinx 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
4.8 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
286 students enrolled
Created by Jordan Christman
Last updated 8/2017
English
Curiosity Sale
Current price: $10 Original price: $100 Discount: 90% off
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 37 Articles
  • 49 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the design process for implementing a digital design onto a FPGA
  • Program a FPGA
  • Replicate all the labs demonstrated in this lab
View Curriculum
Requirements
  • Purchase a Xilinx FPGA Development Board, we cover supported boards in the course
  • Basic understanding of binary notation
  • Basic understanding of hexadecimal notation
  • Basic understanding of logic gates
  • Basic understanding of VHDL
Description

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 10 labs which include design for the following:

  1. BCD Display
  2. Random Number Generator
  3. Signed Multiplier
  4. Barrel Shifter
  5. Arithmetic Logic Unit
  6. Temperature Sensor
  7. Tilt Sensor
  8. Microphone Interface
  9. Potentiometer Interface
  10. Character LCD 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.

Who is the target audience?
  • Engineering Students
  • Engineering Managers
  • Digital Logic Enthusists
  • Individuals pursuing Electrical Engineering
  • Anyone who wants to learn more about VHDL
  • Anyone who wants to take it for fun!
Students Who Viewed This Course Also Viewed
Curriculum For This Course
91 Lectures
03:30:38
+
Introduction to the Course
6 Lectures 05:27

In this lecture, I will introduce myself and explain what is covered in this course. I also will explain what you can expect to get out of the course.

Preview 01:59

This lecture lays out the structure of this course and explains all the content that will be covered.

Course Structure
00:33

This lecture talks about all the FPGA development boards covered in this course.

FPGA Boards Covered in this Course
00:50

This lecture provides a link to a survey which will help me better understand which development boards everybody is using.

Which FPGA Board Are You Using?
00:17

This lecture provides students with links to websites were they can buy FPGA development boards.

Where should you buy your FPGA board?
00:16

Quick Tip for This Course Style
01:30
+
Lab 1 - BCD Display
8 Lectures 23:44

This lecture explains what a BCD display is and ways that they can be used. We will be implementing this design in the lab.

Preview 06:45

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

BCD Display Assignment
00:53

This lecture walks through to show you how to setup the BCD Display lab.

Preview 02:06

This lecture explains the BCD Display design and what each component is doing.

BCD Display Design Guide
03:51

This is a demonstration of the BCD display running on the Arty development board.

Arty Board - BCD Display Demonstration
02:19

Arty Z7 Board - BCD Display Demonstration
02:30

Basys 3 Board - BCD Display Demonstration
02:49

Basys 2 Board - BCD Display Demonstration
02:31
+
Lab 2 - Linear Feedback Shift Register
7 Lectures 19:37

This lecture explains Linear Feedback Shift Registers (LFSR). LFSR’s can be used for various applications, in this lab we will be using the LFSR to generate pseudo random numbers.

Linear Feedback Shift Register Explained
05:31

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Linear Feedback Shift register Assignment
01:00

This lecture is a demonstration of the LFSR running on the DE0-Nano-SoC board.

Linear Feedback Shift Register Lab Setup
02:06

This is a demonstration of a Linear Feedback Shift Register running on the Arty development board.

Arty Board - LFSR Demonstration
02:46

Arty Z7 Board - LFSR Demonstration
03:13

Basys 3 Board - LFSR Demonstration
02:32

This lecture shows a demonstration of the Linear Feedback Shift Register running on the Basys 2 development board.

Basys 2 Board - LFSR Demonstration
02:29
+
Lab 3 - Booth's Algorithm
7 Lectures 27:50

This lecture introduces booth’s algorithm and how it works. This is the algorithm that we will be implementing for this lab.

Booth's Algorithm Explained
06:40

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Booths Algorithm Assignment
01:22

Booth's Algorithm Lab Setup
02:58

Arty Board - Booth's Algorithm Demonstration
04:17

Arty Z7 Board - Booth's Algorithm Demonstration
04:20

Basys 3 Board - Booth's Algorithm Demonstration
03:53

Basys 2 Board - Booth's Algorithm Demonstration
04:20
+
Lab 4 - Barrel Shifter
7 Lectures 26:47

This lecture explains what a barrel shifter is and how they are used in digital designs. The designed explained in this lecture will be used to complete lab 4.

Barrel Shifter Explained
06:00

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Barrel Shifter Assignment
00:56

This lecture walks through to show you how to setup the Barrel Shifter lab.

Barrel Shifter Lab Setup
02:21

Arty Board - Barrel Shifter Demonstration
04:35

Arty Z7 Board - Barrel Shifter Demonstration
04:51

Basys 3 Board - Barrel Shifter Demonstration
04:17

This lecture shows a demonstration of the barrel shifter running on the Basys 2 development board.

Basys 2 Board - Barrel Shifter Demonstration
03:47

Barrel Shifter Quiz
2 questions
+
Lab 5 - ALU (Arithmetic Logic Unit)
7 Lectures 30:12

This lecture describes what ALU’s are and how they relate to digital designs. We will be implementing an ALU in VHDL for this lab assignment.

ALU (Arithmetic Logic Unit) Explained
07:14

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Arithmetic Logic Unit Assignment
01:09

ALU Lab Setup
02:58

Arty Board - ALU Demonstration
04:04

Arty Z7 Board - ALU Demonstration
04:46

Basys 3 Board - ALU Demonstration
04:43

Basys 2 Board - ALU Demonstration
05:18
+
Lab 6 - Temperature Sensor Interface
7 Lectures 21:03

This lecture explains how the temperature sensor used in this lab works. I will explain how to read the data and how to convert the values to an actual temperature reading.

Temperature Sensor Interface Explained
05:11

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Temperature Sensor Assignment
00:52

Temperature Sensor Lab Setup
03:09

Arty Board - Temperature Sensor Interface Demonstration
04:30

Arty Z7 Board - Temperature Sensor Interface Demonstration
03:52

Basys 3 Board - Temperature Sensor Interface Demonstration
03:25

Basys 2 Board - Temperature Sensor Interface Demonstration
00:04
+
Lab 7 - Tilt Sensor Interface
7 Lectures 16:36

This lecture explains how a tilt sensor works and various applications they can be used in. This lecture explains how we will be using the tilt sensor in this lab. 

Tilt Sensor Interface Explained
01:50

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Tilt Sensor Assignment
00:44

Tilt Sensor Lab Setup
02:42

Arty Board - Tilt Sensor Interface Demonstration
02:45

Arty Z7 Board - Tilt Sensor Interface Demonstration
03:17

Basys 3 Board - Tilt Sensor Interface Demonstration
02:15

Basys 2 Board - Tilt Sensor Demonstration
03:03
+
Lab 8 - Microphone Interface
7 Lectures 17:07

This lecture discusses how you can interface a microphone with an FPGA. In this lab, we will be interfacing the FPGA with a microphone.

Microphone Interface Explained
04:44

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Microphone Interface Assignment
00:57

Microphone Interface Lab Setup
01:53

Arty Board - Microphone Interface Demonstration
03:31

Arty Z7 Board - Microphone Interface Demonstration
03:33

Basys 3 Board - Microphone Interface Demonstration
02:25

Basys 2 Board - Microphone Interface Demonstration
00:04

Microphone Interface Quiz
2 questions
+
Lab 9 - Potentiometer Interface
7 Lectures 16:32

This lecture talks about how a potentiometer can be interfaced with an FPGA. We will be interfacing the FPGA with a potentiometer for this lab.

Potentiometer Interface Explained
03:01

This lecture explains whats the student needs to do in order to complete the assignment. This lecture also contains recommended steps to complete the assignment. This lecture contains designs the students may download for reference.

Potentiometer Interface Assignment
01:04

This lecture walks through to show you how to setup the Potentiometer Interface lab.

Potentiometer Interface Lab Setup
02:42

This lecture shows the potentiometer interface running on the Arty development board.

Arty Board - Potentiometer Interface Demonstration
03:59

Arty Z7 Board - Potentiometer Interface Demonstration
03:02

Basys 3 Board - Potentiometer Interface Demonstration
02:40

Basys 2 Board - Potentiometer Interface Demonstration
00:04
4 More Sections
About the Instructor
Jordan Christman
4.7 Average rating
854 Reviews
4,261 Students
8 Courses
Your FPGA Guy

Jordan Christman graduated from the University of Dayton with his Bachelor's degree in Electronic and Computer Engineering Technology. He also graduated from UD with his Master's degree in Electrical Engineering. Jordan currently has a patent pending for an electronic monitoring device. He has strong knowledge in FPGA (Field Programmable Gate Array) development, Digital Electronics, Circuit Board design, and VHDL design and modeling of hardware systems. Jordan's focus of study in school was embedded systems which involves circuit design, firmware development, implementation of computer hardware, and the interfacing of computer operating systems. Jordan's hobbies include mobile application development, layout and assembly of PCB's (Printed Circuit Boards), computer application programming, and anything related to electrical engineering.