Interactive labs
Concept labs in the browser — organized by idea, not by course or module. Target courses: syllabus.md.
Shell & filesystem
Processes & text
Scripting
Projects & archives
Version control
Ordered to match learn_git modules 01–18 (all shipped). Template / submission labs live under Workflow.
- Git mental model
- Git graph, staging, stash & rebase
- .gitignore pattern lab
- Commit message lab
- git log options
- Safe Git undo
- Stash scenarios
- Tags (light vs annotated)
- Branch naming strategy
- Merge conflict resolver
- Rebase vs merge chooser
- Cherry-pick lab
- Reflog recovery
- Blame & bisect
- Remotes, PRs & submodules
- Remote-tracking branches
- PR review checklist
- Submodule pitfalls
Workflow & submission
Number systems & representation
Core path ordered to match learn_digital modules 01–10 (all shipped). verilog-literals is primarily learn_verilog.
Boolean algebra & minimization
Gates & combinational blocks
HDL structure & operators
learn_verilog path ordered first (modules 01–13). Remaining rows are primarily learn_systemverilog.
- Module / port diagram
- Verilog literal decoder
- Classic wire vs reg
- ANSI vs non-ANSI ports
- Operator playground
- Parameter / width explorer
- Named vs positional connections
- localparam vs parameter
- Generate / replication explorer
- One-driver / multi-driver
- Typedef / enum / packed struct
- Multi-dimensional arrays
- bit vs logic (2-state / 4-state)
- Signed / unsigned width
SystemVerilog design constructs
Ordered to match learn_systemverilog modules 02, 06–12 (all shipped). Types / arrays live under HDL structure (modules 01, 03–05).
Combinational design hygiene
Clocks, registers & timing
Waveforms & debug literacy
learn_iverilog modules 04–06, 09–10 (shipped). Shared waves also used by protocol courses.
FSM & control
Arithmetic & datapath
Memory, FIFO & cache
Hierarchy, buses & integration
Coding standards & synthesizability
Protocols (conceptual)
learn_uart / learn_spi / learn_i2c protocol labs shipped (see module tags). Shared datapath labs: FIFO · handshake · shift-reg · FSM · waves.
SV testbench & assertions (conceptual)
UVM 2017 methodology (sketches)
learn_uvm2017 browser sketches for IEEE 1800.2-2017 UVM literacy (module tags). Fidelity remains offline UVM (module 22). TB anatomy / waves also under Waveforms.
- Testbench layer diagram
- UVM phase timeline
- Factory override sketch
- ConfigDB key path
- Agent anatomy
- TLM port wiring
- Sequence → driver flow
- Objection raise/drop
- Plusargs / CLP
- Scoreboard expect/actual
- Register model map
- Multi-agent env
- Virtual sequence
- Callbacks sketch
- UVM reporting ladder
- Protocol checker sketch
- VIP anatomy
Python / cocotb / pyuvm (sketches)
learn_pyuvm modules 01–04 pyuvm/cocotb labs shipped. Shared UVM 2017 sketches 05–09 live under UVM 2017 methodology. Fidelity is offline (module 10). Optional literacy: tb-anatomy / tb-vs-uvm-map.
Formal verification (conceptual)
learn_formal — assert/assume/cover, BMC, CEX, induction, vacuity sketches. Engines stay offline.
Verification planning (lightweight)
Simulation literacy (conceptual)
learn_verilator 01–09 and learn_iverilog toolchain labs shipped. TB/wave literacy also under Waveforms. Offline: Verilator m10 · iverilog m11.