【问题标题】:Developer's guide for Chisel?Chisel 的开发者指南?
【发布时间】:2019-10-22 18:17:06
【问题描述】:

基本上,我想开始研究 Chisel/FIRRTL 的内部结构。如果有人能指出我可以开始关注的地方,那将会有所帮助。

我一直在阅读源代码。到目前为止,我了解到 Chisel 已被实现为 Scala 库。每个 Chisel 对象都有一些发射 FIRRTL 的方法。在运行特定的 Scala 程序后,会遍历对象并生成 FIRRTL。

我想知道的是我是否一直在寻找正确的方向。我还没有弄清楚 Chisel 模块的 AST 形成和类型推断发生在哪里。最终我会到达那里,但如果有人可以向我总结我应该看的地方,那就太好了。

当然,Chisel 开发人员的要求太高了,但即使是一些基本信息也会有所帮助!

【问题讨论】:

  • 安莫尔,欢迎您! - 自我介绍 - here

标签: chisel


【解决方案1】:

我想说有两个基本的起点。 Firrtl 是一个好的开始,因为它比 chisel 更新,而且总体而言代码库更新。 Firrtl 是一个解析器、转换和发射器,这些都非常简单。转换很好地封装了大多数操作

Chisel 作为 EDSL 更加复杂和古怪。开始的地方是 chiselFrontend。 Builder 类是构建用于发出 chirrtl/high-firrtl 的内部图的魔法的根源。它使用动态变量来提供模块及其组件注册其创建和连接到图的位置。

希望能帮助你入门,快乐侦探

【讨论】:

  • 谢谢。不幸的是,没有足够的声誉来投票,但我认为你已经为我指明了正确的方向!
  • 两个视频可能有助于了解 Chisel 和 FIRRTL 内部原理:Chisel BreakdownFIRRTL Breakdown
  • 谢谢,很高兴听到。并查看@selridge 的建议。
  • 做到了!这些视频真的很有帮助!
猜你喜欢
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
相关资源
最近更新 更多