Chapter 1: Getting Started

Your first VHDL design compiled with skalp — an 8-bit counter that introduces entity/architecture, ports, rising_edge, skalp build, and basic simulation.

March 4, 2026 · 9 min · Giri

Chapter 1: Getting Started

Your first skalp entity — an 8-bit counter that introduces the entity/impl split, port declarations, signal types, sequential logic with on(clk.rise), and combinational assignment.

July 15, 2025 · 8 min · Giri

Chapter 2: Combinational Logic

Multiplexers, process(all), case/when, concurrent assignments, when…else, and with…select — all the ways VHDL expresses combinational logic, compiled with skalp.

March 4, 2026 · 10 min · Giri

Chapter 2: State Machines — UART Transmitter

Build a complete UART transmitter with FSM states, baud rate timing, and shift register serialization. Covers state encoding, counter-based timing, bit-level data shifting, and forward references for combinational signals.

July 15, 2025 · 14 min · Giri

Chapter 3: Clocked Processes and State Machines

Enumerated state types, FSM patterns with case statements, prescaler-based timing, and type casting — build a timer and an I2C-style controller, both compiled with skalp.

March 4, 2026 · 13 min · Giri

Chapter 4: Generics, Records, and Arrays

Generic parameters, array types, register banks, double-flop synchronizers, and edge-detect interrupts — build a GPIO controller with skalp.

March 4, 2026 · 10 min · Giri

Chapter 5: Hierarchical Design

Multi-entity designs, direct entity instantiation, port maps, internal signals, and named associations — connect a sender and receiver through a bus with skalp.

March 4, 2026 · 10 min · Giri

Chapter 5: Const Generics and Parameterization

Make your designs fully configurable with generic defaults, explicit instantiation, compile-time width computation, const expressions, and test vs. production parameterization – all applied to the running UART project.

July 15, 2025 · 15 min · Giri

Chapter 6: Testing VHDL with Rust

The skalp Testbench API — set, clock, expect, get_u64, export_waveform. Write async Rust tests for your VHDL designs without ModelSim, without license servers, just cargo test.

March 4, 2026 · 11 min · Giri

Chapter 6: Structs and Hierarchical Composition

Group related signals into structs for cleaner interfaces, then compose entities hierarchically with let-binding to build the complete UART top-level module.

July 15, 2025 · 13 min · Giri