【问题标题】:Adding uncore package to a Chisel project将 uncore 包添加到 Chisel 项目
【发布时间】:2015-08-02 10:26:55
【问题描述】:

Rocket repo 中有一个文件rocc.scala 描述了rocc 接口,我想构建它的verilog 代码并查看代码。我的问题是我不知道如何将其他包导入到我的项目中,例如“uncore.”或“Util.”并运行SBT

现在为了构建一个新项目,我只使用位于 chisel-tutorial/problems 文件夹中的 build.sbtchisel-dependent.sbt 文件

谢谢

【问题讨论】:

    标签: scala riscv chisel rocket


    【解决方案1】:

    虽然 chisel 可能不熟悉,但它可能比它生成的 verilog 更具可读性。如果您对 RoCC 接口感到好奇,我建议您查看上次 RISC-V 研讨会的slides

    如果您真的想查看为这些组件生成的 verilog,我实际上建议您从 Rocket-Chip 存储库开始。在该存储库中,克隆 rocc-template 并更改为 sha3 branch。 Rocket-Chip repo 将自动检测子模块,并将其附加到 RoCC 接口。您还可以查看模板存储库,了解如何实例化要合并到 Rocket-Chip 中的项目的示例。

    【讨论】:

    • 谢谢,我看过这些幻灯片,但我需要更多关于 cacheIO 部分的信息。现在我正在阅读他们的rocc-template repo,尤其是ctrl 模块。但我的问题是,即使我完全阅读了他们的教程,我也无法理解代码的某些部分发生了什么。但是,我在 Verilog 方面有很好的经验,这就是为什么我决定生成 .v 文件然后代码中发生的事情
    • 例如在代码的某些部分他们使用fire() 函数或busy()debug(),我不知道它们是什么意思
    • fire、busy 和 debug 是由 Chisel 完成的操作。 Queue 是一个使用就绪/有效信号的解耦接口,并且 fire 表示项目已传输(就绪且有效)。 Busy 在 rocc.scala 中定义。一般来说,我确实建议阅读 Chisel 代码而不是阅读 verilog 输出(以了解它要做什么)。
    • 谢谢,我明白你在说什么。关于 debug() 你知道它到底在做什么吗?我了解其他人但调试?
    • 你指的是什么?你在哪里看到debug
    猜你喜欢
    • 2019-06-21
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多