主要观点:作者在[Yosys Users Group]做了关于将 Chisel 和 C++与 Yosys/CXXRTL 结合的闪电演讲,分享了自己的学习和实践经验。
关键信息:
- 作者是“systems engineer”,无电气或数字背景,去年开始探索 FPGA,熟悉 Amaranth 后开始研究 Yosys 的 CXXRTL。
- Chisel 是在 Scala 中的 HDL,通过元编程生成硬件,输出 SystemVerilog 且可避免 Yosys 不喜欢的构造。
- Yosys 有 CXXRTL 后端,类似 Verilator 有独特优势,可直接从内部 RTL 模型生成 C++,支持运行时自省和暴露 API 给 C。
- 能在 Chisel 层次结构中任意位置实例化用 C++实现的黑盒,有多种模拟选项,如在硬件或 C++中模拟 SPI 闪存等,CXXRTL 的黑盒支持很强大。
重要细节: - 展示了一个简单的堆栈机器示例,其指令来自同步内存,在 Chisel 中进行单元测试。
- 介绍了在不同目标平台(如 iCEBreaker)上针对 CXXRTL 的具体硬件布线和软件模拟。
- 提到了一些相关的项目和资源,如[SPI flash reader example]、[Chryse]、[CXXRTL primer]等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。