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

时间:2016-12-01 06:02:02

标签: scala chisel

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

1 个答案:

答案 0 :(得分:1)

在从Chisel 2迁移到Chisel 3之后,Chisel的开发人员决定推广ScalaTest风格的Chisel设计测试。 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?。< / p>