【问题标题】:Learning Chisel -- advanced examples to understand Rocket Chip code学习凿子——理解火箭芯片代码的高级示例
【发布时间】:2018-03-30 19:00:02
【问题描述】:

RISC-V 的伯克利实现称为 Rocket Chip,它是用一种称为 Chisel 的硬件语言编写的。 Chisel 是面向对象的,我们团队的人很难学会有效地修改 Rocket Chip 代码。

我们为 Chisel 创建了这个学习之旅,非常棒。它从基础开始,包括 Scala 的相关部分,最后是从 Sodor 和 Rocket Chip 代码中提取的高级示例集合,所有这些都带有动手练习:

http://learningjourney.intensivate.com

我们已将其开放给社区以供贡献,但似乎应该有其他好地方可以解释 Rocket Chip 代码中使用的高级 Chisel 编码实践。谁有链接?

【问题讨论】:

    标签: riscv chisel rocket-chip


    【解决方案1】:

    我用于 Chisel 的一些很好的文档链接:

    当然还有很多关于 Stackoverflow 的问答。

    【讨论】:

      【解决方案2】:

      本教程介绍 Rocket 芯片的独立实现。

      https://hardsecurity.github.io/docs/untether-v0.2/

      凿子设计Risc-V cpu

      https://fatalfeel.blogspot.com/2013/12/chisel-design-ic-for-risc-v.html

      香山使用rocket-chip核心设计risc-v cpu 链接讲解缓存、TLB、寄存器文件和基本设计理论,教你如何使用intellij IDE设置断点调试和使用Vivado看电路

      【讨论】:

        【解决方案3】:

        Chipyard 有很好的 Rocket-chipTilelink/Diplomacy 包的文档。

        【讨论】:

        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
        • @east1000 问题是“有人有链接吗?”这里的规则不会有某种例外吗?
        【解决方案4】:

        riscv.org 最好放弃在他们的设计中使用 Chisel,因为使用它或想要使用它的设计工程师相对较少。大多数使用 Verilog、System Verilog 和 VHDL。使用 Chisel 正在大多数想要使用 Rocket Chip 的设计工程师之间筑起一道墙。换句话说,使用大多数设计工程师使用的普遍接受的设计工具。

        【讨论】:

        • 感谢柯克的想法。我同意将新事物引入成熟领域是一场艰苦的战斗,正如你提到的确切原因。问题是,当出现具有明显更好的方面的东西时,是否应该放弃并说“好吧,没有人使用它,因为它是新的,所以没有人会,所以甚至不要尝试”?真正的问题是.. Chisel 有什么优点,有什么缺点(除了受欢迎程度,这是一个社会方面,不是语言固有的)?这是否让 Chisel 值得为之奋斗?
        • 我们用Rocket Chip和FireSim的组合生产了一个商用芯片。事实证明,Chisel 足够高效,我们不使用 C++ 模型(如 GEM5)来做出架构决策。我们在 FPGA 上运行具有真实工作负载的真实代码。这减少了探索建筑空间的努力,并为我们提供了准确的答案。架构团队实际上直接实现了 Chisel,这在 Verilog 甚至 SystemVerilog 中都不可行。这就是我们为之奋斗的目标。
        • 我们遇到的问题是由于Cake Pattern,以及这里的站点,用于参数传递的系统,以及难以通过Chisel 跟踪电线。我们实际上已经启动了一个项目来制作一个可以解决这些问题的 GUI。它保留了 Chisel 的最佳部分,这是对单个模块的有效更改,同时解决了 Rocket Chip 的痛苦部分,当涉及到验证诸如哪些参数实际到达硅的哪些部分,以及在进行时序收敛和电源关闭。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-20
        • 1970-01-01
        相关资源
        最近更新 更多