如何删除 Chisel verilog 后端生成的无用寄存器?

How to delete useless registers generated by Chisel verilog backend?

当我合成由 Chisel 生成的 verilog 模块时,我收到了此类警告(很多!):

Warning (10036): Verilog HDL or VHDL warning at Polynomial.v(26): object "T98" assigned a value but never read

当我生成 verilog 代码时,是否有删除此类 "useless" 信号的选项?

我在 scala 代码中使用此选项生成 verilog :

object PolynomialMain {
  def main(args: Array[String]): Unit = {
    chiselMain(Array("--backend", "v"), () => Module(new Polynomial()))
  }
}

这是我的 built.sbt :

libraryDependencies += "edu.berkeley.cs" %% "chisel" % "2.3-SNAPSHOT"

scalaVersion := "2.11.6"

scalacOptions ++= Seq("-deprecation",
                      "-feature",
                      "-unchecked",
                      "-language:reflectiveCalls")

我不这么认为(还没有)。

Chisel 将许多繁重的工作推给了较低级别的工具。例如,您的综合工具会愉快地忽略额外的、未使用的寄存器,并且 Chisel 不进行分析本身会更简单。

但是,这绝对是将来应该解决的问题,因为生成带有这么多警告的代码是一种糟糕的形式!