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

时间:2015-10-14 10:10:40

标签: scala chisel

当我合成Chisel生成的verilog模块时,我有很多类型的警告(很多!):

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

生成verilog代码时,是否可以选择删除此类“无用”信号?

我在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")

1 个答案:

答案 0 :(得分:2)

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

Chisel将很多繁重的工具放到了较低级别的工具上。例如,您的综合工具将很乐意忽略额外的,未使用的寄存器,这使得Chisel更容易不进行分析。

然而,这绝对是未来应该解决的问题,因为生成具有如此多警告的代码是不好的形式!