1. 1. Introduction
  2. The Spade language
  3. 2. Blinky
    1. 2.1. Blinky (for software people)
    2. 2.2. Blinky (for hardware people)
  4. 3. Common Language Constructs
    1. 3.1. Basic Expressions
    2. 3.2. Spicy Expressions
    3. 3.3. Variables
    4. 3.4. Registers
    5. 3.5. Units
  5. 4. Types
    1. 4.1. Enums and Pattern Matching
  6. 5. Pipelines
    1. 5.1. Pipelines (for software people)
    2. 5.2. Pipelines (for hardware people)
  7. 6. Installing Spade
  8. 7. Spade projects and Swim
  9. 8. Simulation and Testing
  10. 9. Namespaces
  11. 10. Libraries
  12. 11. Inverted Signals and Wires
  13. 12. Memories
  14. 13. Interfacing with Verilog
  15. Tool Setup
  16. 14. Installation
  17. 15. Editor Setup
  18. Example Projects
  19. 16. Sample project: WS2812 RGB LED driver
    1. 16.1. Creating a Project
    2. 16.2. Led Protocol Overview
    3. 16.3. Driver Interface
    4. 16.4. State Machine
    5. 16.5. Testing the State Machine
    6. 16.6. Output generation
    7. 16.7. Testing in hardware
  20. Swim
  21. 17. Swim
    1. 17.1. Installing Swim
    2. 17.2. Using Swim
    3. 17.3. Custom Subcommands
    4. 17.4. Project Configuration
  22. Language Reference
  23. 18. Language Reference
    1. 18.1. Lexical Structure
      1. 18.1.1. Keywords
      2. 18.1.2. Identifiers
      3. 18.1.3. Comments
    2. 18.2. Items
      1. 18.2.1. Units
      2. 18.2.2. Type Declarations
    3. 18.3. Statements
    4. 18.4. Expressions
      1. 18.4.1. Blocks
      2. 18.4.2. If
      3. 18.4.3. Match
      4. 18.4.4. Instantiation
      5. 18.4.5. Indexing
      6. 18.4.6. Stage References
    5. 18.5. Patterns
      1. 18.5.1. Refutability
    6. 18.6. Type system
      1. 18.6.1. Primitive Types
      2. 18.6.2. Generics
      3. 18.6.3. Ports and Wires
    7. 18.7. Dynamic Pipelines
    8. 18.8. Binding
    9. 18.9. Constructs by syntax
  24. Development
  25. 19. Contributing
  26. 20. Compiler Internals
    1. 20.1. Naming
    2. 20.2. Type Representation
    3. 20.3. Type Inference

The Spade Hardware Description Language

⟨ Language Reference Previous page
⟩ Keywords Next page