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.
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.
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.
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.
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.
Chapter 3: UART Receiver
Mid-bit sampling, edge detection, and bit reconstruction — build the RX side of the UART.
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.
Chapter 4: Arrays and Generics — FIFO Buffering
Array types, generic parameters, and clog2() — build a parameterized FIFO and add buffering to the UART.
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.
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.