FPGA Turbo Series - Implementing a UART
4.7 (88 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.
494 students enrolled
Wishlisted Wishlist

Please confirm that you want to add FPGA Turbo Series - Implementing a UART to your Wishlist.

Add to Wishlist

FPGA Turbo Series - Implementing a UART

Develop a fully functional UART from start to finish and implement on your own FPGA development board
4.7 (88 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.
494 students enrolled
Created by Jordan Christman
Last updated 8/2017
English
Curiosity Sale
Current price: $10 Original price: $50 Discount: 80% off
30-Day Money-Back Guarantee
Includes:
  • 1.5 hours on-demand video
  • 1 Article
  • 16 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
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 development platforms, specifically Vivado's Design Suite.
  • Able to interpret, design, and implement a complex state machine.
View Curriculum
Requirements
  • Download and install Xilinx Vivado Design Suite.
  • Download and install TeraTerm or any other type of terminal emulator. There are instructions on how to install TeraTerm included in this course if you happen to get stuck.
  • Basic understanding or exposure to VHDL.
  • Basic understanding of digital circuits.
  • Familiar with what a Field Programmable Gate Array (FPGA) is.
Description

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.

Students will be provided with VHDL design files that can be used as starting points for their UART design. Working with the provided design files and using the lectures as references the students will implement a fully functional UART on their development boards. The students will get to use Xilinx's development tools for the design and debugging of their UART 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 necessary design files to implement a UART on virtually any FPGA with minimal modifications. Beings that the students will be designing and debugging their own code they will have very detailed knowledge of how this design works and will easily be able to adapt it so that they can add support for many more commands!


Who is the target audience?
  • You should take this course if: You have completed my Learn VHDL and FPGA Development course
  • You should take this course if: You have prior experience working with VHDL and FPGA's
  • You should take this course if: You have been exposed to VHDL and FPGA's
  • You should not take this course if: You have no prior VHDL, FPGA, or digital circuit knowledge
Students Who Viewed This Course Also Viewed
Curriculum For This Course
23 Lectures
01:47:26
+
Introduction to the Course
2 Lectures 02:45

This lecture introduces the instructor as well as the material covered.

Preview 01:21

This lecture talks about and discusses which FPGA development boards will work for this course, as well as which development boards are most ideal.

Preview 01:24
+
Universal Asynchronous Receiver Transmitter (UART)
5 Lectures 19:46

This lecture introduces the UART protocol and how it can be used.

Introduction to UART
03:53

This lecture discusses in detail the UART protocol and how a set of data is transmitted via UART.

UART Protocol
04:42

This lecture talks about ASCII and how it is related to UART.

ASCII
03:13

This lecture gives an example of how to transmit a message via UART.

UART Transmission Example
03:46

This lecture walks through the steps to verify that the UART on your development board is working correctly.

UART Verification
04:12
+
UART Transmitter FPGA Design
5 Lectures 30:30

This lecture discusses how the UART transmitter is designed and what the students will need to do in order to get the transmitter working.

UART Transmitter Design
07:42

This lecture walks through and explains the UART transmitter's state machine design.

UART Transmitter State Machine Design
03:11

This lecture walks through step-by-step the process of creating a project in Xilinx's Vivado Design Suite, in order to develop a UART transmitter FPGA design.

Creating UART Transmitter Vivado Project
09:18

This lecture explains in detail the theory and operation of the UART transmitter. By following the concepts discussed in this lecture students can complete the UART transmitter design.

UART Transmitter Design Guide
04:26

This lecture walks through the steps required to simulate your UART transmitter in Vivado in order to verify your design is working correctly.

UART Transmitter Simulation and Verification
05:53
+
UART Receiver FPGA Design
3 Lectures 12:30

This lecture describes and explains the UART receiver state machine design in great detail.

UART Receiver State Machine Design
02:51

This lecture walks through step-by-step to create a project in Xilinx's Vivado Design Suite in order to implement the UART receiver FPGA design.

Creating UART Receiver Vivado Project
04:37

This lecture walks  through the steps required to simulate your UART receiver in order to verify your design is working correctly.

UART Receiver Simulation and Verification
05:02
+
UART Controller FPGA Design
3 Lectures 19:58

This lecture shows the UART controller state machine and explains what causes the transitions between states.

UART Controller State Machine Design
09:44

This lecture walks students through step-by-step showing them how to create a project in Xilinx's Vivado Design Suite, so they can implement the UART controller on their development board.

Creating UART Controller Vivado Project
04:28

This lecture walks  through the steps required to simulate your UART receiver in order to verify your design is working correctly.

UART Controller Simulation and Verification
05:46
+
UART Demonstration
3 Lectures 12:17

This lecture walks students through the steps to program their development board. In this lecture the BASYS 3 board is being programmed.

Programming the BASYS 3 Board
03:42

This lecture shows the setup I used while programming and debugging the UART controller design.

UART Setup on the BASYS 3 Board
03:30

This lecture shows a demonstration of the fully functional UART running on a BASYS 3 development board.

UART Demonstration on the Basys 3
05:05
+
Development Tools
1 Lecture 07:44

This lecture discusses the steps required to download and install Xilinx's Vivado design suite, the tool used to develop, simulate, and program the FPGA development board.

Preview 07:44
+
Conclusion
1 Lecture 02:13

This lecture discusses what the students have completed and wraps up the course!

Conclusion
02:13
About the Instructor
Jordan Christman
4.7 Average rating
861 Reviews
4,292 Students
9 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.