Running with firrtl-1.5.0-SNAPSHOT crashes with the following error:
Exception in thread "main" firrtl.FirrtlInternalException: Internal Error! Unexpected non-SInt type for Reference(_tmp18,UIntType(IntWidth(1)),NodeKind,SourceFlow) in DoPrim(mul,List(Reference(_tmp18,UIntType(IntWidth(1)),NodeKind,SourceFlow), SIntLiteral(379903,IntWidth(21))),List(),UnknownType)
Please file an issue at https://github.com/ucb-bar/firrtl/issues
at firrtl.Utils$.error(Utils.scala:491)
at firrtl.Utils$.throwInternalError(Utils.scala:164)
at firrtl.VerilogEmitter.castIf$1(VerilogEmitter.scala:279)
at firrtl.VerilogEmitter.op_stream(VerilogEmitter.scala:317)
at firrtl.VerilogEmitter.emitCol(VerilogEmitter.scala:165)
at firrtl.VerilogEmitter.$anonfun$emitCol$2(VerilogEmitter.scala:204)
at firrtl.VerilogEmitter.$anonfun$emitCol$2$adapted(VerilogEmitter.scala:203)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at firrtl.VerilogEmitter.emitCol(VerilogEmitter.scala:203)
at firrtl.VerilogEmitter.$anonfun$emitCol$2(VerilogEmitter.scala:204)
at firrtl.VerilogEmitter.$anonfun$emitCol$2$adapted(VerilogEmitter.scala:203)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at firrtl.VerilogEmitter.emitCol(VerilogEmitter.scala:203)
at firrtl.VerilogEmitter.emit(VerilogEmitter.scala:131)
at firrtl.VerilogEmitter$VerilogRender.$anonfun$emit_streams$8(VerilogEmitter.scala:1115)
at firrtl.VerilogEmitter$VerilogRender.$anonfun$emit_streams$8$adapted(VerilogEmitter.scala:1115)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at firrtl.VerilogEmitter$VerilogRender.emit_streams(VerilogEmitter.scala:1115)
at firrtl.VerilogEmitter$VerilogRender.emit_verilog(VerilogEmitter.scala:1233)
at firrtl.VerilogEmitter.$anonfun$emit$2(VerilogEmitter.scala:1274)
at scala.collection.immutable.List.foreach(List.scala:333)
at firrtl.VerilogEmitter.emit(VerilogEmitter.scala:1268)
at firrtl.VerilogEmitter.$anonfun$execute$2(VerilogEmitter.scala:1286)
at scala.collection.immutable.List.flatMap(List.scala:293)
at scala.collection.immutable.List.flatMap(List.scala:79)
at firrtl.VerilogEmitter.execute(VerilogEmitter.scala:1283)
at firrtl.SystemVerilogEmitter.execute(SystemVerilogEmitter.scala:29)
at firrtl.Transform.transform(Compiler.scala:319)
at firrtl.Transform.transform$(Compiler.scala:319)
at firrtl.SeqTransform.transform(Compiler.scala:401)
at firrtl.stage.transforms.ExpandPrepares.execute(ExpandPrepares.scala:19)
at firrtl.Transform.transform(Compiler.scala:319)
at firrtl.Transform.transform$(Compiler.scala:319)
at firrtl.stage.transforms.ExpandPrepares.transform(ExpandPrepares.scala:7)
at firrtl.stage.transforms.CatchCustomTransformExceptions.execute(CatchCustomTransformExceptions.scala:10)
at firrtl.Transform.transform(Compiler.scala:319)
at firrtl.Transform.transform$(Compiler.scala:319)
at firrtl.stage.transforms.CatchCustomTransformExceptions.transform(CatchCustomTransformExceptions.scala:7)
at firrtl.stage.transforms.UpdateAnnotations.$anonfun$internalTransform$1(UpdateAnnotations.scala:22)
at firrtl.Utils$.time(Utils.scala:170)
at firrtl.Transform$.runTransform(Compiler.scala:217)
at firrtl.stage.transforms.UpdateAnnotations.internalTransform(UpdateAnnotations.scala:22)
at firrtl.stage.transforms.UpdateAnnotations.internalTransform(UpdateAnnotations.scala:8)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.stage.transforms.UpdateAnnotations.transform(UpdateAnnotations.scala:8)
at firrtl.options.DependencyManager.$anonfun$transform$3(DependencyManager.scala:278)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at firrtl.options.DependencyManager.transform(DependencyManager.scala:269)
at firrtl.options.DependencyManager.transform$(DependencyManager.scala:255)
at firrtl.stage.TransformManager.transform(TransformManager.scala:14)
at firrtl.stage.phases.Compiler.$anonfun$internalTransform$6(Compiler.scala:120)
at firrtl.Utils$.time(Utils.scala:170)
at firrtl.stage.phases.Compiler.f$1(Compiler.scala:120)
at firrtl.stage.phases.Compiler.$anonfun$internalTransform$8(Compiler.scala:125)
at scala.collection.immutable.List.map(List.scala:246)
at scala.collection.immutable.List.map(List.scala:79)
at firrtl.stage.phases.Compiler.internalTransform(Compiler.scala:125)
at firrtl.stage.phases.Compiler.internalTransform(Compiler.scala:45)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.stage.phases.Compiler.transform(Compiler.scala:45)
at firrtl.stage.phases.CatchExceptions.transform(CatchExceptions.scala:30)
at firrtl.stage.phases.CatchExceptions.transform(CatchExceptions.scala:17)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
at firrtl.options.DependencyManager.$anonfun$transform$3(DependencyManager.scala:278)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at firrtl.options.DependencyManager.transform(DependencyManager.scala:269)
at firrtl.options.DependencyManager.transform$(DependencyManager.scala:255)
at firrtl.options.PhaseManager.transform(DependencyManager.scala:436)
at firrtl.stage.FirrtlStage.run(FirrtlStage.scala:38)
at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
at firrtl.options.Stage.$anonfun$transform$5(Stage.scala:47)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at firrtl.options.Stage.$anonfun$transform$3(Stage.scala:47)
at logger.Logger$.$anonfun$makeScope$2(Logger.scala:166)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at logger.Logger$.makeScope(Logger.scala:164)
at firrtl.options.Stage.transform(Stage.scala:47)
at firrtl.options.Stage.execute(Stage.scala:58)
at firrtl.options.StageMain.main(Stage.scala:71)
at firrtl.stage.FirrtlMain.main(FirrtlStage.scala)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at coursier.bootstrap.launcher.a.a(Unknown Source)
at coursier.bootstrap.launcher.Launcher.main(Unknown Source)
What is the expected behavior?
Not to crash. Give a more informative Error or Warning or just work.
Steps to Reproduce
./firrtl-1.5.0-SNAPSHOT -i top_mod.fir
Your environment
Linux linux-sydi 5.11.4-1-default #1 SMP Mon Mar 8 05:16:55 UTC 2021 (be77cd2) x86_64 x86_64 x86_64 GNU/Linux
Checklist
What is the current behavior?
The following FIRRTL program.
Running with
firrtl-1.5.0-SNAPSHOT
crashes with the following error:What is the expected behavior?
Not to crash. Give a more informative Error or Warning or just work.
Steps to Reproduce
./firrtl-1.5.0-SNAPSHOT -i top_mod.fir
Your environment
Linux linux-sydi 5.11.4-1-default #1 SMP Mon Mar 8 05:16:55 UTC 2021 (be77cd2) x86_64 x86_64 x86_64 GNU/Linux
Verilator 4.109 devel rev v4.108-38-g36eb952b
External Information