
Explore how to implement various hardware communication protocols on an FPGA using VHDL, including RC servos via pulse width modulation, PS/2 keyboards and mice, infrared, and remote control devices.
Learn how pulse width modulation controls an rc servo motor by mapping duty cycle to shaft angle, using 50 hz pwm signals and an fpga-based pwm generator.
Explore pulse width modulation waveforms in VHDL and FPGA development, comparing duty cycles at 50%, 25%, and 75%, and learn how to control a buzzer with pwm.
Explore the PS/2 communication protocol, its legacy keyboard and mouse data flows, pinouts, and how a USB-to-PS/2 microcontroller interfaces devices with an FPGA in this course.
Discover UART transmission by encoding ASCII characters O and K into binary with start and stop bits. Form little-endian data packets and calculate bit time at 115200 baud.
Explore a UART transmitter design for FPGA, featuring a state machine, baud rate counters, edge detection, and a shift register to serialize data with start and stop bits.
Learn to simulate and verify a uart transmitter using behavioral simulation, inspect waveforms for tx sim and tx ready sim, verify ascii transmission of hello within 2048 microseconds.
Set up vhdl uart receiver simulation, place r_uart.vhdl and r_uart_sim files in the correct directories, and run a 1200 us behavioral simulation to verify ascii outputs and led seven-seg data.
Learn the Essentials of VHDL and FPGA Development Hands on is a course that is designed to teach students about VHDL and FPGA's through hands on labs. Prior to working through the projects you will go through the various VHDL design structure sections that will explain the various concepts and terms needed to implement the projects in VHDL. The projects in this course:
Pulse Width Modulation
This section of projects covers various uses for PWM, including buzzers and servo motors.
Infrared Communication
A project that is designed to teach sudents how they can use an FPGA to interpret commands or codes that are sent via infrared signals, such as a tv remote.
PS/2 Communication
This project implements a PS/2 interface to communicate with a mouse and keyboard.
UART Controller
In this section students will design and build a UART transmitter, receiver, and controller that will be able to receive commands via the on board UART terminal on the development board.
LED Controller
This section covers ways to control various types of LEDs including Neo Pixels and RGB LEDs.
All of the required background and knowledge to complete each project will be explained prior to completing the projects above. There are demonstration videos and walkthroughs for each project so that you can have a deep understanding of how the project works. Walkthroughs of the completed projects are also included to further your understanding of how these designs are implemented.