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. Spade projects and Swim
  11. Simulation and Testing
  12. Namespaces
  13. Ports and Wires
  14. Interfacing with Verilog
  15. Example projects
  16. 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
  17. Agile Hardware Design Tutorial
  18. Introduction
  19. Installing Spade
  20. Pipelines and Timing Agility
  21. Fearless Refactoring with Types
  22. Language & Tool References
  23. 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
  24. Swim
    1. Installing Swim
    2. Using Swim
    3. Custom Subcommands
    4. Project Configuration
    5. Plugin Configuration
  25. Compiler Internals
    1. Naming
    2. Type Representation