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