by Vendel Labs · learn Verilog by doing
VLSI Tutor
Learn Verilog with a tutor that won't just hand you the answer.
Write real HDL. A real simulator grades it against a hidden reference — pass or fail is decided by simulation, never by a language model guessing. When you're wrong, a local Socratic tutor walks you toward the fix with graduated hints, and reveals the reference only when you ask. Everything runs on your own machine.
$ vlsitutor check mux2to1 my_mux.v --tutor Compiling with iverilog... ok Running testbench under vvp... ✗ FAILED — 2 of 8 vectors mismatched sel=1 a=0 b=1 your out=0 expected 1 sel=1 a=1 b=0 your out=1 expected 0 Tutor · hint 1 of 3 · concept A 2-to-1 mux forwards one of its two inputs to the output depending on the select line. Every failing row here has sel = 1 — so look hard at which input you route when sel is high. Which one should win then? Attempt recorded. Revise and run check again, or use --give-up to see the reference.
What it is
A learning tool for digital logic in Verilog, built on three ideas that work together:
Checkable
You write the Verilog; a real simulator compiles it and runs a fixed testbench against a hidden reference. Pass or fail is decided by actual simulation and the exact input vectors you got wrong — not by a model's opinion of your code.
Socratic
Get it wrong and the tutor escalates hints — the concept, then a specific nudge grounded in your failing vectors, then the failing line in your own code. It teaches you toward the answer instead of pasting it in.
Local
All of it runs on your machine — the simulator and the tutor's local model alike. Your code never leaves the box, and there are no API keys, no tokens, and no per-question cost.
Built for the self-learner working through digital-logic fundamentals — combinational and sequential circuits — who wants to actually build the intuition, not copy a solution and move on.
How the tutor helps
When a check fails, help arrives in stages — each one nudges a little further, and the answer stays behind a gate until you decide you want it.
The concept
First a plain-language reminder of what the circuit is supposed to do — enough to re-orient you without pointing at anything specific.
A specific hint
Still stuck? The next hint is grounded in the exact input vectors you failed — it points at the pattern in what went wrong, not just the theory.
The failing line
If you're still off, the tutor points at the line in your own code where the logic breaks down — close to the fix, but the fix is still yours to make.
The reference — only when you ask
The worked reference is revealed only after several honest attempts, or the
moment you run --give-up. It's never shown before you've tried, and
it's never quietly slipped into a hint — that gate is built into how the tool works,
not just something we ask the model to respect.
Twelve original exercises
An original, authored exercise bank — spanning combinational and sequential logic, each with its own spec, hidden reference, and testbench. Not adapted from anywhere.
Combinational — 7
Sequential — 5
Read this before you buy
What you need to run it
VLSI Tutor runs entirely on your own machine and drives two free, open tools. You
install those yourself — a built-in doctor command checks that each one
is present and tells you what's missing:
- Python 3.9 or newer. The tool installs as a small Python package. Free, from python.org.
-
Icarus Verilog.
The open-source simulator (
iverilog/vvp) that actually grades your work. Free, from the Icarus project. -
Ollama, plus a local model.
This runs the tutor on your own hardware — no API key, no tokens. Free, from
ollama.com; the tutor pulls a small
local model (default
qwen2.5:7b).
There's no cloud account to sign up for and nothing is billed per question — but if you don't want to install a local simulator and a local model, this isn't the tool for you.
I have these — buy VLSI TutorPricing
€9
one-time purchase — not a subscription
- Pay once — no recurring fee, ever.
- The full exercise bank, the grading harness, and the Socratic tutor.
- Runs entirely on your machine — no tokens, no per-question cost, nothing to meter.
- Future releases included as the exercise bank grows.
Frequently asked questions
- Does it just give me the answers?
-
No — that's the whole point. When you fail a check, the tutor gives graduated hints:
the concept, then a specific nudge, then the failing line in your own code. The
worked reference stays gated behind several attempts or an explicit
--give-up, and it's structurally kept out of the hints — not just discouraged. - What decides pass or fail?
- A real Verilog simulator (Icarus). Your submission is compiled and run against a fixed testbench and a hidden reference, and graded by comparing the actual simulation traces. The language model only ever helps explain — it never grades.
- Is my code private?
- Yes. Everything runs locally — the simulator and the tutor's model both run on your machine. Your code never leaves the box, and there's no cloud account or API key.
- What will I learn?
- Digital-logic fundamentals in Verilog — combinational circuits (multiplexers, adders, comparators, decoders, encoders) and sequential circuits (flip-flops, counters, shift registers, a sequence detector), across twelve original exercises.
- Is it a subscription?
- No. It's a one-time purchase — pay once and it's yours to keep and run, future releases included.
- Which operating system?
-
Anywhere Python, Icarus Verilog, and Ollama run — Windows, macOS, or Linux. Run the
built-in
doctorcommand after installing to confirm your setup is ready.