
This lecture introduces the course and instructor to the students.
This lecture introduces VHDL and how it'll be used in this course.
This lecture goes through the steps for creating a project in Vivado, which is a tool used to implement VHDL designs on a Xilinx FPGA.
This lecture goes through the steps for creating a project in Quartus, which is a tool used to implement VHDL designs on a Intel FPGA.
This lectures covers the various keywords used in VHDL.
This lecture walks through several of the common VHDL libraries.
This lecture explains what the entity and architecture portions of the VHDL design are.
This lecture discusses VHDL generics and how they are used.
This lecture describes the various data types used in the VHDL language.
This lecture discusses the specific VHDL data type integer.
This lecture discusses how the when-else statement is used in a VHDL design.
This lecture discusses the difference between concurrent and sequential statements in VHDL.
This lecture introduces the simulation section in this course.
This lecture talks through a shift register design.
This lecture goes through the process for creating a test bench.
This lecture walks through the process of creating a TCL script for simulation.
This lecture introduces the tool ModelSim, used to simulate VHDL designs.
This lecture walks through the process of creating a project in ModelSim.
This lecture walks through how to run a simulation in ModelSim, step by step.
This lecture provides an example of creating a *.tcl script for use within ModelSim.
This lecture explains how to navigate various portions of the ModelSim software.
This lecture introduces the Vivado VHDL simulation tool.
This lecture walks through using the Vivado simulation tool.
This lecture shows how to navigate the Vivado simulations.
This lecture talks about what is required to complete this project.
This is the complete design walkthrough for the button led project.
This lecture goes through what is required to place the IO on the Arty A7.
This explains how to generate a Xilinx programming file.
This lecture explains how to program the Arty A7 development board.
This is the demonstration of the completed project running on the Arty A7.
This lecture goes through the pin placement process for the DE10 Nano development board.
This lecture walks through the process for generating the Intel programming file.
This lecture describes how to program the DE10 Nano Development board.
This is a demonstration of the completed project running on the DE10 Nano development board.
Understand how signals and constants define VHDL designs, using constants for readable code and signals as internal wires, with examples from a two-bit comparator and a blinky LED project.
This lecture discusses what a VHDL process is.
This lecture talks about how if statements are used and the specific syntax.
This lecture explains how if statements can be used to implement prioritization.
Walk through the complete Blinky LED VHDL design, explaining the entity and architecture, generics such as num LEDs and blink rate, and mapping to different boards.
Demonstrates a blinky led project on the Arty A7 development board using a counter that turns leds on at max value. Reset tied to switch zero stops and restarts blinking.
Learn to assign the DE-10 nano blinky LED I/O in Quartus Prime by importing a pinout CSV, mapping LED out 0–7, clock, and reset.
Watch the DE-10 Nano blinky LEDs demonstration as eight LEDs blink in unison at about two hertz when the slide switch is enabled, with the blink rate adjustable in code.
Explore pulse width modulation (PWM) and how varying the duty cycle controls LED brightness and RGB color, using VHDL to generate PWM signals for LEDs and servos.
Design a reusable pwm controller in VHDL by setting a generic clock frequency and a duty cycle port, and implement two counters to output a pwm signal at the frequency.
Explore finishing pwm vhdl design by defining architecture with max frequency count and pwm step, converting duty cycle to max pwm count, and driving pwm output to dim led.
Learn how the VHDL generate statement enables iterative and conditional elaboration of designs, using for loops and if statements to replicate components in a counter for an LED brightness project.
Design a parameterized VHDL counter with both synchronous and asynchronous resets and a generic max value. Simulate its behavior and prepare it for LED brightness project.
Learn how to instantiate VHDL components inside a top level design, map ports and generics, and use PWM and counter modules to drive an LED brightness project.
Learn to vary led brightness with pulse width modulation and a counter in VHDL, creating a led brightness design for four standard and rgb leds on Altera and Xilinx boards.
Configure the rda seven io for led brightness by mapping rgb and standard leds, enabling rgb and led via switches, and defining a 100 mhz clock.
Explore how VHDL and FPGA design use PWM and duty cycle to vary LED brightness on the RDA seven development board, with regular and RGB LEDs, counters, and component instantiations.
Map the led brightness project to the de-10 nano board by selecting led out, clock, and enable pins and configuring 3.3v lvttl io standards via Quartus assignments.
Explore pwm-based led brightness control on the DE-10 Nano board, using a counter to modulate duty cycle across eight LEDs with a slide-switch enable, at 50 Hz.
Explore universal asynchronous receiver transmitter (uart) in depth, including its full duplex operation, start and stop bits, parity, and ASCII data transmission with an FPGA and a computer.
Explore a UART simulation in VHDL with Vivado, showing ASCII data at 115200 baud and the start, data, parity, and stop bits with RX data out and data valid signals.
Learn how the Xilinx microblaze soft core processor is defined and instantiated in vivado, configure a uart demo on the rdi a7 development board, and manage memory and resources.
Learn how to use the Xilinx software development kit with the Microblaze soft core, build a UART top-level VHDL design, synthesize, implement, and export hardware to SDK.
Export hardware for software development and launch the Xilinx SDK, then create a hello world c project for the Microblaze, build, and associate the elf for uart testing.
Learn how the Nios II soft core processor enables multiple processors on a single FPGA, connect peripherals via Avalon or parallel interfaces, and generate drivers to program the device.
Explore the Nios II software build tools, an eclipse-based IDE for Altera devices, to create a hello world UART project using the BSP.
Learn to extend a hello world project using the Nios II software build tools part 2, implementing a uart demo with a ten-iteration hello world loop, newline, delay, and build.
Follow a complete uart demonstration design on a Xilinx fpga using a Microblaze soft processor, wrapper integration, and elf-based firmware to print hello world to a uart terminal.
Demonstrates UART IO placement on the Arty A7 board, detailing input clock, reset, switches, LEDs, and buttons, and mapping UART TX/RX in the master zdc file.
Demonstrate UART communication on the Arty A7 by using the hardware manager and Teratum to load a bitstream and print hello world from the MicroBlaze.
Walk through the UART demonstration project for the Altera DE-10 Nano development board. Follow the flow from UART demo to Platform Designer and Nios II software.
Map clock to pin v11 and reset to pin y24 on de-10 nano board, use 3.3v i/o standard, then import uart demo pin out csv in Quartus Prime and compile.
Program the Nios II soft core on the Altera De-10 Nano board using JTAG and the Quartus programmer, then deploy hello world from the Nios II software tool.
Learn the Essentials of VHDL and FPGA Development is course that will teach you the fundamentals and basics of VHDL design. Prior to working through the courses you will go through the VHDL design structure section that will explain the various concepts and terms needed to implement the projects in VHDL. 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/Intel's development tool Quartus. The projects in this course:
Shift Register Design
A project that takes you through the design and simulation steps to fully test and implement a shift register.
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).
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.