主要观点:Spade 是一种新的硬件描述语言,使硬件描述更易且少出错,从软件编程语言吸取经验并添加语言级支持常见硬件结构,不影响底层硬件生成控制。
关键信息:
- 具有语言级流水线,
reg
可轻松重定时和重新流水线化,编译器能智能处理时序变化。 - 有强大类型系统,包括结构体、数组、元组和枚举(
enums
),枚举可带关联有效载荷,强类型系统利于模块互操作性和代码重构。 - 枚举与模式匹配配合良好,可轻松检查条件和绑定子值。
- 具备强大类型推断,有良好错误消息和有用工具,如官方构建工具
Swim
、基于cocotb
的测试和自动翻译的 VCD 等。 - 有计划的功能,如整数范围类型、带特征的泛型、类型的时钟域信息等。
重要细节: - 示例代码展示了语言级流水线、类型和枚举的使用、模式匹配的功能等。
- 提到可通过阅读[spade book]、观看[talk from OSDA 2023]等方式学习 Spade,项目处于早期阶段有变化,可在[Gitlab]或[Discord 社区服务器]关注发展,引用 Spade 可使用[zenodo record],开发在瑞典林雪平大学的相关部门进行,工具许可包括 EUPL-1.2、MIT 和 Apache 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。