1. Introduction
  2. Getting started
  3. Installation
  4. Editor Setup
  5. The Spade language
  6. Blinky
    1. Blinky (for software people)
    2. Blinky (for hardware people)
  7. Common Language Constructs
    1. Basic Expressions
    2. Spicy Expressions
    3. Variables
    4. Units
  8. Types
    1. Enums and Pattern Matching
  9. Pipelines
    1. Pipelines (for software people)
    2. Pipelines (for hardware people)
  10. Simulation and Testing
  11. Ports and Wires
  12. Interfacing with Verilog
  13. Example projects
  14. Sample project: ws2128 RGB LED driver
    1. Creating a Project
    2. Led Protocol Overview
    3. Driver Interface
    4. State Machine
    5. Testing the State Machine
    6. Output generation
    7. Testing in hardware
  15. Language & Tool References
  16. Language Reference
    1. Items
      1. Units
      2. Type Declarations
    2. Statements
    3. Expressions
      1. Blocks
      2. If
      3. Match
      4. Instantiation
      5. Indexing
      6. Stage References
    4. Patterns
      1. Refutability
    5. Type system
      1. Primitive Types
      2. Generics
      3. Ports and Wires
    6. Dynamic Pipelines
    7. Binding
    8. Constructs by syntax
  17. Swim
    1. Installing Swim
    2. Using Swim
    3. Custom Subcommands
    4. Project Configuration
    5. Plugin Configuration
  18. Compiler Internals
    1. Naming
    2. Type Representation