要测试Chisel代码,我先启动一个控制台sbt,然后在我的项目的目录build.sbt中启动scala。我可以导入chisel3库:
$ cd myproject
$ sbt
sbt:myproject> console
scala> import chisel3._
import chisel3._
然后我可以测试一些凿子代码的数据类型,例如:
scala> val plop = "b01010101".U(20.W)
plop: chisel3.UInt = UInt<20>(85)
但是我可以测试Reg()或其他Module()元素:
scala> val plopReg = RegInit(23.U(24.W))
java.lang.IllegalArgumentException: requirement failed: must be inside Builder context
at scala.Predef$.require(Predef.scala:281)
at chisel3.internal.Builder$.dynamicContext(Builder.scala:232)
at chisel3.internal.Builder$.currentClock(Builder.scala:308)
at chisel3.internal.Builder$.forcedClock(Builder.scala:318)
at chisel3.RegInit$.apply(Reg.scala:155)
at chisel3.RegInit$.apply(Reg.scala:173)
... 36 elided
是否有提示在控制台中测试这些凿子元素?还是必须编写文件代码源?