Small circuits.
Big possibilities.
Learn digital design by making things.
From your first RTL to an idea of your own.

Start with digital signals and logic gates such as AND, OR and XOR, then design combinational circuits, latches, flip-flops, counters and state machines. Connect truth tables, equations, circuits and waveforms directly, and verify your designs in RTL labs. The optional advanced chapters extend the course to datapaths and interfaces.
View courseExpress digital circuits in SystemVerilog. Work through types, widths, signedness, combinational and sequential logic, modules, parameters and generate constructs, then verify boundaries and failures with independent testbenches. Finish by composing a periodic-pulse accumulator and recording reproducible execution evidence.
View courseSpecify numeric and cycle contracts, then design an ALU, controller, pipeline, and ready-valid buffering. Four runnable reference-model labs check arithmetic boundaries, stalls, FIFOs, and ordering before a streaming-compute capstone.
View courseBuild a parameterized matrix multiplication array from signed MAC arithmetic, input skew and processing elements, then verify tiling, flow control and exact edge-by-edge behavior.
View courseLearn convolution indexing and integer numerical contracts, then streaming windows, PE mapping and tiling. Verify a runnable reference and a small inference path while separating values, schedule estimates and traffic.
View courseBuild a practical foundation in low-voltage analog design: solve DC networks, predict transient and frequency response, bias transistors, design feedback amplifiers and filters, and verify a sensor signal path with explicit model limits.
View courseYour field notes
A little progress goes a long way.
Explore the designs and code in the project documentation and public repositories.


Set up Digital Design Studio and open your first project. Each lab includes the source code and input files you need to get started.
First-run field guide Open Cloud