Chisel 3 中 运行 "sbt test" 之后的错误

Error after running "sbt test" in Chisel 3

我正在尝试使用凿子 3。

我尝试在回答上一个问题后使用 sbt test 和 sbt "test-only example.GCD" 命令测试 chisel 项目模板回购中的 GCD.scala 文件。但这给出了一个我找不到原因的错误。我没有对 build.sbt 文件或存储库布局进行任何更改。我只发布错误消息的最后一部分,因为它很长且重复。

[info] Loading project definition from /home/isuru/fyp/ChiselProjects/TrialProject/project
[info] Set current project to chisel-module-template (in build file:/home/isuru/fyp/ChiselProjects/TrialProject/)
[info] Compiling 1 Scala source to /home/isuru/fyp/ChiselProjects/TrialProject/target/scala-2.11/classes...
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:5: not found: object Chisel3
[error] import Chisel3._
[error]        ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:7: not found: type Module
[error] class GCD extends Module {
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:8: not found: type Bundle
[error]   val io = new Bundle {
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:9: not found: value UInt
[error]     val a  = UInt(INPUT,  16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:9: not found: value INPUT
[error]     val a  = UInt(INPUT,  16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:10: not found: value UInt
[error]     val b  = UInt(INPUT,  16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:10: not found: value INPUT
[error]     val b  = UInt(INPUT,  16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:11: not found: value Bool
[error]     val e  = Bool(INPUT)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:11: not found: value INPUT
[error]     val e  = Bool(INPUT)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:12: not found: value UInt
[error]     val z  = UInt(OUTPUT, 16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:12: not found: value OUTPUT
[error]     val z  = UInt(OUTPUT, 16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:13: not found: value Bool
[error]     val v  = Bool(OUTPUT)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:13: not found: value OUTPUT
[error]     val v  = Bool(OUTPUT)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:15: not found: value Reg
[error]   val x  = Reg(UInt())
[error]            ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:15: not found: value UInt
[error]   val x  = Reg(UInt())
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:16: not found: value Reg
[error]   val y  = Reg(UInt())
[error]            ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:16: not found: value UInt
[error]   val y  = Reg(UInt())
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:17: not found: value when
[error]   when   (x > y) { x := x - y }
[error]   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:18: not found: value unless
[error]   unless (x > y) { y := y - x }
[error]   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:19: not found: value when
[error]   when (io.e) { x := io.a; y := io.b }
[error]   ^
[error] 20 errors found
[error] (compile:compileIncremental) Compilation failed
[error] Total time: 2 s, completed Dec 1, 2016 8:26:25 PM

您显示的错误表明 sbt 不知何故找不到 Chisel,您能否偶然显示完整的错误列表(尤其是早期的错误)?使用以下命令序列,我无法重现您看到的错误:

git clone git@github.com:ucb-bar/chisel-template.git    
cd chisel-template    
sbt test

这不是这个问题的原因,但 运行 在 chisel-template 中的测试你实​​际上应该 运行 sbt "test-only examples.test.GCDTester"example.GCD是顶层的设计,但是要运行测试就得参考src/test/scala/examples/test/GCDUnitTest.scala中的Tester class.

我在制作自己的凿子项目时遇到了同样的问题。然而,这并不是说 import chisel3._ 是错误的。我遇到的问题是我的目录中没有 build.sbt 文件。

我在这里找到了我的解决方案。 https://chisel.eecs.berkeley.edu/2.0.6/getting-started.html