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.
Advanced Types
13.1.
Methods
13.2.
Generics
13.3.
Metaprogramming
14.
Interfacing with Verilog
Tool Setup
15.
Installation
16.
Editor Setup
Example Projects
17.
Sample project: WS2812 RGB LED driver
17.1.
Creating a Project
17.2.
Led Protocol Overview
17.3.
Driver Interface
17.4.
State Machine
17.5.
Testing the State Machine
17.6.
Output generation
17.7.
Testing in hardware
Swim
18.
Swim
18.1.
Installing Swim
18.2.
Using Swim
18.3.
Custom Subcommands
18.4.
Sharing Simulation Functions
18.5.
Project Configuration
Language Reference
19.
Language Reference
19.1.
Lexical Structure
19.1.1.
Keywords
19.1.2.
Identifiers
19.1.3.
Comments
19.2.
Items
19.2.1.
Units
19.2.2.
Type Declarations
19.2.3.
Namespaces
19.3.
Statements
19.4.
Expressions
19.4.1.
Blocks
19.4.2.
If
19.4.3.
Match
19.4.4.
Instantiation
19.4.5.
Indexing
19.4.6.
Stage References
19.5.
Patterns
19.5.1.
Refutability
19.6.
Type System
19.6.1.
Primitive Types
19.6.2.
Generics
19.6.3.
Ports and Wires
19.7.
Dynamic Pipelines
19.8.
Binding
19.9.
Constructs by Syntax
Development
20.
Contributing
Development Tools
20.1.
Writing Tests
20.2.
Debugging
Compiler Internals
20.3.
Naming
20.4.
Type Representation
20.5.
Type Inference
☰
☰
The Spade Hardware Description Language
Pipelines (for software people)
This section is yet to be written. For now, see
Pipelines (for hardware people)
.
⟨
Pipelines
Previous page
⟩
Pipelines (for hardware people)
Next page