Learn the Fundamentals of VHDL and FPGA Development
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.
Xilinx and Altera Tools
VHDL Design Structure