Learn

Skill tracks

Work through a topic in order, instead of picking problems at random.

26 tracks · 1,271 problems

Circuit Lab

13 tracks
  1. 01

    Digital Foundations

    Build your number system intuition. Master binary, hex, BCD, Gray code and Boolean algebra before touching a single gate.

    Beginner·60 problems
  2. 02

    Gate-Level Logic

    Master every fundamental gate and simplification technique. From truth tables to K-maps, learn to minimize any Boolean function.

    Beginner·68 problems
  3. 03

    Combinational Building Blocks

    Build adders, multiplexers, encoders and decoders from scratch. The core combinational blocks used in every digital system.

    Intermediate·44 problems
  4. 04

    Latches and Flip-Flops

    Add memory to your circuits. Understand every latch and flip-flop type, timing constraints and type conversions.

    Intermediate·129 problems
  5. 05

    Counters

    Design any modulus counter from ripple to synchronous. Learn lockup analysis and self-correcting counter techniques.

    Intermediate·146 problems
  6. 06

    Shift Registers

    Master all four shift register configurations and build ring and Johnson counters. The foundation of serial communication.

    Intermediate·92 problems
  7. 07

    Finite State Machines

    Design Moore and Mealy machines for any sequential behavior. From state diagrams to silicon-ready circuits.

    Advanced·29 problems
  8. 08

    Arithmetic and ALU Design

    Build the computational core of a processor. Design ALU slices, carry chains, barrel shifters and multiplier circuits.

    Advanced·34 problems
  9. 09

    Datapath and Storage

    Design register files, FIFOs, stacks and programmable logic arrays. The building blocks of real hardware datapaths.

    Advanced·33 problems
  10. 10

    Clocking and Synchronization

    Control time in your circuits. Build clock dividers, pulse generators and synchronizers that handle real-world clock domain issues.

    Intermediate·89 problems
  11. 11

    Fault Testing and Verification

    Find and fix broken circuits. Learn stuck-at fault analysis, test vector generation and debug real circuit bugs.

    Advanced·35 problems
  12. 12

    Interface and Communication Circuits

    Build the FSMs and circuits that implement SPI, I2C and UART protocols from first principles.

    Advanced·80 problems
  13. 13

    Interview Circuit

    Hard, exam-style problems that combine every Circuit Lab skill. No hints, no skeleton circuits. Just you and the problem.

    Advanced·35 problems

RTL

13 tracks
  1. 01

    Verilog Syntax and Language Basics

    Write your first correct Verilog from day one. Master module structure, data types, operators and hierarchical instantiation.

    Beginner·40 problems
  2. 02

    Combinational RTL

    Write synthesizable combinational logic in Verilog. Understand when synthesis infers a latch and how to prevent it.

    Beginner·24 problems
  3. 03

    Sequential RTL

    Write clocked circuits correctly every time. Master non-blocking assignment, reset styles and flip-flop inference.

    Intermediate·31 problems
  4. 04

    FSM Coding

    Code any finite state machine in one, two or three always blocks. Verify Moore vs. Mealy output timing live in the waveform viewer.

    Intermediate·19 problems
  5. 05

    Synthesis Intuition

    Understand exactly what hardware your RTL produces. Use Yosys and NetlistViewer to verify gate structures interactively.

    Intermediate·69 problems
  6. 06

    Datapath Design

    Implement parameterized ALUs, barrel shifters, multipliers and arithmetic circuits used in real processors.

    Advanced·30 problems
  7. 07

    Memory and Storage

    Build synchronous RAMs, register files, FIFOs and stacks in Verilog. Initialization uses case statements (no $readmemh).

    Intermediate·26 problems
  8. 08

    Pipelining

    Build multi-stage pipelines and handle hazards. Visualize throughput vs. latency tradeoffs live in the waveform viewer.

    Advanced·22 problems
  9. 09

    Interfaces and Protocols

    Implement UART, SPI, I2C and AXI-stream handshake in RTL. Verify every byte transfer in the waveform viewer.

    Advanced·20 problems
  10. 10

    SystemVerilog RTL

    Write modern synthesizable SystemVerilog. Master logic type, structs, interfaces, packed arrays and parameterized modules.

    Intermediate·29 problems
  11. 11

    Clock Domain Crossing and Synchronization

    Handle multi-clock designs safely. Build synchronizers, async FIFOs and reset circuits that survive real silicon.

    Advanced·47 problems
  12. 12

    Debug and Verification

    Hunt bugs in broken RTL. Yosys latch detection and WaveformViewer make every bug visible and reproducible.

    Advanced·24 problems
  13. 13

    Interview Circuit

    Hard RTL problems sourced from real hardware interviews at top semiconductor companies. No hints. No starter code.

    Advanced·16 problems