
An introduction to the concept of digital versus analog.
Explore how a latch acts as a memory element via set-reset feedback, sustaining output after inputs change. Apply boolean expressions and or gates to traffic lights logic.
Explore enabled latches and series d flip-flops to implement time-stepped, rising-edge pulse operations that reset a traffic light after a four-second timer.
Examine clocked registers and latches via a rising-edge D flop in VHDL. Explore conditional when statements, sensitivity lists, and the process structure that implements a D flop.
Explore register-to-register transfers by clocking outputs into inputs, learn about setup and hold times, and analyze set-reset latches and set clock latches in FPGA clocked designs.
Explore binary arithmetic and representations, group four-bit binary values to represent numbers, identify the least and most significant bits, and learn hex notation with 0x and a through f.
Explore shift registers, counters, and vectors, and distinguish 1k from 1K in binary data. Learn to count with six-bit counters, use signal buses, and implement simple addition in HDL.
Explore how to implement a traffic light controller as a state machine using a case statement, with a multi-purpose counter timer managing idle, yellow, and green phases.
Learn how to write VHDL code with plain text files and a text editor, covering header and entity declarations, architecture, and editor features like syntax highlighting and auto indentation.
Explore the structure of a VHDL file by examining entities, architectures, port declarations, and vector signals. Learn how unsigned arithmetic, type conversions, and HDL libraries enable practical timer counter designs.
Learn modular design by using a pulse generator and toggle block to debounce a push button and implement falling-edge detection on an FPGA, with hierarchical component instantiation.
Create a simulation testbench that generates stimulus signals to drive the FPGA design, instantiate the top level component, and produce a 10 MHz clock for verification.
Learn to use ModelSim with GUI and script workflow, set up folders, add source files, compile, and simulate to generate waveforms from test benches.
Single-wire serial interfaces must be latched at the receiving end, and this lecture explains how a virtual clock can be carried and recovered for the purpose.
VHDL is a powerful programming language for developing FPGAs, but is useless without an in-depth understanding of digital design. This course provides the student a comprehensive working knowledge of both of these in parallel. VHDL describes digital logic, and, as such, is an ideal vehicle for developing a deep understanding of the functional power available in modern FPGA devices.