
The Problem with Just LUTs on an FPGA: No Way to Keep State
The video explains why relying solely on lookup tables (LUTs) in an FPGA prevents a design from retaining any state. LUTs implement pure combinational logic: they map inputs directly to outputs, so as soon as inputs change, outputs update instantaneously, effectively at the speed of light. Because LUTs lack memory, they cannot hold intermediate results or remember previous values. The presenter illustrates this with a simple addition example—adding 5 and 7 and then using the sum later. With only LUTs, the sum would disappear as soon as the inputs change, making it impossible to store a variable for subsequent operations. To overcome this limitation, the video introduces flip‑flops as the essential sequential element. Flip‑flops capture and hold a value on a clock edge, providing the state storage that LUTs cannot. By integrating flip‑flops, designers can build pipelines, registers, and any logic that depends on historical data. The implication for FPGA developers is clear: any realistic design must combine combinational LUTs with sequential flip‑flops to achieve functional, stateful behavior. Ignoring this requirement leads to designs that cannot perform even basic arithmetic storage, limiting applicability in real‑world applications.

The Worst FPGA Design I've Ever Seen
The video recounts a notorious FPGA project where two independent clock domains exchanged data without any proper clock‑domain crossing (CDC) strategy. Each domain had its own frequency constraints, yet the design omitted any timing relationship or synchronizer between them, violating...

VHDL Vs. Verilog for Programming FPGAs
The video contrasts the two dominant hardware description languages—VHDL and Verilog—used to program field‑programmable gate arrays (FPGAs). It outlines each language’s heritage, syntax style, and typical industry adoption. VHDL, born in 1983 from the Department of Defense’s ADA lineage, is strongly...