
An introduction to the concept of digital versus analog.
Explore a traffic light example to illustrate logic operations using sensors and boolean equations, showing how green and red signals are controlled by logic gates and assignment in code.
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 coding a clock-enabled set-reset flop, using elsif logic and an else default, to gate the clock and manage propagation delays in a D flip-flop design.
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 designing a 5-second traffic light counter using a binary counter, edge detection, and terminal count logic; implement with V HDL, XOR-based stages, and hex/decimal counting.
Design a counter-based timer for a traffic light system, defaulting the main highway to green, activating the north-south timer on sensor input, and using an east-west timer to regulate cycles.
Explore state machines, the core of digital design, including finite state machines and their state-driven transitions, and how outputs depend on state or on state and inputs.
Explore using case statements to implement state machines, replacing if-then chains. Implement a counter with enable and clear, using multi-bit vector signals and actions that can be several statements.
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.
Explore fpga design through simulation by building a test bench with an entity and architecture, applying stimulus to the unit under test and observing outputs.
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.
Explore how a circular buffer implements a fifo by storing audio samples in a dual-port memory and wrapping addresses to read out in first-in, first-out order.
Explore digital signal processing concepts from sampling real-world signals to implementing DSP blocks in FPGAs, including multipliers, adders, and binary shifts with two's complement signed numbers.
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.