chipsalliance / playground

chipyard in mill :P
72 stars 34 forks source link

Get error when generate verilog. #66

Open DavidZyy opened 4 months ago

DavidZyy commented 4 months ago

I use the following codes to generate verilog using this repository as template:

object myMultipierMain extends App {
  val path = "~/project/CPU/playground/generated"
  val firtoolOptions = Seq (
      FirtoolOption("--disable-all-randomization"),
      FirtoolOption("--lowering-options=disallowLocalVariables, locationInfoStyle=none"),
      FirtoolOption("--lowering-options=locationInfoStyle=none")
  )
  emitVerilog(new TestOneHot(), Array("--target-dir", path), firtoolOptions)
}

but get error:

Exception in thread "main" java.util.ServiceConfigurationError: firrtl.options.RegisteredLibrary: Provider firrtl.passes.memlib.MemLibOptions not found
        at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
        at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
        at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
        at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
        at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
        at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
        at firrtl.options.Shell.registeredLibraries$lzycompute(Shell.scala:52)
        at firrtl.options.Shell.registeredLibraries(Shell.scala:49)
        at firrtl.options.Shell.parserSetup(Shell.scala:63)
        at firrtl.options.BareShell.parse(Shell.scala:33)
        at firrtl.options.Stage.execute(Stage.scala:56)
        at chisel3.emitVerilog$.apply(verilog.scala:63)
        at playground.myMultipierMain$.delayedEndpoint$playground$myMultipierMain$1(oneHot.scala:43)
        at playground.myMultipierMain$delayedInit$body.apply(oneHot.scala:36)
        at scala.Function0.apply$mcV$sp(Function0.scala:42)
        at scala.Function0.apply$mcV$sp$(Function0.scala:42)
        at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
        at scala.App.$anonfun$main$1(App.scala:98)
        at scala.App.$anonfun$main$1$adapted(App.scala:98)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:576)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:574)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:933)
        at scala.App.main(App.scala:98)
        at scala.App.main$(App.scala:96)
        at playground.myMultipierMain$.main(oneHot.scala:36)
        at playground.myMultipierMain.main(oneHot.scala)

the same codes can generate verilog successfully under another project. Can anyone give me some advice?

DavidZyy commented 4 months ago

After a painful examination, I find there is a value named lazymodule in the object playground of build.sc. and Its initial value is freechips.rocketchip.system.ExampleRocketSystem. I modify the value to the name of moudle(playground.TestOneHot) that I want to get verilog, and then I run the mill playground.verilog in shell, but still get error, I have no idea about this problem. Hope to get some advice.

Could not start a Mill server process.
This could be caused by too many already running Mill instances or by an unsupported platform.

Trying to run Mill in-process ...
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
    at mill.main.client.MillClientMain.main(MillClientMain.java:83)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at mill.define.Module$Internal.$anonfun$reflect$4(Module.scala:70)
    at scala.collection.ArrayOps$WithFilter.map(ArrayOps.scala:90)
    at mill.define.Module$Internal.reflect(Module.scala:62)
    at mill.define.Module$Internal.reflectSingle(Module.scala:75)
    at mill.main.ResolveTasks$.endResolveLabel(ResolveTasks.scala:50)
    at mill.main.Resolve.resolve(Resolve.scala:188)
    at mill.main.Resolve.$anonfun$resolve$2(Resolve.scala:196)
    at scala.collection.immutable.List.map(List.scala:246)
    at scala.collection.immutable.List.map(List.scala:79)
    at mill.main.Resolve.recurse$1(Resolve.scala:196)
    at mill.main.Resolve.resolve(Resolve.scala:209)
    at mill.main.RunScript$.$anonfun$resolveTasks$7(RunScript.scala:249)
    at scala.util.Either.map(Either.scala:382)
    at mill.main.RunScript$.$anonfun$resolveTasks$6(RunScript.scala:233)
    at scala.collection.immutable.List.map(List.scala:246)
    at scala.collection.immutable.List.map(List.scala:79)
    at mill.main.RunScript$.$anonfun$resolveTasks$5(RunScript.scala:232)
    at scala.util.Either.flatMap(Either.scala:352)
    at mill.main.RunScript$.resolveTasks(RunScript.scala:229)
    at mill.main.RunScript$.$anonfun$resolveTasks$2(RunScript.scala:202)
    at scala.collection.immutable.List.map(List.scala:246)
    at scala.collection.immutable.List.map(List.scala:79)
    at mill.main.RunScript$.$anonfun$resolveTasks$1(RunScript.scala:201)
    at scala.util.Either.flatMap(Either.scala:352)
    at mill.main.RunScript$.resolveTasks(RunScript.scala:200)
    at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
    at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
    at ammonite.util.Res$Success.flatMap(Res.scala:62)
    at mill.main.RunScript$.runScript(RunScript.scala:104)
    at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
    at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
    at mill.main.MainRunner.runScript(MainRunner.scala:92)
    at mill.MillMain$.main0(MillMain.scala:320)
    at mill.MillMain$.main(MillMain.scala:52)
    at mill.MillMain.main(MillMain.scala)
    ... 6 more
Caused by: java.util.NoSuchElementException: key not found: List(2.13.12)
    at scala.collection.immutable.Map$Map1.apply(Map.scala:243)
    at mill.define.Cross.apply(Cross.scala:86)
    at ammonite.$file.dependencies.chisel.build$Chisel.macrosModule(build.sc:193)
    at ammonite.$file.dependencies.chisel.build$Chisel.macrosModule(build.sc:184)
    at ammonite.$file.dependencies.chisel.common$ChiselModule.moduleDeps(common.sc:148)
    at ammonite.$file.dependencies.chisel.common$ChiselModule.moduleDeps$(common.sc:148)
    at ammonite.$file.dependencies.chisel.build$Chisel.mill$scalalib$PublishModule$$super$moduleDeps(build.sc:184)
    at mill.scalalib.PublishModule.moduleDeps(PublishModule.scala:16)
    at mill.scalalib.PublishModule.moduleDeps$(PublishModule.scala:16)
    at ammonite.$file.dependencies.chisel.build$Chisel.moduleDeps(build.sc:184)
    at mill.scalalib.JavaModule.recursiveModuleDeps(JavaModule.scala:155)
    at mill.scalalib.JavaModule.recursiveModuleDeps$(JavaModule.scala:154)
    at ammonite.$file.dependencies.chisel.build$Chisel.recursiveModuleDeps(build.sc:184)
    at mill.scalalib.JavaModule.transitiveModuleDeps(JavaModule.scala:160)
    at mill.scalalib.JavaModule.transitiveModuleDeps$(JavaModule.scala:159)
    at ammonite.$file.dependencies.chisel.build$Chisel.transitiveModuleDeps(build.sc:184)
    at mill.scalalib.JavaModule.$anonfun$recursiveModuleDeps$1(JavaModule.scala:155)
    at scala.collection.immutable.List.flatMap(List.scala:293)
    at scala.collection.immutable.List.flatMap(List.scala:79)
    at mill.scalalib.JavaModule.recursiveModuleDeps(JavaModule.scala:155)
    at mill.scalalib.JavaModule.recursiveModuleDeps$(JavaModule.scala:154)
    at ammonite.$file.build$playground$.recursiveModuleDeps(build.sc:123)
    at mill.scalalib.JavaModule.$anonfun$upstreamCompileOutput$1(JavaModule.scala:183)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at mill.scalalib.JavaModule.upstreamCompileOutput(JavaModule.scala:182)
    at mill.scalalib.JavaModule.upstreamCompileOutput$(JavaModule.scala:182)
    at ammonite.$file.build$playground$.upstreamCompileOutput(build.sc:123)
    at mill.scalalib.ScalaModule.$anonfun$compile$1(ScalaModule.scala:208)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at mill.scalalib.ScalaModule.compile(ScalaModule.scala:198)
    at mill.scalalib.ScalaModule.compile$(ScalaModule.scala:198)
    at ammonite.$file.build$playground$.compile(build.sc:123)
    at mill.scalalib.JavaModule.$anonfun$finalMainClassOpt$1(JavaModule.scala:60)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at mill.scalalib.JavaModule.finalMainClassOpt(JavaModule.scala:56)
    at mill.scalalib.JavaModule.finalMainClassOpt$(JavaModule.scala:56)
    at ammonite.$file.build$playground$.finalMainClassOpt(build.sc:123)
    at mill.scalalib.JavaModule.$anonfun$finalMainClass$1(JavaModule.scala:73)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at mill.scalalib.JavaModule.finalMainClass(JavaModule.scala:72)
    at mill.scalalib.JavaModule.finalMainClass$(JavaModule.scala:72)
    at ammonite.$file.build$playground$.finalMainClass(build.sc:123)
    at ammonite.$file.build$playground$.$anonfun$elaborate$1(build.sc:140)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at ammonite.$file.build$playground$.elaborate(build.sc:138)
    at ammonite.$file.build$playground$.$anonfun$verilog$1(build.sc:156)
    at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    at mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    at mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    at mill.define.Module.cachedTarget(Module.scala:17)
    at ammonite.$file.build$playground$.verilog(build.sc:154)
    ... 45 more
DavidZyy commented 4 months ago

I run

./mill.sh resolve playground._

and get

Could not start a Mill server process.
This could be caused by too many already running Mill instances or by an unsupported platform.

Trying to run Mill in-process ...
[1/1] resolve 
1 targets failed
resolve java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    mill.define.Module$Internal.$anonfun$reflect$4(Module.scala:70)
    scala.collection.ArrayOps$WithFilter.map(ArrayOps.scala:90)
    mill.define.Module$Internal.reflect(Module.scala:62)
    mill.define.Module$Internal.reflectAll(Module.scala:73)
    mill.main.ResolveMetadata$.singleModuleMeta(ResolveMetadata.scala:11)
    mill.main.ResolveMetadata$.direct$1(ResolveMetadata.scala:31)
    mill.main.ResolveMetadata$.endResolveLabel(ResolveMetadata.scala:38)
    mill.main.Resolve.resolve(Resolve.scala:188)
    mill.main.Resolve.$anonfun$resolve$2(Resolve.scala:196)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.Resolve.recurse$1(Resolve.scala:196)
    mill.main.Resolve.resolve(Resolve.scala:209)
    mill.main.RunScript$.$anonfun$resolveTasks$7(RunScript.scala:249)
    scala.util.Either.map(Either.scala:382)
    mill.main.RunScript$.$anonfun$resolveTasks$6(RunScript.scala:233)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.RunScript$.$anonfun$resolveTasks$5(RunScript.scala:232)
    scala.util.Either.flatMap(Either.scala:352)
    mill.main.RunScript$.resolveTasks(RunScript.scala:229)
    mill.main.RunScript$.$anonfun$resolveTasks$2(RunScript.scala:202)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.RunScript$.$anonfun$resolveTasks$1(RunScript.scala:201)
    scala.util.Either.flatMap(Either.scala:352)
    mill.main.RunScript$.resolveTasks(RunScript.scala:200)
    mill.main.MainModule.$anonfun$resolve$1(MainModule.scala:105)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
java.util.NoSuchElementException: key not found: List(2.13.12)
    scala.collection.immutable.BitmapIndexedMapNode.apply(HashMap.scala:635)
    scala.collection.immutable.HashMap.apply(HashMap.scala:132)
    mill.define.Cross.apply(Cross.scala:86)
    ammonite.$file.dependencies.chisel.build$Chisel.pluginModule(build.sc:197)
    ammonite.$file.build$CommonModule.$anonfun$scalacOptions$1(build.sc:43)
    scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    mill.define.Module.cachedTarget(Module.scala:17)
    ammonite.$file.build$CommonModule.scalacOptions(build.sc:42)
    ammonite.$file.build$CommonModule.scalacOptions$(build.sc:42)
    ammonite.$file.build$playground$.scalacOptions(build.sc:123)
    mill.scalalib.ScalaModule.$anonfun$allScalacOptions$1(ScalaModule.scala:134)
    scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:454)
    mill.moduledefs.Cacher.cachedTarget(Cacher.scala:10)
    mill.moduledefs.Cacher.cachedTarget$(Cacher.scala:9)
    mill.define.Module.cachedTarget(Module.scala:17)
    mill.scalalib.ScalaModule.allScalacOptions(ScalaModule.scala:133)
    mill.scalalib.ScalaModule.allScalacOptions$(ScalaModule.scala:133)
    ammonite.$file.build$playground$.allScalacOptions(build.sc:123)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    mill.define.Module$Internal.$anonfun$reflect$4(Module.scala:70)
    scala.collection.ArrayOps$WithFilter.map(ArrayOps.scala:90)
    mill.define.Module$Internal.reflect(Module.scala:62)
    mill.define.Module$Internal.reflectAll(Module.scala:73)
    mill.main.ResolveMetadata$.singleModuleMeta(ResolveMetadata.scala:11)
    mill.main.ResolveMetadata$.direct$1(ResolveMetadata.scala:31)
    mill.main.ResolveMetadata$.endResolveLabel(ResolveMetadata.scala:38)
    mill.main.Resolve.resolve(Resolve.scala:188)
    mill.main.Resolve.$anonfun$resolve$2(Resolve.scala:196)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.Resolve.recurse$1(Resolve.scala:196)
    mill.main.Resolve.resolve(Resolve.scala:209)
    mill.main.RunScript$.$anonfun$resolveTasks$7(RunScript.scala:249)
    scala.util.Either.map(Either.scala:382)
    mill.main.RunScript$.$anonfun$resolveTasks$6(RunScript.scala:233)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.RunScript$.$anonfun$resolveTasks$5(RunScript.scala:232)
    scala.util.Either.flatMap(Either.scala:352)
    mill.main.RunScript$.resolveTasks(RunScript.scala:229)
    mill.main.RunScript$.$anonfun$resolveTasks$2(RunScript.scala:202)
    scala.collection.immutable.List.map(List.scala:246)
    scala.collection.immutable.List.map(List.scala:79)
    mill.main.RunScript$.$anonfun$resolveTasks$1(RunScript.scala:201)
    scala.util.Either.flatMap(Either.scala:352)
    mill.main.RunScript$.resolveTasks(RunScript.scala:200)
    mill.main.MainModule.$anonfun$resolve$1(MainModule.scala:105)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:380)