0

我是新来的凿子。目前我正在使用 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 类)

4

1 回答 1

1

在从 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 而不运行任何测试,请参阅Is there a simple example of how to generate verilog from Chisel3 module?.

于 2016-12-01T07:49:05.790 回答