| Crates.io | spade-lang |
| lib.rs | spade-lang |
| version | 0.16.0 |
| created_at | 2025-02-03 22:04:24.017784+00 |
| updated_at | 2026-01-22 13:21:58.239732+00 |
| description | The Spade compiler |
| homepage | https://spade-lang.org |
| repository | https://gitlab.com/spade-lang/spade |
| max_upload_size | |
| id | 1541129 |
| size | 133,904 |
An HDL that doesn't make you want to pull your hair out. Taking inspiration from rust and clash, the goal is to make a safer more expressive language than Verilog and VHDL but without sacrificing the ability for low level control of the hardware.
To learn more about the Spade language, see the website at https://spade-lang.org or the language documentation at https://docs.spade-lang.org
To get started with Spade, see https://docs.spade-lang.org/introduction.html. You should start by installing Spade and then setting up your editor.
If you are interested in using or contributing to Spade, feel free to join our discord group.
If you want to understand the compiler, the ARCHITECTURE.md document is a good place to start. It gives a high level overview of the inner workings of the compiler.
Contributions must not include content generated by large language models or other probabilistic tools, including but not limited to Copilot or ChatGPT. This policy covers code, documentation, pull requests, issues, comments, and any other contributions to the Spade project.
For now, we’re taking a cautious approach to these tools due to their effects — both unknown and observed — on project health and maintenance burden. This field is evolving quickly, so we are open to revising this policy at a later date, given proposals for particular tools that mitigate these effects. Our rationale is as follows:
Maintainer burden: Reviewers depend on contributors to write and test their code before submitting it. We have found that these tools make it easy to generate large amounts of plausible-looking code that the contributor does not understand, is often untested, and does not function properly. This is a drain on the (already limited) time and energy of our reviewers. In addition, reviewing a human contributed contribution not only brings N lines of code into the project, but helps mentor a potential future maintainer. An LLM coded contribution takes the same amount of effort to review, but only brings in the additional N lines of code.
Copyright issues: Publicly available models are trained on copyrighted content, both accidentally and intentionally, and their output often includes that content verbatim. Since the legality of this is uncertain, these contributions may violate the licenses of copyrighted works.
Ethical issues: LLMs require an unreasonable amount of energy to build and operate, their models are built with heavily exploited workers in unacceptable working conditions, and they are being used to undermine labor and justify layoffs. These are harms that we do not want to perpetuate, even if only indirectly.
Correctness: Even when code generated by LLMs does seem to function, there is no guarantee that it is correct. While both humans and AI can and will make mistakes, when a human makes a mistake there is someone available to ask about why a decision was made, and how code can be adapted to fix the issue in a way that does not cause future issues. With AI, there is no such opportunity.
The spade standard library (all files located in the spade-compiler/stdlib directory) is licensed under the terms of both the [MIT license](MIT License) and the Apache License.
All other source code, including each of the crates that comprise spade, are licensed under the EUPL-1.2 license.