Choose Your Track
skalp compiles both its own language and VHDL. Pick the tutorial that matches your background:
skalp Language Tutorial
Build a complete UART peripheral from scratch.
10 chapters that take you from your first entity to clock domain crossings, safety annotations, and Rust-based testbenches. Best if you want to learn the skalp language itself.
- Getting Started — Entities, signals,
on(clk.rise) - State Machines — UART transmitter with FSM and baud timing
- UART Receiver — Mid-bit sampling and edge detection
- Arrays and Generics — Parameterized FIFO buffering
- Parameterization — Const generics and configurable designs
- Structs and Composition — Hierarchical design with struct ports
- Enums and Matching — Type-safe FSMs with exhaustive matching
- Clock Domain Crossing — CDC safety with clock lifetimes
- Safety and Annotations — TMR, trace, breakpoints
- Testing — Async Rust testbenches with full coverage
VHDL with skalp Tutorial
Use your existing VHDL designs with skalp’s compiler, simulator, and Rust test framework.
9 chapters that walk through progressively complex VHDL designs — counters, FSMs, generics, hierarchical systems — compiled and tested with skalp. Best if you already know VHDL and want to use skalp as your build and verification tool.
- Getting Started — Compile and simulate
counter.vhd - Combinational Logic — Multiplexers,
process(all),case/when - Clocked Processes and FSMs — Timers, I2C controller, enumerations
- Generics, Records, and Arrays — GPIO controller, edge detection
- Hierarchical Design — Multi-entity systems, port maps
- Testing VHDL with Rust —
TestbenchAPI, waveforms, coverage - skalp Integration — Pragmas, formal verification, mixed designs
- VHDL-2019 Features — Interfaces, views, generic types
- Real-World Project — SPI master capstone with full test suite