如何删除 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 不进行分析本身会更简单。
但是,这绝对是将来应该解决的问题,因为生成带有这么多警告的代码是一种糟糕的形式!
当我合成由 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 不进行分析本身会更简单。
但是,这绝对是将来应该解决的问题,因为生成带有这么多警告的代码是一种糟糕的形式!