在凿子项目模板中编译凿子源文件

Compiling chisel source files in chisel project template

我是凿子新手。目前我正在使用 chisel3 关注 chisel-tutorial wiki。克隆那里链接的凿子项目模板后,我尝试从 GCD.scala 源文件测试并生成 verilog 输出。我收到以下错误。

> run --v
java.lang.RuntimeException: No main class detected.
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) No main class detected.
[error] Total time: 0 s, completed Dec 1, 2016 12:28:46 AM

因此,按照我在邮件列表中找到的解决方案(针对同一问题),我在 GCD.scala 文件

的末尾插入了以下代码块
object GCDMain {
def main(args: Array[String]): Unit = {
    chiselMainTest(Array[String]("--backend", "c", "--genHarness"),
        () => Module(new GCD())){c => new GCDTests(c)}
}
}

但我仍然得到同样的错误。 (我也添加了 GCDTests class)

在从 Chisel 2 到 Chisel 3 的过程中,Chisel 的开发人员决定推广 Chisel 设计的 ScalaTest 风格测试。 chisel-template repo 提供了一个测试,可以使用命令 sbt test 运行(有关使用 sbt 进行测试的更多信息,请参阅 http://www.scala-sbt.org/0.13/docs/Testing.html)。 运行 此命令将生成 Verilog 和 运行 一些执行驱动的测试以表明示例代码有效。

您在邮件列表中找到的 GCDMain 可以在 Chisel 2 中使用,但不适用于 Chisel 3。如果您只想使用 Verilog 而不是 运行 任何测试,请参阅 .