HDLbits
Browse Problems

Verilog · SystemVerilog · VHDL

Learn digital design by writing it.

Practice HDL circuits from your first wire to production RTL — synchronous and asynchronous FIFOs, clock-domain-crossing synchronizers, valid/ready pipelines, and memory controllers. Everything compiles and simulates instantly, right in your browser.

module top_module (
    input  wire clk,
    input  wire rst_n,
    input  wire wr_en,
    input  wire [7:0] din,
    output reg  [7:0] dout,
    output wire full,
    output wire empty
);
    // synchronous FIFO — your move
endmodule

Built to be better than a Verilog-only wiki.

Three languages, one judge

Solve the same circuit in Verilog, SystemVerilog, or VHDL — pick the HDL your course or job actually uses.

Simulation runs in your browser

No server queue, no waiting. Your code compiles and simulates locally the moment you hit Run.

Real feedback, not just pass/fail

See a signal-level waveform and diff against the expected output — understand why a test failed, not just that it did.

Beyond the classroom

A dedicated RTL Design Patterns track covers FIFOs, clock-domain crossing, handshaking, pipelines, and memories — the blocks you'll actually build on the job.